From 6aea907ef1421e4049e672c9c8b1679893f8f970 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 27 Oct 2023 13:47:05 +0200 Subject: [PATCH 001/137] fix artifact group --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0cd060f..19ffb49 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ This implementation starts based on CSSParser 0.9.25; we removed the sac depende We will try to stay in sync with CSSParser regarding the features in the future. -[![Maven Central](https://maven-badges.herokuapp.com/maven-central/net.sourceforge.htmlunit/htmlunit-cssparser/badge.svg)](https://maven-badges.herokuapp.com/maven-central/net.sourceforge.htmlunit/htmlunit-cssparser) +[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.htmlunit/htmlunit-cssparser/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.htmlunit/htmlunit-cssparser) :heart: [Sponsor](https://github.com/sponsors/rbri) From e80f28b74df1e09e40dfdba414f6a2811bcd66bb Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 27 Oct 2023 13:48:21 +0200 Subject: [PATCH 002/137] add mastodon --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 19ffb49..419d161 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,8 @@ We will try to stay in sync with CSSParser regarding the features in the future. :heart: [Sponsor](https://github.com/sponsors/rbri) ### Project News -[HtmlUnit@Twitter][3] + +[HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] ### Latest release Version 3.6.0 / October 3, 2023 @@ -134,3 +135,4 @@ Many thanks to all of you contributing to HtmlUnit/CSSParser/Rhino in the past. [2]: https://jenkins.wetator.org/job/HtmlUnit%20-%20CSS%20Parser/ "HtmlUnit - CSS Parser CI" [3]: https://twitter.com/HtmlUnit "https://twitter.com/HtmlUnit" +[4]: https://fosstodon.org/@HtmlUnit \ No newline at end of file From f2a2ccbb785af267612245b4ba28041d167ef8a6 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 30 Oct 2023 12:50:24 +0100 Subject: [PATCH 003/137] version 3.7.0 --- README.md | 6 +++--- pom.xml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 419d161..c3351ee 100644 --- a/README.md +++ b/README.md @@ -16,14 +16,14 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 3.6.0 / October 3, 2023 +### Latest release Version 3.7.0 / October 30, 2023 For maven, you would add: org.htmlunit htmlunit-cssparser - 3.6.0 + 3.7.0 ### Latst CI build @@ -37,7 +37,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 3.7.0-SNAPSHOT + 3.8.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index eaa85cc..4be0502 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 3.7.0-SNAPSHOT + 3.7.0 HtmlUnit CSS Parser HtmlUnit From bc9f21452a4fa650ff04f3b8c7fc804b52ef92f9 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 31 Oct 2023 10:19:05 +0100 Subject: [PATCH 004/137] start working on 3.8.0 --- README.md | 28 ++++++++++++++++++++++------ pom.xml | 10 +++++----- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index c3351ee..25eab16 100644 --- a/README.md +++ b/README.md @@ -18,13 +18,29 @@ We will try to stay in sync with CSSParser regarding the features in the future. ### Latest release Version 3.7.0 / October 30, 2023 -For maven, you would add: +## Get it! + +### Maven + +Add to your `pom.xml`: + +```xml + + org.htmlunit + htmlunit-cssparser + 3.7.0 + +``` + +### Gradle + +Add to your `build.gradle`: + +```groovy +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '3.7.0' +``` + - - org.htmlunit - htmlunit-cssparser - 3.7.0 - ### Latst CI build The latest builds are available from our diff --git a/pom.xml b/pom.xml index 4be0502..9054435 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 3.7.0 + 3.8.0-SNAPSHOT HtmlUnit CSS Parser HtmlUnit @@ -46,13 +46,13 @@ - + - org.owasp - dependency-check-maven - ${dependencycheck.version} + org.owasp + dependency-check-maven + ${dependencycheck.version} 0 From bec52612e3422866b5d1c5aef66ea81cfee6623d Mon Sep 17 00:00:00 2001 From: oswetto Date: Mon, 30 Oct 2023 22:52:02 +0100 Subject: [PATCH 005/137] Add missing javadoc Add missing class name Add missing method name Add missing inheritDoc Add final modifier Repalce import Stack with Deque --- .gitignore | 1 + .../cssparser/dom/AbstractCSSRuleImpl.java | 12 ++++ .../cssparser/dom/CSSCharsetRuleImpl.java | 14 ++-- .../cssparser/dom/CSSFontFaceRuleImpl.java | 16 +++-- .../cssparser/dom/CSSImportRuleImpl.java | 18 +++-- .../cssparser/dom/CSSMediaRuleImpl.java | 17 +++-- .../cssparser/dom/CSSPageRuleImpl.java | 4 +- .../cssparser/dom/CSSRuleListImpl.java | 6 ++ .../dom/CSSStyleDeclarationImpl.java | 12 ++++ .../cssparser/dom/CSSStyleSheetImpl.java | 26 +++++++ .../cssparser/dom/CSSStyleSheetListImpl.java | 5 ++ .../cssparser/dom/CSSUnknownRuleImpl.java | 10 ++- .../htmlunit/cssparser/dom/CSSValueImpl.java | 20 +++++- .../htmlunit/cssparser/dom/CounterImpl.java | 8 +++ .../htmlunit/cssparser/dom/MediaListImpl.java | 9 +++ .../org/htmlunit/cssparser/dom/Property.java | 10 ++- .../htmlunit/cssparser/dom/RGBColorImpl.java | 6 ++ .../org/htmlunit/cssparser/dom/RectImpl.java | 12 +++- .../cssparser/parser/AbstractCSSParser.java | 11 +++ .../cssparser/parser/AbstractLocatable.java | 2 + .../cssparser/parser/CSSErrorHandler.java | 3 + .../cssparser/parser/CSSException.java | 4 ++ .../cssparser/parser/CSSOMParser.java | 68 +++++++++---------- .../cssparser/parser/CssCharStream.java | 58 +++++++++++++--- .../cssparser/parser/InputSource.java | 15 ++++ .../cssparser/parser/LexicalUnit.java | 24 +++++++ .../htmlunit/cssparser/parser/Locatable.java | 2 + .../htmlunit/cssparser/parser/Locator.java | 4 ++ .../parser/condition/ClassCondition.java | 11 ++- .../cssparser/parser/condition/Condition.java | 8 +++ .../parser/condition/IdCondition.java | 16 ++--- .../parser/condition/LangCondition.java | 2 +- .../condition/OneOfAttributeCondition.java | 6 +- .../condition/PrefixAttributeCondition.java | 2 +- .../condition/PseudoClassCondition.java | 11 ++- .../SubstringAttributeCondition.java | 4 ++ .../condition/SuffixAttributeCondition.java | 4 ++ .../cssparser/parser/media/MediaQuery.java | 12 ++++ .../parser/media/MediaQueryList.java | 5 ++ .../parser/selector/AbstractSelector.java | 3 + .../parser/selector/ChildSelector.java | 2 +- .../parser/selector/DescendantSelector.java | 7 ++ .../selector/DirectAdjacentSelector.java | 7 ++ .../parser/selector/ElementSelector.java | 14 ++++ .../selector/GeneralAdjacentSelector.java | 7 ++ .../selector/PseudoElementSelector.java | 6 ++ .../cssparser/parser/selector/Selector.java | 6 ++ .../parser/selector/SelectorListImpl.java | 26 +++++++ 48 files changed, 444 insertions(+), 112 deletions(-) diff --git a/.gitignore b/.gitignore index 00bb005..9d4eb5b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /.checkstyle /.classpath /.project +.idea/ diff --git a/src/main/java/org/htmlunit/cssparser/dom/AbstractCSSRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/AbstractCSSRuleImpl.java index a19bf13..7afade7 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/AbstractCSSRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/AbstractCSSRuleImpl.java @@ -19,7 +19,10 @@ import org.htmlunit.cssparser.parser.AbstractLocatable; /** + *

Abstract AbstractCSSRuleImpl class.

+ * * @author Ronald Brill + * */ public abstract class AbstractCSSRuleImpl extends AbstractLocatable implements Serializable { @@ -28,6 +31,7 @@ public abstract class AbstractCSSRuleImpl extends AbstractLocatable implements S /** * Ctor. + * * @param parentStyleSheet the parent style sheet * @param parentRule the parent rule */ @@ -38,6 +42,8 @@ public AbstractCSSRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final Abstr } /** + *

getCssText.

+ * * @return the current css text */ public abstract String getCssText(); @@ -65,6 +71,8 @@ public void setParentRule(final AbstractCSSRuleImpl parentRule) { } /** + *

getParentStyleSheet.

+ * * @return the parent style sheet */ public CSSStyleSheetImpl getParentStyleSheet() { @@ -72,12 +80,15 @@ public CSSStyleSheetImpl getParentStyleSheet() { } /** + *

getParentRule.

+ * * @return the parent rule */ public AbstractCSSRuleImpl getParentRule() { return parentRule_; } + /** {@inheritDoc} */ @Override public boolean equals(final Object obj) { if (this == obj) { @@ -91,6 +102,7 @@ public boolean equals(final Object obj) { // recursive loop -> stack overflow! } + /** {@inheritDoc} */ @Override public int hashCode() { final int hash = super.hashCode(); diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java index 96c6d41..da30f56 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java @@ -25,6 +25,7 @@ * Implementation of CSSCharsetRule. * * @author Ronald Brill + * */ public class CSSCharsetRuleImpl extends AbstractCSSRuleImpl { @@ -45,9 +46,7 @@ public CSSCharsetRuleImpl( encoding_ = encoding; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public void setCssText(final String cssText) throws DOMException { try { @@ -79,12 +78,15 @@ public void setCssText(final String cssText) throws DOMException { } /** + *

getEncoding.

+ * * @return the encoding */ public String getEncoding() { return encoding_; } + /** {@inheritDoc} */ @Override public boolean equals(final Object obj) { if (this == obj) { @@ -98,6 +100,7 @@ public boolean equals(final Object obj) { && ParserUtils.equals(getEncoding(), ccr.getEncoding()); } + /** {@inheritDoc} */ @Override public int hashCode() { int hash = super.hashCode(); @@ -105,14 +108,13 @@ public int hashCode() { return hash; } + /** {@inheritDoc} */ @Override public String toString() { return getCssText(); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public String getCssText() { final StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java index 811e76f..60c7372 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java @@ -25,6 +25,7 @@ * Implementation of CSSFontFaceRule. * * @author Ronald Brill + * */ public class CSSFontFaceRuleImpl extends AbstractCSSRuleImpl { @@ -32,6 +33,7 @@ public class CSSFontFaceRuleImpl extends AbstractCSSRuleImpl { /** * Ctor. + * * @param parentStyleSheet the parent style sheet * @param parentRule the parent rule */ @@ -39,9 +41,7 @@ public CSSFontFaceRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final Abstr super(parentStyleSheet, parentRule); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public String getCssText() { final StringBuilder sb = new StringBuilder(); @@ -58,9 +58,7 @@ public String getCssText() { return sb.toString(); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public void setCssText(final String cssText) throws DOMException { try { @@ -92,6 +90,8 @@ public void setCssText(final String cssText) throws DOMException { } /** + *

getStyle.

+ * * @return the style */ public CSSStyleDeclarationImpl getStyle() { @@ -100,12 +100,14 @@ public CSSStyleDeclarationImpl getStyle() { /** * Sets the style to a new one. + * * @param style the new style */ public void setStyle(final CSSStyleDeclarationImpl style) { style_ = style; } + /** {@inheritDoc} */ @Override public boolean equals(final Object obj) { if (this == obj) { @@ -119,6 +121,7 @@ public boolean equals(final Object obj) { && ParserUtils.equals(getStyle(), cffr.getStyle()); } + /** {@inheritDoc} */ @Override public int hashCode() { int hash = super.hashCode(); @@ -126,6 +129,7 @@ public int hashCode() { return hash; } + /** {@inheritDoc} */ @Override public String toString() { return getCssText(); diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java index c001abc..d2413b5 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java @@ -25,6 +25,7 @@ * Implementation of CSSImportRule. * * @author Ronald Brill + * */ public class CSSImportRuleImpl extends AbstractCSSRuleImpl { @@ -49,9 +50,7 @@ public CSSImportRuleImpl( media_ = media; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public String getCssText() { final StringBuilder sb = new StringBuilder(); @@ -70,9 +69,7 @@ public String getCssText() { return sb.toString(); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public void setCssText(final String cssText) throws DOMException { try { @@ -105,6 +102,8 @@ public void setCssText(final String cssText) throws DOMException { } /** + *

getHref.

+ * * @return the href */ public String getHref() { @@ -112,6 +111,8 @@ public String getHref() { } /** + *

getMedia.

+ * * @return the media lsit */ public MediaListImpl getMedia() { @@ -119,17 +120,21 @@ public MediaListImpl getMedia() { } /** + *

getStyleSheet.

+ * * @return the parent style sheet */ public CSSStyleSheetImpl getStyleSheet() { return getParentStyleSheet(); } + /** {@inheritDoc} */ @Override public String toString() { return getCssText(); } + /** {@inheritDoc} */ @Override public boolean equals(final Object obj) { if (this == obj) { @@ -144,6 +149,7 @@ public boolean equals(final Object obj) { && ParserUtils.equals(getMedia(), cir.getMedia()); } + /** {@inheritDoc} */ @Override public int hashCode() { int hash = super.hashCode(); diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java index e466bfc..ee1d348 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java @@ -28,6 +28,7 @@ * Implementation of CSSMediaRule. * * @author Ronald Brill + * */ public class CSSMediaRuleImpl extends AbstractCSSRuleImpl { @@ -36,6 +37,7 @@ public class CSSMediaRuleImpl extends AbstractCSSRuleImpl { /** * Ctor. + * * @param parentStyleSheet the parent style sheet * @param parentRule the parent rule * @param media the media @@ -48,9 +50,7 @@ public CSSMediaRuleImpl( mediaList_ = media; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public String getCssText() { final StringBuilder sb = new StringBuilder("@media "); @@ -65,9 +65,7 @@ public String getCssText() { return sb.toString(); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public void setCssText(final String cssText) throws DOMException { try { @@ -100,6 +98,8 @@ public void setCssText(final String cssText) throws DOMException { } /** + *

getMediaList.

+ * * @return the media list */ public MediaListImpl getMediaList() { @@ -107,6 +107,8 @@ public MediaListImpl getMediaList() { } /** + *

getCssRules.

+ * * @return the css rules */ public CSSRuleListImpl getCssRules() { @@ -118,6 +120,7 @@ public CSSRuleListImpl getCssRules() { /** * Insert a new rule at the given index. + * * @param rule the rule to be inserted * @param index the insert pos * @throws DOMException in case of error @@ -181,11 +184,13 @@ public void setRuleList(final CSSRuleListImpl rules) { cssRules_ = rules; } + /** {@inheritDoc} */ @Override public String toString() { return getCssText(); } + /** {@inheritDoc} */ @Override public boolean equals(final Object obj) { if (this == obj) { diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java index ab835f4..6d392e2 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java @@ -109,7 +109,9 @@ public void setCssText(final String cssText) throws DOMException { } /** - * @return the current selector text + *

getSelectorText.

+ * + * @return the selector text */ public String getSelectorText() { if (null == pseudoPage_) { diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java index 90459b9..d428eae 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java @@ -30,6 +30,8 @@ public class CSSRuleListImpl implements Serializable { private final List rules_ = new ArrayList<>(); /** + *

getRules.

+ * * @return the rules */ public List getRules() { @@ -44,6 +46,8 @@ public CSSRuleListImpl() { } /** + *

getLength.

+ * * @return the number of rules */ public int getLength() { @@ -75,6 +79,7 @@ public void delete(final int index) { getRules().remove(index); } + /** {@inheritDoc} */ @Override public String toString() { final StringBuilder sb = new StringBuilder(); @@ -87,6 +92,7 @@ public String toString() { return sb.toString(); } + /** {@inheritDoc} */ @Override public boolean equals(final Object obj) { if (this == obj) { diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java index 1b0558c..e0fa1d9 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java @@ -46,6 +46,8 @@ public CSSStyleDeclarationImpl(final AbstractCSSRuleImpl parentRule) { } /** + *

getProperties.

+ * * @return the properties */ public List getProperties() { @@ -113,6 +115,8 @@ public String getPropertyValue(final String propertyName) { } /** + *

getPropertyCSSValue.

+ * * @param propertyName the property name * @return the property value */ @@ -146,6 +150,8 @@ public String removeProperty(final String propertyName) throws DOMException { } /** + *

getPropertyPriority.

+ * * @param propertyName the name of the property * @return the priority */ @@ -194,6 +200,8 @@ public void setProperty( } /** + *

getLength.

+ * * @return the properties count */ public int getLength() { @@ -201,6 +209,8 @@ public int getLength() { } /** + *

getParentRule.

+ * * @return the parent rule */ public AbstractCSSRuleImpl getParentRule() { @@ -219,6 +229,8 @@ public void addProperty(final Property p) { } /** + *

getPropertyDeclaration.

+ * * @param propertyName the name of the propery * @return the property */ diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java index c5855dd..25187b2 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java @@ -61,6 +61,8 @@ public CSSStyleSheetImpl() { } /** + *

getDisabled.

+ * * @return the disable state */ public boolean getDisabled() { @@ -77,6 +79,8 @@ public void setDisabled(final boolean disabled) { } /** + *

getOwnerNode.

+ * * @return the owner node */ public Node getOwnerNode() { @@ -84,6 +88,8 @@ public Node getOwnerNode() { } /** + *

getHref.

+ * * @return the href */ public String getHref() { @@ -91,6 +97,8 @@ public String getHref() { } /** + *

getTitle.

+ * * @return the title */ public String getTitle() { @@ -98,6 +106,8 @@ public String getTitle() { } /** + *

getMedia.

+ * * @return the media list */ public MediaListImpl getMedia() { @@ -105,6 +115,8 @@ public MediaListImpl getMedia() { } /** + *

getOwnerRule.

+ * * @return the owner rule */ public AbstractCSSRuleImpl getOwnerRule() { @@ -112,6 +124,8 @@ public AbstractCSSRuleImpl getOwnerRule() { } /** + *

getCssRules.

+ * * @return the css rules */ public CSSRuleListImpl getCssRules() { @@ -275,6 +289,8 @@ public void setMediaText(final String mediaText) { } /** + *

setOwnerRule.

+ * * @param ownerRule the new ownerRule */ public void setOwnerRule(final AbstractCSSRuleImpl ownerRule) { @@ -282,17 +298,25 @@ public void setOwnerRule(final AbstractCSSRuleImpl ownerRule) { } /** + *

setCssRules.

+ * * @param rules the new rules */ public void setCssRules(final CSSRuleListImpl rules) { cssRules_ = rules; } + /** + * {@inheritDoc} + */ @Override public String toString() { return getCssRules().toString(); } + /** + * {@inheritDoc} + */ @Override public boolean equals(final Object obj) { if (this == obj) { @@ -345,6 +369,8 @@ private void readObject(final ObjectInputStream in) throws IOException, ClassNot } /** + *

getRuleIndex.

+ * * @return the CSSStyleSheetRuleIndex */ public CSSStyleSheetRuleIndex getRuleIndex() { diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java index 9305621..12b5f68 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java @@ -29,6 +29,8 @@ public class CSSStyleSheetListImpl { private List cssStyleSheets_; /** + *

getCSSStyleSheets.

+ * * @return the list of style sheets */ public List getCSSStyleSheets() { @@ -39,6 +41,8 @@ public List getCSSStyleSheets() { } /** + *

getLength.

+ * * @return the number of style sheets */ public int getLength() { @@ -75,6 +79,7 @@ public CSSStyleSheetImpl merge() { return merged; } + /** {@inheritDoc} */ @Override public boolean equals(final Object obj) { if (this == obj) { diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java index a9c49df..3dc9bce 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java @@ -44,9 +44,7 @@ public CSSUnknownRuleImpl( text_ = text; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public String getCssText() { if (null == text_) { @@ -55,9 +53,7 @@ public String getCssText() { return text_; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public void setCssText(final String cssText) throws DOMException { try { @@ -88,11 +84,13 @@ public void setCssText(final String cssText) throws DOMException { } } + /** {@inheritDoc} */ @Override public String toString() { return getCssText(); } + /** {@inheritDoc} */ @Override public boolean equals(final Object obj) { if (this == obj) { diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java index d5d80d6..599b334 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java @@ -164,6 +164,8 @@ public enum CSSPrimitiveValueType { private Object value_; /** + *

getValue.

+ * * @return the value */ public Object getValue() { @@ -238,6 +240,8 @@ public CSSValueImpl(final LexicalUnit value) { } /** + *

getCssText.

+ * * @return the css text */ public String getCssText() { @@ -294,6 +298,8 @@ public void setCssText(final String cssText) throws DOMException { } /** + *

getCssValueType.

+ * * @return the css value type */ public CSSValueType getCssValueType() { @@ -308,6 +314,8 @@ public CSSValueType getCssValueType() { } /** + *

getPrimitiveType.

+ * * @return the primitive type */ public CSSPrimitiveValueType getPrimitiveType() { @@ -405,6 +413,8 @@ else if (value_ instanceof CounterImpl) { } /** + *

getLexicalUnitType.

+ * * @return the lexical unit type */ public LexicalUnit.LexicalUnitType getLexicalUnitType() { @@ -425,8 +435,9 @@ public void setDoubleValue(final double doubleValue) throws DOMException { } /** - * @return the double value. + *

getDoubleValue.

* + * @return the double value. * @throws DOMException in case of error */ public double getDoubleValue() throws DOMException { @@ -443,6 +454,8 @@ public double getDoubleValue() throws DOMException { } /** + *

getStringValue.

+ * * @return the string value. * @throws DOMException case of error */ @@ -485,9 +498,10 @@ public int getLength() { } /** + *

item.

+ * * @param index the position * @return the value at the position - * @throws DOMException in case of error */ @SuppressWarnings("unchecked") public CSSValueImpl item(final int index) { @@ -498,11 +512,13 @@ public CSSValueImpl item(final int index) { return null; } + /** {@inheritDoc} */ @Override public String toString() { return getCssText(); } + /** {@inheritDoc} */ @Override public boolean equals(final Object obj) { if (this == obj) { diff --git a/src/main/java/org/htmlunit/cssparser/dom/CounterImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CounterImpl.java index 1da9fcd..f4fffe6 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CounterImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CounterImpl.java @@ -33,6 +33,7 @@ public class CounterImpl implements Serializable { /** * Creates new CounterImpl. + * * @param separatorSpecified true if the separator is specified * @param lu the lexical unit * @throws DOMException in case of error @@ -73,6 +74,8 @@ public CounterImpl(final boolean separatorSpecified, final LexicalUnit lu) throw } /** + *

getIdentifier.

+ * * @return the identifier */ public String getIdentifier() { @@ -80,6 +83,8 @@ public String getIdentifier() { } /** + *

getListStyle.

+ * * @return the list style */ public String getListStyle() { @@ -87,12 +92,15 @@ public String getListStyle() { } /** + *

getSeparator.

+ * * @return the separator */ public String getSeparator() { return separator_; } + /** {@inheritDoc} */ @Override public String toString() { final StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java b/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java index 29f1149..d82de0e 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java @@ -51,6 +51,8 @@ public MediaListImpl(final MediaQueryList mediaList) { } /** + *

getMediaText.

+ * * @return the media text */ public String getMediaText() { @@ -89,6 +91,8 @@ public void setMediaText(final String mediaText) throws DOMException { } /** + *

getLength.

+ * * @return the media query count */ public int getLength() { @@ -96,6 +100,8 @@ public int getLength() { } /** + *

mediaQuery.

+ * * @param index the position of the media query * @return the media query at the given pos */ @@ -106,6 +112,7 @@ public MediaQuery mediaQuery(final int index) { return mediaQueries_.get(index); } + /** {@inheritDoc} */ @Override public String toString() { return getMediaText(); @@ -145,6 +152,7 @@ private boolean equalsMedia(final MediaListImpl ml) { return true; } + /** {@inheritDoc} */ @Override public boolean equals(final Object obj) { if (this == obj) { @@ -157,6 +165,7 @@ public boolean equals(final Object obj) { return super.equals(obj) && equalsMedia(ml); } + /** {@inheritDoc} */ @Override public int hashCode() { int hash = super.hashCode(); diff --git a/src/main/java/org/htmlunit/cssparser/dom/Property.java b/src/main/java/org/htmlunit/cssparser/dom/Property.java index 16901be..e6e0816 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/Property.java +++ b/src/main/java/org/htmlunit/cssparser/dom/Property.java @@ -20,6 +20,8 @@ import org.htmlunit.cssparser.util.ParserUtils; /** + *

Property class.

+ * * @author Ronald Brill */ public class Property extends AbstractLocatable implements Serializable { @@ -88,9 +90,7 @@ public void setImportant(final boolean important) { important_ = important; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public String toString() { final StringBuilder sb = new StringBuilder(); @@ -105,9 +105,7 @@ public String toString() { return sb.toString(); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public boolean equals(final Object obj) { if (this == obj) { diff --git a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java index 021c803..575875c 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java @@ -173,6 +173,8 @@ private static CSSValueImpl getPart(final LexicalUnit next) { } /** + *

getRed.

+ * * @return the red part. */ public CSSValueImpl getRed() { @@ -188,6 +190,8 @@ public void setRed(final CSSValueImpl red) { } /** + *

getGreen.

+ * * @return the green part. */ public CSSValueImpl getGreen() { @@ -203,6 +207,8 @@ public void setGreen(final CSSValueImpl green) { } /** + *

getBlue.

+ * * @return the blue part. */ public CSSValueImpl getBlue() { diff --git a/src/main/java/org/htmlunit/cssparser/dom/RectImpl.java b/src/main/java/org/htmlunit/cssparser/dom/RectImpl.java index 3df98ea..84760a6 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/RectImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/RectImpl.java @@ -115,6 +115,8 @@ public RectImpl(final LexicalUnit lu) throws DOMException { } /** + *

getTop.

+ * * @return the top part. */ public CSSValueImpl getTop() { @@ -130,6 +132,8 @@ public void setTop(final CSSValueImpl top) { } /** + *

getRight.

+ * * @return the right part. */ public CSSValueImpl getRight() { @@ -145,6 +149,8 @@ public void setRight(final CSSValueImpl right) { } /** + *

getBottom.

+ * * @return the bottom part. */ public CSSValueImpl getBottom() { @@ -160,6 +166,8 @@ public void setBottom(final CSSValueImpl bottom) { } /** + *

getLeft.

+ * * @return the left part. */ public CSSValueImpl getLeft() { @@ -174,9 +182,7 @@ public void setLeft(final CSSValueImpl left) { left_ = left; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public String toString() { return new StringBuilder("rect(") diff --git a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java index 5d21e65..6aa3a90 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java @@ -93,6 +93,8 @@ public abstract class AbstractCSSParser { private static final String NUM_CHARS = "0123456789."; /** + *

getDocumentHandler.

+ * * @return the document handler */ protected DocumentHandler getDocumentHandler() { @@ -122,6 +124,8 @@ public void setDocumentHandler(final DocumentHandler handler) { } /** + *

getErrorHandler.

+ * * @return the error handler */ protected CSSErrorHandler getErrorHandler() { @@ -152,6 +156,8 @@ public void setErrorHandler(final CSSErrorHandler handler) { } /** + *

getInputSource.

+ * * @return the input source */ protected InputSource getInputSource() { @@ -233,6 +239,7 @@ protected String addEscapes(final String str) { } /** + *

toCSSParseException.

* * @param key the message lookup key * @param e the parse exception @@ -282,6 +289,8 @@ protected CSSParseException toCSSParseException(final String key, final ParseExc } /** + *

toCSSParseException.

+ * * @param e the DOMException * @return a new CSSParseException */ @@ -292,6 +301,8 @@ protected CSSParseException toCSSParseException(final DOMException e) { } /** + *

toCSSParseException.

+ * * @param e the TokenMgrException * @return a new CSSParseException */ diff --git a/src/main/java/org/htmlunit/cssparser/parser/AbstractLocatable.java b/src/main/java/org/htmlunit/cssparser/parser/AbstractLocatable.java index 004c795..a174edf 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/AbstractLocatable.java +++ b/src/main/java/org/htmlunit/cssparser/parser/AbstractLocatable.java @@ -23,11 +23,13 @@ public class AbstractLocatable implements Locatable { private Locator locator_; + /** {@inheritDoc} */ @Override public Locator getLocator() { return locator_; } + /** {@inheritDoc} */ @Override public void setLocator(final Locator locator) { locator_ = locator; diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java b/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java index 2b7af57..3f73702 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java @@ -25,6 +25,7 @@ public interface CSSErrorHandler { * * @param exception the {@link CSSParseException} that is the reason for the warning. * @exception CSSException in case of error + * @throws CSSException if any. */ void warning(CSSParseException exception) throws CSSException; @@ -33,6 +34,7 @@ public interface CSSErrorHandler { * * @param exception the {@link CSSParseException} that is the reason for the error. * @exception CSSException in case of error + * @throws CSSException if any. */ void error(CSSParseException exception) throws CSSException; @@ -41,6 +43,7 @@ public interface CSSErrorHandler { * * @param exception the {@link CSSParseException} that is the reason for the error. * @exception CSSException in case of error + * @throws CSSException if any. */ void fatalError(CSSParseException exception) throws CSSException; } diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSException.java b/src/main/java/org/htmlunit/cssparser/parser/CSSException.java index e0f0307..e9a38fb 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSException.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSException.java @@ -78,6 +78,8 @@ public CSSException(final ErrorCode code, final String message, final Exception } /** + * {@inheritDoc} + * * Returns the detail message of this throwable object. * * @return the detail message of this Throwable, or null if this Throwable @@ -106,6 +108,8 @@ public String getMessage() { } /** + *

getCode.

+ * * @return the error code for this exception. */ public ErrorCode getCode() { diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java b/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java index aad7cd8..bf45d58 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java @@ -16,26 +16,15 @@ import java.io.IOException; import java.io.StringReader; -import java.util.Stack; - -import org.htmlunit.cssparser.dom.AbstractCSSRuleImpl; -import org.htmlunit.cssparser.dom.CSSCharsetRuleImpl; -import org.htmlunit.cssparser.dom.CSSFontFaceRuleImpl; -import org.htmlunit.cssparser.dom.CSSImportRuleImpl; -import org.htmlunit.cssparser.dom.CSSMediaRuleImpl; -import org.htmlunit.cssparser.dom.CSSPageRuleImpl; -import org.htmlunit.cssparser.dom.CSSRuleListImpl; -import org.htmlunit.cssparser.dom.CSSStyleDeclarationImpl; -import org.htmlunit.cssparser.dom.CSSStyleRuleImpl; -import org.htmlunit.cssparser.dom.CSSStyleSheetImpl; -import org.htmlunit.cssparser.dom.CSSUnknownRuleImpl; -import org.htmlunit.cssparser.dom.CSSValueImpl; -import org.htmlunit.cssparser.dom.MediaListImpl; -import org.htmlunit.cssparser.dom.Property; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Deque; +import java.util.List; + +import org.htmlunit.cssparser.dom.*; import org.htmlunit.cssparser.parser.javacc.CSS3Parser; import org.htmlunit.cssparser.parser.media.MediaQueryList; import org.htmlunit.cssparser.parser.selector.SelectorList; -import org.w3c.dom.DOMException; /** * @author Ronald Brill @@ -61,6 +50,8 @@ public CSSOMParser() { } /** + *

setErrorHandler.

+ * * @param eh the error handler to be used */ public void setErrorHandler(final CSSErrorHandler eh) { @@ -108,8 +99,8 @@ public CSSStyleDeclarationImpl parseStyleDeclaration(final String styleDecl) thr * @throws IOException if the underlying SAC parser throws an IOException */ public void parseStyleDeclaration(final CSSStyleDeclarationImpl sd, final String styleDecl) throws IOException { - try (InputSource source = new InputSource(new StringReader(styleDecl))) { - final Stack nodeStack = new Stack<>(); + try (final InputSource source = new InputSource(new StringReader(styleDecl))) { + final Deque nodeStack = new ArrayDeque<>(); nodeStack.push(sd); final CSSOMHandler handler = new CSSOMHandler(nodeStack); parser_.setDocumentHandler(handler); @@ -125,7 +116,7 @@ public void parseStyleDeclaration(final CSSStyleDeclarationImpl sd, final String * @throws IOException if the underlying SAC parser throws an IOException */ public CSSValueImpl parsePropertyValue(final String propertyValue) throws IOException { - try (InputSource source = new InputSource(new StringReader(propertyValue))) { + try (final InputSource source = new InputSource(new StringReader(propertyValue))) { final CSSOMHandler handler = new CSSOMHandler(); parser_.setDocumentHandler(handler); final LexicalUnit lu = parser_.parsePropertyValue(source); @@ -144,7 +135,7 @@ public CSSValueImpl parsePropertyValue(final String propertyValue) throws IOExce * @throws IOException if the underlying SAC parser throws an IOException */ public AbstractCSSRuleImpl parseRule(final String rule) throws IOException { - try (InputSource source = new InputSource(new StringReader(rule))) { + try (final InputSource source = new InputSource(new StringReader(rule))) { final CSSOMHandler handler = new CSSOMHandler(); parser_.setDocumentHandler(handler); parser_.parseRule(source); @@ -160,7 +151,7 @@ public AbstractCSSRuleImpl parseRule(final String rule) throws IOException { * @throws IOException if the underlying SAC parser throws an IOException */ public SelectorList parseSelectors(final String selectors) throws IOException { - try (InputSource source = new InputSource(new StringReader(selectors))) { + try (final InputSource source = new InputSource(new StringReader(selectors))) { final HandlerBase handler = new HandlerBase(); parser_.setDocumentHandler(handler); return parser_.parseSelectors(source); @@ -175,7 +166,7 @@ public SelectorList parseSelectors(final String selectors) throws IOException { * @throws IOException if the underlying SAC parser throws an IOException */ public MediaQueryList parseMedia(final String media) throws IOException { - try (InputSource source = new InputSource(new StringReader(media))) { + try (final InputSource source = new InputSource(new StringReader(media))) { final HandlerBase handler = new HandlerBase(); parser_.setDocumentHandler(handler); return parser_.parseMedia(source); @@ -183,6 +174,8 @@ public MediaQueryList parseMedia(final String media) throws IOException { } /** + *

setParentStyleSheet.

+ * * @param parentStyleSheet the new parent stylesheet */ public void setParentStyleSheet(final CSSStyleSheetImpl parentStyleSheet) { @@ -190,6 +183,8 @@ public void setParentStyleSheet(final CSSStyleSheetImpl parentStyleSheet) { } /** + *

getParentStyleSheet.

+ * * @return the parent style sheet */ protected CSSStyleSheetImpl getParentStyleSheet() { @@ -197,7 +192,7 @@ protected CSSStyleSheetImpl getParentStyleSheet() { } class CSSOMHandler implements DocumentHandler { - private final Stack nodeStack_; + private final Deque nodeStack_; private Object root_; private String href_; @@ -209,12 +204,12 @@ private void setHref(final String href) { href_ = href; } - CSSOMHandler(final Stack nodeStack) { + CSSOMHandler(final Deque nodeStack) { nodeStack_ = nodeStack; } CSSOMHandler() { - nodeStack_ = new Stack<>(); + nodeStack_ = new ArrayDeque<>(); } Object getRoot() { @@ -223,7 +218,7 @@ Object getRoot() { @Override public void startDocument(final InputSource source) throws CSSException { - if (nodeStack_.empty()) { + if (nodeStack_.isEmpty()) { final CSSStyleSheetImpl ss = new CSSStyleSheetImpl(); CSSOMParser.this.setParentStyleSheet(ss); ss.setHref(getHref()); @@ -252,7 +247,7 @@ public void ignorableAtRule(final String atRule, final Locator locator) throws C getParentRule(), atRule); ir.setLocator(locator); - if (!nodeStack_.empty()) { + if (!nodeStack_.isEmpty()) { ((CSSRuleListImpl) nodeStack_.peek()).add(ir); } else { @@ -268,7 +263,7 @@ public void charset(final String characterEncoding, final Locator locator) getParentRule(), characterEncoding); cr.setLocator(locator); - if (!nodeStack_.empty()) { + if (!nodeStack_.isEmpty()) { ((CSSRuleListImpl) nodeStack_.peek()).add(cr); } else { @@ -286,7 +281,7 @@ public void importStyle(final String uri, final MediaQueryList media, uri, new MediaListImpl(media)); ir.setLocator(locator); - if (!nodeStack_.empty()) { + if (!nodeStack_.isEmpty()) { ((CSSRuleListImpl) nodeStack_.peek()).add(ir); } else { @@ -303,7 +298,7 @@ public void startMedia(final MediaQueryList media, final Locator locator) throws getParentRule(), ml); mr.setLocator(locator); - if (!nodeStack_.empty()) { + if (!nodeStack_.isEmpty()) { ((CSSRuleListImpl) nodeStack_.peek()).add(mr); } @@ -329,7 +324,7 @@ public void startPage(final String name, final String pseudoPage, final Locator CSSOMParser.this.getParentStyleSheet(), getParentRule(), pseudoPage); pr.setLocator(locator); - if (!nodeStack_.empty()) { + if (!nodeStack_.isEmpty()) { ((CSSRuleListImpl) nodeStack_.peek()).add(pr); } @@ -354,7 +349,7 @@ public void startFontFace(final Locator locator) throws CSSException { CSSOMParser.this.getParentStyleSheet(), getParentRule()); ffr.setLocator(locator); - if (!nodeStack_.empty()) { + if (!nodeStack_.isEmpty()) { ((CSSRuleListImpl) nodeStack_.peek()).add(ffr); } @@ -379,7 +374,7 @@ public void startSelector(final SelectorList selectors, final Locator locator) t CSSOMParser.this.getParentStyleSheet(), getParentRule(), selectors); sr.setLocator(locator); - if (!nodeStack_.empty()) { + if (!nodeStack_.isEmpty()) { final Object o = nodeStack_.peek(); ((CSSRuleListImpl) o).add(sr); } @@ -413,8 +408,9 @@ public void property(final String name, final LexicalUnit value, final boolean i } private AbstractCSSRuleImpl getParentRule() { - if (!nodeStack_.empty() && nodeStack_.size() > 1) { - final Object node = nodeStack_.get(nodeStack_.size() - 2); + if (!nodeStack_.isEmpty() && nodeStack_.size() > 1) { + final List nodesStack_ = new ArrayList<>(nodeStack_); + final Object node = nodesStack_.get(nodesStack_.size() - 2); if (node instanceof AbstractCSSRuleImpl) { return (AbstractCSSRuleImpl) node; } diff --git a/src/main/java/org/htmlunit/cssparser/parser/CssCharStream.java b/src/main/java/org/htmlunit/cssparser/parser/CssCharStream.java index 845cde7..e3bb6d4 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CssCharStream.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CssCharStream.java @@ -184,7 +184,11 @@ else if (prevCharIsCR) bufcolumn[bufpos] = column; } - /** Read a character. */ +/** + * {@inheritDoc} + * + * Read a character. + */ @Override public final char readChar() throws java.io.IOException { @@ -207,31 +211,51 @@ public final char readChar() throws java.io.IOException return c; } - /** Get token end column number. */ +/** + * {@inheritDoc} + * + * Get token end column number. + */ @Override public final int getEndColumn() { return bufcolumn[bufpos]; } - /** Get token end line number. */ +/** + * {@inheritDoc} + * + * Get token end line number. + */ @Override public final int getEndLine() { return bufline[bufpos]; } - /** Get token beginning column number. */ +/** + * {@inheritDoc} + * + * Get token beginning column number. + */ @Override public final int getBeginColumn() { return bufcolumn[tokenBegin]; } - /** Get token beginning line number. */ +/** + * {@inheritDoc} + * + * Get token beginning line number. + */ @Override public final int getBeginLine() { return bufline[tokenBegin]; } - /** Backup a number of characters. */ +/** + * {@inheritDoc} + * + * Backup a number of characters. + */ @Override public final void backup(int amount) { inBuf += amount; @@ -269,7 +293,11 @@ public CssCharStream(java.io.Reader dstream, int startline, int startcolumn) this(dstream, startline, startcolumn, 4096); } - /** Get token literal value. */ +/** + * {@inheritDoc} + * + * Get token literal value. + */ @Override public final String getImage() { @@ -278,7 +306,11 @@ public final String getImage() return new String(buffer, tokenBegin, bufsize - tokenBegin) + new String(buffer, 0, bufpos + 1); } - /** Get the suffix. */ +/** + * {@inheritDoc} + * + * Get the suffix. + */ @Override public final char[] getSuffix(int len) { @@ -295,7 +327,11 @@ public final char[] getSuffix(int len) return ret; } - /** Reset buffer when finished. */ +/** + * {@inheritDoc} + * + * Reset buffer when finished. + */ @Override public void done() { @@ -353,21 +389,25 @@ public void adjustBeginLineColumn(int newLine, int newCol) column = bufcolumn[j]; } + /** {@inheritDoc} */ @Override public void setTabSize(int i) { tabSize = i; } + /** {@inheritDoc} */ @Override public int getTabSize() { return tabSize; } + /** {@inheritDoc} */ @Override public boolean isTrackLineColumn() { return trackLineColumn; } + /** {@inheritDoc} */ @Override public void setTrackLineColumn(boolean tlc) { trackLineColumn = tlc; diff --git a/src/main/java/org/htmlunit/cssparser/parser/InputSource.java b/src/main/java/org/htmlunit/cssparser/parser/InputSource.java index ab473f0..3f94e82 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/InputSource.java +++ b/src/main/java/org/htmlunit/cssparser/parser/InputSource.java @@ -38,6 +38,8 @@ public InputSource(final Reader reader) { } /** + *

getReader.

+ * * @return the reader if defined */ public Reader getReader() { @@ -45,6 +47,8 @@ public Reader getReader() { } /** + *

getURI.

+ * * @return the uri if set */ public String getURI() { @@ -52,6 +56,8 @@ public String getURI() { } /** + *

setURI.

+ * * @param uri the uri */ public void setURI(final String uri) { @@ -59,6 +65,8 @@ public void setURI(final String uri) { } /** + *

getMedia.

+ * * @return the media if set */ public String getMedia() { @@ -69,6 +77,8 @@ public String getMedia() { } /** + *

setMedia.

+ * * @param media the media */ public void setMedia(final String media) { @@ -76,6 +86,8 @@ public void setMedia(final String media) { } /** + *

getTitle.

+ * * @return the title if set */ public String getTitle() { @@ -83,12 +95,15 @@ public String getTitle() { } /** + *

setTitle.

+ * * @param title the title */ public void setTitle(final String title) { title_ = title; } + /** {@inheritDoc} */ @Override public void close() throws IOException { reader_.close(); diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java index dc97176..1f50036 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java @@ -132,61 +132,85 @@ enum LexicalUnitType { } /** + *

getLexicalUnitType.

+ * * @return an integer indicating the type of LexicalUnit. */ LexicalUnitType getLexicalUnitType(); /** + *

getNextLexicalUnit.

+ * * @return the next value or null if any. */ LexicalUnit getNextLexicalUnit(); /** + *

getPreviousLexicalUnit.

+ * * @return the previous value or null if any. */ LexicalUnit getPreviousLexicalUnit(); /** + *

getIntegerValue.

+ * * @return the integer value. */ int getIntegerValue(); /** + *

getDoubleValue.

+ * * @return the double value. */ double getDoubleValue(); /** + *

getDimensionUnitText.

+ * * @return the string representation of the unit. */ String getDimensionUnitText(); /** + *

getFunctionName.

+ * * @return the name of the function. */ String getFunctionName(); /** + *

getParameters.

+ * * @return the function parameters including operators (like the comma). */ LexicalUnit getParameters(); /** + *

getStringValue.

+ * * @return the string value. */ String getStringValue(); /** + *

getSubValues.

+ * * @return a list of values inside the sub expression. */ LexicalUnit getSubValues(); /** + *

getLocator.

+ * * @return the locator */ Locator getLocator(); /** + *

setLocator.

+ * * @param locator the new locator */ void setLocator(Locator locator); diff --git a/src/main/java/org/htmlunit/cssparser/parser/Locatable.java b/src/main/java/org/htmlunit/cssparser/parser/Locatable.java index 9b954f4..ee7be60 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/Locatable.java +++ b/src/main/java/org/htmlunit/cssparser/parser/Locatable.java @@ -22,6 +22,8 @@ public interface Locatable { /** + *

getLocator.

+ * * @return the locator */ Locator getLocator(); diff --git a/src/main/java/org/htmlunit/cssparser/parser/Locator.java b/src/main/java/org/htmlunit/cssparser/parser/Locator.java index e4399a2..285261d 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/Locator.java +++ b/src/main/java/org/htmlunit/cssparser/parser/Locator.java @@ -42,6 +42,8 @@ public Locator(final String uri, final int line, final int column) { } /** + *

getUri.

+ * * @return the uri */ public String getUri() { @@ -95,6 +97,7 @@ public void setLineNumber(final int line) { lineNumber_ = line; } + /** {@inheritDoc} */ @Override public boolean equals(final Object obj) { if (this == obj) { @@ -118,6 +121,7 @@ public int hashCode() { return hash; } + /** {@inheritDoc} */ @Override public String toString() { return new StringBuilder().append(getUri()).append(" (") diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/ClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/ClassCondition.java index a9d5264..8959db5 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/ClassCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/ClassCondition.java @@ -20,6 +20,7 @@ import org.htmlunit.cssparser.parser.Locator; /** + *

ClassCondition class.

* * @author Ronald Brill */ @@ -37,27 +38,25 @@ public ClassCondition(final String value, final Locator locator) { setLocator(locator); } + /** {@inheritDoc} */ @Override public ConditionType getConditionType() { return ConditionType.CLASS_CONDITION; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public String getLocalName() { return null; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public String getValue() { return value_; } + /** {@inheritDoc} */ @Override public String toString() { final String value = getValue(); diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java index c87bf1d..1045cb3 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java @@ -17,6 +17,8 @@ import org.htmlunit.cssparser.parser.Locatable; /** + *

Condition interface.

+ * * @author Ronald Brill */ public interface Condition extends Locatable { @@ -50,16 +52,22 @@ enum ConditionType { } /** + *

getConditionType.

+ * * @return the associated condition type */ ConditionType getConditionType(); /** + *

getValue.

+ * * @return the value */ String getValue(); /** + *

getLocalName.

+ * * @return the local name */ String getLocalName(); diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/IdCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/IdCondition.java index 7d96d32..af109a0 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/IdCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/IdCondition.java @@ -20,6 +20,8 @@ import org.htmlunit.cssparser.parser.Locator; /** + *

IdCondition class.

+ * * @author Ronald Brill */ public class IdCondition extends AbstractLocatable implements Condition, Serializable { @@ -28,6 +30,7 @@ public class IdCondition extends AbstractLocatable implements Condition, Seriali /** * Ctor. + * * @param value the value * @param locator the locator */ @@ -36,30 +39,25 @@ public IdCondition(final String value, final Locator locator) { setLocator(locator); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public ConditionType getConditionType() { return ConditionType.ID_CONDITION; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public String getLocalName() { return null; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public String getValue() { return value_; } + /** {@inheritDoc} */ @Override public String toString() { final String value = getValue(); diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java index b03c5c4..e5163ae 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java @@ -71,4 +71,4 @@ public String toString() { result.append(")"); return result.toString(); } -} +} \ No newline at end of file diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeCondition.java index 3332fab..cc4382a 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeCondition.java @@ -15,13 +15,15 @@ package org.htmlunit.cssparser.parser.condition; /** + *

OneOfAttributeCondition class.

+ * * @author Ronald Brill */ public class OneOfAttributeCondition extends AttributeCondition { /** * Ctor. - * @param localName the local value + * @param localName the local name * @param value the value * @param caseInSensitive null if not set, true/false for i/s */ @@ -29,11 +31,13 @@ public OneOfAttributeCondition(final String localName, final String value, final super(localName, value, caseInSensitive); } + /** {@inheritDoc} */ @Override public ConditionType getConditionType() { return ConditionType.ONE_OF_ATTRIBUTE_CONDITION; } + /** {@inheritDoc} */ @Override public String getOperator() { return "~="; diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeCondition.java index 9ffc2ed..50b5ec1 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeCondition.java @@ -21,7 +21,7 @@ public class PrefixAttributeCondition extends AttributeCondition { /** * Ctor. - * @param localName the local value + * @param localName the local name * @param value the value * @param caseInSensitive null if not set, true/false for i/s */ diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/PseudoClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/PseudoClassCondition.java index 5dbc308..d6d00cb 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/PseudoClassCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/PseudoClassCondition.java @@ -20,6 +20,7 @@ import org.htmlunit.cssparser.parser.Locator; /** + *

PseudoClassCondition class.

* * @author Ronald Brill */ @@ -40,27 +41,25 @@ public PseudoClassCondition(final String value, final Locator locator, final boo doubleColon_ = doubleColon; } + /** {@inheritDoc} */ @Override public ConditionType getConditionType() { return ConditionType.PSEUDO_CLASS_CONDITION; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public String getLocalName() { return null; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public String getValue() { return value_; } + /** {@inheritDoc} */ @Override public String toString() { final String value = getValue(); diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeCondition.java index 1508ec3..0ea0406 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeCondition.java @@ -15,6 +15,8 @@ package org.htmlunit.cssparser.parser.condition; /** + *

SubstringAttributeCondition class.

+ * * @author Ronald Brill */ public class SubstringAttributeCondition extends AttributeCondition { @@ -29,11 +31,13 @@ public SubstringAttributeCondition(final String localName, final String value, f super(localName, value, caseInSensitive); } + /** {@inheritDoc} */ @Override public ConditionType getConditionType() { return ConditionType.SUBSTRING_ATTRIBUTE_CONDITION; //for now } + /** {@inheritDoc} */ @Override public String getOperator() { return "*="; diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeCondition.java index 2d8f064..564ba2a 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeCondition.java @@ -15,6 +15,8 @@ package org.htmlunit.cssparser.parser.condition; /** + *

SuffixAttributeCondition class.

+ * * @author Ronald Brill */ public class SuffixAttributeCondition extends AttributeCondition { @@ -29,11 +31,13 @@ public SuffixAttributeCondition(final String localName, final String value, fina super(localName, value, caseInSensitive); } + /** {@inheritDoc} */ @Override public ConditionType getConditionType() { return ConditionType.SUFFIX_ATTRIBUTE_CONDITION; //for now } + /** {@inheritDoc} */ @Override public String getOperator() { return "$="; diff --git a/src/main/java/org/htmlunit/cssparser/parser/media/MediaQuery.java b/src/main/java/org/htmlunit/cssparser/parser/media/MediaQuery.java index 50acd5b..b914355 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/media/MediaQuery.java +++ b/src/main/java/org/htmlunit/cssparser/parser/media/MediaQuery.java @@ -22,6 +22,8 @@ import org.htmlunit.cssparser.parser.AbstractLocatable; /** + *

MediaQuery class.

+ * * @author Ronald Brill */ public class MediaQuery extends AbstractLocatable implements Serializable { @@ -58,6 +60,8 @@ public MediaQuery(final String media, final boolean isOnly, final boolean isNot) } /** + *

getMedia.

+ * * @return the media */ public String getMedia() { @@ -65,6 +69,8 @@ public String getMedia() { } /** + *

getProperties.

+ * * @return the list of properties */ public List getProperties() { @@ -73,6 +79,7 @@ public List getProperties() { /** * Adds a property to the list. + * * @param mp the property to add */ public void addMediaProperty(final Property mp) { @@ -80,6 +87,8 @@ public void addMediaProperty(final Property mp) { } /** + *

isOnly.

+ * * @return the is only flag */ public boolean isOnly() { @@ -87,12 +96,15 @@ public boolean isOnly() { } /** + *

isNot.

+ * * @return the is not flag */ public boolean isNot() { return isNot_; } + /** {@inheritDoc} */ @Override public String toString() { final StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/htmlunit/cssparser/parser/media/MediaQueryList.java b/src/main/java/org/htmlunit/cssparser/parser/media/MediaQueryList.java index 2cd298f..0bae855 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/media/MediaQueryList.java +++ b/src/main/java/org/htmlunit/cssparser/parser/media/MediaQueryList.java @@ -36,6 +36,8 @@ public MediaQueryList() { } /** + *

getLength.

+ * * @return the number of mediaQueries */ public int getLength() { @@ -43,6 +45,7 @@ public int getLength() { } /** + *

getMediaQueries.

* @return the list of media queries */ public List getMediaQueries() { @@ -51,12 +54,14 @@ public List getMediaQueries() { /** * Adds a new media query to the list. + * * @param mediaQuery the media query to add */ public void add(final MediaQuery mediaQuery) { mediaQueries_.add(mediaQuery); } + /** {@inheritDoc} */ @Override public String toString() { final StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/AbstractSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/AbstractSelector.java index 30a4c17..ea28b4a 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/AbstractSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/AbstractSelector.java @@ -19,12 +19,15 @@ import org.htmlunit.cssparser.parser.AbstractLocatable; /** + *

Abstract AbstractSelector class.

+ * * @author Ronald Brill */ public abstract class AbstractSelector extends AbstractLocatable implements Selector, Serializable { private SelectorSpecificity specificity_; + /** {@inheritDoc} */ @Override public SelectorSpecificity getSelectorSpecificity() { if (specificity_ == null) { diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java index f7fbe38..c847bec 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java @@ -69,4 +69,4 @@ public String toString() { return sb.toString(); } -} +} \ No newline at end of file diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/DescendantSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/DescendantSelector.java index ed3df6b..35bbd61 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/DescendantSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/DescendantSelector.java @@ -15,6 +15,8 @@ package org.htmlunit.cssparser.parser.selector; /** + *

DescendantSelector class.

+ * * @author Ronald Brill */ public class DescendantSelector extends AbstractSelector { @@ -36,23 +38,28 @@ public DescendantSelector(final Selector ancestorSelector, final SimpleSelector simpleSelector_ = simpleSelector; } + /** {@inheritDoc} */ @Override public SelectorType getSelectorType() { return SelectorType.DESCENDANT_SELECTOR; } /** + *

getAncestorSelector.

+ * * @return the anchestor selector */ public Selector getAncestorSelector() { return ancestorSelector_; } + /** {@inheritDoc} */ @Override public SimpleSelector getSimpleSelector() { return simpleSelector_; } + /** {@inheritDoc} */ @Override public String toString() { final StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelector.java index e747d9f..51bde09 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelector.java @@ -15,6 +15,8 @@ package org.htmlunit.cssparser.parser.selector; /** + *

DirectAdjacentSelector class.

+ * * @author Ronald Brill */ public class DirectAdjacentSelector extends AbstractSelector { @@ -35,23 +37,28 @@ public DirectAdjacentSelector(final Selector child, final SimpleSelector simpleS simpleSelector_ = simpleSelector; } + /** {@inheritDoc} */ @Override public SelectorType getSelectorType() { return SelectorType.DIRECT_ADJACENT_SELECTOR; } /** + *

getSelector.

+ * * @return the selector */ public Selector getSelector() { return selector_; } + /** {@inheritDoc} */ @Override public SimpleSelector getSimpleSelector() { return simpleSelector_; } + /** {@inheritDoc} */ @Override public String toString() { final StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/ElementSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/ElementSelector.java index 0fe06b6..9d54078 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/ElementSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/ElementSelector.java @@ -22,6 +22,8 @@ import org.htmlunit.cssparser.parser.condition.Condition; /** + *

ElementSelector class.

+ * * @author Ronald Brill */ public class ElementSelector extends AbstractSelector implements SimpleSelector { @@ -47,17 +49,21 @@ public ElementSelector(final String localName, final Locator locator) { setLocator(locator); } + /** {@inheritDoc} */ @Override public SelectorType getSelectorType() { return SelectorType.ELEMENT_NODE_SELECTOR; } + /** {@inheritDoc} */ @Override public SimpleSelector getSimpleSelector() { return this; } /** + *

getLocalName.

+ * * @return the local name */ public String getLocalName() { @@ -65,6 +71,8 @@ public String getLocalName() { } /** + *

getLocalNameLowerCase.

+ * * @return the local name in lowercase */ public String getLocalNameLowerCase() { @@ -72,6 +80,8 @@ public String getLocalNameLowerCase() { } /** + *

getElementName.

+ * * @return the element name */ public String getElementName() { @@ -83,6 +93,8 @@ public String getElementName() { } /** + *

getConditions.

+ * * @return the conditions */ public List getConditions() { @@ -91,6 +103,7 @@ public List getConditions() { /** * Add a condition. + * * @param condition the condition to be added */ public void addCondition(final Condition condition) { @@ -100,6 +113,7 @@ public void addCondition(final Condition condition) { conditions_.add(condition); } + /** {@inheritDoc} */ @Override public String toString() { final StringBuilder result = new StringBuilder(); diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelector.java index 50d13fa..cebfa9d 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelector.java @@ -15,6 +15,8 @@ package org.htmlunit.cssparser.parser.selector; /** + *

GeneralAdjacentSelector class.

+ * * @author Ronald Brill */ public class GeneralAdjacentSelector extends AbstractSelector { @@ -35,23 +37,28 @@ public GeneralAdjacentSelector(final Selector child, final SimpleSelector simple simpleSelector_ = simpleSelector; } + /** {@inheritDoc} */ @Override public SelectorType getSelectorType() { return SelectorType.GENERAL_ADJACENT_SELECTOR; } /** + *

getSelector.

+ * * @return the selector */ public Selector getSelector() { return selector_; } + /** {@inheritDoc} */ @Override public SimpleSelector getSimpleSelector() { return simpleSelector_; } + /** {@inheritDoc} */ @Override public String toString() { final StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelector.java index 562d767..fc7464b 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelector.java @@ -17,6 +17,7 @@ import org.htmlunit.cssparser.parser.Locator; /** + *

PseudoElementSelector class.

* * @author Ronald Brill */ @@ -37,23 +38,28 @@ public PseudoElementSelector(final String localName, final Locator locator, fina doubleColon_ = doubleColon; } + /** {@inheritDoc} */ @Override public SelectorType getSelectorType() { return SelectorType.PSEUDO_ELEMENT_SELECTOR; } + /** {@inheritDoc} */ @Override public SimpleSelector getSimpleSelector() { return this; } /** + *

getLocalName.

+ * * @return the local name */ public String getLocalName() { return localName_; } + /** {@inheritDoc} */ @Override public String toString() { if (localName_ == null) { diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java index 982add3..5dafed0 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java @@ -40,16 +40,22 @@ enum SelectorType { } /** + *

getSelectorType.

+ * * @return the associated selector type */ SelectorType getSelectorType(); /** + *

getSimpleSelector.

+ * * @return the simple selector part */ SimpleSelector getSimpleSelector(); /** + *

getSelectorSpecificity.

+ * * @return the selector specificity */ SelectorSpecificity getSelectorSpecificity(); diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorListImpl.java b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorListImpl.java index 704231a..3accb6f 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorListImpl.java @@ -34,12 +34,15 @@ public class SelectorListImpl extends AbstractLocatable implements SelectorList, private final List selectors_ = new ArrayList<>(); /** + *

getSelectors.

+ * * @return the list of selectors. */ public List getSelectors() { return selectors_; } + /** {@inheritDoc} */ @Override public String toString() { return selectors_.stream() @@ -47,116 +50,139 @@ public String toString() { .collect(Collectors.joining(", ")); } + /** {@inheritDoc} */ @Override public int size() { return selectors_.size(); } + /** {@inheritDoc} */ @Override public boolean isEmpty() { return selectors_.isEmpty(); } + /** {@inheritDoc} */ @Override public boolean contains(final Object o) { return selectors_.contains(o); } + /** {@inheritDoc} */ @Override public Iterator iterator() { return selectors_.iterator(); } + /** {@inheritDoc} */ @Override public Object[] toArray() { return selectors_.toArray(); } + /** {@inheritDoc} */ @Override public T[] toArray(final T[] a) { return selectors_.toArray(a); } + /** {@inheritDoc} */ @Override public boolean add(final Selector e) { return selectors_.add(e); } + /** {@inheritDoc} */ @Override public boolean remove(final Object o) { return selectors_.remove(o); } + /** {@inheritDoc} */ @Override public boolean containsAll(final Collection c) { return selectors_.containsAll(c); } + /** {@inheritDoc} */ @Override public boolean addAll(final Collection c) { return selectors_.addAll(c); } + /** {@inheritDoc} */ @Override public boolean addAll(final int index, final Collection c) { return selectors_.addAll(index, c); } + /** {@inheritDoc} */ @Override public boolean removeAll(final Collection c) { return selectors_.removeAll(c); } + /** {@inheritDoc} */ @Override public boolean retainAll(final Collection c) { return selectors_.retainAll(c); } + /** {@inheritDoc} */ @Override public void clear() { selectors_.clear(); } + /** {@inheritDoc} */ @Override public Selector get(final int index) { return selectors_.get(index); } + /** {@inheritDoc} */ @Override public Selector set(final int index, final Selector element) { return selectors_.set(index, element); } + /** {@inheritDoc} */ @Override public void add(final int index, final Selector element) { selectors_.add(index, element); } + /** {@inheritDoc} */ @Override public Selector remove(final int index) { return selectors_.remove(index); } + /** {@inheritDoc} */ @Override public int indexOf(final Object o) { return selectors_.indexOf(o); } + /** {@inheritDoc} */ @Override public int lastIndexOf(final Object o) { return selectors_.lastIndexOf(o); } + /** {@inheritDoc} */ @Override public ListIterator listIterator() { return selectors_.listIterator(); } + /** {@inheritDoc} */ @Override public ListIterator listIterator(final int index) { return selectors_.listIterator(index); } + /** {@inheritDoc} */ @Override public List subList(final int fromIndex, final int toIndex) { return selectors_.subList(fromIndex, toIndex); From 47086faf487ac707b3c9338a554df79d813b8df2 Mon Sep 17 00:00:00 2001 From: oswetto Date: Mon, 30 Oct 2023 23:12:41 +0100 Subject: [PATCH 006/137] Fix import --- src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java b/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java index bf45d58..98db8e1 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java @@ -25,6 +25,7 @@ import org.htmlunit.cssparser.parser.javacc.CSS3Parser; import org.htmlunit.cssparser.parser.media.MediaQueryList; import org.htmlunit.cssparser.parser.selector.SelectorList; +import org.w3c.dom.DOMException; /** * @author Ronald Brill From e3f97b41769ea3b2f945220eb38671167c3408a0 Mon Sep 17 00:00:00 2001 From: oswetto Date: Wed, 1 Nov 2023 02:51:43 +0100 Subject: [PATCH 007/137] Fixed Checkstyle errors --- .../cssparser/parser/CSSOMParser.java | 29 ++++++++++++++----- .../parser/condition/LangCondition.java | 2 +- .../parser/selector/ChildSelector.java | 2 +- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java b/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java index 98db8e1..8fb3698 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java @@ -21,7 +21,20 @@ import java.util.Deque; import java.util.List; -import org.htmlunit.cssparser.dom.*; +import org.htmlunit.cssparser.dom.AbstractCSSRuleImpl; +import org.htmlunit.cssparser.dom.CSSCharsetRuleImpl; +import org.htmlunit.cssparser.dom.CSSFontFaceRuleImpl; +import org.htmlunit.cssparser.dom.CSSImportRuleImpl; +import org.htmlunit.cssparser.dom.CSSMediaRuleImpl; +import org.htmlunit.cssparser.dom.CSSPageRuleImpl; +import org.htmlunit.cssparser.dom.CSSRuleListImpl; +import org.htmlunit.cssparser.dom.CSSStyleDeclarationImpl; +import org.htmlunit.cssparser.dom.CSSStyleRuleImpl; +import org.htmlunit.cssparser.dom.CSSStyleSheetImpl; +import org.htmlunit.cssparser.dom.CSSUnknownRuleImpl; +import org.htmlunit.cssparser.dom.CSSValueImpl; +import org.htmlunit.cssparser.dom.MediaListImpl; +import org.htmlunit.cssparser.dom.Property; import org.htmlunit.cssparser.parser.javacc.CSS3Parser; import org.htmlunit.cssparser.parser.media.MediaQueryList; import org.htmlunit.cssparser.parser.selector.SelectorList; @@ -100,7 +113,7 @@ public CSSStyleDeclarationImpl parseStyleDeclaration(final String styleDecl) thr * @throws IOException if the underlying SAC parser throws an IOException */ public void parseStyleDeclaration(final CSSStyleDeclarationImpl sd, final String styleDecl) throws IOException { - try (final InputSource source = new InputSource(new StringReader(styleDecl))) { + try (InputSource source = new InputSource(new StringReader(styleDecl))) { final Deque nodeStack = new ArrayDeque<>(); nodeStack.push(sd); final CSSOMHandler handler = new CSSOMHandler(nodeStack); @@ -117,7 +130,7 @@ public void parseStyleDeclaration(final CSSStyleDeclarationImpl sd, final String * @throws IOException if the underlying SAC parser throws an IOException */ public CSSValueImpl parsePropertyValue(final String propertyValue) throws IOException { - try (final InputSource source = new InputSource(new StringReader(propertyValue))) { + try (InputSource source = new InputSource(new StringReader(propertyValue))) { final CSSOMHandler handler = new CSSOMHandler(); parser_.setDocumentHandler(handler); final LexicalUnit lu = parser_.parsePropertyValue(source); @@ -136,7 +149,7 @@ public CSSValueImpl parsePropertyValue(final String propertyValue) throws IOExce * @throws IOException if the underlying SAC parser throws an IOException */ public AbstractCSSRuleImpl parseRule(final String rule) throws IOException { - try (final InputSource source = new InputSource(new StringReader(rule))) { + try (InputSource source = new InputSource(new StringReader(rule))) { final CSSOMHandler handler = new CSSOMHandler(); parser_.setDocumentHandler(handler); parser_.parseRule(source); @@ -152,7 +165,7 @@ public AbstractCSSRuleImpl parseRule(final String rule) throws IOException { * @throws IOException if the underlying SAC parser throws an IOException */ public SelectorList parseSelectors(final String selectors) throws IOException { - try (final InputSource source = new InputSource(new StringReader(selectors))) { + try (InputSource source = new InputSource(new StringReader(selectors))) { final HandlerBase handler = new HandlerBase(); parser_.setDocumentHandler(handler); return parser_.parseSelectors(source); @@ -167,7 +180,7 @@ public SelectorList parseSelectors(final String selectors) throws IOException { * @throws IOException if the underlying SAC parser throws an IOException */ public MediaQueryList parseMedia(final String media) throws IOException { - try (final InputSource source = new InputSource(new StringReader(media))) { + try (InputSource source = new InputSource(new StringReader(media))) { final HandlerBase handler = new HandlerBase(); parser_.setDocumentHandler(handler); return parser_.parseMedia(source); @@ -410,8 +423,8 @@ public void property(final String name, final LexicalUnit value, final boolean i private AbstractCSSRuleImpl getParentRule() { if (!nodeStack_.isEmpty() && nodeStack_.size() > 1) { - final List nodesStack_ = new ArrayList<>(nodeStack_); - final Object node = nodesStack_.get(nodesStack_.size() - 2); + final List nodesStack = new ArrayList<>(nodeStack_); + final Object node = nodesStack.get(nodesStack.size() - 2); if (node instanceof AbstractCSSRuleImpl) { return (AbstractCSSRuleImpl) node; } diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java index e5163ae..b03c5c4 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java @@ -71,4 +71,4 @@ public String toString() { result.append(")"); return result.toString(); } -} \ No newline at end of file +} diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java index c847bec..f7fbe38 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java @@ -69,4 +69,4 @@ public String toString() { return sb.toString(); } -} \ No newline at end of file +} From d565ee80341c043bf2d2be0aa01af9cb3799ffa1 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 1 Nov 2023 19:40:04 +0100 Subject: [PATCH 008/137] add Ivan Di Francesco --- pom.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pom.xml b/pom.xml index 9054435..7db4911 100644 --- a/pom.xml +++ b/pom.xml @@ -344,6 +344,9 @@ Paul Selormey + + Ivan Di Francesco + From 585332687e075f7c8a233566b43994980762faf2 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Thu, 2 Nov 2023 08:18:57 +0100 Subject: [PATCH 009/137] fix a nasty hack in the code to access the second element from the stack - this hack was broken during the switch from Stack to Deque (see #45) --- .../cssparser/parser/CSSOMParser.java | 8 +++---- .../cssparser/dom/CSSMediaRuleImplTest.java | 21 +++++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java b/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java index 8fb3698..d6ecaa9 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java @@ -17,9 +17,8 @@ import java.io.IOException; import java.io.StringReader; import java.util.ArrayDeque; -import java.util.ArrayList; import java.util.Deque; -import java.util.List; +import java.util.Iterator; import org.htmlunit.cssparser.dom.AbstractCSSRuleImpl; import org.htmlunit.cssparser.dom.CSSCharsetRuleImpl; @@ -423,8 +422,9 @@ public void property(final String name, final LexicalUnit value, final boolean i private AbstractCSSRuleImpl getParentRule() { if (!nodeStack_.isEmpty() && nodeStack_.size() > 1) { - final List nodesStack = new ArrayList<>(nodeStack_); - final Object node = nodesStack.get(nodesStack.size() - 2); + final Iterator iter = nodeStack_.iterator(); + iter.next(); // skip first + final Object node = iter.next(); if (node instanceof AbstractCSSRuleImpl) { return (AbstractCSSRuleImpl) node; } diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSMediaRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSMediaRuleImplTest.java index 2f538ce..11f046c 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSMediaRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSMediaRuleImplTest.java @@ -45,6 +45,19 @@ public void getCssText() throws Exception { assertEquals("@media print {\n body { font-size: 10pt; }\n}", mediaRule.getCssText()); } + /** + * @throws Exception if any error occurs + */ + @Test + public void getParentRule() throws Exception { + final CSSOMParser parser = new CSSOMParser(); + final InputSource source = new InputSource(new StringReader("@media print { body { font-size: 10pt } }")); + final CSSStyleSheetImpl ss = parser.parseStyleSheet(source, null); + + final CSSMediaRuleImpl mediaRule = (CSSMediaRuleImpl) ss.getCssRules().getRules().get(0); + assertEquals(mediaRule, mediaRule.getCssRules().getRules().get(0).getParentRule()); + } + /** * @throws Exception if any error occurs */ @@ -62,17 +75,25 @@ public void insertRule() throws Exception { mediaRule.insertRule(".testStyle { height: 43px; }", 0); assertEquals("*.testStyle { height: 43px; }", mediaRule.getCssRules().getRules().get(0).getCssText()); assertEquals("*.testStyle { height: 42px; }", mediaRule.getCssRules().getRules().get(1).getCssText()); + assertEquals("@media print {\n *.testStyle { height: 43px; }\n *.testStyle { height: 42px; }\n}", + mediaRule.getCssRules().getRules().get(0).getParentRule().getCssText()); mediaRule.insertRule(".testStyle { height: 44px; }", 2); assertEquals("*.testStyle { height: 43px; }", mediaRule.getCssRules().getRules().get(0).getCssText()); assertEquals("*.testStyle { height: 42px; }", mediaRule.getCssRules().getRules().get(1).getCssText()); assertEquals("*.testStyle { height: 44px; }", mediaRule.getCssRules().getRules().get(2).getCssText()); + assertEquals("@media print {\n *.testStyle { height: 43px; }" + + "\n *.testStyle { height: 42px; }\n *.testStyle { height: 44px; }\n}", + mediaRule.getCssRules().getRules().get(0).getParentRule().getCssText()); mediaRule.insertRule(".testStyle { height: 45px; }", 2); assertEquals("*.testStyle { height: 43px; }", mediaRule.getCssRules().getRules().get(0).getCssText()); assertEquals("*.testStyle { height: 42px; }", mediaRule.getCssRules().getRules().get(1).getCssText()); assertEquals("*.testStyle { height: 45px; }", mediaRule.getCssRules().getRules().get(2).getCssText()); assertEquals("*.testStyle { height: 44px; }", mediaRule.getCssRules().getRules().get(3).getCssText()); + assertEquals("@media print {\n *.testStyle { height: 43px; }\n *.testStyle { height: 42px; }" + + "\n *.testStyle { height: 45px; }\n *.testStyle { height: 44px; }\n}", + mediaRule.getCssRules().getRules().get(0).getParentRule().getCssText()); } /** From 4b424edb8d670faea3adf93996fd538da38aa4f8 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Thu, 2 Nov 2023 09:38:54 +0100 Subject: [PATCH 010/137] one more test for parentRule (see #45) --- .../cssparser/dom/CSSStyleRuleImplTest.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSStyleRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSStyleRuleImplTest.java index 64befba..b2ac7a6 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSStyleRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSStyleRuleImplTest.java @@ -15,6 +15,7 @@ package org.htmlunit.cssparser.dom; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; import java.io.StringReader; @@ -40,6 +41,18 @@ public void getCssText() throws Exception { assertEquals("h1 { color: blue; }", value.toString()); } + /** + * @throws Exception if any error occurs + */ + @Test + public void parentRule() throws Exception { + final CSSStyleRuleImpl value = parseStyleRule("h1 { color: blue; background: green }"); + final CSSStyleDeclarationImpl style = value.getStyle(); + + assertNull(value.getParentRule()); + assertEquals(value, style.getParentRule()); + } + /** * @throws Exception if any error occurs */ From 3728c850cc186eebc1bc15d9bd3a6efdd229cce7 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 17 Nov 2023 16:08:29 +0100 Subject: [PATCH 011/137] depcheck update --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7db4911..69725ba 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ 8 8 - 8.4.2 + 8.4.3 9.3 From 3dd6716917802288dc6c0f3dd0409d40193fa4dd Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sat, 18 Nov 2023 14:44:18 +0100 Subject: [PATCH 012/137] plugin updates, remove reporting --- pom.xml | 39 +++------------------------------------ 1 file changed, 3 insertions(+), 36 deletions(-) diff --git a/pom.xml b/pom.xml index 69725ba..733b479 100644 --- a/pom.xml +++ b/pom.xml @@ -67,7 +67,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.2.1 + 3.2.2 org.apache.maven.plugins @@ -196,7 +196,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.6.0 + 3.6.2 --allow-script-in-comments org.htmlunit.cssparser.parser.javacc @@ -263,39 +263,6 @@ - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.6.0 - - --allow-script-in-comments - - http://docs.oracle.com/javase/8/docs/api/ - - org.htmlunit.cssparser.parser.javacc - - - - org.apache.maven.plugins - maven-changes-plugin - 2.12.1 - - - - changes-report - - - - - - http://sourceforge.net/p/htmlunit/feature-requests/%ISSUE% - - - - - @@ -353,7 +320,7 @@ org.junit.jupiter junit-jupiter-engine - 5.10.0 + 5.10.1 test From 7c71a34e7bcf7fdb329916eb43dfa81a3bffcd63 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sat, 18 Nov 2023 14:49:51 +0100 Subject: [PATCH 013/137] version 3.8.0 --- README.md | 8 ++++---- pom.xml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 25eab16..5cbe4a5 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 3.7.0 / October 30, 2023 +### Latest release Version 3.8.0 / November 18, 2023 ## Get it! @@ -28,7 +28,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 3.7.0 + 3.8.0 ``` @@ -37,7 +37,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '3.7.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '3.8.0' ``` @@ -53,7 +53,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 3.8.0-SNAPSHOT + 3.9.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index 733b479..4709abf 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 3.8.0-SNAPSHOT + 3.8.0 HtmlUnit CSS Parser HtmlUnit From 3e23c81d68c22d32511f89bc91a7f0bd62efb4eb Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sat, 18 Nov 2023 14:55:03 +0100 Subject: [PATCH 014/137] start working on 3.9.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4709abf..314922f 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 3.8.0 + 3.9.0-SNAPSHOT HtmlUnit CSS Parser HtmlUnit From 13d7e006b6d134878de0715d10dc4c99d54aaa19 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sat, 2 Dec 2023 17:21:03 +0100 Subject: [PATCH 015/137] version 3.9.0 --- README.md | 8 ++++---- pom.xml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5cbe4a5..9d3ad6d 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 3.8.0 / November 18, 2023 +### Latest release Version 3.9.0 / December 03, 2023 ## Get it! @@ -28,7 +28,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 3.8.0 + 3.9.0 ``` @@ -37,7 +37,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '3.8.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '3.9.0' ``` @@ -53,7 +53,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 3.9.0-SNAPSHOT + 3.10.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index 314922f..49efde7 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 3.9.0-SNAPSHOT + 3.9.0 HtmlUnit CSS Parser HtmlUnit From 6288f9d3befb5d042702a1190f3dda869a03199b Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 8 Dec 2023 15:27:02 +0100 Subject: [PATCH 016/137] dep updates --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 49efde7..dd4ae0b 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 3.9.0 + 3.10.0-SNAPSHOT HtmlUnit CSS Parser HtmlUnit @@ -20,8 +20,8 @@ 8 8 - 8.4.3 9.3 + 9.0.4 @@ -326,7 +326,7 @@ commons-io commons-io - 2.15.0 + 2.15.1 test From 7f28b10085a3ab042eed6e9bbbf65feef79e60a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Dec 2023 21:47:30 +0000 Subject: [PATCH 017/137] Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.2 to 3.6.3 Bumps [org.apache.maven.plugins:maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.6.2 to 3.6.3. - [Release notes](https://github.com/apache/maven-javadoc-plugin/releases) - [Commits](https://github.com/apache/maven-javadoc-plugin/compare/maven-javadoc-plugin-3.6.2...maven-javadoc-plugin-3.6.3) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-javadoc-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dd4ae0b..debca4d 100644 --- a/pom.xml +++ b/pom.xml @@ -196,7 +196,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.6.2 + 3.6.3 --allow-script-in-comments org.htmlunit.cssparser.parser.javacc From 209ae5151a3caf1f824a4da8637ce0f15c92d9ca Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 1 Jan 2024 17:33:19 +0100 Subject: [PATCH 018/137] Happy New Year! --- checkstyle.xml | 2 +- .../java/org/htmlunit/cssparser/dom/AbstractCSSRuleImpl.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java | 2 +- .../org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/CSSStyleRuleImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/CounterImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/DOMExceptionImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/Property.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/RectImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/package-info.java | 2 +- .../java/org/htmlunit/cssparser/parser/AbstractCSSParser.java | 2 +- .../java/org/htmlunit/cssparser/parser/AbstractLocatable.java | 2 +- .../java/org/htmlunit/cssparser/parser/CSSErrorHandler.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/CSSException.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java | 2 +- .../java/org/htmlunit/cssparser/parser/CSSParseException.java | 2 +- .../java/org/htmlunit/cssparser/parser/DocumentHandler.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/HandlerBase.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/InputSource.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java | 2 +- .../java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/Locatable.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/Locator.java | 2 +- .../htmlunit/cssparser/parser/condition/AttributeCondition.java | 2 +- .../parser/condition/BeginHyphenAttributeCondition.java | 2 +- .../org/htmlunit/cssparser/parser/condition/ClassCondition.java | 2 +- .../java/org/htmlunit/cssparser/parser/condition/Condition.java | 2 +- .../org/htmlunit/cssparser/parser/condition/IdCondition.java | 2 +- .../org/htmlunit/cssparser/parser/condition/LangCondition.java | 2 +- .../cssparser/parser/condition/NotPseudoClassCondition.java | 2 +- .../cssparser/parser/condition/OneOfAttributeCondition.java | 2 +- .../cssparser/parser/condition/PrefixAttributeCondition.java | 2 +- .../cssparser/parser/condition/PseudoClassCondition.java | 2 +- .../cssparser/parser/condition/SubstringAttributeCondition.java | 2 +- .../cssparser/parser/condition/SuffixAttributeCondition.java | 2 +- .../org/htmlunit/cssparser/parser/condition/package-info.java | 2 +- .../java/org/htmlunit/cssparser/parser/media/MediaQuery.java | 2 +- .../org/htmlunit/cssparser/parser/media/MediaQueryList.java | 2 +- .../java/org/htmlunit/cssparser/parser/media/package-info.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/package-info.java | 2 +- .../htmlunit/cssparser/parser/selector/AbstractSelector.java | 2 +- .../org/htmlunit/cssparser/parser/selector/ChildSelector.java | 2 +- .../htmlunit/cssparser/parser/selector/DescendantSelector.java | 2 +- .../cssparser/parser/selector/DirectAdjacentSelector.java | 2 +- .../org/htmlunit/cssparser/parser/selector/ElementSelector.java | 2 +- .../cssparser/parser/selector/GeneralAdjacentSelector.java | 2 +- .../cssparser/parser/selector/PseudoElementSelector.java | 2 +- .../java/org/htmlunit/cssparser/parser/selector/Selector.java | 2 +- .../org/htmlunit/cssparser/parser/selector/SelectorList.java | 2 +- .../htmlunit/cssparser/parser/selector/SelectorListImpl.java | 2 +- .../htmlunit/cssparser/parser/selector/SelectorSpecificity.java | 2 +- .../org/htmlunit/cssparser/parser/selector/SimpleSelector.java | 2 +- .../org/htmlunit/cssparser/parser/selector/package-info.java | 2 +- src/main/java/org/htmlunit/cssparser/util/ParserUtils.java | 2 +- .../htmlunit/cssparser/util/ThrowCssExceptionErrorHandler.java | 2 +- src/main/java/org/htmlunit/cssparser/util/package-info.java | 2 +- src/main/javacc/CSS3Parser.jj | 2 +- src/test/java/org/htmlunit/cssparser/DomTest.java | 2 +- src/test/java/org/htmlunit/cssparser/ErrorHandler.java | 2 +- src/test/java/org/htmlunit/cssparser/SerializableTest.java | 2 +- src/test/java/org/htmlunit/cssparser/TestException.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSCharsetRuleImplTest.java | 2 +- .../org/htmlunit/cssparser/dom/CSSFontFaceRuleImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSImportRuleImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSMediaRuleImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSPageRuleImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSRuleListImplTest.java | 2 +- .../org/htmlunit/cssparser/dom/CSSStyleDeclarationImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSStyleRuleImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSStyleSheetImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSUnknownRuleImplTest.java | 2 +- src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java | 2 +- src/test/java/org/htmlunit/cssparser/dom/CounterImplTest.java | 2 +- src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java | 2 +- src/test/java/org/htmlunit/cssparser/dom/MediaListTest.java | 2 +- src/test/java/org/htmlunit/cssparser/dom/PropteryTest.java | 2 +- src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java | 2 +- src/test/java/org/htmlunit/cssparser/dom/RectImplTest.java | 2 +- .../org/htmlunit/cssparser/parser/AbstractCSSParserTest.java | 2 +- src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java | 2 +- .../java/org/htmlunit/cssparser/parser/CSSOMParserTest.java | 2 +- src/test/java/org/htmlunit/cssparser/parser/ImportantTest.java | 2 +- .../java/org/htmlunit/cssparser/parser/LexicalUnitImplTest.java | 2 +- src/test/java/org/htmlunit/cssparser/parser/LocatorTest.java | 2 +- src/test/java/org/htmlunit/cssparser/parser/XhtmlCssTest.java | 2 +- .../cssparser/parser/condition/AttributeConditionTest.java | 2 +- .../parser/condition/BeginHyphenAttributeConditionTest.java | 2 +- .../htmlunit/cssparser/parser/condition/ClassConditionTest.java | 2 +- .../htmlunit/cssparser/parser/condition/IdConditionTest.java | 2 +- .../htmlunit/cssparser/parser/condition/LangConditionTest.java | 2 +- .../cssparser/parser/condition/OneOfAttributeConditionTest.java | 2 +- .../parser/condition/PrefixAttributeConditionTest.java | 2 +- .../cssparser/parser/condition/PseudoClassConditionTest.java | 2 +- .../parser/condition/SubstringAttributeConditionTest.java | 2 +- .../parser/condition/SuffixAttributeConditionTest.java | 2 +- .../java/org/htmlunit/cssparser/parser/media/CSS3MediaTest.java | 2 +- .../org/htmlunit/cssparser/parser/media/MediaQueryTest.java | 2 +- .../htmlunit/cssparser/parser/selector/ChildSelectorTest.java | 2 +- .../cssparser/parser/selector/DescendantSelectorImplTest.java | 2 +- .../cssparser/parser/selector/DirectAdjacentSelectorTest.java | 2 +- .../htmlunit/cssparser/parser/selector/ElementSelectorTest.java | 2 +- .../cssparser/parser/selector/GeneralAdjacentSelectorTest.java | 2 +- .../cssparser/parser/selector/PseudoElementSelectorTest.java | 2 +- .../cssparser/parser/selector/SelectorSpecificityTest.java | 2 +- .../org/htmlunit/cssparser/parser/util/ParserUtilsTest.java | 2 +- 117 files changed, 117 insertions(+), 117 deletions(-) diff --git a/checkstyle.xml b/checkstyle.xml index 8293c9d..6ca5e3b 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -24,7 +24,7 @@ - + diff --git a/src/main/java/org/htmlunit/cssparser/dom/AbstractCSSRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/AbstractCSSRuleImpl.java index 7afade7..7713eaf 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/AbstractCSSRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/AbstractCSSRuleImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java index da30f56..e1e6810 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java index 60c7372..30faf49 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java index d2413b5..1460fc0 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java index ee1d348..3e959e9 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java index 6d392e2..675ac77 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java index d428eae..86f452c 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java index e0fa1d9..ee63eea 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleRuleImpl.java index 6ca0473..9606fa5 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleRuleImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java index 25187b2..ff58966 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java index 12b5f68..35067ea 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java index 3dc9bce..971f8f6 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java index 599b334..b4c4411 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/CounterImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CounterImpl.java index f4fffe6..016c8b5 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CounterImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CounterImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/DOMExceptionImpl.java b/src/main/java/org/htmlunit/cssparser/dom/DOMExceptionImpl.java index 9ee3330..7657a32 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/DOMExceptionImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/DOMExceptionImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java index 3df29f6..7402d8c 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java b/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java index d82de0e..398d9a8 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/Property.java b/src/main/java/org/htmlunit/cssparser/dom/Property.java index e6e0816..fa1229b 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/Property.java +++ b/src/main/java/org/htmlunit/cssparser/dom/Property.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java index 575875c..98fddc6 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/RectImpl.java b/src/main/java/org/htmlunit/cssparser/dom/RectImpl.java index 84760a6..2078e2f 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/RectImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/RectImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/dom/package-info.java b/src/main/java/org/htmlunit/cssparser/dom/package-info.java index fe8a6e6..b0198ab 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/package-info.java +++ b/src/main/java/org/htmlunit/cssparser/dom/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java index 6aa3a90..a73c609 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/AbstractLocatable.java b/src/main/java/org/htmlunit/cssparser/parser/AbstractLocatable.java index a174edf..25eb947 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/AbstractLocatable.java +++ b/src/main/java/org/htmlunit/cssparser/parser/AbstractLocatable.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java b/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java index 3f73702..e39deae 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSException.java b/src/main/java/org/htmlunit/cssparser/parser/CSSException.java index e9a38fb..a451582 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSException.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java b/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java index d6ecaa9..8cc45ee 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java b/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java index 2727f41..a948f1d 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java b/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java index 8443221..27a7337 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java +++ b/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/HandlerBase.java b/src/main/java/org/htmlunit/cssparser/parser/HandlerBase.java index dff5277..d92dab6 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/HandlerBase.java +++ b/src/main/java/org/htmlunit/cssparser/parser/HandlerBase.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/InputSource.java b/src/main/java/org/htmlunit/cssparser/parser/InputSource.java index 3f94e82..dffc85d 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/InputSource.java +++ b/src/main/java/org/htmlunit/cssparser/parser/InputSource.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java index 1f50036..db8965c 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java index a03dec7..67bfad4 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/Locatable.java b/src/main/java/org/htmlunit/cssparser/parser/Locatable.java index ee7be60..f9db2ba 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/Locatable.java +++ b/src/main/java/org/htmlunit/cssparser/parser/Locatable.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/Locator.java b/src/main/java/org/htmlunit/cssparser/parser/Locator.java index 285261d..2efaa2f 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/Locator.java +++ b/src/main/java/org/htmlunit/cssparser/parser/Locator.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/AttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/AttributeCondition.java index 5ff8328..32356e9 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/AttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/AttributeCondition.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeCondition.java index 0bcd68a..80d9b27 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeCondition.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/ClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/ClassCondition.java index 8959db5..1598762 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/ClassCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/ClassCondition.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java index 1045cb3..0f70dce 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/IdCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/IdCondition.java index af109a0..6c58026 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/IdCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/IdCondition.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java index b03c5c4..c35f000 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/NotPseudoClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/NotPseudoClassCondition.java index 116227e..6350d4b 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/NotPseudoClassCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/NotPseudoClassCondition.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeCondition.java index cc4382a..5e5b16e 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeCondition.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeCondition.java index 50b5ec1..1869c8e 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeCondition.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/PseudoClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/PseudoClassCondition.java index d6d00cb..77d36d6 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/PseudoClassCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/PseudoClassCondition.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeCondition.java index 0ea0406..47eddae 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeCondition.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeCondition.java index 564ba2a..0c97feb 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeCondition.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/package-info.java b/src/main/java/org/htmlunit/cssparser/parser/condition/package-info.java index 4e51347..b65be9e 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/package-info.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/media/MediaQuery.java b/src/main/java/org/htmlunit/cssparser/parser/media/MediaQuery.java index b914355..ebc9e3e 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/media/MediaQuery.java +++ b/src/main/java/org/htmlunit/cssparser/parser/media/MediaQuery.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/media/MediaQueryList.java b/src/main/java/org/htmlunit/cssparser/parser/media/MediaQueryList.java index 0bae855..045a00a 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/media/MediaQueryList.java +++ b/src/main/java/org/htmlunit/cssparser/parser/media/MediaQueryList.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/media/package-info.java b/src/main/java/org/htmlunit/cssparser/parser/media/package-info.java index 451faf4..c325e5b 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/media/package-info.java +++ b/src/main/java/org/htmlunit/cssparser/parser/media/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/package-info.java b/src/main/java/org/htmlunit/cssparser/parser/package-info.java index 5a2187d..7c9439e 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/package-info.java +++ b/src/main/java/org/htmlunit/cssparser/parser/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/AbstractSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/AbstractSelector.java index ea28b4a..501f02d 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/AbstractSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/AbstractSelector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java index f7fbe38..564715f 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/DescendantSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/DescendantSelector.java index 35bbd61..9200e5c 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/DescendantSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/DescendantSelector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelector.java index 51bde09..09467f6 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/ElementSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/ElementSelector.java index 9d54078..3b0d76a 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/ElementSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/ElementSelector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelector.java index cebfa9d..574ec00 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelector.java index fc7464b..0e4f3a0 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java index 5dafed0..b3be350 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorList.java b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorList.java index 57f2dc9..1ba8dfc 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorList.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorList.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorListImpl.java b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorListImpl.java index 3accb6f..cfe420c 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorListImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java index 31e4c69..f01699f 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/SimpleSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/SimpleSelector.java index dbb8660..52c7b12 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/SimpleSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/SimpleSelector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/package-info.java b/src/main/java/org/htmlunit/cssparser/parser/selector/package-info.java index 88f01bb..6cc2b06 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/package-info.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/util/ParserUtils.java b/src/main/java/org/htmlunit/cssparser/util/ParserUtils.java index d1174f3..d6b5d77 100644 --- a/src/main/java/org/htmlunit/cssparser/util/ParserUtils.java +++ b/src/main/java/org/htmlunit/cssparser/util/ParserUtils.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/util/ThrowCssExceptionErrorHandler.java b/src/main/java/org/htmlunit/cssparser/util/ThrowCssExceptionErrorHandler.java index f754b1a..a92037c 100644 --- a/src/main/java/org/htmlunit/cssparser/util/ThrowCssExceptionErrorHandler.java +++ b/src/main/java/org/htmlunit/cssparser/util/ThrowCssExceptionErrorHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/org/htmlunit/cssparser/util/package-info.java b/src/main/java/org/htmlunit/cssparser/util/package-info.java index fa72f6f..8f9bd8d 100644 --- a/src/main/java/org/htmlunit/cssparser/util/package-info.java +++ b/src/main/java/org/htmlunit/cssparser/util/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 5087d4f..9ba4f40 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/DomTest.java b/src/test/java/org/htmlunit/cssparser/DomTest.java index a32e1de..3c2ed2c 100644 --- a/src/test/java/org/htmlunit/cssparser/DomTest.java +++ b/src/test/java/org/htmlunit/cssparser/DomTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/ErrorHandler.java b/src/test/java/org/htmlunit/cssparser/ErrorHandler.java index d936615..c79e1dc 100644 --- a/src/test/java/org/htmlunit/cssparser/ErrorHandler.java +++ b/src/test/java/org/htmlunit/cssparser/ErrorHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/SerializableTest.java b/src/test/java/org/htmlunit/cssparser/SerializableTest.java index 1f91ed2..8dd35be 100644 --- a/src/test/java/org/htmlunit/cssparser/SerializableTest.java +++ b/src/test/java/org/htmlunit/cssparser/SerializableTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/TestException.java b/src/test/java/org/htmlunit/cssparser/TestException.java index 8928925..7cc4317 100644 --- a/src/test/java/org/htmlunit/cssparser/TestException.java +++ b/src/test/java/org/htmlunit/cssparser/TestException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImplTest.java index 2339d1d..ab65b4f 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImplTest.java index 6db5732..0548654 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSImportRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSImportRuleImplTest.java index 3728738..d47249a 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSImportRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSImportRuleImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSMediaRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSMediaRuleImplTest.java index 11f046c..4486209 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSMediaRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSMediaRuleImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSPageRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSPageRuleImplTest.java index 7a91402..776f8bd 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSPageRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSPageRuleImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSRuleListImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSRuleListImplTest.java index d8040a9..75be7a3 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSRuleListImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSRuleListImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImplTest.java index e05432d..e79ed39 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSStyleRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSStyleRuleImplTest.java index b2ac7a6..2b2315f 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSStyleRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSStyleRuleImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSStyleSheetImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSStyleSheetImplTest.java index d584a9c..3ee6b2c 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSStyleSheetImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSStyleSheetImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImplTest.java index f230b66..1cbca10 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java index 08a6a0a..6bd103c 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/CounterImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CounterImplTest.java index ad69957..c6f6f5c 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CounterImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CounterImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java index 19537f3..4eec243 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/MediaListTest.java b/src/test/java/org/htmlunit/cssparser/dom/MediaListTest.java index 1b69cdb..68eda5e 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/MediaListTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/MediaListTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/PropteryTest.java b/src/test/java/org/htmlunit/cssparser/dom/PropteryTest.java index ad6aca3..c061edb 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/PropteryTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/PropteryTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java index 45aa45d..36ba099 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/dom/RectImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/RectImplTest.java index 08e2dd0..b53e201 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/RectImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/RectImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java index af44741..4a9bfeb 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 8751c15..3a1c3be 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSSOMParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSSOMParserTest.java index fd312f9..92b6159 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSSOMParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSSOMParserTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/ImportantTest.java b/src/test/java/org/htmlunit/cssparser/parser/ImportantTest.java index 78e88e7..1f89d8b 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/ImportantTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/ImportantTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/LexicalUnitImplTest.java b/src/test/java/org/htmlunit/cssparser/parser/LexicalUnitImplTest.java index 05d5372..6b461e2 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LexicalUnitImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LexicalUnitImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/LocatorTest.java b/src/test/java/org/htmlunit/cssparser/parser/LocatorTest.java index aa1f17c..6a80dfc 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LocatorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LocatorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/XhtmlCssTest.java b/src/test/java/org/htmlunit/cssparser/parser/XhtmlCssTest.java index c35dd27..edaa2f0 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/XhtmlCssTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/XhtmlCssTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/AttributeConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/AttributeConditionTest.java index d31ea37..d3cece5 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/AttributeConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/AttributeConditionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeConditionTest.java index 516e3a5..030fcee 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeConditionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/ClassConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/ClassConditionTest.java index 6dfc36c..c97374d 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/ClassConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/ClassConditionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/IdConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/IdConditionTest.java index 5dca293..4099ee4 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/IdConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/IdConditionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/LangConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/LangConditionTest.java index 1385679..f2fc9f2 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/LangConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/LangConditionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeConditionTest.java index cbd0b29..3091b25 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeConditionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeConditionTest.java index 3556d24..1cd198e 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeConditionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/PseudoClassConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/PseudoClassConditionTest.java index 072c21a..f60ae21 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/PseudoClassConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/PseudoClassConditionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeConditionTest.java index 962b02c..88e36c4 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeConditionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeConditionTest.java index 0acf64b..5072f5e 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeConditionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/media/CSS3MediaTest.java b/src/test/java/org/htmlunit/cssparser/parser/media/CSS3MediaTest.java index 215440a..0a9be46 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/media/CSS3MediaTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/media/CSS3MediaTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/media/MediaQueryTest.java b/src/test/java/org/htmlunit/cssparser/parser/media/MediaQueryTest.java index 6396f8e..4d10475 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/media/MediaQueryTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/media/MediaQueryTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/ChildSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/ChildSelectorTest.java index e8d6f19..a3f6186 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/ChildSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/ChildSelectorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/DescendantSelectorImplTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/DescendantSelectorImplTest.java index 57be5bf..38ab960 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/DescendantSelectorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/DescendantSelectorImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelectorTest.java index 7ff2f30..2b4b6a7 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelectorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/ElementSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/ElementSelectorTest.java index d95df56..8457fb0 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/ElementSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/ElementSelectorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelectorTest.java index 27d9179..3c1eb72 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelectorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelectorTest.java index b60a407..53777cf 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelectorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java index a28452a..5d22467 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/java/org/htmlunit/cssparser/parser/util/ParserUtilsTest.java b/src/test/java/org/htmlunit/cssparser/parser/util/ParserUtilsTest.java index 57c5a66..14776fc 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/util/ParserUtilsTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/util/ParserUtilsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023 Ronald Brill. + * Copyright (c) 2019-2024 Ronald Brill. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From aa9e2245d3aa3a75bcf0d6f3d6112b9c3cc337c4 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 7 Jan 2024 10:18:34 +0100 Subject: [PATCH 019/137] add founding --- .github/FUNDING.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..657905b --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [rbri] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] From 03600080c631f9bc8b915d666efced78b643ba06 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 14 Jan 2024 10:12:24 +0100 Subject: [PATCH 020/137] updates --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index debca4d..5f1b03a 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ 8 9.3 - 9.0.4 + 9.0.8 @@ -67,12 +67,12 @@ org.apache.maven.plugins maven-surefire-plugin - 3.2.2 + 3.2.5 org.apache.maven.plugins maven-compiler-plugin - 3.11.0 + 3.12.1 From ccdd81e79800fc6e65e8fa38fe2d487f363d1c42 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 14 Jan 2024 10:17:59 +0100 Subject: [PATCH 021/137] 3.10.0 --- README.md | 8 ++++---- pom.xml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9d3ad6d..3589973 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 3.9.0 / December 03, 2023 +### Latest release Version 3.10.0 / January 14, 2024 ## Get it! @@ -28,7 +28,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 3.9.0 + 3.10.0 ``` @@ -37,7 +37,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '3.9.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '3.10.0' ``` @@ -53,7 +53,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 3.10.0-SNAPSHOT + 3.11.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index 5f1b03a..7d96bea 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 3.10.0-SNAPSHOT + 3.10.0 HtmlUnit CSS Parser HtmlUnit From fcf430333a8484be51be23fa5f04e5b7e1d43387 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 9 Feb 2024 13:33:45 +0100 Subject: [PATCH 022/137] 3.11.0 --- README.md | 8 ++++---- pom.xml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3589973..52d250b 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 3.10.0 / January 14, 2024 +### Latest release Version 3.11.0 / February 10, 2024 ## Get it! @@ -28,7 +28,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 3.10.0 + 3.11.0 ``` @@ -37,7 +37,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '3.10.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '3.11.0' ``` @@ -53,7 +53,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 3.11.0-SNAPSHOT + 3.12.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index 7d96bea..dcaf065 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 3.10.0 + 3.11.0 HtmlUnit CSS Parser HtmlUnit @@ -21,7 +21,7 @@ 8 9.3 - 9.0.8 + 9.0.9 From 0dd75b5fc637d9d964e773953f9210710fa88558 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 21:45:37 +0000 Subject: [PATCH 023/137] Bump commons-io:commons-io from 2.15.1 to 2.16.0 Bumps commons-io:commons-io from 2.15.1 to 2.16.0. --- updated-dependencies: - dependency-name: commons-io:commons-io dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dcaf065..5596518 100644 --- a/pom.xml +++ b/pom.xml @@ -326,7 +326,7 @@ commons-io commons-io - 2.15.1 + 2.16.0 test From 053fa667f95214c1b513ed891775c949a55c6c55 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 21:09:59 +0000 Subject: [PATCH 024/137] Bump org.apache.maven.plugins:maven-gpg-plugin from 3.1.0 to 3.2.2 Bumps [org.apache.maven.plugins:maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin) from 3.1.0 to 3.2.2. - [Release notes](https://github.com/apache/maven-gpg-plugin/releases) - [Commits](https://github.com/apache/maven-gpg-plugin/compare/maven-gpg-plugin-3.1.0...maven-gpg-plugin-3.2.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-gpg-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5596518..c4cfdab 100644 --- a/pom.xml +++ b/pom.xml @@ -212,7 +212,7 @@ org.apache.maven.plugins maven-gpg-plugin - 3.1.0 + 3.2.2 verify From 9e4a852a9e66c808536a97eab5bc0860cfac2bde Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 21:33:53 +0000 Subject: [PATCH 025/137] Bump org.apache.maven.plugins:maven-compiler-plugin Bumps [org.apache.maven.plugins:maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) from 3.12.1 to 3.13.0. - [Release notes](https://github.com/apache/maven-compiler-plugin/releases) - [Commits](https://github.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.12.1...maven-compiler-plugin-3.13.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-compiler-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c4cfdab..2cdfd67 100644 --- a/pom.xml +++ b/pom.xml @@ -72,7 +72,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.12.1 + 3.13.0 From 74e351b69e86f37ac20c662bcd0704470f015fef Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 31 Mar 2024 10:01:50 +0200 Subject: [PATCH 026/137] dep updates --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2cdfd67..ce17582 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 3.11.0 + 4.0.0-SNAPSHOT HtmlUnit CSS Parser HtmlUnit From f0293f0fce4009c960b9758dbf8af42782d72f1f Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 31 Mar 2024 10:02:49 +0200 Subject: [PATCH 027/137] dep updates --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ce17582..5abba2c 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ 8 9.3 - 9.0.9 + 9.0.10 From 887b82df91ffc0eb34533be63ed162f85e6394ef Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 31 Mar 2024 10:03:48 +0200 Subject: [PATCH 028/137] dep updates --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5abba2c..69949c8 100644 --- a/pom.xml +++ b/pom.xml @@ -320,7 +320,7 @@ org.junit.jupiter junit-jupiter-engine - 5.10.1 + 5.10.2 test From 20a16fd23f18395b27abdb2705bc512df47ff784 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 31 Mar 2024 10:06:00 +0200 Subject: [PATCH 029/137] update --- .github/workflows/codeql.yml | 57 ++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 08af732..e90d2e9 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -15,14 +15,13 @@ on: push: branches: [ "master" ] pull_request: - # The branches below must be a subset of the branches above branches: [ "master" ] schedule: - cron: '34 23 * * 1' jobs: analyze: - name: Analyze + name: Analyze (${{ matrix.language }}) # Runner size impacts CodeQL analysis time. To learn more, please see: # - https://gh.io/recommended-hardware-resources-for-running-codeql # - https://gh.io/supported-runners-and-hardware-resources @@ -31,28 +30,37 @@ jobs: runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} permissions: + # required for all workflows + security-events: write + + # only required for workflows in private repositories actions: read contents: read - security-events: write strategy: fail-fast: false matrix: - language: [ 'java' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ] - # Use only 'java' to analyze code written in Java, Kotlin or both - # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both - # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support - + include: + - language: java-kotlin + build-mode: none # This mode only analyzes Java. Set this to 'autobuild' or 'manual' to analyze Kotlin too. + # CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' + # Use `c-cpp` to analyze code written in C, C++ or both + # Use 'java-kotlin' to analyze code written in Java, Kotlin or both + # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both + # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis, + # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning. + # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how + # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} + build-mode: ${{ matrix.build-mode }} # If you wish to specify custom queries, you can do so here or in a config file. # By default, queries listed here will override any specified in a config file. # Prefix the list here with "+" to use these queries and those in the config file. @@ -60,23 +68,22 @@ jobs: # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs # queries: security-extended,security-and-quality - - # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - + # If the analyze step fails for one of the languages you are analyzing with + # "We were unable to automatically build your code", modify the matrix above + # to set the build mode to "manual" for that language. Then modify this step + # to build your code. # ℹ️ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh + - if: matrix.build-mode == 'manual' + run: | + echo 'If you are using a "manual" build mode for one or more of the' \ + 'languages you are analyzing, replace this with the commands to build' \ + 'your code, for example:' + echo ' make bootstrap' + echo ' make release' + exit 1 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 with: category: "/language:${{matrix.language}}" From 0674439878d5d14399e6d083e5dd369bfe8f24eb Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 31 Mar 2024 10:10:18 +0200 Subject: [PATCH 030/137] ignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 9d4eb5b..d0c8148 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /.classpath /.project .idea/ +/.settings/org.eclipse.core.resources.prefs From 6b6a8349400dd72462d7819d6dde24e0c561db7f Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 31 Mar 2024 10:10:28 +0200 Subject: [PATCH 031/137] 4.0.0 --- README.md | 8 ++++---- pom.xml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 52d250b..0fa0ca4 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 3.11.0 / February 10, 2024 +### Latest release Version 4.0.0 / April 1, 2024 ## Get it! @@ -28,7 +28,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 3.11.0 + 4.0.0 ``` @@ -37,7 +37,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '3.11.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.0.0' ``` @@ -53,7 +53,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 3.12.0-SNAPSHOT + 4.1.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index 69949c8..df21883 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.0.0-SNAPSHOT + 4.0.0 HtmlUnit CSS Parser HtmlUnit From de193cda3be14c00f0217009e84af56c8748060e Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sat, 27 Apr 2024 09:41:22 +0200 Subject: [PATCH 032/137] 4.1.0 --- README.md | 27 +++++++++++++++++---------- pom.xml | 12 ++++++------ 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 0fa0ca4..2124c4f 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 4.0.0 / April 1, 2024 +### Latest release Version 4.1.0 / April 28, 2024 ## Get it! @@ -28,7 +28,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.0.0 + 4.1.0 ``` @@ -37,7 +37,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.0.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.1.0' ``` @@ -53,7 +53,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.1.0-SNAPSHOT + 4.2.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: @@ -106,7 +106,14 @@ Every contribution - from bug reports to feature requests, typos to full new fea This part is intended for committer who are packaging a release. * Check all your files are checked in -* Execute "mvn -U clean test" to be sure all tests are passing +* Execute these mvn to be sure all tests are passing and everything is up to data + +``` + mvn versions:display-plugin-updates + mvn versions:display-dependency-updates + mvn -U clean test +``` + * Update the version number in pom.xml and README.md * Commit the changes @@ -124,12 +131,12 @@ This part is intended for committer who are packaging a release. * Create the version on Github * login to Github and open project https://github.com/HtmlUnit/htmlunit-cssparser * click Releases > Draft new release - * fill the tag and title field with the release number (e.g. 3.0.0) + * fill the tag and title field with the release number (e.g. 4.0.0) * append - * htmlunit-cssparser-3.x.x.jar - * htmlunit-cssparser-3.x.x.jar.asc - * htmlunit-cssparser-3.x.x-javadoc.jar - * htmlunit-cssparser-3.x.x-javadoc.jar.asc + * htmlunit-cssparser-4.x.x.jar + * htmlunit-cssparser-4.x.x.jar.asc + * htmlunit-cssparser-4.x.x-javadoc.jar + * htmlunit-cssparser-4.x.x-javadoc.jar.asc * and publish the release * Update the version number in pom.xml to start next snapshot development diff --git a/pom.xml b/pom.xml index df21883..4e860ff 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.0.0 + 4.1.0 HtmlUnit CSS Parser HtmlUnit @@ -21,7 +21,7 @@ 8 9.3 - 9.0.10 + 9.1.0 @@ -166,7 +166,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.3.0 + 3.4.1 @@ -184,7 +184,7 @@ org.apache.maven.plugins maven-source-plugin - 3.3.0 + 3.3.1 @@ -212,7 +212,7 @@ org.apache.maven.plugins maven-gpg-plugin - 3.2.2 + 3.2.4 verify @@ -326,7 +326,7 @@ commons-io commons-io - 2.16.0 + 2.16.1 test From 08d1b5d25531f8a56978d537a747c53e2a0c9748 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 4 Jun 2024 17:38:13 +0200 Subject: [PATCH 033/137] 4.2.0 --- README.md | 10 +++++----- pom.xml | 11 ++++++----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 2124c4f..d51fee1 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 4.1.0 / April 28, 2024 +### Latest release Version 4.2.0 / May 05, 2024 ## Get it! @@ -28,7 +28,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.1.0 + 4.2.0 ``` @@ -37,7 +37,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.1.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.2.0' ``` @@ -53,7 +53,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.2.0-SNAPSHOT + 4.3.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: @@ -106,7 +106,7 @@ Every contribution - from bug reports to feature requests, typos to full new fea This part is intended for committer who are packaging a release. * Check all your files are checked in -* Execute these mvn to be sure all tests are passing and everything is up to data +* Execute these mvn commands to be sure all tests are passing and everything is up to data ``` mvn versions:display-plugin-updates diff --git a/pom.xml b/pom.xml index 4e860ff..bade4d3 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.1.0 + 4.2.0 HtmlUnit CSS Parser HtmlUnit @@ -20,8 +20,8 @@ 8 8 - 9.3 - 9.1.0 + 10.17.0 + 9.2.0 @@ -29,7 +29,7 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.4.1 + 3.5.0 enforce-maven @@ -55,6 +55,7 @@ ${dependencycheck.version} 0 + false @@ -196,7 +197,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.6.3 + 3.7.0 --allow-script-in-comments org.htmlunit.cssparser.parser.javacc From 0d862620149dad1f7c9b3e04e1d656725fbb7f1e Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 5 Jun 2024 09:56:38 +0200 Subject: [PATCH 034/137] ups --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d51fee1..b9b4cb6 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 4.2.0 / May 05, 2024 +### Latest release Version 4.2.0 / June 05, 2024 ## Get it! From 3a9aef9b44a6a3712368efaaa1897db9785c6390 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 24 Jun 2024 17:31:16 +0200 Subject: [PATCH 035/137] 4.3.0 --- README.md | 8 ++++---- pom.xml | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index b9b4cb6..3d2164a 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 4.2.0 / June 05, 2024 +### Latest release Version 4.3.0 / June 24, 2024 ## Get it! @@ -28,7 +28,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.2.0 + 4.3.0 ``` @@ -37,7 +37,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.2.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.3.0' ``` @@ -53,7 +53,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index bade4d3..1690aed 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.2.0 + 4.4.0 HtmlUnit CSS Parser HtmlUnit @@ -68,7 +68,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.2.5 + 3.3.0 org.apache.maven.plugins @@ -148,7 +148,7 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.3.1 + 3.4.0 checkstyle.xml checkstyle_suppressions.xml @@ -167,7 +167,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.4.1 + 3.4.2 @@ -260,7 +260,7 @@ org.apache.maven.plugins maven-release-plugin - 3.0.1 + 3.1.0 From 2a4a269a6ae36509094b3dbdb028624559bded84 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 24 Jun 2024 17:33:03 +0200 Subject: [PATCH 036/137] distribution id --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 1690aed..0f833e2 100644 --- a/pom.xml +++ b/pom.xml @@ -333,11 +333,11 @@ - sonatype-nexus-snapshots + s01-sonatype-nexus-snapshots https://s01.oss.sonatype.org/content/repositories/snapshots - sonatype-nexus-staging + s01-sonatype-nexus-staging https://s01.oss.sonatype.org/service/local/staging/deploy/maven2 From 41ad69da72ba70fa48853ca20c95fdcc45a8cc62 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 24 Jun 2024 17:36:53 +0200 Subject: [PATCH 037/137] 4.3.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0f833e2..add8f93 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.4.0 + 4.3.0 HtmlUnit CSS Parser HtmlUnit From a1f1c2d61e6ecde0764097d71329700354e177b9 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sat, 27 Jul 2024 16:35:29 +0200 Subject: [PATCH 038/137] simplify Exception constructors --- .../cssparser/parser/CSSException.java | 53 ++++++++++++------- .../cssparser/parser/CSSParseException.java | 2 +- 2 files changed, 34 insertions(+), 21 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSException.java b/src/main/java/org/htmlunit/cssparser/parser/CSSException.java index a451582..8030bb7 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSException.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSException.java @@ -19,7 +19,12 @@ */ public class CSSException extends RuntimeException { - /** Enum for error codes. */ + /** + * Enum for error codes. + * + * @deprecated as of version 4.4.0 + */ + @Deprecated protected enum ErrorCode { /** Unspecified. */ UNSPECIFIED_ERR, @@ -34,14 +39,20 @@ protected enum ErrorCode { /** * Creates a new CSSException. + * + * @deprecated as of version 4.4.0; use {@link CSSException#CSSException(String, Exception)} instead */ + @Deprecated public CSSException() { } /** * Creates a new CSSException. * @param message the message + * + * @deprecated as of version 4.4.0; use {@link CSSException#CSSException(String, Exception)} instead */ + @Deprecated public CSSException(final String message) { code_ = ErrorCode.UNSPECIFIED_ERR; message_ = message; @@ -50,7 +61,10 @@ public CSSException(final String message) { /** * Creates a new CSSException with an embeded exception. * @param e the embeded exception. + * + * @deprecated as of version 4.4.0; use {@link CSSException#CSSException(String, Exception)} instead */ + @Deprecated public CSSException(final Exception e) { code_ = ErrorCode.UNSPECIFIED_ERR; initCause(e); @@ -59,7 +73,10 @@ public CSSException(final Exception e) { /** * Creates a new CSSException with a specific code. * @param code a the embeded exception. + * + * @deprecated as of version 4.4.0; use {@link CSSException#CSSException(String, Exception)} instead */ + @Deprecated public CSSException(final ErrorCode code) { code_ = code; } @@ -70,13 +87,27 @@ public CSSException(final ErrorCode code) { * @param code the specified code * @param message the message * @param e the embeded exception + * + * @deprecated as of version 4.4.0; use {@link CSSException#CSSException(String, Exception)} instead */ + @Deprecated public CSSException(final ErrorCode code, final String message, final Exception e) { code_ = code; message_ = message; initCause(e); } + /** + * Creates a new CSSException with an embeded exception and a specified + * message. + * @param message the message + * @param e the cause + */ + public CSSException(final String message, final Exception e) { + message_ = message; + initCause(e); + } + /** * {@inheritDoc} * @@ -95,24 +126,6 @@ public String getMessage() { return getCause().getMessage(); } - switch (code_) { - case UNSPECIFIED_ERR: - return "unknown error"; - case NOT_SUPPORTED_ERR: - return "not supported"; - case SYNTAX_ERR: - return "syntax error"; - default: - return null; - } - } - - /** - *

getCode.

- * - * @return the error code for this exception. - */ - public ErrorCode getCode() { - return code_; + return "syntax error"; } } diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java b/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java index a948f1d..8a5391e 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java @@ -99,7 +99,7 @@ public CSSParseException(final String message, final String uri, final int lineN */ public CSSParseException(final String message, final String uri, final int lineNumber, final int columnNumber, final Exception e) { - super(ErrorCode.SYNTAX_ERR, message, e); + super(message, e); uri_ = uri; lineNumber_ = lineNumber; columnNumber_ = columnNumber; From d99fa6dc91b3757582bd5ff8a4dbba64183b8404 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sat, 27 Jul 2024 16:38:28 +0200 Subject: [PATCH 039/137] 4.4.0 --- README.md | 8 ++++---- pom.xml | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 3d2164a..47bb0d9 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 4.3.0 / June 24, 2024 +### Latest release Version 4.4.0 / June 28, 2024 ## Get it! @@ -28,7 +28,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.3.0 + 4.4.0 ``` @@ -37,7 +37,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.3.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.4.0' ``` @@ -53,7 +53,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.4.0-SNAPSHOT + 4.5.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index add8f93..55ccd1c 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.3.0 + 4.4.0 HtmlUnit CSS Parser HtmlUnit @@ -21,7 +21,7 @@ 8 10.17.0 - 9.2.0 + 10.0.3 @@ -68,7 +68,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.3.0 + 3.3.1 org.apache.maven.plugins @@ -197,7 +197,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.7.0 + 3.8.0 --allow-script-in-comments org.htmlunit.cssparser.parser.javacc @@ -260,7 +260,7 @@ org.apache.maven.plugins maven-release-plugin - 3.1.0 + 3.1.1 From 9b717a750ef34cc6bb7c6d1cadc3aac5d50fde0c Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sat, 27 Jul 2024 18:53:39 +0200 Subject: [PATCH 040/137] ups --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 47bb0d9..393b2b4 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 4.4.0 / June 28, 2024 +### Latest release Version 4.4.0 / July 28, 2024 ## Get it! From bbcc3e4b1c54f259a3e2af4284de12eb7f6bcb77 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 18 Oct 2024 08:02:39 +0200 Subject: [PATCH 041/137] minor - add override annotation --- src/main/javacc/CSS3Parser.jj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 9ba4f40..ed1d82c 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -81,6 +81,7 @@ public class CSS3Parser extends AbstractCSSParser { this((CharStream) null); } + @Override public String getParserVersion() { return "http://www.w3.org/Style/CSS/"; } From b469e4c153c77727d60f030b4380cec8b209c169 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 18 Oct 2024 08:03:24 +0200 Subject: [PATCH 042/137] the usual dependency updates --- pom.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index 55ccd1c..1c8426c 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.4.0 + 4.5.0-SNAPSHOT HtmlUnit CSS Parser HtmlUnit @@ -20,8 +20,8 @@ 8 8 - 10.17.0 - 10.0.3 + 10.18.2 + 10.0.4 @@ -68,7 +68,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.3.1 + 3.5.1 org.apache.maven.plugins @@ -148,7 +148,7 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.4.0 + 3.5.0 checkstyle.xml checkstyle_suppressions.xml @@ -197,7 +197,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.8.0 + 3.10.1 --allow-script-in-comments org.htmlunit.cssparser.parser.javacc @@ -213,7 +213,7 @@ org.apache.maven.plugins maven-gpg-plugin - 3.2.4 + 3.2.7 verify @@ -321,13 +321,13 @@ org.junit.jupiter junit-jupiter-engine - 5.10.2 + 5.11.2 test commons-io commons-io - 2.16.1 + 2.17.0 test From ae1585e9181ee44d32fb21ed0db1b7a39cd31dba Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 18 Oct 2024 08:09:07 +0200 Subject: [PATCH 043/137] 4.5.0 --- README.md | 13 ++++++++----- pom.xml | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 393b2b4..1f90bce 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,11 @@ We will try to stay in sync with CSSParser regarding the features in the future. ### Project News +**[Developer Blog][5]** + [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 4.4.0 / July 28, 2024 +### Latest release Version 4.5.0 / October 20, 2024 ## Get it! @@ -28,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.4.0 + 4.5.0 ``` @@ -37,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.4.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.5.0' ``` @@ -53,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.5.0-SNAPSHOT + 4.6.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: @@ -158,4 +160,5 @@ Many thanks to all of you contributing to HtmlUnit/CSSParser/Rhino in the past. [2]: https://jenkins.wetator.org/job/HtmlUnit%20-%20CSS%20Parser/ "HtmlUnit - CSS Parser CI" [3]: https://twitter.com/HtmlUnit "https://twitter.com/HtmlUnit" -[4]: https://fosstodon.org/@HtmlUnit \ No newline at end of file +[4]: https://fosstodon.org/@HtmlUnit +[5]: https://htmlunit.github.io/htmlunit-blog/ \ No newline at end of file diff --git a/pom.xml b/pom.xml index 1c8426c..3faf069 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.5.0-SNAPSHOT + 4.5.0 HtmlUnit CSS Parser HtmlUnit From 1e68a440e929215c20fdeee58300192c176480f9 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 18 Oct 2024 08:42:57 +0200 Subject: [PATCH 044/137] add more files to the release description --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 1f90bce..ec2cda9 100644 --- a/README.md +++ b/README.md @@ -137,8 +137,12 @@ This part is intended for committer who are packaging a release. * append * htmlunit-cssparser-4.x.x.jar * htmlunit-cssparser-4.x.x.jar.asc + * htmlunit-cssparser-4.x.x.pom + * htmlunit-cssparser-4.x.x.pom.asc * htmlunit-cssparser-4.x.x-javadoc.jar * htmlunit-cssparser-4.x.x-javadoc.jar.asc + * htmlunit-cssparser-4.x.x-sources.jar + * htmlunit-cssparser-4.x.x-sources.jar.asc * and publish the release * Update the version number in pom.xml to start next snapshot development From 796329c663ffed521e74559f0b58d63e5c9bb3e2 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sat, 2 Nov 2024 17:43:23 +0100 Subject: [PATCH 045/137] pom updates --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 3faf069..977f94a 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.5.0 + 4.6.0-SNAPSHOT HtmlUnit CSS Parser HtmlUnit @@ -20,7 +20,7 @@ 8 8 - 10.18.2 + 10.20.0 10.0.4 @@ -148,7 +148,7 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.5.0 + 3.6.0 checkstyle.xml checkstyle_suppressions.xml From dd2b7b483fc7258a525859c41581c57761f132ba Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sat, 2 Nov 2024 17:55:13 +0100 Subject: [PATCH 046/137] pom updates --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 977f94a..c4e1291 100644 --- a/pom.xml +++ b/pom.xml @@ -321,7 +321,7 @@ org.junit.jupiter junit-jupiter-engine - 5.11.2 + 5.11.3 test From c7370485d0c60b8fffadfef54bbd3f526ce39e53 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sat, 2 Nov 2024 17:59:19 +0100 Subject: [PATCH 047/137] 4.6.0 --- README.md | 8 ++++---- pom.xml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ec2cda9..9b27a6b 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 4.5.0 / October 20, 2024 +### Latest release Version 4.6.0 / November 3, 2024 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.5.0 + 4.6.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.5.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.6.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.6.0-SNAPSHOT + 4.7.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index c4e1291..d0f923e 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.6.0-SNAPSHOT + 4.6.0 HtmlUnit CSS Parser HtmlUnit From 41967c4ebc9c5791343d0b6de9ef43775fea74b2 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 29 Nov 2024 09:15:35 +0100 Subject: [PATCH 048/137] 4.7.0 --- README.md | 8 ++++---- pom.xml | 11 ++++++----- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 9b27a6b..9f28a2e 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] -### Latest release Version 4.6.0 / November 3, 2024 +### Latest release Version 4.7.0 / November 29, 2024 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.6.0 + 4.7.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.6.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.7.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.7.0-SNAPSHOT + 4.8.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index d0f923e..daf0de2 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.6.0 + 4.7.0 HtmlUnit CSS Parser HtmlUnit @@ -20,7 +20,7 @@ 8 8 - 10.20.0 + 10.20.1 10.0.4 @@ -56,6 +56,7 @@ 0 false + https://mirror.cveb.in/nvd/json/cve/1.1/nvdcve-1.1-{0}.json.gz @@ -68,7 +69,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.5.1 + 3.5.2 org.apache.maven.plugins @@ -197,7 +198,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.10.1 + 3.11.1 --allow-script-in-comments org.htmlunit.cssparser.parser.javacc @@ -327,7 +328,7 @@ commons-io commons-io - 2.17.0 + 2.18.0 test From 669ed20cbd2b321099d7b7db475383bd13da6c5b Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 22 Dec 2024 11:09:31 +0100 Subject: [PATCH 049/137] fix javadoc --- src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java index 4eec243..56f9fc1 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java @@ -23,7 +23,7 @@ import org.w3c.dom.DOMException; /** - * Unit tests for {@link RGBColorImpl}. + * Unit tests for {@link HSLColorImpl}. * * @author Ronald Brill * @author Paul Selormey From 6ebbcd190d94143a5bfed21a3f9c536dc4da2a2b Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 22 Dec 2024 13:39:52 +0100 Subject: [PATCH 050/137] streamline and test 'inherit' implementation --- .../htmlunit/cssparser/dom/CSSValueImpl.java | 5 +- .../cssparser/parser/LexicalUnitImpl.java | 8 + src/main/javacc/CSS3Parser.jj | 4859 +++++++++-------- .../cssparser/dom/CSSValueImplTest.java | 15 + 4 files changed, 2458 insertions(+), 2429 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java index b4c4411..9fce9ac 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java @@ -465,11 +465,14 @@ public String getStringValue() throws DOMException { if ((lu.getLexicalUnitType() == LexicalUnitType.IDENT) || (lu.getLexicalUnitType() == LexicalUnitType.STRING_VALUE) || (lu.getLexicalUnitType() == LexicalUnitType.URI) - || (lu.getLexicalUnitType() == LexicalUnitType.INHERIT) || (lu.getLexicalUnitType() == LexicalUnitType.ATTR)) { return lu.getStringValue(); } + if (lu.getLexicalUnitType() == LexicalUnitType.INHERIT) { + return "inherit"; + } + // for rgba values we are using this type if (lu.getLexicalUnitType() == LexicalUnitType.FUNCTION || lu.getLexicalUnitType() == LexicalUnitType.FUNCTION_CALC) { diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java index 67bfad4..e3c92e4 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java @@ -1130,6 +1130,14 @@ public static LexicalUnit createComma(final LexicalUnit prev) { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_COMMA); } + /** + * @param prev the previous LexicalUnit + * @return lexical unit with type comma + */ + public static LexicalUnit createInherit(final LexicalUnit prev) { + return new LexicalUnitImpl(prev, LexicalUnitType.INHERIT); + } + /** * @param prev the previous LexicalUnit * @return lexical unit with type slash diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index ed1d82c..fe8751c 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1,2428 +1,2431 @@ -/* - * Copyright (c) 2019-2024 Ronald Brill. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -options { - IGNORE_CASE = true; - STATIC = false; - - UNICODE_INPUT = true; - USER_CHAR_STREAM = true; - -// DEBUG_TOKEN_MANAGER = true; -// DEBUG_PARSER = true; - - JDK_VERSION = "1.8"; -// JAVA_TEMPLATE_TYPE = "modern" -} - -PARSER_BEGIN(CSS3Parser) - -package org.htmlunit.cssparser.parser.javacc; - -import java.util.LinkedList; -import java.util.Locale; - -import org.htmlunit.cssparser.dom.CSSValueImpl; -import org.htmlunit.cssparser.dom.Property; -import org.htmlunit.cssparser.parser.AbstractCSSParser; -import org.htmlunit.cssparser.parser.CSSParseException; -import org.htmlunit.cssparser.parser.LexicalUnit; -import org.htmlunit.cssparser.parser.LexicalUnitImpl; -import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; -import org.htmlunit.cssparser.parser.Locatable; -import org.htmlunit.cssparser.parser.Locator; -import org.htmlunit.cssparser.parser.condition.AttributeCondition; -import org.htmlunit.cssparser.parser.condition.BeginHyphenAttributeCondition; -import org.htmlunit.cssparser.parser.condition.ClassCondition; -import org.htmlunit.cssparser.parser.condition.Condition; -import org.htmlunit.cssparser.parser.condition.IdCondition; -import org.htmlunit.cssparser.parser.condition.LangCondition; -import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; -import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; -import org.htmlunit.cssparser.parser.condition.PseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; -import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; -import org.htmlunit.cssparser.parser.media.MediaQuery; -import org.htmlunit.cssparser.parser.media.MediaQueryList; -import org.htmlunit.cssparser.parser.selector.ChildSelector; -import org.htmlunit.cssparser.parser.selector.DescendantSelector; -import org.htmlunit.cssparser.parser.selector.DirectAdjacentSelector; -import org.htmlunit.cssparser.parser.selector.ElementSelector; -import org.htmlunit.cssparser.parser.selector.GeneralAdjacentSelector; -import org.htmlunit.cssparser.parser.selector.PseudoElementSelector; -import org.htmlunit.cssparser.parser.selector.Selector; -import org.htmlunit.cssparser.parser.selector.SelectorList; -import org.htmlunit.cssparser.parser.selector.SelectorListImpl; -import org.htmlunit.cssparser.parser.selector.SimpleSelector; -import org.htmlunit.cssparser.util.ParserUtils; - -/** - * @author David Schweinsberg - * @author waldbaer - * @author Ahmed Ashour - * @author Ronald Brill - */ -public class CSS3Parser extends AbstractCSSParser { - - public CSS3Parser() { - this((CharStream) null); - } - - @Override - public String getParserVersion() { - return "http://www.w3.org/Style/CSS/"; - } - - protected String getGrammarUri() - { - return "http://www.w3.org/TR/WD-css3-syntax-20030813"; - } -} - -PARSER_END(CSS3Parser) - -TOKEN_MGR_DECLS : -{ -} - - TOKEN : -{ -// s [ \t\r\n\f]+ -// {s} {return S;} - < S: ( " "|"\t"|"\r"|"\n"|"\f" )+ > -// w {s}? -// | < W: ( )? > -} - - MORE : -{ - < "/*" > : COMMENT -} - - SKIP : -{ - < "*/" > : DEFAULT -} - - MORE : -{ - < ~[] > : COMMENT -} - - TOKEN : -{ -// h [0-9a-f] - < #H: ["0"-"9","a"-"f"] > -| < #HNUM: | | | | | > - -// nonascii [\200-\377] -// The two occurrences of "\377" represent the highest character number that -// current versions of Flex can deal with (decimal 255). They should be read as -// "\4177777" (decimal 1114111), which is the highest possible code point in -// Unicode/ISO-10646. -// Limitation: This parser can only handle Unicode characters up to \uFFFF -// (decimal 65535). -| < #NONASCII: ["\u0080"-"\uFFFF"] > - -// unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? -| < #UNICODE: "\\" ( "\r\n" | [" ","\t","\r","\n","\f"] )? > - -// escape {unicode}|\\[^\r\n\f0-9a-f] -| < #ESCAPE: | ( "\\" ~["\r","\n","\f","0"-"9","a"-"f"] ) > - -// nmstart [_a-z]|{nonascii}|{escape} -| < #NMSTART: ["_","a"-"z"] | | > - -// nmchar [_a-z0-9-]|{nonascii}|{escape} -| < #NMCHAR: ["_","a"-"z","0"-"9","-"] | | > - -// nl \n|\r\n|\r|\f -| < #NL: "\n" | "\r\n" | "\r" | "\f" > - -// string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\" -| < #STRING1: ( ~["\n","\r","\f","\\","\""] | "\\" | )* > - -// string2 \'([^\n\r\f\\']|\\{nl}|{escape})*\' -| < #STRING2: ( ~["\n","\r","\f","\\","\'"] | "\\" | )* > - -// comment \/\*[^*]*\*+([^/*][^*]*\*+)*\/ -| < #COMMENT_: "/" "*" ( ~["*"] )* ("*")+ ( ~["/","*"] ( ~["*"] )* ( "*" )+ )* "/"> - -| < AND: "and" > -| < NOT: "not" > -| < ONLY: "only" > - -// {num} {return NUMBER;} -| < NUMBER: > - -| < INHERIT: "inherit" > - -// ident -?{nmstart}{nmchar}* -// {ident} {return IDENT;} -| < IDENT: (< MINUS >)? ( )* > - -// name {nmchar}+ -| < #NAME: ( )+ > - -// num [0-9]+|[0-9]*"."[0-9]+ -| < NUM: ( ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ ) (["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+)? > - -// string {string1}|{string2} -// {string} {return STRING;} -| < STRING: ( "\"" "\"" ) | ( "\'" "\'" ) > { matchedToken.image = ParserUtils.trimBy(image, 1, 1); } - -// url ([!#$%&*-~]|{nonascii}|{escape})* -| < #URL: ( ["!","#","$","%","&","*"-"[","]"-"~"] | | )* > - -// A a|\\0{0,4}(41|61)(\r\n|[ \t\r\n\f])? -| < #A_LETTER: "a" | "\\" ("0")? ("0")? ("0")? ("0")? ( "41" | "61" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// C c|\\0{0,4}(43|63)(\r\n|[ \t\r\n\f])? -| < #C_LETTER: "c" | "\\" ("0")? ("0")? ("0")? ("0")? ( "43" | "63" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// D d|\\0{0,4}(44|64)(\r\n|[ \t\r\n\f])? -| < #D_LETTER: "d" | "\\" ("0")? ("0")? ("0")? ("0")? ( "44" | "64" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// E e|\\0{0,4}(45|65)(\r\n|[ \t\r\n\f])? -| < #E_LETTER: "e" | "\\" ("0")? ("0")? ("0")? ("0")? ( "45" | "65" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// F f|\\0{0,4}(46|66)(\r\n|[ \t\r\n\f])? -| < #F_LETTER: "f" | "\\" ("0")? ("0")? ("0")? ("0")? ( "46" | "66" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// G g|\\0{0,4}(47|67)(\r\n|[ \t\r\n\f])?|\\g -| < #G_LETTER: "g" | "\\" ("0")? ("0")? ("0")? ("0")? ( "47" | "67" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "g" > - -// H h|\\0{0,4}(48|68)(\r\n|[ \t\r\n\f])?|\\h -| < #H_LETTER: "h" | "\\" ("0")? ("0")? ("0")? ("0")? ( "48" | "68" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "h" > - -// I i|\\0{0,4}(49|69)(\r\n|[ \t\r\n\f])?|\\i -| < #I_LETTER: "i" | "\\" ("0")? ("0")? ("0")? ("0")? ( "49" | "69" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "i" > - -// K k|\\0{0,4}(4b|6b)(\r\n|[ \t\r\n\f])?|\\k -| < #K_LETTER: "k" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4b" | "6b" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "k" > - -// L l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l -| < #L_LETTER: "l" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4c" | "6c" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "l" > - -// M m|\\0{0,4}(4d|6d)(\r\n|[ \t\r\n\f])?|\\m -| < #M_LETTER: "m" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4d" | "6d" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "m" > - -// N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n -| < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > - -// O o|\\0{0,4}(51|71)(\r\n|[ \t\r\n\f])?|\\o -| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "51" | "71" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > - -// P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p -| < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > - -// R r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r -| < #R_LETTER: "r" | "\\" ("0")? ("0")? ("0")? ("0")? ( "52" | "72" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "r" > - -// S s|\\0{0,4}(53|73)(\r\n|[ \t\r\n\f])?|\\s -| < #S_LETTER: "s" | "\\" ("0")? ("0")? ("0")? ("0")? ( "53" | "73" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "s" > - -// T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t -| < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > - -// U v|\\0{0,4}(55|76)(\r\n|[ \t\r\n\f])?|\\v -| < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > - -// X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x -| < #X_LETTER: "x" | "\\" ("0")? ("0")? ("0")? ("0")? ( "58" | "78" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "x" > - -// Z z|\\0{0,4}(5a|7a)(\r\n|[ \t\r\n\f])?|\\z -| < #Z_LETTER: "z" | "\\" ("0")? ("0")? ("0")? ("0")? ( "5a" | "7a" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "z" > - -// "" {return CDC;} -| < CDC: "-->" > - -// "~=" {return INCLUDES;} -| < INCLUDES: "~=" > - -// "|=" {return DASHMATCH;} -| < DASHMATCH: "|=" > - -// "^=" {return PREFIXMATCH;} -| < PREFIXMATCH: "^=" > - -// "$=" {return SUFFIXMATCH;} -| < SUFFIXMATCH: "$=" > - -// "*=" {return SUBSTRINGMATCH;} -| < SUBSTRINGMATCH: "*=" > - -// {w}"{" {return LBRACE;} -| < LBRACE: "{" > -| < RBRACE: "}" > - -| < LROUND: "(" > -| < RROUND: ")" > - -| < DOT: "." > -| < SEMICOLON: ";" > -| < COLON: ":" > -| < ASTERISK: "*" > -| < SLASH: "/" > -| < MINUS: "-" > -| < EQUALS: "=" > -| < LSQUARE: "[" > -| < RSQUARE: "]" > - -// {w}"+" {return PLUS;} -| < PLUS: "+" > - -// {w}">" {return GREATER;} -| < GREATER: ">" > - -// {w}"~" {return TILDE;} -| < TILDE: "~" > - -// {w}"," {return COMMA;} -| < COMMA: "," > - -// "#"{name} {return HASH;} -| < HASH: "#" > - -// @{I}{M}{P}{O}{R}{T} {return IMPORT_SYM;} -| < IMPORT_SYM: "@" > - -// @{P}{A}{G}{E} {return PAGE_SYM;} -| < PAGE_SYM: "@" > - -// @{M}{E}{D}{I}{A} {return MEDIA_SYM;} -| < MEDIA_SYM: "@" > - -// "@{F}{O}{N}{T}-{F}{A}{C}{E}" {return FONT_FACE_SYM;} -| < FONT_FACE_SYM: "@" < MINUS > > - -// @{C}{H}{A}{R}{S}{E}{T} {return CHARSET_SYM;} -| < CHARSET_SYM: "@" > - -// "!"({w}|{comment})*{I}{M}{P}{O}{R}{T}{A}{N}{T} {return IMPORTANT_SYM;} -| < IMPORTANT_SYM: "!" ( | )* > - -// {num}{E}{M} {return EMS;} -| < EMS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{R}{E}{M} {return REM;} -| < REM: "rem" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{E}{X} {return EXS;} -| < EXS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{C}{H} {return CH;} -| < CH: "ch" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{W} {return VW;} -| < VW: "vw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{H} {return VH;} -| < VH: "vh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{M}{I}{N} {return VMIN;} -| < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{V}{M}{I}{N} {return VMAX;} -| < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{P}{X} {return LENGTH;} -| < LENGTH_PX: "px" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{C}{M} {return LENGTH;} -| < LENGTH_CM: "cm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{M}{M} {return LENGTH;} -| < LENGTH_MM: "mm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{I}{N} {return LENGTH;} -| < LENGTH_IN: "in" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{P}{T} {return LENGTH;} -| < LENGTH_PT: "pt" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{P}{C} {return LENGTH;} -| < LENGTH_PC: "pc" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{Q} {return LENGTH;} -| < LENGTH_Q: "Q" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{D}{E}{G} {return ANGLE;} -| < ANGLE_DEG: "deg" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{R}{A}{D} {return ANGLE;} -| < ANGLE_RAD: "rad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{G}{R}{A}{D} {return ANGLE;} -| < ANGLE_GRAD: "grad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{T}{U}{R}{N} {return ANGLE;} -| < ANGLE_TURN: "turn" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{M}{S} {return TIME;} -| < TIME_MS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{S} {return TIME;} -| < TIME_S: > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{H}{Z} {return FREQ;} -| < FREQ_HZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{K}{H}{Z} {return FREQ;} -| < FREQ_KHZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{D}{P}{I} {return RESOLUTION;} -| < RESOLUTION_DPI: "dpi" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{D}{P}{C}{M} {return RESOLUTION;} -| < RESOLUTION_DPCM: "dpcm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}% {return PERCENTAGE;} -| < PERCENTAGE: "%" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{ident} {return DIMENSION;} -| < DIMENSION: ( ["a"-"z","0"-"9"] | | )* > - -| < #H_PLACEHOLDER: ( | "?"){1,6} > -| < UNICODE_RANGE: "u+" (< MINUS > < H_PLACEHOLDER >)? > - -// "url("{w}{string}{w}")" {return URI;} -// "url("{w}{url}{w}")" {return URI;} -| < URI: "url" ( )* ( | ) ( )* > { matchedToken.image = ParserUtils.trimUrl(image); } - -// {N}{O}{T} "(" {return FUNCTION_NOT;} -| < FUNCTION_NOT: "not" > - -// {L}{A}{N}{G} "(" {return FUNCTION_LANG;} -| < FUNCTION_LANG: "lang" > - -// {C}{A}{L}{C} "(" {return FUNCTION_CALC;} -| < FUNCTION_CALC: "calc" > - -// {V}{A}{R} "(" {return FUNCTION_VAR;} -| < FUNCTION_VAR: "var" > - -| < FUNCTION_RGB: "rgb" ("a")? > - -| < FUNCTION_HSL: "hsl" ("a")? > - -| < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > - -// {ident} "(" {return FUNCTION;} -| < FUNCTION: > - -| < ATKEYWORD: "@" > -} - -<*> TOKEN: -{ - < UNKNOWN: ~[] > - { - // System.err.println("Illegal character : " + image.toString()); - } -} - -// -// stylesheet -// : [ CHARSET_SYM STRING ';' ]? -// [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* -// [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* -// ; -// -void styleSheet() : -{ -} -{ - try - { - { handleStartDocument(); } - styleSheetRuleList() - - } - finally - { - handleEndDocument(); - } -} - -void styleSheetRuleList() : -{ - boolean ruleFound = false; -} -{ - ( | | )* - ( - charsetRule() - ( | | )* - )? - ( - ( - ( - importRule(ruleFound) - | - ( - styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() - ) - { - ruleFound = true; - } - ) - | - ( - // skip until the next RBRACE - { ParseException e = generateParseException(); } - invalidRule() - { - Token t = getNextToken(); - - boolean charsetProcessed = false; - if (t.kind == CHARSET_SYM) { - t = getNextToken(); - if (t.kind == S) { - t = getNextToken(); - if (t.kind == STRING) { - t = getNextToken(); - if (t.kind == SEMICOLON) { - getNextToken(); - charsetProcessed = true; - } - } - } - CSSParseException cpe = toCSSParseException("misplacedCharsetRule", e); - getErrorHandler().error(cpe); - getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - } - - if (!charsetProcessed) { - if (t.kind == EOF) { - return; - } - - CSSParseException cpe = toCSSParseException("invalidRule", e); - getErrorHandler().error(cpe); - getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - while (t.kind != RBRACE && t.kind != EOF ) { - t = getNextToken(); - } - if (t.kind == EOF) { - return; - } - } - } - ) - ) - ( | | )* - )* -} - -JAVACODE -void invalidRule() -{ -} - -// -// This is used by ASTStyleSheet.insertRule to parse a single rule -// -void styleSheetRuleSingle() : -{ -} -{ - ( )* - ( charsetRule() | importRule(false) | styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() ) - ( )* -} - -void charsetRule() : -{ - Token t; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - - t = - - { - handleCharset(t.toString(), locator); - } - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidCharsetRule", e)); - } -} - -void unknownAtRule() : -{ - String s; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - s = skip(); - handleIgnorableAtRule(s, locator); - } - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidUnknownRule", generateParseException())); - } -} - -// -// import -// : IMPORT_SYM S* -// [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S* -// ; -// -void importRule(final boolean nonImportRuleFoundBefore) : -{ - Token t; - MediaQueryList ml = new MediaQueryList(); - Locator locator; -} -{ - try - { - { - ParseException e = null; - if (nonImportRuleFoundBefore) - { - e = generateParseException(); - } - } - - { - locator = createLocator(token); - } - ( )* - ( t = | t = ) ( )* - ( mediaList(ml) )? - - { - if (nonImportRuleFoundBefore) - { - getErrorHandler().error(toCSSParseException("invalidImportRuleIgnored2", e)); - } - else - { - handleImportStyle(unescape(t.image, false), ml, null, locator); - } - } - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipAtRule(); - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidImportRule", e)); - error_skipAtRule(); - } -} - -// -// media -// : MEDIA_SYM S* medium [ COMMA S* medium ]* '{' S* ruleset* '}' S* -// ; -// -void mediaRule() : -{ - boolean start = false; - MediaQueryList ml = new MediaQueryList(); - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - ( )* - mediaList(ml) - { - start = true; - handleStartMedia(ml, locator); - } - ( )* - ( mediaRuleList() )? - - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidMediaRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringRule", cpe); - } - finally - { - if (start) { - handleEndMedia(ml); - } - } -} - -void mediaList(MediaQueryList ml) : -{ - MediaQuery mq; -} -{ - try - { - mq = mediaQuery() - { - ml.setLocator(createLocator(token)); - } - ( ( )* { ml.add(mq); } mq = mediaQuery() )* - { ml.add(mq); } - } - catch(ParseException e) - { - throw toCSSParseException("invalidMediaList", e); - } -} - -// -// media_query -// : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* -// | expression [ AND S* expression ]* -// ; -// -MediaQuery mediaQuery() : -{ - String s; - MediaQuery mq; - Property p; - boolean only = false; - boolean not = false; -} -{ - ( - ( - ( - ( - { only = true; } - | - { not = true; } - ) ( )* - )? - s = medium() - { mq = new MediaQuery(s, only, not); mq.setLocator(createLocator(token)); } - ( - ( )* - p = mediaExpression() - { - mq.addMediaProperty(p); - } - )* - ) - | - ( - p = mediaExpression() - { - mq = new MediaQuery(null, only, not); - mq.setLocator(createLocator(token)); - mq.addMediaProperty(p); - } - ( - ( )* - p = mediaExpression() - { - mq.addMediaProperty(p); - } - )* - ) - ) - { return mq; } -} - -// -// expression -// : '(' S* media_feature S* [ ':' S* expr ]? ')' S* -// ; -// -Property mediaExpression() : -{ - String p; - LexicalUnit e = null; - Property prop; - Token t; -} -{ - - ( )* - ( t = ( )* { p = unescape(t.image, false); } - | t = ( )* { p = unescape(t.image, false); } - ) - ( - ( )* - e = expr() - )? - - ( )* - { - if(e==null) - { - prop = new Property(p, null, false); - } - else - { - prop = new Property(p, new CSSValueImpl(e), false); - } - return prop; - } -} - -void mediaRuleList() : -{ -} -{ - ( ( styleRule() | mediaRule() | pageRule() | importRule(true) | unknownAtRule() ) ( )* )+ -} - -// -// medium -// : IDENT S* -// ; -// -String medium() : -{ - Token t; -} -{ - t = ( )* - { - return unescape(t.image, false); - } -} - -// -// page -// : PAGE_SYM S* pseudo_page? S* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void pageRule() : -{ - String sel = null; - boolean start = false; - Locator locator; -} -{ - try { - - { - locator = createLocator(token); - } - ( )* - - ( sel = pageSelectorList() )? - - ( )* - { - start = true; - handleStartPage(null, sel, locator); - } - - styleDeclaration() - - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidPageRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringRule", cpe); - } - finally { - if (start) { - handleEndPage(null, sel); - } - } -} - -// -// pageSelectorList -// : [ pageSelector S* [ ',' pageSelector S* ]* ]? -// ; -// -String pageSelectorList() : -{ - String sel; - LinkedList selectors = new LinkedList<>(); -} -{ - sel = pageSelector() { selectors.add(sel); } - ( - ( )* sel = pageSelector() { selectors.add(sel); } - )* - - { return String.join(", ", selectors); } -} - -// -// pageSelector -// : pseudoPage+ | IDENT pseudoPage* -// ; -// -String pageSelector() : -{ - StringBuilder pseudos = new StringBuilder(); - String pseudo; - Token ident; -} -{ - ( - pseudo = pseudoPage() { pseudos.append(pseudo); } - | - ident = { pseudos.append(unescape(ident.image, false)); } - ) - ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* - ( )* - - { return pseudos.toString(); } -} - -// -// pseudoPage -// : ':' IDENT -// ; -// -String pseudoPage() : -{ - Token t; -} -{ - t = { return ":" + normalizeAndValidatePagePseudoClass(t); } -} - -// -// font_face -// : FONT_FACE_SYM S* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void fontFaceRule() : -{ - boolean start = false; - Locator locator; -} -{ - try { - - { - locator = createLocator(token); - } - ( )* - ( )* { start = true; handleStartFontFace(locator); } - styleDeclaration() - - } - catch(ParseException e) - { - throw toCSSParseException("invalidFontFaceRule", e); - } - finally { - if (start) { - handleEndFontFace(); - } - } -} - -// -// operator -// : '/' S* | COMMA S* | /* empty */ -// ; -// -LexicalUnit operator(LexicalUnit prev) : -{ -} -{ - ( )* { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_SLASH); } - | ( )* { return LexicalUnitImpl.createComma(prev); } -} - -// -// combinator -// : PLUS S* -// | GREATER S* -// | S -// ; -// -char combinator() : -{ - char c = ' '; -} -{ - ( - { c='+'; } ( )* - | { c='>'; } ( )* - | { c='~'; } ( )* - | ( ( { c='+'; } | { c='>'; } | { c='~'; } ) ( )* )? - ) - { return c; } -} - -// -// unary_operator -// : '-' | PLUS -// ; -// -char unaryOperator() : -{ -} -{ - ( { return '-'; } | { return '+'; } ) -} - - -// -// ruleset -// : selector [ COMMA S* selector ]* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void styleRule() : -{ - SelectorList selList = null; - boolean start = false; - Token t; -} -{ - try { - { - t = token; - } - selList = selectorList() - ( )* - { - start = true; - handleStartSelector(selList, createLocator(t.next)); - } - styleDeclaration() - ( | ) - } - catch(CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidStyleRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringFollowingDeclarations", cpe); - } - finally { - if (start) { - handleEndSelector(selList); - } - } -} - -SelectorList parseSelectorsInternal() : -{ - SelectorList selectors; -} -{ - ( )* - selectors = selectorList() - - { - return selectors; - } -} - -SelectorList selectorList() : -{ - SelectorListImpl selList = new SelectorListImpl(); - Selector sel; -} -{ - sel = selector() { selList.setLocator(sel.getLocator()); } - ( ( )* - { selList.add(sel); } - sel = selector() { selList.setLocator(sel.getLocator()); } - )* - { - selList.add(sel); - return selList; - } -} - -// -// selector -// : simple_selector_sequence [ combinator simple_selector_sequence ]* -// ; -// -Selector selector() : -{ - Selector sel; - char comb; -} -{ - try { - sel = simpleSelector(null, ' ') - ( LOOKAHEAD(2) comb = combinator() sel = simpleSelector(sel, comb) )* ( )* - { - return sel; - } - } catch (ParseException e) { - throw toCSSParseException("invalidSelector", e); - } -} - -// -// simple_selector -// : element_name [ HASH | class | attrib | pseudo ]* -// | [ HASH | class | attrib | pseudo ]+ -// ; -// -Selector simpleSelector(Selector sel, char comb) : -{ - ElementSelector elemSel = null; - SimpleSelector simpleSel = null; - Condition c = null; - SimpleSelector pseudoElementSel = null; - Object o = null; -} -{ - try - { - ( - ( elemSel = elementName() - ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } - | ( - o = pseudo(null != pseudoElementSel) - { if (o instanceof Condition) - { elemSel.addCondition((Condition) o); - } else { - pseudoElementSel = (SimpleSelector) o; - } - } - ) - )* - ) - | - ( { elemSel = new ElementSelector(null, createLocator(token)); } - ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } - | ( - o = pseudo(null != pseudoElementSel) - { if (o instanceof Condition) - { elemSel.addCondition((Condition) o); - } else { - pseudoElementSel = (SimpleSelector) o; - } - } - ) - )+ - ) - ) - - { - simpleSel = elemSel; - if (sel == null) { - sel = simpleSel; - } else { - switch (comb) { - case ' ': - sel = new DescendantSelector(sel, simpleSel); - break; - case '+': - sel = new DirectAdjacentSelector(sel, simpleSel); - break; - case '>': - sel = new ChildSelector(sel, simpleSel); - break; - case '~': - sel = new GeneralAdjacentSelector(sel, simpleSel); - break; - } - } - if (pseudoElementSel != null) - { - sel = new DescendantSelector(sel, pseudoElementSel); - } - - return sel; - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidSimpleSelector", e); - } -} - -// -// class -// : '.' IDENT -// ; -// -Condition _class(boolean pseudoElementFound) : -{ - Token t; - Locator locator; - ParseException pe = null; -} -{ - try - { - { if (pseudoElementFound) { pe = generateParseException(); } } - - { - locator = createLocator(token); - } - - ( t = | t = | t = ) - { - if (pseudoElementFound) { throw pe; } - return new ClassCondition(unescape(t.image, false), locator); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidClassSelector", e); - } -} - -// -// element_name -// : IDENT | '*' -// ; -// -ElementSelector elementName() : -{ - Token t; -} -{ - try - { - t = - { - return new ElementSelector(unescape(t.image, false), createLocator(t)); - } - | - { - return new ElementSelector(null, createLocator(token)); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidElementName", e); - } -} - -// -// attrib -// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH | PREFIXMATCH | SUFFIXMATCH | SUBSTRINGMATCH ] S* -// [ IDENT | STRING ] S* ]? ']' -// ; -// -Condition attrib(boolean pseudoElementFound) : -{ - Token t; - String name = null; - String value = null; - Boolean insensitive = null; - int type = 0; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - ( )* - { if (pseudoElementFound) { throw generateParseException(); } } - - t = { name = unescape(t.image, false); } - ( )* - ( - ( - { type = 4; } - | - { type = 5; } - | - { type = 6; } - | - "=" { type = 1; } // don't use because of the leading whitespace - | - { type = 2; } - | - { type = 3; } - ) - ( )* - ( - ( t = { value = unescape(t.image, false); } - | - t = { value = unescape(t.image, false); } - ) - - ( )* - ) - ( - t = { insensitive = handleCaseInSensitive(t); } - ( )* - )? - )? - - { - Condition c = null; - switch (type) { - case 0: - c = new AttributeCondition(name, null, insensitive); - break; - case 1: - c = new AttributeCondition(name, value, insensitive); - break; - case 2: - c = new OneOfAttributeCondition(name, value, insensitive); - break; - case 3: - c = new BeginHyphenAttributeCondition(name, value, insensitive); - break; - case 4: - c = new PrefixAttributeCondition(name, value, insensitive); - break; - case 5: - c = new SuffixAttributeCondition(name, value, insensitive); - break; - case 6: - c = new SubstringAttributeCondition(name, value, insensitive); - break; - } - c.setLocator(locator); - return c; - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidAttrib", e); - } -} - -// -// pseudo -// : ':' (':')? -// [ IDENT -// | FUNCTION_NOT S* selector() S* ')' -// | FUNCTION_LANG S* IDENT S* ')' -// | FUNCTION S* ((PLUS | MINUS | DIMENSION | NUMBER | STRING | IDENT)? S*)+ ')' -// ] -// ; -// -Object pseudo(boolean pseudoElementFound) : -{ - Token t; - String function; - boolean doubleColon = false; - SelectorList selectorList; - Locator locator; -} -{ - try - { - { locator = createLocator(token); } - ( { doubleColon = true; } )? - - ( - t = - { - String s = unescape(t.image, false); - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } - if ("first-line".equals(s) - || "first-letter".equals(s) - || "before".equals(s) - || "after".equals(s)) - { - return new PseudoElementSelector(s, locator, doubleColon); - } - return new PseudoClassCondition(s, locator, doubleColon); - } - | - ( - t = { function = unescape(t.image, false); } - ( )* - selectorList = selectorList() - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } - return new NotPseudoClassCondition(selectorList, locator, doubleColon); - } - ) - | - ( - t = { function = unescape(t.image, false); } - ( )* - t = { String lang = unescape(t.image, false); } - ( )* - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { "lang(" + lang + ")" }, locator); } - return new LangCondition(lang, locator); - } - ) - | - ( - t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } - ( )* - ( - (t = | t = | t = | t = | t = | t = ) - { args.append(unescape(t.image, false)); } - ( t = - { args.append(unescape(t.image, false)); } - )* - )+ - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + args.toString().trim() + ")" }, locator); } - return new PseudoClassCondition(function + args.toString().trim() + ")", locator, doubleColon); - } - ) - ) - } - catch (ParseException e) - { - throw toCSSParseException("invalidPseudo", e); - } -} - -Condition hash(boolean pseudoElementFound) : -{ - Token t; - ParseException pe = null; -} -{ - try - { - { if (pseudoElementFound) { pe = generateParseException(); } } - t = - { - if (pseudoElementFound) { throw pe; } - return new IdCondition(unescape(t.image.substring(1), false), createLocator(t)); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidHash", e); - } -} - -void styleDeclaration() : -{ -} -{ - ( declaration() )? - ( ( )* ( declaration() )? )* -} - -// -// declaration -// : property ':' S* expr prio? -// | -// ; -// -void declaration() : -{ - String p; - LexicalUnit e = null; - Token t; - boolean priority = false; - Locator starHack = null; - Locator locator = null; -} -{ - try - { - // at the moment i have no better idea how to handle the - // infamous css-star-hack (http://en.wikipedia.org/wiki/CSS_filter#Star_hack) - // smart (means: ignoring only one decl) - ( { starHack = createLocator(token); } )? - ( ( - t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } - ( )* - e = expr() - ) - | - ( t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } - ( )* - ( e = expr() )? - ) - ) - - ( priority = prio() )? - - // maybe there are strange characters at the end - create error and skip - ( t = - { - locator = createLocator(t); - CSSParseException cpe = toCSSParseException("invalidDeclarationInvalidChar", new String[] {t.image}, locator); - getErrorHandler().error(cpe); - error_skipdecl(); - } - )? - - { - if (starHack != null) - { - CSSParseException cpe = toCSSParseException("invalidDeclarationStarHack", new Object[0], starHack); - getErrorHandler().error(cpe); - return; - } - handleProperty(p, e, priority, locator); - } - } - catch (CSSParseException ex) - { - getErrorHandler().error(ex); - error_skipdecl(); - } - catch (ParseException ex) - { - CSSParseException cpe = toCSSParseException("invalidDeclaration", ex); - getErrorHandler().error(cpe); - error_skipdecl(); - } -} - -// -// prio -// : IMPORTANT_SYM S* -// ; -boolean prio() : -{ -} -{ - ( )* - { return true; } -} - -// -// expr -// : term [ operator term ]* -// ; -LexicalUnit expr() : -{ - LexicalUnit head; - LexicalUnit body; -} -{ - try - { - head = term(null) { body = head; } - ( - ( body = operator(body) )? - body = term(body) - )* - { return head; } - } - catch (ParseException ex) - { - throw toCSSParseException("invalidExpr", ex); - } -} - -// -// term -// : unary_operator? -// [ NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | function ] -// | STRING | IDENT | URI | hexcolor | DIMENSION -// S* -// ; -// -LexicalUnit term(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit value = null; - Locator locator = null; -} -{ - ( op = unaryOperator() )? { if (op != ' ') { locator = createLocator(token); } } - ( - ( value = number(prev, op) - | value = dimension(prev, op) - | value = percentage(prev, op) - | value = function(prev) - | value = rgbColor(prev) - | value = hslColor(prev) - | value = calc(prev) - | value = var(prev) - ) - | t = { value = LexicalUnitImpl.createString(prev, unescape(t.image, false)); } - | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } - | - ( - t = - ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? - ) - { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - | t = { value = LexicalUnitImpl.createURI(prev, unescape(t.image, true)); } - | value = unicodeRange(prev) - | value = hexcolor(prev) - | t = - { - int n = getLastNumPos(t.image); - value = LexicalUnitImpl.createDimension( - prev, - doubleValue(op, t.image.substring(0, n+1)), - t.image.substring(n+1)); - } - | t = { value = new LexicalUnitImpl(prev, LexicalUnitType.INHERIT, t.image); } - ) - { - if (locator == null) - { - locator = createLocator(token); - } - } - ( )* - { - if(value != null) - { - value.setLocator(locator); - } - return value; - } -} - -// -// function -// : FUNCTION S* ((EQUALS | COMMA | (unaryOperator? NUMBER) | STRING | IDENT | URI)? S*)+ ')' S* -// ; -// -LexicalUnit function(LexicalUnit prev) : -{ - Token t; - LexicalUnit param = null; - LexicalUnit body = null; - String funct = ""; -} -{ - t = { funct = funct + unescape(t.image, false); } - ( )* - ( - param = term(null) { body = param; } - ( - ( - ( - t = { body = LexicalUnitImpl.createComma(body); } - | t = { body = LexicalUnitImpl.createIdent(body, t.image); } - ) - ( )* - )? - body = term(body) - )* - )? - - { - return functionInternal(prev, funct, param); - } -} - -// -// calc() -// https://www.w3.org/TR/css3-values/#calc-syntax -// = calc( ) -// -LexicalUnit calc(LexicalUnit prev) : -{ - Token t; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); - String funct = ""; -} -{ - t = { funct = unescape(t.image, false); } - ( )* - calcSum(head) - - { - return functionInternal(prev, funct, head.getNextLexicalUnit()); - } -} - -// -// calcSum() -// = [ [ '+' | '-' ] ]* -// -LexicalUnit calcSum(LexicalUnit prev) : -{ -} -{ - ( - prev = calcProduct(prev) - ( - ( - { prev = LexicalUnitImpl.createPlus(prev); } - | { prev = LexicalUnitImpl.createMinus(prev); } - ) - ( )* - prev = calcProduct(prev) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcProduct() -// = [ '*' | '/' ]* -// -LexicalUnit calcProduct(LexicalUnit prev) : -{ -} -{ - ( - prev = calcValue(prev) - ( - ( - { prev = LexicalUnitImpl.createMultiply(prev); } - ( )* - prev = calcValue(prev) - ) - | - ( - { prev = LexicalUnitImpl.createDivide(prev); } - ( )* - prev = calcNumberValue(prev) - ) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcValue() -// = | | | ( ) -// -LexicalUnit calcValue(LexicalUnit prev) : -{ - char op = ' '; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); -} -{ - ( - ( - ( - (op = unaryOperator() )? - ( - prev = number(prev, op) - | prev = dimension(prev, op) - | prev = percentage(prev, op) - ) - ) - | prev = var(prev) - | - ( - ( | ) - calcSum(head) - - ) - { - // use an empty function as block scope - prev = functionInternal(prev, "(", head.getNextLexicalUnit()); - } - ) - ( )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberSum() -// = [ [ '+' | '-' ] ]* -// -LexicalUnit calcNumberSum(LexicalUnit prev) : -{ -} -{ - ( - prev = calcNumberProduct(prev) - ( - ( - { prev = LexicalUnitImpl.createPlus(prev); } - | { prev = LexicalUnitImpl.createMinus(prev); } - ) - ( )* - prev = calcNumberProduct(prev) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberProduct() -// = [ '*' | '/' ]* -// -LexicalUnit calcNumberProduct(LexicalUnit prev) : -{ -} -{ - ( - prev = calcNumberValue(prev) - ( - ( - { prev = LexicalUnitImpl.createMultiply(prev); } - ( )* - prev = calcNumberValue(prev) - ) - | - ( - { prev = LexicalUnitImpl.createDivide(prev); } - ( )* - prev = calcNumberValue(prev) - ) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberValue() -// = | ( ) -// -LexicalUnit calcNumberValue(LexicalUnit prev) : -{ - Token t; - char op = ' '; - String funct = "("; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); -} -{ - ( - ( - ( - (op = unaryOperator() )? - prev = number(prev, op) - ) - | prev = var(prev) - | - ( - ( - t = { funct = unescape(t.image, false); } - | t = { funct = unescape(t.image, false); } - ) - calcNumberSum(head) - - ) - { - // use an empty function as block scope - prev = functionInternal(prev, funct, head.getNextLexicalUnit()); - } - ) - ( )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// var() -// https://developer.mozilla.org/en-US/docs/Web/CSS/var -// var( , ? ) -// -LexicalUnit var(LexicalUnit prev) : -{ - Token t; - LexicalUnit current, propertyName; - String funct = ""; -} -{ - t = { funct = unescape(t.image, false); } - ( )* - t = { current = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); propertyName = current; } - ( )* - ( - { current = LexicalUnitImpl.createComma(current); } - ( )* - ( current = term(current) )? - )* - - { - return functionInternal(prev, funct, propertyName); - } -} - -// rgb() / rgba() -// -LexicalUnit rgbColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - (op = unaryOperator() )? - ( - param = number(null, op) - | param = percentage(null, op) - ) - ) - { op = ' '; next = param; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - ( - ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } - ) - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - ) - - ( )* - )? - - - { - return rgbColorInternal(prev, funct, param); - } -} - - -// hsl() / hsla() -// -LexicalUnit hslColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - (op = unaryOperator() )? - ( - param = number(null, op) - | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } - ) - ) - { op = ' '; next = param; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - ( - ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } - ) - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - ) - - ( )* - )? - - - { - return hslColorInternal(prev, funct, param); - } -} - -// -// number() -// -LexicalUnit number(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = - ) - { - try - { - value = LexicalUnitImpl.createNumber(prev, intValue(op, t.image)); - } - catch (NumberFormatException e) - { - value = LexicalUnitImpl.createNumber(prev, doubleValue(op, t.image)); - } - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// percentage() -// -LexicalUnit percentage(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createPercentage(prev, doubleValue(op, t.image)); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// dimension() -// -LexicalUnit dimension(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createPixel(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createCentimeter(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createMillimeter(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createInch(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createPoint(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createPica(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createQuater(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createEm(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRem(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createEx(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createCh(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVw(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVh(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVMin(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVMax(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createMillisecond(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createSecond(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createHertz(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createKiloHertz(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpi"); } - | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpcm"); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// unicodeRange -// -LexicalUnit unicodeRange(LexicalUnit prev) : -{ - Token t; - StringBuilder range = new StringBuilder(); -} -{ - t = { range.append(unescape(t.image, false)); } - { - return LexicalUnitImpl.createIdent(prev, range.toString().toUpperCase(Locale.ROOT)); - } -} - -// -// hexcolor -// : HASH S* -// ; -// -LexicalUnit hexcolor(LexicalUnit prev) : -{ - Token t; -} -{ - t = - { - return hexColorInternal(prev, t); - } -} - -JAVACODE -String skip() { - StringBuilder sb = new StringBuilder(); - int nesting = 0; - Token t = getToken(0); - if (t.image != null) { - sb.append(t.image); - } - - do { - t = getNextToken(); - if (t.kind == EOF) { - break; - } - sb.append(t.image); - appendUnit(t, sb); - - if (t.kind == LBRACE) { - nesting++; - } - else if (t.kind == RBRACE) { - nesting--; - } - } - while ((t.kind != RBRACE && t.kind != SEMICOLON) || nesting > 0); - - return sb.toString(); -} - -JAVACODE -String skipUnit() { - StringBuilder sb = new StringBuilder(); - - Token t = token; - Token oldToken = null; - while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { - oldToken = t; - sb.append(oldToken.image); - appendUnit(t, sb); - - t = getNextToken(); - } - if (t.kind != EOF) { - token = oldToken; - } - - return sb.toString(); -} - -JAVACODE -void appendUnit(Token t, StringBuilder sb) { - if (t.kind == EMS) { - sb.append("em"); - return; - } - if (t.kind == REM) { - sb.append("rem"); - return; - } - if (t.kind == EXS) { - sb.append("ex"); - return; - } - if (t.kind == CH) { - sb.append("ch"); - return; - } - if (t.kind == VW) { - sb.append("vw"); - return; - } - if (t.kind == VH) { - sb.append("vh"); - return; - } - if (t.kind == VMIN) { - sb.append("vmin"); - return; - } - if (t.kind == VMAX) { - sb.append("vmax"); - return; - } - if (t.kind == LENGTH_PX) { - sb.append("px"); - return; - } - if (t.kind == LENGTH_CM) { - sb.append("cm"); - return; - } - if (t.kind == LENGTH_MM) { - sb.append("mm"); - return; - } - if (t.kind == LENGTH_IN) { - sb.append("in"); - return; - } - if (t.kind == LENGTH_PT) { - sb.append("pt"); - return; - } - if (t.kind == LENGTH_PC) { - sb.append("pc"); - return; - } - if (t.kind == LENGTH_Q) { - sb.append("Q"); - return; - } - if (t.kind == ANGLE_DEG) { - sb.append("deg"); - return; - } - if (t.kind == ANGLE_RAD) { - sb.append("rad"); - return; - } - if (t.kind == ANGLE_GRAD) { - sb.append("grad"); - return; - } - if (t.kind == ANGLE_TURN) { - sb.append("turn"); - return; - } - if (t.kind == TIME_MS) { - sb.append("ms"); - return; - } - if (t.kind == TIME_S) { - sb.append('s'); - return; - } - if (t.kind == FREQ_HZ) { - sb.append("hz"); - return; - } - if (t.kind == FREQ_KHZ) { - sb.append("khz"); - return; - } - if (t.kind == RESOLUTION_DPI) { - sb.append("dpi"); - return; - } - if (t.kind == RESOLUTION_DPCM) { - sb.append("dpcm"); - return; - } - if (t.kind == PERCENTAGE) { - sb.append('%'); - return; - } -} - -JAVACODE -void error_skipblock(String msgKey, CSSParseException e) -{ - if (msgKey != null) { - getErrorHandler().warning(createSkipWarning(msgKey, e)); - } - - Token t; - int nesting = 0; - do { - t = getNextToken(); - if (t.kind == LBRACE) { - nesting++; - } - else if (t.kind == RBRACE) { - nesting--; - } - } - while (t.kind != EOF && (t.kind != RBRACE || nesting > 0)); -} - -JAVACODE -void error_skipdecl() -{ - Token t = getToken(1); - if (t.kind == LBRACE) { - error_skipblock(null, null); - return; - } - if (t.kind == RBRACE) { - // next will be RBRACE so we are finished - return; - } - - Token oldToken = token; - while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF) { - oldToken = t; - t = getNextToken(); - } - if (t.kind != EOF) { - token = oldToken; - } -} - -JAVACODE -void error_skipAtRule() -{ - Token t = null; - do { - t = getNextToken(); - } - while (t.kind != SEMICOLON && t.kind != EOF); -} - -JAVACODE -Boolean handleCaseInSensitive(Token t) -{ - String s = unescape(t.image, false); - if ("i".equalsIgnoreCase(s)) { - return Boolean.TRUE; - } - if ("s".equalsIgnoreCase(s)) { - return Boolean.FALSE; - } - - throw toCSSParseException("invalidCaseInSensitivelyIdentifier", new String[] { s }, createLocator(t)); -} +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +options { + IGNORE_CASE = true; + STATIC = false; + + UNICODE_INPUT = true; + USER_CHAR_STREAM = true; + +// DEBUG_TOKEN_MANAGER = true; +// DEBUG_PARSER = true; + + JDK_VERSION = "1.8"; +// JAVA_TEMPLATE_TYPE = "modern" +} + +PARSER_BEGIN(CSS3Parser) + +package org.htmlunit.cssparser.parser.javacc; + +import java.util.LinkedList; +import java.util.Locale; + +import org.htmlunit.cssparser.dom.CSSValueImpl; +import org.htmlunit.cssparser.dom.Property; +import org.htmlunit.cssparser.parser.AbstractCSSParser; +import org.htmlunit.cssparser.parser.CSSParseException; +import org.htmlunit.cssparser.parser.LexicalUnit; +import org.htmlunit.cssparser.parser.LexicalUnitImpl; +import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; +import org.htmlunit.cssparser.parser.Locatable; +import org.htmlunit.cssparser.parser.Locator; +import org.htmlunit.cssparser.parser.condition.AttributeCondition; +import org.htmlunit.cssparser.parser.condition.BeginHyphenAttributeCondition; +import org.htmlunit.cssparser.parser.condition.ClassCondition; +import org.htmlunit.cssparser.parser.condition.Condition; +import org.htmlunit.cssparser.parser.condition.IdCondition; +import org.htmlunit.cssparser.parser.condition.LangCondition; +import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; +import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; +import org.htmlunit.cssparser.parser.condition.PseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; +import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; +import org.htmlunit.cssparser.parser.media.MediaQuery; +import org.htmlunit.cssparser.parser.media.MediaQueryList; +import org.htmlunit.cssparser.parser.selector.ChildSelector; +import org.htmlunit.cssparser.parser.selector.DescendantSelector; +import org.htmlunit.cssparser.parser.selector.DirectAdjacentSelector; +import org.htmlunit.cssparser.parser.selector.ElementSelector; +import org.htmlunit.cssparser.parser.selector.GeneralAdjacentSelector; +import org.htmlunit.cssparser.parser.selector.PseudoElementSelector; +import org.htmlunit.cssparser.parser.selector.Selector; +import org.htmlunit.cssparser.parser.selector.SelectorList; +import org.htmlunit.cssparser.parser.selector.SelectorListImpl; +import org.htmlunit.cssparser.parser.selector.SimpleSelector; +import org.htmlunit.cssparser.util.ParserUtils; + +/** + * @author David Schweinsberg + * @author waldbaer + * @author Ahmed Ashour + * @author Ronald Brill + */ +public class CSS3Parser extends AbstractCSSParser { + + public CSS3Parser() { + this((CharStream) null); + } + + @Override + public String getParserVersion() { + return "http://www.w3.org/Style/CSS/"; + } + + protected String getGrammarUri() + { + return "http://www.w3.org/TR/WD-css3-syntax-20030813"; + } +} + +PARSER_END(CSS3Parser) + +TOKEN_MGR_DECLS : +{ +} + + TOKEN : +{ +// s [ \t\r\n\f]+ +// {s} {return S;} + < S: ( " "|"\t"|"\r"|"\n"|"\f" )+ > +// w {s}? +// | < W: ( )? > +} + + MORE : +{ + < "/*" > : COMMENT +} + + SKIP : +{ + < "*/" > : DEFAULT +} + + MORE : +{ + < ~[] > : COMMENT +} + + TOKEN : +{ +// h [0-9a-f] + < #H: ["0"-"9","a"-"f"] > +| < #HNUM: | | | | | > + +// nonascii [\200-\377] +// The two occurrences of "\377" represent the highest character number that +// current versions of Flex can deal with (decimal 255). They should be read as +// "\4177777" (decimal 1114111), which is the highest possible code point in +// Unicode/ISO-10646. +// Limitation: This parser can only handle Unicode characters up to \uFFFF +// (decimal 65535). +| < #NONASCII: ["\u0080"-"\uFFFF"] > + +// unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? +| < #UNICODE: "\\" ( "\r\n" | [" ","\t","\r","\n","\f"] )? > + +// escape {unicode}|\\[^\r\n\f0-9a-f] +| < #ESCAPE: | ( "\\" ~["\r","\n","\f","0"-"9","a"-"f"] ) > + +// nmstart [_a-z]|{nonascii}|{escape} +| < #NMSTART: ["_","a"-"z"] | | > + +// nmchar [_a-z0-9-]|{nonascii}|{escape} +| < #NMCHAR: ["_","a"-"z","0"-"9","-"] | | > + +// nl \n|\r\n|\r|\f +| < #NL: "\n" | "\r\n" | "\r" | "\f" > + +// string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\" +| < #STRING1: ( ~["\n","\r","\f","\\","\""] | "\\" | )* > + +// string2 \'([^\n\r\f\\']|\\{nl}|{escape})*\' +| < #STRING2: ( ~["\n","\r","\f","\\","\'"] | "\\" | )* > + +// comment \/\*[^*]*\*+([^/*][^*]*\*+)*\/ +| < #COMMENT_: "/" "*" ( ~["*"] )* ("*")+ ( ~["/","*"] ( ~["*"] )* ( "*" )+ )* "/"> + +| < AND: "and" > +| < NOT: "not" > +| < ONLY: "only" > + +// {num} {return NUMBER;} +| < NUMBER: > + +| < INHERIT: "inherit" > + +// ident -?{nmstart}{nmchar}* +// {ident} {return IDENT;} +| < IDENT: (< MINUS >)? ( )* > + +// name {nmchar}+ +| < #NAME: ( )+ > + +// num [0-9]+|[0-9]*"."[0-9]+ +| < NUM: ( ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ ) (["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+)? > + +// string {string1}|{string2} +// {string} {return STRING;} +| < STRING: ( "\"" "\"" ) | ( "\'" "\'" ) > { matchedToken.image = ParserUtils.trimBy(image, 1, 1); } + +// url ([!#$%&*-~]|{nonascii}|{escape})* +| < #URL: ( ["!","#","$","%","&","*"-"[","]"-"~"] | | )* > + +// A a|\\0{0,4}(41|61)(\r\n|[ \t\r\n\f])? +| < #A_LETTER: "a" | "\\" ("0")? ("0")? ("0")? ("0")? ( "41" | "61" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// C c|\\0{0,4}(43|63)(\r\n|[ \t\r\n\f])? +| < #C_LETTER: "c" | "\\" ("0")? ("0")? ("0")? ("0")? ( "43" | "63" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// D d|\\0{0,4}(44|64)(\r\n|[ \t\r\n\f])? +| < #D_LETTER: "d" | "\\" ("0")? ("0")? ("0")? ("0")? ( "44" | "64" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// E e|\\0{0,4}(45|65)(\r\n|[ \t\r\n\f])? +| < #E_LETTER: "e" | "\\" ("0")? ("0")? ("0")? ("0")? ( "45" | "65" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// F f|\\0{0,4}(46|66)(\r\n|[ \t\r\n\f])? +| < #F_LETTER: "f" | "\\" ("0")? ("0")? ("0")? ("0")? ( "46" | "66" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// G g|\\0{0,4}(47|67)(\r\n|[ \t\r\n\f])?|\\g +| < #G_LETTER: "g" | "\\" ("0")? ("0")? ("0")? ("0")? ( "47" | "67" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "g" > + +// H h|\\0{0,4}(48|68)(\r\n|[ \t\r\n\f])?|\\h +| < #H_LETTER: "h" | "\\" ("0")? ("0")? ("0")? ("0")? ( "48" | "68" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "h" > + +// I i|\\0{0,4}(49|69)(\r\n|[ \t\r\n\f])?|\\i +| < #I_LETTER: "i" | "\\" ("0")? ("0")? ("0")? ("0")? ( "49" | "69" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "i" > + +// K k|\\0{0,4}(4b|6b)(\r\n|[ \t\r\n\f])?|\\k +| < #K_LETTER: "k" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4b" | "6b" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "k" > + +// L l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l +| < #L_LETTER: "l" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4c" | "6c" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "l" > + +// M m|\\0{0,4}(4d|6d)(\r\n|[ \t\r\n\f])?|\\m +| < #M_LETTER: "m" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4d" | "6d" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "m" > + +// N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n +| < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > + +// O o|\\0{0,4}(51|71)(\r\n|[ \t\r\n\f])?|\\o +| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "51" | "71" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > + +// P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p +| < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > + +// R r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r +| < #R_LETTER: "r" | "\\" ("0")? ("0")? ("0")? ("0")? ( "52" | "72" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "r" > + +// S s|\\0{0,4}(53|73)(\r\n|[ \t\r\n\f])?|\\s +| < #S_LETTER: "s" | "\\" ("0")? ("0")? ("0")? ("0")? ( "53" | "73" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "s" > + +// T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t +| < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > + +// U v|\\0{0,4}(55|76)(\r\n|[ \t\r\n\f])?|\\v +| < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > + +// X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x +| < #X_LETTER: "x" | "\\" ("0")? ("0")? ("0")? ("0")? ( "58" | "78" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "x" > + +// Z z|\\0{0,4}(5a|7a)(\r\n|[ \t\r\n\f])?|\\z +| < #Z_LETTER: "z" | "\\" ("0")? ("0")? ("0")? ("0")? ( "5a" | "7a" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "z" > + +// "" {return CDC;} +| < CDC: "-->" > + +// "~=" {return INCLUDES;} +| < INCLUDES: "~=" > + +// "|=" {return DASHMATCH;} +| < DASHMATCH: "|=" > + +// "^=" {return PREFIXMATCH;} +| < PREFIXMATCH: "^=" > + +// "$=" {return SUFFIXMATCH;} +| < SUFFIXMATCH: "$=" > + +// "*=" {return SUBSTRINGMATCH;} +| < SUBSTRINGMATCH: "*=" > + +// {w}"{" {return LBRACE;} +| < LBRACE: "{" > +| < RBRACE: "}" > + +| < LROUND: "(" > +| < RROUND: ")" > + +| < DOT: "." > +| < SEMICOLON: ";" > +| < COLON: ":" > +| < ASTERISK: "*" > +| < SLASH: "/" > +| < MINUS: "-" > +| < EQUALS: "=" > +| < LSQUARE: "[" > +| < RSQUARE: "]" > + +// {w}"+" {return PLUS;} +| < PLUS: "+" > + +// {w}">" {return GREATER;} +| < GREATER: ">" > + +// {w}"~" {return TILDE;} +| < TILDE: "~" > + +// {w}"," {return COMMA;} +| < COMMA: "," > + +// "#"{name} {return HASH;} +| < HASH: "#" > + +// @{I}{M}{P}{O}{R}{T} {return IMPORT_SYM;} +| < IMPORT_SYM: "@" > + +// @{P}{A}{G}{E} {return PAGE_SYM;} +| < PAGE_SYM: "@" > + +// @{M}{E}{D}{I}{A} {return MEDIA_SYM;} +| < MEDIA_SYM: "@" > + +// "@{F}{O}{N}{T}-{F}{A}{C}{E}" {return FONT_FACE_SYM;} +| < FONT_FACE_SYM: "@" < MINUS > > + +// @{C}{H}{A}{R}{S}{E}{T} {return CHARSET_SYM;} +| < CHARSET_SYM: "@" > + +// "!"({w}|{comment})*{I}{M}{P}{O}{R}{T}{A}{N}{T} {return IMPORTANT_SYM;} +| < IMPORTANT_SYM: "!" ( | )* > + +// {num}{E}{M} {return EMS;} +| < EMS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{R}{E}{M} {return REM;} +| < REM: "rem" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{E}{X} {return EXS;} +| < EXS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{C}{H} {return CH;} +| < CH: "ch" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{W} {return VW;} +| < VW: "vw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{H} {return VH;} +| < VH: "vh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{M}{I}{N} {return VMIN;} +| < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{V}{M}{I}{N} {return VMAX;} +| < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{P}{X} {return LENGTH;} +| < LENGTH_PX: "px" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{C}{M} {return LENGTH;} +| < LENGTH_CM: "cm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{M}{M} {return LENGTH;} +| < LENGTH_MM: "mm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{I}{N} {return LENGTH;} +| < LENGTH_IN: "in" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{P}{T} {return LENGTH;} +| < LENGTH_PT: "pt" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{P}{C} {return LENGTH;} +| < LENGTH_PC: "pc" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{Q} {return LENGTH;} +| < LENGTH_Q: "Q" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{D}{E}{G} {return ANGLE;} +| < ANGLE_DEG: "deg" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{R}{A}{D} {return ANGLE;} +| < ANGLE_RAD: "rad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{G}{R}{A}{D} {return ANGLE;} +| < ANGLE_GRAD: "grad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{T}{U}{R}{N} {return ANGLE;} +| < ANGLE_TURN: "turn" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{M}{S} {return TIME;} +| < TIME_MS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{S} {return TIME;} +| < TIME_S: > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{H}{Z} {return FREQ;} +| < FREQ_HZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{K}{H}{Z} {return FREQ;} +| < FREQ_KHZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{D}{P}{I} {return RESOLUTION;} +| < RESOLUTION_DPI: "dpi" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{D}{P}{C}{M} {return RESOLUTION;} +| < RESOLUTION_DPCM: "dpcm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}% {return PERCENTAGE;} +| < PERCENTAGE: "%" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{ident} {return DIMENSION;} +| < DIMENSION: ( ["a"-"z","0"-"9"] | | )* > + +| < #H_PLACEHOLDER: ( | "?"){1,6} > +| < UNICODE_RANGE: "u+" (< MINUS > < H_PLACEHOLDER >)? > + +// "url("{w}{string}{w}")" {return URI;} +// "url("{w}{url}{w}")" {return URI;} +| < URI: "url" ( )* ( | ) ( )* > { matchedToken.image = ParserUtils.trimUrl(image); } + +// {N}{O}{T} "(" {return FUNCTION_NOT;} +| < FUNCTION_NOT: "not" > + +// {L}{A}{N}{G} "(" {return FUNCTION_LANG;} +| < FUNCTION_LANG: "lang" > + +// {C}{A}{L}{C} "(" {return FUNCTION_CALC;} +| < FUNCTION_CALC: "calc" > + +// {V}{A}{R} "(" {return FUNCTION_VAR;} +| < FUNCTION_VAR: "var" > + +| < FUNCTION_RGB: "rgb" ("a")? > +| < FUNCTION_HSL: "hsl" ("a")? > + +| < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > + +// {ident} "(" {return FUNCTION;} +| < FUNCTION: > + +| < ATKEYWORD: "@" > +} + +<*> TOKEN: +{ + < UNKNOWN: ~[] > + { + // System.err.println("Illegal character : " + image.toString()); + } +} + +// +// stylesheet +// : [ CHARSET_SYM STRING ';' ]? +// [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* +// [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* +// ; +// +void styleSheet() : +{ +} +{ + try + { + { handleStartDocument(); } + styleSheetRuleList() + + } + finally + { + handleEndDocument(); + } +} + +void styleSheetRuleList() : +{ + boolean ruleFound = false; +} +{ + ( | | )* + ( + charsetRule() + ( | | )* + )? + ( + ( + ( + importRule(ruleFound) + | + ( + styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() + ) + { + ruleFound = true; + } + ) + | + ( + // skip until the next RBRACE + { ParseException e = generateParseException(); } + invalidRule() + { + Token t = getNextToken(); + + boolean charsetProcessed = false; + if (t.kind == CHARSET_SYM) { + t = getNextToken(); + if (t.kind == S) { + t = getNextToken(); + if (t.kind == STRING) { + t = getNextToken(); + if (t.kind == SEMICOLON) { + getNextToken(); + charsetProcessed = true; + } + } + } + CSSParseException cpe = toCSSParseException("misplacedCharsetRule", e); + getErrorHandler().error(cpe); + getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); + } + + if (!charsetProcessed) { + if (t.kind == EOF) { + return; + } + + CSSParseException cpe = toCSSParseException("invalidRule", e); + getErrorHandler().error(cpe); + getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); + while (t.kind != RBRACE && t.kind != EOF ) { + t = getNextToken(); + } + if (t.kind == EOF) { + return; + } + } + } + ) + ) + ( | | )* + )* +} + +JAVACODE +void invalidRule() +{ +} + +// +// This is used by ASTStyleSheet.insertRule to parse a single rule +// +void styleSheetRuleSingle() : +{ +} +{ + ( )* + ( charsetRule() | importRule(false) | styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() ) + ( )* +} + +void charsetRule() : +{ + Token t; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + + t = + + { + handleCharset(t.toString(), locator); + } + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidCharsetRule", e)); + } +} + +void unknownAtRule() : +{ + String s; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + s = skip(); + handleIgnorableAtRule(s, locator); + } + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidUnknownRule", generateParseException())); + } +} + +// +// import +// : IMPORT_SYM S* +// [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S* +// ; +// +void importRule(final boolean nonImportRuleFoundBefore) : +{ + Token t; + MediaQueryList ml = new MediaQueryList(); + Locator locator; +} +{ + try + { + { + ParseException e = null; + if (nonImportRuleFoundBefore) + { + e = generateParseException(); + } + } + + { + locator = createLocator(token); + } + ( )* + ( t = | t = ) ( )* + ( mediaList(ml) )? + + { + if (nonImportRuleFoundBefore) + { + getErrorHandler().error(toCSSParseException("invalidImportRuleIgnored2", e)); + } + else + { + handleImportStyle(unescape(t.image, false), ml, null, locator); + } + } + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipAtRule(); + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidImportRule", e)); + error_skipAtRule(); + } +} + +// +// media +// : MEDIA_SYM S* medium [ COMMA S* medium ]* '{' S* ruleset* '}' S* +// ; +// +void mediaRule() : +{ + boolean start = false; + MediaQueryList ml = new MediaQueryList(); + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + ( )* + mediaList(ml) + { + start = true; + handleStartMedia(ml, locator); + } + ( )* + ( mediaRuleList() )? + + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidMediaRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringRule", cpe); + } + finally + { + if (start) { + handleEndMedia(ml); + } + } +} + +void mediaList(MediaQueryList ml) : +{ + MediaQuery mq; +} +{ + try + { + mq = mediaQuery() + { + ml.setLocator(createLocator(token)); + } + ( ( )* { ml.add(mq); } mq = mediaQuery() )* + { ml.add(mq); } + } + catch(ParseException e) + { + throw toCSSParseException("invalidMediaList", e); + } +} + +// +// media_query +// : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* +// | expression [ AND S* expression ]* +// ; +// +MediaQuery mediaQuery() : +{ + String s; + MediaQuery mq; + Property p; + boolean only = false; + boolean not = false; +} +{ + ( + ( + ( + ( + { only = true; } + | + { not = true; } + ) ( )* + )? + s = medium() + { mq = new MediaQuery(s, only, not); mq.setLocator(createLocator(token)); } + ( + ( )* + p = mediaExpression() + { + mq.addMediaProperty(p); + } + )* + ) + | + ( + p = mediaExpression() + { + mq = new MediaQuery(null, only, not); + mq.setLocator(createLocator(token)); + mq.addMediaProperty(p); + } + ( + ( )* + p = mediaExpression() + { + mq.addMediaProperty(p); + } + )* + ) + ) + { return mq; } +} + +// +// expression +// : '(' S* media_feature S* [ ':' S* expr ]? ')' S* +// ; +// +Property mediaExpression() : +{ + String p; + LexicalUnit e = null; + Property prop; + Token t; +} +{ + + ( )* + ( + t = ( )* { p = unescape(t.image, false); } + | t = ( )* { p = unescape(t.image, false); } + ) + ( + ( )* + e = expr() + )? + + ( )* + { + if(e==null) + { + prop = new Property(p, null, false); + } + else + { + prop = new Property(p, new CSSValueImpl(e), false); + } + return prop; + } +} + +void mediaRuleList() : +{ +} +{ + ( ( styleRule() | mediaRule() | pageRule() | importRule(true) | unknownAtRule() ) ( )* )+ +} + +// +// medium +// : IDENT S* +// ; +// +String medium() : +{ + Token t; +} +{ + t = ( )* + { + return unescape(t.image, false); + } +} + +// +// page +// : PAGE_SYM S* pseudo_page? S* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void pageRule() : +{ + String sel = null; + boolean start = false; + Locator locator; +} +{ + try { + + { + locator = createLocator(token); + } + ( )* + + ( sel = pageSelectorList() )? + + ( )* + { + start = true; + handleStartPage(null, sel, locator); + } + + styleDeclaration() + + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidPageRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringRule", cpe); + } + finally { + if (start) { + handleEndPage(null, sel); + } + } +} + +// +// pageSelectorList +// : [ pageSelector S* [ ',' pageSelector S* ]* ]? +// ; +// +String pageSelectorList() : +{ + String sel; + LinkedList selectors = new LinkedList<>(); +} +{ + sel = pageSelector() { selectors.add(sel); } + ( + ( )* sel = pageSelector() { selectors.add(sel); } + )* + + { return String.join(", ", selectors); } +} + +// +// pageSelector +// : pseudoPage+ | IDENT pseudoPage* +// ; +// +String pageSelector() : +{ + StringBuilder pseudos = new StringBuilder(); + String pseudo; + Token ident; +} +{ + ( + pseudo = pseudoPage() { pseudos.append(pseudo); } + | + ident = { pseudos.append(unescape(ident.image, false)); } + ) + ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* + ( )* + + { return pseudos.toString(); } +} + +// +// pseudoPage +// : ':' IDENT +// ; +// +String pseudoPage() : +{ + Token t; +} +{ + t = { return ":" + normalizeAndValidatePagePseudoClass(t); } +} + +// +// font_face +// : FONT_FACE_SYM S* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void fontFaceRule() : +{ + boolean start = false; + Locator locator; +} +{ + try { + + { + locator = createLocator(token); + } + ( )* + ( )* { start = true; handleStartFontFace(locator); } + styleDeclaration() + + } + catch(ParseException e) + { + throw toCSSParseException("invalidFontFaceRule", e); + } + finally { + if (start) { + handleEndFontFace(); + } + } +} + +// +// operator +// : '/' S* | COMMA S* | /* empty */ +// ; +// +LexicalUnit operator(LexicalUnit prev) : +{ +} +{ + ( )* { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_SLASH); } + | ( )* { return LexicalUnitImpl.createComma(prev); } +} + +// +// combinator +// : PLUS S* +// | GREATER S* +// | S +// ; +// +char combinator() : +{ + char c = ' '; +} +{ + ( + { c='+'; } ( )* + | { c='>'; } ( )* + | { c='~'; } ( )* + | ( ( { c='+'; } | { c='>'; } | { c='~'; } ) ( )* )? + ) + { return c; } +} + +// +// unary_operator +// : '-' | PLUS +// ; +// +char unaryOperator() : +{ +} +{ + ( { return '-'; } | { return '+'; } ) +} + + +// +// ruleset +// : selector [ COMMA S* selector ]* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void styleRule() : +{ + SelectorList selList = null; + boolean start = false; + Token t; +} +{ + try { + { + t = token; + } + selList = selectorList() + ( )* + { + start = true; + handleStartSelector(selList, createLocator(t.next)); + } + styleDeclaration() + ( | ) + } + catch(CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidStyleRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringFollowingDeclarations", cpe); + } + finally { + if (start) { + handleEndSelector(selList); + } + } +} + +SelectorList parseSelectorsInternal() : +{ + SelectorList selectors; +} +{ + ( )* + selectors = selectorList() + + { + return selectors; + } +} + +SelectorList selectorList() : +{ + SelectorListImpl selList = new SelectorListImpl(); + Selector sel; +} +{ + sel = selector() { selList.setLocator(sel.getLocator()); } + ( ( )* + { selList.add(sel); } + sel = selector() { selList.setLocator(sel.getLocator()); } + )* + { + selList.add(sel); + return selList; + } +} + +// +// selector +// : simple_selector_sequence [ combinator simple_selector_sequence ]* +// ; +// +Selector selector() : +{ + Selector sel; + char comb; +} +{ + try { + sel = simpleSelector(null, ' ') + ( LOOKAHEAD(2) comb = combinator() sel = simpleSelector(sel, comb) )* ( )* + { + return sel; + } + } catch (ParseException e) { + throw toCSSParseException("invalidSelector", e); + } +} + +// +// simple_selector +// : element_name [ HASH | class | attrib | pseudo ]* +// | [ HASH | class | attrib | pseudo ]+ +// ; +// +Selector simpleSelector(Selector sel, char comb) : +{ + ElementSelector elemSel = null; + SimpleSelector simpleSel = null; + Condition c = null; + SimpleSelector pseudoElementSel = null; + Object o = null; +} +{ + try + { + ( + ( elemSel = elementName() + ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } + | ( + o = pseudo(null != pseudoElementSel) + { if (o instanceof Condition) + { elemSel.addCondition((Condition) o); + } else { + pseudoElementSel = (SimpleSelector) o; + } + } + ) + )* + ) + | + ( { elemSel = new ElementSelector(null, createLocator(token)); } + ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } + | ( + o = pseudo(null != pseudoElementSel) + { if (o instanceof Condition) + { elemSel.addCondition((Condition) o); + } else { + pseudoElementSel = (SimpleSelector) o; + } + } + ) + )+ + ) + ) + + { + simpleSel = elemSel; + if (sel == null) { + sel = simpleSel; + } else { + switch (comb) { + case ' ': + sel = new DescendantSelector(sel, simpleSel); + break; + case '+': + sel = new DirectAdjacentSelector(sel, simpleSel); + break; + case '>': + sel = new ChildSelector(sel, simpleSel); + break; + case '~': + sel = new GeneralAdjacentSelector(sel, simpleSel); + break; + } + } + if (pseudoElementSel != null) + { + sel = new DescendantSelector(sel, pseudoElementSel); + } + + return sel; + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidSimpleSelector", e); + } +} + +// +// class +// : '.' IDENT +// ; +// +Condition _class(boolean pseudoElementFound) : +{ + Token t; + Locator locator; + ParseException pe = null; +} +{ + try + { + { if (pseudoElementFound) { pe = generateParseException(); } } + + { + locator = createLocator(token); + } + + ( t = | t = | t = ) + { + if (pseudoElementFound) { throw pe; } + return new ClassCondition(unescape(t.image, false), locator); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidClassSelector", e); + } +} + +// +// element_name +// : IDENT | '*' +// ; +// +ElementSelector elementName() : +{ + Token t; +} +{ + try + { + t = + { + return new ElementSelector(unescape(t.image, false), createLocator(t)); + } + | + { + return new ElementSelector(null, createLocator(token)); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidElementName", e); + } +} + +// +// attrib +// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH | PREFIXMATCH | SUFFIXMATCH | SUBSTRINGMATCH ] S* +// [ IDENT | STRING ] S* ]? ']' +// ; +// +Condition attrib(boolean pseudoElementFound) : +{ + Token t; + String name = null; + String value = null; + Boolean insensitive = null; + int type = 0; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + ( )* + { if (pseudoElementFound) { throw generateParseException(); } } + + t = { name = unescape(t.image, false); } + ( )* + ( + ( + { type = 4; } + | + { type = 5; } + | + { type = 6; } + | + "=" { type = 1; } // don't use because of the leading whitespace + | + { type = 2; } + | + { type = 3; } + ) + ( )* + ( + ( + t = { value = unescape(t.image, false); } + | + t = { value = unescape(t.image, false); } + ) + + ( )* + ) + ( + t = { insensitive = handleCaseInSensitive(t); } + ( )* + )? + )? + + { + Condition c = null; + switch (type) { + case 0: + c = new AttributeCondition(name, null, insensitive); + break; + case 1: + c = new AttributeCondition(name, value, insensitive); + break; + case 2: + c = new OneOfAttributeCondition(name, value, insensitive); + break; + case 3: + c = new BeginHyphenAttributeCondition(name, value, insensitive); + break; + case 4: + c = new PrefixAttributeCondition(name, value, insensitive); + break; + case 5: + c = new SuffixAttributeCondition(name, value, insensitive); + break; + case 6: + c = new SubstringAttributeCondition(name, value, insensitive); + break; + } + c.setLocator(locator); + return c; + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidAttrib", e); + } +} + +// +// pseudo +// : ':' (':')? +// [ IDENT +// | FUNCTION_NOT S* selector() S* ')' +// | FUNCTION_LANG S* IDENT S* ')' +// | FUNCTION S* ((PLUS | MINUS | DIMENSION | NUMBER | STRING | IDENT)? S*)+ ')' +// ] +// ; +// +Object pseudo(boolean pseudoElementFound) : +{ + Token t; + String function; + boolean doubleColon = false; + SelectorList selectorList; + Locator locator; +} +{ + try + { + { locator = createLocator(token); } + ( { doubleColon = true; } )? + + ( + t = + { + String s = unescape(t.image, false); + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } + if ("first-line".equals(s) + || "first-letter".equals(s) + || "before".equals(s) + || "after".equals(s)) + { + return new PseudoElementSelector(s, locator, doubleColon); + } + return new PseudoClassCondition(s, locator, doubleColon); + } + | + ( + t = { function = unescape(t.image, false); } + ( )* + selectorList = selectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } + return new NotPseudoClassCondition(selectorList, locator, doubleColon); + } + ) + | + ( + t = { function = unescape(t.image, false); } + ( )* + t = { String lang = unescape(t.image, false); } + ( )* + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { "lang(" + lang + ")" }, locator); } + return new LangCondition(lang, locator); + } + ) + | + ( + t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } + ( )* + ( + (t = | t = | t = | t = | t = | t = ) + { args.append(unescape(t.image, false)); } + ( t = + { args.append(unescape(t.image, false)); } + )* + )+ + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + args.toString().trim() + ")" }, locator); } + return new PseudoClassCondition(function + args.toString().trim() + ")", locator, doubleColon); + } + ) + ) + } + catch (ParseException e) + { + throw toCSSParseException("invalidPseudo", e); + } +} + +Condition hash(boolean pseudoElementFound) : +{ + Token t; + ParseException pe = null; +} +{ + try + { + { if (pseudoElementFound) { pe = generateParseException(); } } + t = + { + if (pseudoElementFound) { throw pe; } + return new IdCondition(unescape(t.image.substring(1), false), createLocator(t)); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidHash", e); + } +} + +void styleDeclaration() : +{ +} +{ + ( declaration() )? + ( ( )* ( declaration() )? )* +} + +// +// declaration +// : property ':' S* expr prio? +// | +// ; +// +void declaration() : +{ + String p; + LexicalUnit e = null; + Token t; + boolean priority = false; + Locator starHack = null; + Locator locator = null; +} +{ + try + { + // at the moment i have no better idea how to handle the + // infamous css-star-hack (http://en.wikipedia.org/wiki/CSS_filter#Star_hack) + // smart (means: ignoring only one decl) + ( { starHack = createLocator(token); } )? + ( + ( + t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } + ( )* + e = expr() + ) + | + ( + t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } + ( )* + ( e = expr() )? + ) + ) + + ( priority = prio() )? + + // maybe there are strange characters at the end - create error and skip + ( t = + { + locator = createLocator(t); + CSSParseException cpe = toCSSParseException("invalidDeclarationInvalidChar", new String[] {t.image}, locator); + getErrorHandler().error(cpe); + error_skipdecl(); + } + )? + + { + if (starHack != null) + { + CSSParseException cpe = toCSSParseException("invalidDeclarationStarHack", new Object[0], starHack); + getErrorHandler().error(cpe); + return; + } + handleProperty(p, e, priority, locator); + } + } + catch (CSSParseException ex) + { + getErrorHandler().error(ex); + error_skipdecl(); + } + catch (ParseException ex) + { + CSSParseException cpe = toCSSParseException("invalidDeclaration", ex); + getErrorHandler().error(cpe); + error_skipdecl(); + } +} + +// +// prio +// : IMPORTANT_SYM S* +// ; +boolean prio() : +{ +} +{ + ( )* + { return true; } +} + +// +// expr +// : term [ operator term ]* +// ; +LexicalUnit expr() : +{ + LexicalUnit head; + LexicalUnit body; +} +{ + try + { + head = term(null) { body = head; } + ( + ( body = operator(body) )? + body = term(body) + )* + { return head; } + } + catch (ParseException ex) + { + throw toCSSParseException("invalidExpr", ex); + } +} + +// +// term +// : unary_operator? +// [ NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | function ] +// | STRING | IDENT | URI | hexcolor | DIMENSION +// S* +// ; +// +LexicalUnit term(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit value = null; + Locator locator = null; +} +{ + ( op = unaryOperator() )? { if (op != ' ') { locator = createLocator(token); } } + ( + ( value = number(prev, op) + | value = dimension(prev, op) + | value = percentage(prev, op) + | value = function(prev) + | value = rgbColor(prev) + | value = hslColor(prev) + | value = calc(prev) + | value = var(prev) + ) + | t = { value = LexicalUnitImpl.createString(prev, unescape(t.image, false)); } + | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } + | + ( + t = + ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? + ) + { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + | t = { value = LexicalUnitImpl.createURI(prev, unescape(t.image, true)); } + | value = unicodeRange(prev) + | value = hexcolor(prev) + | t = + { + int n = getLastNumPos(t.image); + value = LexicalUnitImpl.createDimension( + prev, + doubleValue(op, t.image.substring(0, n+1)), + t.image.substring(n+1)); + } + | t = { value = LexicalUnitImpl.createInherit(prev); } + ) + { + if (locator == null) + { + locator = createLocator(token); + } + } + ( )* + { + if(value != null) + { + value.setLocator(locator); + } + return value; + } +} + +// +// function +// : FUNCTION S* ((EQUALS | COMMA | (unaryOperator? NUMBER) | STRING | IDENT | URI)? S*)+ ')' S* +// ; +// +LexicalUnit function(LexicalUnit prev) : +{ + Token t; + LexicalUnit param = null; + LexicalUnit body = null; + String funct = ""; +} +{ + t = { funct = funct + unescape(t.image, false); } + ( )* + ( + param = term(null) { body = param; } + ( + ( + ( + t = { body = LexicalUnitImpl.createComma(body); } + | t = { body = LexicalUnitImpl.createIdent(body, t.image); } + ) + ( )* + )? + body = term(body) + )* + )? + + { + return functionInternal(prev, funct, param); + } +} + +// +// calc() +// https://www.w3.org/TR/css3-values/#calc-syntax +// = calc( ) +// +LexicalUnit calc(LexicalUnit prev) : +{ + Token t; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); + String funct = ""; +} +{ + t = { funct = unescape(t.image, false); } + ( )* + calcSum(head) + + { + return functionInternal(prev, funct, head.getNextLexicalUnit()); + } +} + +// +// calcSum() +// = [ [ '+' | '-' ] ]* +// +LexicalUnit calcSum(LexicalUnit prev) : +{ +} +{ + ( + prev = calcProduct(prev) + ( + ( + { prev = LexicalUnitImpl.createPlus(prev); } + | { prev = LexicalUnitImpl.createMinus(prev); } + ) + ( )* + prev = calcProduct(prev) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcProduct() +// = [ '*' | '/' ]* +// +LexicalUnit calcProduct(LexicalUnit prev) : +{ +} +{ + ( + prev = calcValue(prev) + ( + ( + { prev = LexicalUnitImpl.createMultiply(prev); } + ( )* + prev = calcValue(prev) + ) + | + ( + { prev = LexicalUnitImpl.createDivide(prev); } + ( )* + prev = calcNumberValue(prev) + ) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcValue() +// = | | | ( ) +// +LexicalUnit calcValue(LexicalUnit prev) : +{ + char op = ' '; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); +} +{ + ( + ( + ( + (op = unaryOperator() )? + ( + prev = number(prev, op) + | prev = dimension(prev, op) + | prev = percentage(prev, op) + ) + ) + | prev = var(prev) + | + ( + ( | ) + calcSum(head) + + ) + { + // use an empty function as block scope + prev = functionInternal(prev, "(", head.getNextLexicalUnit()); + } + ) + ( )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberSum() +// = [ [ '+' | '-' ] ]* +// +LexicalUnit calcNumberSum(LexicalUnit prev) : +{ +} +{ + ( + prev = calcNumberProduct(prev) + ( + ( + { prev = LexicalUnitImpl.createPlus(prev); } + | { prev = LexicalUnitImpl.createMinus(prev); } + ) + ( )* + prev = calcNumberProduct(prev) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberProduct() +// = [ '*' | '/' ]* +// +LexicalUnit calcNumberProduct(LexicalUnit prev) : +{ +} +{ + ( + prev = calcNumberValue(prev) + ( + ( + { prev = LexicalUnitImpl.createMultiply(prev); } + ( )* + prev = calcNumberValue(prev) + ) + | + ( + { prev = LexicalUnitImpl.createDivide(prev); } + ( )* + prev = calcNumberValue(prev) + ) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberValue() +// = | ( ) +// +LexicalUnit calcNumberValue(LexicalUnit prev) : +{ + Token t; + char op = ' '; + String funct = "("; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); +} +{ + ( + ( + ( + (op = unaryOperator() )? + prev = number(prev, op) + ) + | prev = var(prev) + | + ( + ( + t = { funct = unescape(t.image, false); } + | t = { funct = unescape(t.image, false); } + ) + calcNumberSum(head) + + ) + { + // use an empty function as block scope + prev = functionInternal(prev, funct, head.getNextLexicalUnit()); + } + ) + ( )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// var() +// https://developer.mozilla.org/en-US/docs/Web/CSS/var +// var( , ? ) +// +LexicalUnit var(LexicalUnit prev) : +{ + Token t; + LexicalUnit current, propertyName; + String funct = ""; +} +{ + t = { funct = unescape(t.image, false); } + ( )* + t = { current = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); propertyName = current; } + ( )* + ( + { current = LexicalUnitImpl.createComma(current); } + ( )* + ( current = term(current) )? + )* + + { + return functionInternal(prev, funct, propertyName); + } +} + +// rgb() / rgba() +// +LexicalUnit rgbColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + param = number(null, op) + | param = percentage(null, op) + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return rgbColorInternal(prev, funct, param); + } +} + + +// hsl() / hsla() +// +LexicalUnit hslColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + param = number(null, op) + | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return hslColorInternal(prev, funct, param); + } +} + +// +// number() +// +LexicalUnit number(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = + ) + { + try + { + value = LexicalUnitImpl.createNumber(prev, intValue(op, t.image)); + } + catch (NumberFormatException e) + { + value = LexicalUnitImpl.createNumber(prev, doubleValue(op, t.image)); + } + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// percentage() +// +LexicalUnit percentage(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createPercentage(prev, doubleValue(op, t.image)); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// dimension() +// +LexicalUnit dimension(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createPixel(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createCentimeter(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createMillimeter(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createInch(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createPoint(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createPica(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createQuater(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createEm(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRem(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createEx(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createCh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVw(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVMin(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVMax(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createMillisecond(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createSecond(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createHertz(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createKiloHertz(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpi"); } + | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpcm"); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// unicodeRange +// +LexicalUnit unicodeRange(LexicalUnit prev) : +{ + Token t; + StringBuilder range = new StringBuilder(); +} +{ + t = { range.append(unescape(t.image, false)); } + { + return LexicalUnitImpl.createIdent(prev, range.toString().toUpperCase(Locale.ROOT)); + } +} + +// +// hexcolor +// : HASH S* +// ; +// +LexicalUnit hexcolor(LexicalUnit prev) : +{ + Token t; +} +{ + t = + { + return hexColorInternal(prev, t); + } +} + +JAVACODE +String skip() { + StringBuilder sb = new StringBuilder(); + int nesting = 0; + Token t = getToken(0); + if (t.image != null) { + sb.append(t.image); + } + + do { + t = getNextToken(); + if (t.kind == EOF) { + break; + } + sb.append(t.image); + appendUnit(t, sb); + + if (t.kind == LBRACE) { + nesting++; + } + else if (t.kind == RBRACE) { + nesting--; + } + } + while ((t.kind != RBRACE && t.kind != SEMICOLON) || nesting > 0); + + return sb.toString(); +} + +JAVACODE +String skipUnit() { + StringBuilder sb = new StringBuilder(); + + Token t = token; + Token oldToken = null; + while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { + oldToken = t; + sb.append(oldToken.image); + appendUnit(t, sb); + + t = getNextToken(); + } + if (t.kind != EOF) { + token = oldToken; + } + + return sb.toString(); +} + +JAVACODE +void appendUnit(Token t, StringBuilder sb) { + if (t.kind == EMS) { + sb.append("em"); + return; + } + if (t.kind == REM) { + sb.append("rem"); + return; + } + if (t.kind == EXS) { + sb.append("ex"); + return; + } + if (t.kind == CH) { + sb.append("ch"); + return; + } + if (t.kind == VW) { + sb.append("vw"); + return; + } + if (t.kind == VH) { + sb.append("vh"); + return; + } + if (t.kind == VMIN) { + sb.append("vmin"); + return; + } + if (t.kind == VMAX) { + sb.append("vmax"); + return; + } + if (t.kind == LENGTH_PX) { + sb.append("px"); + return; + } + if (t.kind == LENGTH_CM) { + sb.append("cm"); + return; + } + if (t.kind == LENGTH_MM) { + sb.append("mm"); + return; + } + if (t.kind == LENGTH_IN) { + sb.append("in"); + return; + } + if (t.kind == LENGTH_PT) { + sb.append("pt"); + return; + } + if (t.kind == LENGTH_PC) { + sb.append("pc"); + return; + } + if (t.kind == LENGTH_Q) { + sb.append("Q"); + return; + } + if (t.kind == ANGLE_DEG) { + sb.append("deg"); + return; + } + if (t.kind == ANGLE_RAD) { + sb.append("rad"); + return; + } + if (t.kind == ANGLE_GRAD) { + sb.append("grad"); + return; + } + if (t.kind == ANGLE_TURN) { + sb.append("turn"); + return; + } + if (t.kind == TIME_MS) { + sb.append("ms"); + return; + } + if (t.kind == TIME_S) { + sb.append('s'); + return; + } + if (t.kind == FREQ_HZ) { + sb.append("hz"); + return; + } + if (t.kind == FREQ_KHZ) { + sb.append("khz"); + return; + } + if (t.kind == RESOLUTION_DPI) { + sb.append("dpi"); + return; + } + if (t.kind == RESOLUTION_DPCM) { + sb.append("dpcm"); + return; + } + if (t.kind == PERCENTAGE) { + sb.append('%'); + return; + } +} + +JAVACODE +void error_skipblock(String msgKey, CSSParseException e) +{ + if (msgKey != null) { + getErrorHandler().warning(createSkipWarning(msgKey, e)); + } + + Token t; + int nesting = 0; + do { + t = getNextToken(); + if (t.kind == LBRACE) { + nesting++; + } + else if (t.kind == RBRACE) { + nesting--; + } + } + while (t.kind != EOF && (t.kind != RBRACE || nesting > 0)); +} + +JAVACODE +void error_skipdecl() +{ + Token t = getToken(1); + if (t.kind == LBRACE) { + error_skipblock(null, null); + return; + } + if (t.kind == RBRACE) { + // next will be RBRACE so we are finished + return; + } + + Token oldToken = token; + while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF) { + oldToken = t; + t = getNextToken(); + } + if (t.kind != EOF) { + token = oldToken; + } +} + +JAVACODE +void error_skipAtRule() +{ + Token t = null; + do { + t = getNextToken(); + } + while (t.kind != SEMICOLON && t.kind != EOF); +} + +JAVACODE +Boolean handleCaseInSensitive(Token t) +{ + String s = unescape(t.image, false); + if ("i".equalsIgnoreCase(s)) { + return Boolean.TRUE; + } + if ("s".equalsIgnoreCase(s)) { + return Boolean.FALSE; + } + + throw toCSSParseException("invalidCaseInSensitivelyIdentifier", new String[] { s }, createLocator(t)); +} diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java index 6bd103c..073d98d 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java @@ -778,6 +778,21 @@ public void uri() throws Exception { assertEquals("cssparser", value.getStringValue()); } + /** + * @throws Exception if any error occurs + */ + @Test + public void inherit() throws Exception { + final LexicalUnit lu = LexicalUnitImpl.createInherit(null); + final CSSValueImpl value = new CSSValueImpl(lu, false); + + assertEquals("inherit", value.getCssText()); + assertEquals(CSSPrimitiveValueType.CSS_IDENT, value.getPrimitiveType()); + assertEquals(LexicalUnit.LexicalUnitType.INHERIT, value.getLexicalUnitType()); + assertEquals(0.0, value.getDoubleValue(), 0.00001); + assertEquals("inherit", value.getStringValue()); + } + /** * @throws Exception if any error occurs */ From bbedd8ece1e2bbd3abd68209277cc71f835d4266 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 23 Dec 2024 08:23:24 +0100 Subject: [PATCH 051/137] support 'none' in rgb colors --- .../htmlunit/cssparser/dom/CSSValueImpl.java | 6 + .../htmlunit/cssparser/dom/RGBColorImpl.java | 50 +- .../cssparser/parser/LexicalUnit.java | 5 + .../cssparser/parser/LexicalUnitImpl.java | 11 + src/main/javacc/CSS3Parser.jj | 4873 +++++++++-------- .../cssparser/dom/CSSValueImplTest.java | 15 + .../cssparser/dom/RGBColorImplTest.java | 8 + .../cssparser/parser/CSS3ParserTest.java | 242 +- 8 files changed, 2725 insertions(+), 2485 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java index 9fce9ac..cc50dc7 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java @@ -384,6 +384,8 @@ public CSSPrimitiveValueType getPrimitiveType() { return CSSPrimitiveValueType.CSS_KHZ; case IDENT: return CSSPrimitiveValueType.CSS_IDENT; + case NONE: + return CSSPrimitiveValueType.CSS_IDENT; case STRING_VALUE: return CSSPrimitiveValueType.CSS_STRING; case ATTR: @@ -473,6 +475,10 @@ public String getStringValue() throws DOMException { return "inherit"; } + if (lu.getLexicalUnitType() == LexicalUnitType.NONE) { + return "none"; + } + // for rgba values we are using this type if (lu.getLexicalUnitType() == LexicalUnitType.FUNCTION || lu.getLexicalUnitType() == LexicalUnitType.FUNCTION_CALC) { diff --git a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java index 98fddc6..4137b6a 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java @@ -53,8 +53,10 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep function_ = functionLC; LexicalUnit next = lu; + if (next == null) { + throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); + } - final boolean percentage = LexicalUnitType.PERCENTAGE == next.getLexicalUnitType(); red_ = getPart(next); next = next.getNextLexicalUnit(); @@ -64,18 +66,22 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep commaSeparated_ = next.getLexicalUnitType() == LexicalUnitType.OPERATOR_COMMA; if (commaSeparated_) { + if (red_.getLexicalUnitType() == LexicalUnitType.NONE) { + throw new DOMException(DOMException.SYNTAX_ERR, + function_ + " has to use blank as separator if none is used."); + } + next = next.getNextLexicalUnit(); if (next == null) { throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); } - if (percentage && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " mixing numbers and percentages."); - } - if (!percentage && LexicalUnitType.PERCENTAGE == next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " mixing numbers and percentages."); - } green_ = getPart(next); + if (green_.getLexicalUnitType() == LexicalUnitType.NONE) { + throw new DOMException(DOMException.SYNTAX_ERR, + function_ + " has to use blank as separator if none is used."); + } + next = next.getNextLexicalUnit(); if (next == null) { throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); @@ -90,13 +96,11 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, function_ + "b requires at least three values."); } - if (percentage && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " mixing numbers and percentages."); - } - if (!percentage && LexicalUnitType.PERCENTAGE == next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " mixing numbers and percentages."); - } blue_ = getPart(next); + if (blue_.getLexicalUnitType() == LexicalUnitType.NONE) { + throw new DOMException(DOMException.SYNTAX_ERR, + function_ + " has to use blank as separator if none is used."); + } next = next.getNextLexicalUnit(); if (next == null) { @@ -112,6 +116,11 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep } alpha_ = getPart(next); + if (alpha_.getLexicalUnitType() == LexicalUnitType.NONE) { + throw new DOMException(DOMException.SYNTAX_ERR, + function_ + " has to use blank as separator if none is used."); + } + next = next.getNextLexicalUnit(); if (next != null) { throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for " + function_ + " function."); @@ -119,12 +128,6 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep return; } - if (percentage && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " mixing numbers and percentages."); - } - if (!percentage && LexicalUnitType.PERCENTAGE == next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " mixing numbers and percentages."); - } green_ = getPart(next); next = next.getNextLexicalUnit(); if (next == null) { @@ -135,12 +138,6 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep function_ + " requires consitent separators (blank or comma)."); } - if (percentage && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " mixing numbers and percentages."); - } - if (!percentage && LexicalUnitType.PERCENTAGE == next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " mixing numbers and percentages."); - } blue_ = getPart(next); next = next.getNextLexicalUnit(); if (next == null) { @@ -165,7 +162,8 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep private static CSSValueImpl getPart(final LexicalUnit next) { if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() || LexicalUnitType.INTEGER == next.getLexicalUnitType() - || LexicalUnitType.REAL == next.getLexicalUnitType()) { + || LexicalUnitType.REAL == next.getLexicalUnitType() + || LexicalUnitType.NONE == next.getLexicalUnitType()) { return new CSSValueImpl(next, true); } diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java index db8965c..deca757 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java @@ -93,10 +93,14 @@ enum LexicalUnitType { COUNTER_FUNCTION, /** COUNTERS_FUNCTION. */ COUNTERS_FUNCTION, + /** RGBCOLOR. */ RGBCOLOR, /** HSLCOLOR. */ HSLCOLOR, + /** NONE. */ + NONE, + /** DEGREE. */ DEGREE, /** GRADIAN. */ @@ -105,6 +109,7 @@ enum LexicalUnitType { RADIAN, /** TURN. */ TURN, + /** MILLISECOND. */ MILLISECOND, /** SECOND. */ diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java index e3c92e4..fcd7ab0 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java @@ -409,6 +409,9 @@ public String getCssText() { appendParams(sb); sb.append(")"); break; + case NONE: + sb.append("none"); + break; case IDENT: sb.append(getStringValue()); break; @@ -1076,6 +1079,14 @@ public static LexicalUnit createHslColor(final LexicalUnit prev, final String fu return new LexicalUnitImpl(prev, LexicalUnitType.HSLCOLOR, funct, params); } + /** + * @param prev the previous LexicalUnit + * @return lexical unit with type rgb color + */ + public static LexicalUnit createNone(final LexicalUnit prev) { + return new LexicalUnitImpl(prev, LexicalUnitType.NONE); + } + /** * @param prev the previous LexicalUnit * @param params the params diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index fe8751c..d3b2467 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1,2431 +1,2442 @@ -/* - * Copyright (c) 2019-2024 Ronald Brill. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -options { - IGNORE_CASE = true; - STATIC = false; - - UNICODE_INPUT = true; - USER_CHAR_STREAM = true; - -// DEBUG_TOKEN_MANAGER = true; -// DEBUG_PARSER = true; - - JDK_VERSION = "1.8"; -// JAVA_TEMPLATE_TYPE = "modern" -} - -PARSER_BEGIN(CSS3Parser) - -package org.htmlunit.cssparser.parser.javacc; - -import java.util.LinkedList; -import java.util.Locale; - -import org.htmlunit.cssparser.dom.CSSValueImpl; -import org.htmlunit.cssparser.dom.Property; -import org.htmlunit.cssparser.parser.AbstractCSSParser; -import org.htmlunit.cssparser.parser.CSSParseException; -import org.htmlunit.cssparser.parser.LexicalUnit; -import org.htmlunit.cssparser.parser.LexicalUnitImpl; -import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; -import org.htmlunit.cssparser.parser.Locatable; -import org.htmlunit.cssparser.parser.Locator; -import org.htmlunit.cssparser.parser.condition.AttributeCondition; -import org.htmlunit.cssparser.parser.condition.BeginHyphenAttributeCondition; -import org.htmlunit.cssparser.parser.condition.ClassCondition; -import org.htmlunit.cssparser.parser.condition.Condition; -import org.htmlunit.cssparser.parser.condition.IdCondition; -import org.htmlunit.cssparser.parser.condition.LangCondition; -import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; -import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; -import org.htmlunit.cssparser.parser.condition.PseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; -import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; -import org.htmlunit.cssparser.parser.media.MediaQuery; -import org.htmlunit.cssparser.parser.media.MediaQueryList; -import org.htmlunit.cssparser.parser.selector.ChildSelector; -import org.htmlunit.cssparser.parser.selector.DescendantSelector; -import org.htmlunit.cssparser.parser.selector.DirectAdjacentSelector; -import org.htmlunit.cssparser.parser.selector.ElementSelector; -import org.htmlunit.cssparser.parser.selector.GeneralAdjacentSelector; -import org.htmlunit.cssparser.parser.selector.PseudoElementSelector; -import org.htmlunit.cssparser.parser.selector.Selector; -import org.htmlunit.cssparser.parser.selector.SelectorList; -import org.htmlunit.cssparser.parser.selector.SelectorListImpl; -import org.htmlunit.cssparser.parser.selector.SimpleSelector; -import org.htmlunit.cssparser.util.ParserUtils; - -/** - * @author David Schweinsberg - * @author waldbaer - * @author Ahmed Ashour - * @author Ronald Brill - */ -public class CSS3Parser extends AbstractCSSParser { - - public CSS3Parser() { - this((CharStream) null); - } - - @Override - public String getParserVersion() { - return "http://www.w3.org/Style/CSS/"; - } - - protected String getGrammarUri() - { - return "http://www.w3.org/TR/WD-css3-syntax-20030813"; - } -} - -PARSER_END(CSS3Parser) - -TOKEN_MGR_DECLS : -{ -} - - TOKEN : -{ -// s [ \t\r\n\f]+ -// {s} {return S;} - < S: ( " "|"\t"|"\r"|"\n"|"\f" )+ > -// w {s}? -// | < W: ( )? > -} - - MORE : -{ - < "/*" > : COMMENT -} - - SKIP : -{ - < "*/" > : DEFAULT -} - - MORE : -{ - < ~[] > : COMMENT -} - - TOKEN : -{ -// h [0-9a-f] - < #H: ["0"-"9","a"-"f"] > -| < #HNUM: | | | | | > - -// nonascii [\200-\377] -// The two occurrences of "\377" represent the highest character number that -// current versions of Flex can deal with (decimal 255). They should be read as -// "\4177777" (decimal 1114111), which is the highest possible code point in -// Unicode/ISO-10646. -// Limitation: This parser can only handle Unicode characters up to \uFFFF -// (decimal 65535). -| < #NONASCII: ["\u0080"-"\uFFFF"] > - -// unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? -| < #UNICODE: "\\" ( "\r\n" | [" ","\t","\r","\n","\f"] )? > - -// escape {unicode}|\\[^\r\n\f0-9a-f] -| < #ESCAPE: | ( "\\" ~["\r","\n","\f","0"-"9","a"-"f"] ) > - -// nmstart [_a-z]|{nonascii}|{escape} -| < #NMSTART: ["_","a"-"z"] | | > - -// nmchar [_a-z0-9-]|{nonascii}|{escape} -| < #NMCHAR: ["_","a"-"z","0"-"9","-"] | | > - -// nl \n|\r\n|\r|\f -| < #NL: "\n" | "\r\n" | "\r" | "\f" > - -// string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\" -| < #STRING1: ( ~["\n","\r","\f","\\","\""] | "\\" | )* > - -// string2 \'([^\n\r\f\\']|\\{nl}|{escape})*\' -| < #STRING2: ( ~["\n","\r","\f","\\","\'"] | "\\" | )* > - -// comment \/\*[^*]*\*+([^/*][^*]*\*+)*\/ -| < #COMMENT_: "/" "*" ( ~["*"] )* ("*")+ ( ~["/","*"] ( ~["*"] )* ( "*" )+ )* "/"> - -| < AND: "and" > -| < NOT: "not" > -| < ONLY: "only" > - -// {num} {return NUMBER;} -| < NUMBER: > - -| < INHERIT: "inherit" > - -// ident -?{nmstart}{nmchar}* -// {ident} {return IDENT;} -| < IDENT: (< MINUS >)? ( )* > - -// name {nmchar}+ -| < #NAME: ( )+ > - -// num [0-9]+|[0-9]*"."[0-9]+ -| < NUM: ( ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ ) (["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+)? > - -// string {string1}|{string2} -// {string} {return STRING;} -| < STRING: ( "\"" "\"" ) | ( "\'" "\'" ) > { matchedToken.image = ParserUtils.trimBy(image, 1, 1); } - -// url ([!#$%&*-~]|{nonascii}|{escape})* -| < #URL: ( ["!","#","$","%","&","*"-"[","]"-"~"] | | )* > - -// A a|\\0{0,4}(41|61)(\r\n|[ \t\r\n\f])? -| < #A_LETTER: "a" | "\\" ("0")? ("0")? ("0")? ("0")? ( "41" | "61" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// C c|\\0{0,4}(43|63)(\r\n|[ \t\r\n\f])? -| < #C_LETTER: "c" | "\\" ("0")? ("0")? ("0")? ("0")? ( "43" | "63" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// D d|\\0{0,4}(44|64)(\r\n|[ \t\r\n\f])? -| < #D_LETTER: "d" | "\\" ("0")? ("0")? ("0")? ("0")? ( "44" | "64" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// E e|\\0{0,4}(45|65)(\r\n|[ \t\r\n\f])? -| < #E_LETTER: "e" | "\\" ("0")? ("0")? ("0")? ("0")? ( "45" | "65" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// F f|\\0{0,4}(46|66)(\r\n|[ \t\r\n\f])? -| < #F_LETTER: "f" | "\\" ("0")? ("0")? ("0")? ("0")? ( "46" | "66" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// G g|\\0{0,4}(47|67)(\r\n|[ \t\r\n\f])?|\\g -| < #G_LETTER: "g" | "\\" ("0")? ("0")? ("0")? ("0")? ( "47" | "67" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "g" > - -// H h|\\0{0,4}(48|68)(\r\n|[ \t\r\n\f])?|\\h -| < #H_LETTER: "h" | "\\" ("0")? ("0")? ("0")? ("0")? ( "48" | "68" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "h" > - -// I i|\\0{0,4}(49|69)(\r\n|[ \t\r\n\f])?|\\i -| < #I_LETTER: "i" | "\\" ("0")? ("0")? ("0")? ("0")? ( "49" | "69" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "i" > - -// K k|\\0{0,4}(4b|6b)(\r\n|[ \t\r\n\f])?|\\k -| < #K_LETTER: "k" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4b" | "6b" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "k" > - -// L l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l -| < #L_LETTER: "l" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4c" | "6c" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "l" > - -// M m|\\0{0,4}(4d|6d)(\r\n|[ \t\r\n\f])?|\\m -| < #M_LETTER: "m" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4d" | "6d" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "m" > - -// N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n -| < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > - -// O o|\\0{0,4}(51|71)(\r\n|[ \t\r\n\f])?|\\o -| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "51" | "71" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > - -// P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p -| < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > - -// R r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r -| < #R_LETTER: "r" | "\\" ("0")? ("0")? ("0")? ("0")? ( "52" | "72" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "r" > - -// S s|\\0{0,4}(53|73)(\r\n|[ \t\r\n\f])?|\\s -| < #S_LETTER: "s" | "\\" ("0")? ("0")? ("0")? ("0")? ( "53" | "73" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "s" > - -// T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t -| < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > - -// U v|\\0{0,4}(55|76)(\r\n|[ \t\r\n\f])?|\\v -| < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > - -// X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x -| < #X_LETTER: "x" | "\\" ("0")? ("0")? ("0")? ("0")? ( "58" | "78" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "x" > - -// Z z|\\0{0,4}(5a|7a)(\r\n|[ \t\r\n\f])?|\\z -| < #Z_LETTER: "z" | "\\" ("0")? ("0")? ("0")? ("0")? ( "5a" | "7a" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "z" > - -// "" {return CDC;} -| < CDC: "-->" > - -// "~=" {return INCLUDES;} -| < INCLUDES: "~=" > - -// "|=" {return DASHMATCH;} -| < DASHMATCH: "|=" > - -// "^=" {return PREFIXMATCH;} -| < PREFIXMATCH: "^=" > - -// "$=" {return SUFFIXMATCH;} -| < SUFFIXMATCH: "$=" > - -// "*=" {return SUBSTRINGMATCH;} -| < SUBSTRINGMATCH: "*=" > - -// {w}"{" {return LBRACE;} -| < LBRACE: "{" > -| < RBRACE: "}" > - -| < LROUND: "(" > -| < RROUND: ")" > - -| < DOT: "." > -| < SEMICOLON: ";" > -| < COLON: ":" > -| < ASTERISK: "*" > -| < SLASH: "/" > -| < MINUS: "-" > -| < EQUALS: "=" > -| < LSQUARE: "[" > -| < RSQUARE: "]" > - -// {w}"+" {return PLUS;} -| < PLUS: "+" > - -// {w}">" {return GREATER;} -| < GREATER: ">" > - -// {w}"~" {return TILDE;} -| < TILDE: "~" > - -// {w}"," {return COMMA;} -| < COMMA: "," > - -// "#"{name} {return HASH;} -| < HASH: "#" > - -// @{I}{M}{P}{O}{R}{T} {return IMPORT_SYM;} -| < IMPORT_SYM: "@" > - -// @{P}{A}{G}{E} {return PAGE_SYM;} -| < PAGE_SYM: "@" > - -// @{M}{E}{D}{I}{A} {return MEDIA_SYM;} -| < MEDIA_SYM: "@" > - -// "@{F}{O}{N}{T}-{F}{A}{C}{E}" {return FONT_FACE_SYM;} -| < FONT_FACE_SYM: "@" < MINUS > > - -// @{C}{H}{A}{R}{S}{E}{T} {return CHARSET_SYM;} -| < CHARSET_SYM: "@" > - -// "!"({w}|{comment})*{I}{M}{P}{O}{R}{T}{A}{N}{T} {return IMPORTANT_SYM;} -| < IMPORTANT_SYM: "!" ( | )* > - -// {num}{E}{M} {return EMS;} -| < EMS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{R}{E}{M} {return REM;} -| < REM: "rem" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{E}{X} {return EXS;} -| < EXS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{C}{H} {return CH;} -| < CH: "ch" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{W} {return VW;} -| < VW: "vw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{H} {return VH;} -| < VH: "vh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{M}{I}{N} {return VMIN;} -| < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{V}{M}{I}{N} {return VMAX;} -| < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{P}{X} {return LENGTH;} -| < LENGTH_PX: "px" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{C}{M} {return LENGTH;} -| < LENGTH_CM: "cm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{M}{M} {return LENGTH;} -| < LENGTH_MM: "mm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{I}{N} {return LENGTH;} -| < LENGTH_IN: "in" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{P}{T} {return LENGTH;} -| < LENGTH_PT: "pt" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{P}{C} {return LENGTH;} -| < LENGTH_PC: "pc" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{Q} {return LENGTH;} -| < LENGTH_Q: "Q" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{D}{E}{G} {return ANGLE;} -| < ANGLE_DEG: "deg" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{R}{A}{D} {return ANGLE;} -| < ANGLE_RAD: "rad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{G}{R}{A}{D} {return ANGLE;} -| < ANGLE_GRAD: "grad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{T}{U}{R}{N} {return ANGLE;} -| < ANGLE_TURN: "turn" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{M}{S} {return TIME;} -| < TIME_MS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{S} {return TIME;} -| < TIME_S: > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{H}{Z} {return FREQ;} -| < FREQ_HZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{K}{H}{Z} {return FREQ;} -| < FREQ_KHZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{D}{P}{I} {return RESOLUTION;} -| < RESOLUTION_DPI: "dpi" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{D}{P}{C}{M} {return RESOLUTION;} -| < RESOLUTION_DPCM: "dpcm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}% {return PERCENTAGE;} -| < PERCENTAGE: "%" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{ident} {return DIMENSION;} -| < DIMENSION: ( ["a"-"z","0"-"9"] | | )* > - -| < #H_PLACEHOLDER: ( | "?"){1,6} > -| < UNICODE_RANGE: "u+" (< MINUS > < H_PLACEHOLDER >)? > - -// "url("{w}{string}{w}")" {return URI;} -// "url("{w}{url}{w}")" {return URI;} -| < URI: "url" ( )* ( | ) ( )* > { matchedToken.image = ParserUtils.trimUrl(image); } - -// {N}{O}{T} "(" {return FUNCTION_NOT;} -| < FUNCTION_NOT: "not" > - -// {L}{A}{N}{G} "(" {return FUNCTION_LANG;} -| < FUNCTION_LANG: "lang" > - -// {C}{A}{L}{C} "(" {return FUNCTION_CALC;} -| < FUNCTION_CALC: "calc" > - -// {V}{A}{R} "(" {return FUNCTION_VAR;} -| < FUNCTION_VAR: "var" > - -| < FUNCTION_RGB: "rgb" ("a")? > -| < FUNCTION_HSL: "hsl" ("a")? > - -| < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > - -// {ident} "(" {return FUNCTION;} -| < FUNCTION: > - -| < ATKEYWORD: "@" > -} - -<*> TOKEN: -{ - < UNKNOWN: ~[] > - { - // System.err.println("Illegal character : " + image.toString()); - } -} - -// -// stylesheet -// : [ CHARSET_SYM STRING ';' ]? -// [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* -// [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* -// ; -// -void styleSheet() : -{ -} -{ - try - { - { handleStartDocument(); } - styleSheetRuleList() - - } - finally - { - handleEndDocument(); - } -} - -void styleSheetRuleList() : -{ - boolean ruleFound = false; -} -{ - ( | | )* - ( - charsetRule() - ( | | )* - )? - ( - ( - ( - importRule(ruleFound) - | - ( - styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() - ) - { - ruleFound = true; - } - ) - | - ( - // skip until the next RBRACE - { ParseException e = generateParseException(); } - invalidRule() - { - Token t = getNextToken(); - - boolean charsetProcessed = false; - if (t.kind == CHARSET_SYM) { - t = getNextToken(); - if (t.kind == S) { - t = getNextToken(); - if (t.kind == STRING) { - t = getNextToken(); - if (t.kind == SEMICOLON) { - getNextToken(); - charsetProcessed = true; - } - } - } - CSSParseException cpe = toCSSParseException("misplacedCharsetRule", e); - getErrorHandler().error(cpe); - getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - } - - if (!charsetProcessed) { - if (t.kind == EOF) { - return; - } - - CSSParseException cpe = toCSSParseException("invalidRule", e); - getErrorHandler().error(cpe); - getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - while (t.kind != RBRACE && t.kind != EOF ) { - t = getNextToken(); - } - if (t.kind == EOF) { - return; - } - } - } - ) - ) - ( | | )* - )* -} - -JAVACODE -void invalidRule() -{ -} - -// -// This is used by ASTStyleSheet.insertRule to parse a single rule -// -void styleSheetRuleSingle() : -{ -} -{ - ( )* - ( charsetRule() | importRule(false) | styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() ) - ( )* -} - -void charsetRule() : -{ - Token t; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - - t = - - { - handleCharset(t.toString(), locator); - } - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidCharsetRule", e)); - } -} - -void unknownAtRule() : -{ - String s; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - s = skip(); - handleIgnorableAtRule(s, locator); - } - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidUnknownRule", generateParseException())); - } -} - -// -// import -// : IMPORT_SYM S* -// [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S* -// ; -// -void importRule(final boolean nonImportRuleFoundBefore) : -{ - Token t; - MediaQueryList ml = new MediaQueryList(); - Locator locator; -} -{ - try - { - { - ParseException e = null; - if (nonImportRuleFoundBefore) - { - e = generateParseException(); - } - } - - { - locator = createLocator(token); - } - ( )* - ( t = | t = ) ( )* - ( mediaList(ml) )? - - { - if (nonImportRuleFoundBefore) - { - getErrorHandler().error(toCSSParseException("invalidImportRuleIgnored2", e)); - } - else - { - handleImportStyle(unescape(t.image, false), ml, null, locator); - } - } - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipAtRule(); - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidImportRule", e)); - error_skipAtRule(); - } -} - -// -// media -// : MEDIA_SYM S* medium [ COMMA S* medium ]* '{' S* ruleset* '}' S* -// ; -// -void mediaRule() : -{ - boolean start = false; - MediaQueryList ml = new MediaQueryList(); - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - ( )* - mediaList(ml) - { - start = true; - handleStartMedia(ml, locator); - } - ( )* - ( mediaRuleList() )? - - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidMediaRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringRule", cpe); - } - finally - { - if (start) { - handleEndMedia(ml); - } - } -} - -void mediaList(MediaQueryList ml) : -{ - MediaQuery mq; -} -{ - try - { - mq = mediaQuery() - { - ml.setLocator(createLocator(token)); - } - ( ( )* { ml.add(mq); } mq = mediaQuery() )* - { ml.add(mq); } - } - catch(ParseException e) - { - throw toCSSParseException("invalidMediaList", e); - } -} - -// -// media_query -// : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* -// | expression [ AND S* expression ]* -// ; -// -MediaQuery mediaQuery() : -{ - String s; - MediaQuery mq; - Property p; - boolean only = false; - boolean not = false; -} -{ - ( - ( - ( - ( - { only = true; } - | - { not = true; } - ) ( )* - )? - s = medium() - { mq = new MediaQuery(s, only, not); mq.setLocator(createLocator(token)); } - ( - ( )* - p = mediaExpression() - { - mq.addMediaProperty(p); - } - )* - ) - | - ( - p = mediaExpression() - { - mq = new MediaQuery(null, only, not); - mq.setLocator(createLocator(token)); - mq.addMediaProperty(p); - } - ( - ( )* - p = mediaExpression() - { - mq.addMediaProperty(p); - } - )* - ) - ) - { return mq; } -} - -// -// expression -// : '(' S* media_feature S* [ ':' S* expr ]? ')' S* -// ; -// -Property mediaExpression() : -{ - String p; - LexicalUnit e = null; - Property prop; - Token t; -} -{ - - ( )* - ( - t = ( )* { p = unescape(t.image, false); } - | t = ( )* { p = unescape(t.image, false); } - ) - ( - ( )* - e = expr() - )? - - ( )* - { - if(e==null) - { - prop = new Property(p, null, false); - } - else - { - prop = new Property(p, new CSSValueImpl(e), false); - } - return prop; - } -} - -void mediaRuleList() : -{ -} -{ - ( ( styleRule() | mediaRule() | pageRule() | importRule(true) | unknownAtRule() ) ( )* )+ -} - -// -// medium -// : IDENT S* -// ; -// -String medium() : -{ - Token t; -} -{ - t = ( )* - { - return unescape(t.image, false); - } -} - -// -// page -// : PAGE_SYM S* pseudo_page? S* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void pageRule() : -{ - String sel = null; - boolean start = false; - Locator locator; -} -{ - try { - - { - locator = createLocator(token); - } - ( )* - - ( sel = pageSelectorList() )? - - ( )* - { - start = true; - handleStartPage(null, sel, locator); - } - - styleDeclaration() - - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidPageRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringRule", cpe); - } - finally { - if (start) { - handleEndPage(null, sel); - } - } -} - -// -// pageSelectorList -// : [ pageSelector S* [ ',' pageSelector S* ]* ]? -// ; -// -String pageSelectorList() : -{ - String sel; - LinkedList selectors = new LinkedList<>(); -} -{ - sel = pageSelector() { selectors.add(sel); } - ( - ( )* sel = pageSelector() { selectors.add(sel); } - )* - - { return String.join(", ", selectors); } -} - -// -// pageSelector -// : pseudoPage+ | IDENT pseudoPage* -// ; -// -String pageSelector() : -{ - StringBuilder pseudos = new StringBuilder(); - String pseudo; - Token ident; -} -{ - ( - pseudo = pseudoPage() { pseudos.append(pseudo); } - | - ident = { pseudos.append(unescape(ident.image, false)); } - ) - ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* - ( )* - - { return pseudos.toString(); } -} - -// -// pseudoPage -// : ':' IDENT -// ; -// -String pseudoPage() : -{ - Token t; -} -{ - t = { return ":" + normalizeAndValidatePagePseudoClass(t); } -} - -// -// font_face -// : FONT_FACE_SYM S* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void fontFaceRule() : -{ - boolean start = false; - Locator locator; -} -{ - try { - - { - locator = createLocator(token); - } - ( )* - ( )* { start = true; handleStartFontFace(locator); } - styleDeclaration() - - } - catch(ParseException e) - { - throw toCSSParseException("invalidFontFaceRule", e); - } - finally { - if (start) { - handleEndFontFace(); - } - } -} - -// -// operator -// : '/' S* | COMMA S* | /* empty */ -// ; -// -LexicalUnit operator(LexicalUnit prev) : -{ -} -{ - ( )* { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_SLASH); } - | ( )* { return LexicalUnitImpl.createComma(prev); } -} - -// -// combinator -// : PLUS S* -// | GREATER S* -// | S -// ; -// -char combinator() : -{ - char c = ' '; -} -{ - ( - { c='+'; } ( )* - | { c='>'; } ( )* - | { c='~'; } ( )* - | ( ( { c='+'; } | { c='>'; } | { c='~'; } ) ( )* )? - ) - { return c; } -} - -// -// unary_operator -// : '-' | PLUS -// ; -// -char unaryOperator() : -{ -} -{ - ( { return '-'; } | { return '+'; } ) -} - - -// -// ruleset -// : selector [ COMMA S* selector ]* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void styleRule() : -{ - SelectorList selList = null; - boolean start = false; - Token t; -} -{ - try { - { - t = token; - } - selList = selectorList() - ( )* - { - start = true; - handleStartSelector(selList, createLocator(t.next)); - } - styleDeclaration() - ( | ) - } - catch(CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidStyleRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringFollowingDeclarations", cpe); - } - finally { - if (start) { - handleEndSelector(selList); - } - } -} - -SelectorList parseSelectorsInternal() : -{ - SelectorList selectors; -} -{ - ( )* - selectors = selectorList() - - { - return selectors; - } -} - -SelectorList selectorList() : -{ - SelectorListImpl selList = new SelectorListImpl(); - Selector sel; -} -{ - sel = selector() { selList.setLocator(sel.getLocator()); } - ( ( )* - { selList.add(sel); } - sel = selector() { selList.setLocator(sel.getLocator()); } - )* - { - selList.add(sel); - return selList; - } -} - -// -// selector -// : simple_selector_sequence [ combinator simple_selector_sequence ]* -// ; -// -Selector selector() : -{ - Selector sel; - char comb; -} -{ - try { - sel = simpleSelector(null, ' ') - ( LOOKAHEAD(2) comb = combinator() sel = simpleSelector(sel, comb) )* ( )* - { - return sel; - } - } catch (ParseException e) { - throw toCSSParseException("invalidSelector", e); - } -} - -// -// simple_selector -// : element_name [ HASH | class | attrib | pseudo ]* -// | [ HASH | class | attrib | pseudo ]+ -// ; -// -Selector simpleSelector(Selector sel, char comb) : -{ - ElementSelector elemSel = null; - SimpleSelector simpleSel = null; - Condition c = null; - SimpleSelector pseudoElementSel = null; - Object o = null; -} -{ - try - { - ( - ( elemSel = elementName() - ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } - | ( - o = pseudo(null != pseudoElementSel) - { if (o instanceof Condition) - { elemSel.addCondition((Condition) o); - } else { - pseudoElementSel = (SimpleSelector) o; - } - } - ) - )* - ) - | - ( { elemSel = new ElementSelector(null, createLocator(token)); } - ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } - | ( - o = pseudo(null != pseudoElementSel) - { if (o instanceof Condition) - { elemSel.addCondition((Condition) o); - } else { - pseudoElementSel = (SimpleSelector) o; - } - } - ) - )+ - ) - ) - - { - simpleSel = elemSel; - if (sel == null) { - sel = simpleSel; - } else { - switch (comb) { - case ' ': - sel = new DescendantSelector(sel, simpleSel); - break; - case '+': - sel = new DirectAdjacentSelector(sel, simpleSel); - break; - case '>': - sel = new ChildSelector(sel, simpleSel); - break; - case '~': - sel = new GeneralAdjacentSelector(sel, simpleSel); - break; - } - } - if (pseudoElementSel != null) - { - sel = new DescendantSelector(sel, pseudoElementSel); - } - - return sel; - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidSimpleSelector", e); - } -} - -// -// class -// : '.' IDENT -// ; -// -Condition _class(boolean pseudoElementFound) : -{ - Token t; - Locator locator; - ParseException pe = null; -} -{ - try - { - { if (pseudoElementFound) { pe = generateParseException(); } } - - { - locator = createLocator(token); - } - - ( t = | t = | t = ) - { - if (pseudoElementFound) { throw pe; } - return new ClassCondition(unescape(t.image, false), locator); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidClassSelector", e); - } -} - -// -// element_name -// : IDENT | '*' -// ; -// -ElementSelector elementName() : -{ - Token t; -} -{ - try - { - t = - { - return new ElementSelector(unescape(t.image, false), createLocator(t)); - } - | - { - return new ElementSelector(null, createLocator(token)); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidElementName", e); - } -} - -// -// attrib -// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH | PREFIXMATCH | SUFFIXMATCH | SUBSTRINGMATCH ] S* -// [ IDENT | STRING ] S* ]? ']' -// ; -// -Condition attrib(boolean pseudoElementFound) : -{ - Token t; - String name = null; - String value = null; - Boolean insensitive = null; - int type = 0; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - ( )* - { if (pseudoElementFound) { throw generateParseException(); } } - - t = { name = unescape(t.image, false); } - ( )* - ( - ( - { type = 4; } - | - { type = 5; } - | - { type = 6; } - | - "=" { type = 1; } // don't use because of the leading whitespace - | - { type = 2; } - | - { type = 3; } - ) - ( )* - ( - ( - t = { value = unescape(t.image, false); } - | - t = { value = unescape(t.image, false); } - ) - - ( )* - ) - ( - t = { insensitive = handleCaseInSensitive(t); } - ( )* - )? - )? - - { - Condition c = null; - switch (type) { - case 0: - c = new AttributeCondition(name, null, insensitive); - break; - case 1: - c = new AttributeCondition(name, value, insensitive); - break; - case 2: - c = new OneOfAttributeCondition(name, value, insensitive); - break; - case 3: - c = new BeginHyphenAttributeCondition(name, value, insensitive); - break; - case 4: - c = new PrefixAttributeCondition(name, value, insensitive); - break; - case 5: - c = new SuffixAttributeCondition(name, value, insensitive); - break; - case 6: - c = new SubstringAttributeCondition(name, value, insensitive); - break; - } - c.setLocator(locator); - return c; - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidAttrib", e); - } -} - -// -// pseudo -// : ':' (':')? -// [ IDENT -// | FUNCTION_NOT S* selector() S* ')' -// | FUNCTION_LANG S* IDENT S* ')' -// | FUNCTION S* ((PLUS | MINUS | DIMENSION | NUMBER | STRING | IDENT)? S*)+ ')' -// ] -// ; -// -Object pseudo(boolean pseudoElementFound) : -{ - Token t; - String function; - boolean doubleColon = false; - SelectorList selectorList; - Locator locator; -} -{ - try - { - { locator = createLocator(token); } - ( { doubleColon = true; } )? - - ( - t = - { - String s = unescape(t.image, false); - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } - if ("first-line".equals(s) - || "first-letter".equals(s) - || "before".equals(s) - || "after".equals(s)) - { - return new PseudoElementSelector(s, locator, doubleColon); - } - return new PseudoClassCondition(s, locator, doubleColon); - } - | - ( - t = { function = unescape(t.image, false); } - ( )* - selectorList = selectorList() - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } - return new NotPseudoClassCondition(selectorList, locator, doubleColon); - } - ) - | - ( - t = { function = unescape(t.image, false); } - ( )* - t = { String lang = unescape(t.image, false); } - ( )* - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { "lang(" + lang + ")" }, locator); } - return new LangCondition(lang, locator); - } - ) - | - ( - t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } - ( )* - ( - (t = | t = | t = | t = | t = | t = ) - { args.append(unescape(t.image, false)); } - ( t = - { args.append(unescape(t.image, false)); } - )* - )+ - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + args.toString().trim() + ")" }, locator); } - return new PseudoClassCondition(function + args.toString().trim() + ")", locator, doubleColon); - } - ) - ) - } - catch (ParseException e) - { - throw toCSSParseException("invalidPseudo", e); - } -} - -Condition hash(boolean pseudoElementFound) : -{ - Token t; - ParseException pe = null; -} -{ - try - { - { if (pseudoElementFound) { pe = generateParseException(); } } - t = - { - if (pseudoElementFound) { throw pe; } - return new IdCondition(unescape(t.image.substring(1), false), createLocator(t)); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidHash", e); - } -} - -void styleDeclaration() : -{ -} -{ - ( declaration() )? - ( ( )* ( declaration() )? )* -} - -// -// declaration -// : property ':' S* expr prio? -// | -// ; -// -void declaration() : -{ - String p; - LexicalUnit e = null; - Token t; - boolean priority = false; - Locator starHack = null; - Locator locator = null; -} -{ - try - { - // at the moment i have no better idea how to handle the - // infamous css-star-hack (http://en.wikipedia.org/wiki/CSS_filter#Star_hack) - // smart (means: ignoring only one decl) - ( { starHack = createLocator(token); } )? - ( - ( - t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } - ( )* - e = expr() - ) - | - ( - t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } - ( )* - ( e = expr() )? - ) - ) - - ( priority = prio() )? - - // maybe there are strange characters at the end - create error and skip - ( t = - { - locator = createLocator(t); - CSSParseException cpe = toCSSParseException("invalidDeclarationInvalidChar", new String[] {t.image}, locator); - getErrorHandler().error(cpe); - error_skipdecl(); - } - )? - - { - if (starHack != null) - { - CSSParseException cpe = toCSSParseException("invalidDeclarationStarHack", new Object[0], starHack); - getErrorHandler().error(cpe); - return; - } - handleProperty(p, e, priority, locator); - } - } - catch (CSSParseException ex) - { - getErrorHandler().error(ex); - error_skipdecl(); - } - catch (ParseException ex) - { - CSSParseException cpe = toCSSParseException("invalidDeclaration", ex); - getErrorHandler().error(cpe); - error_skipdecl(); - } -} - -// -// prio -// : IMPORTANT_SYM S* -// ; -boolean prio() : -{ -} -{ - ( )* - { return true; } -} - -// -// expr -// : term [ operator term ]* -// ; -LexicalUnit expr() : -{ - LexicalUnit head; - LexicalUnit body; -} -{ - try - { - head = term(null) { body = head; } - ( - ( body = operator(body) )? - body = term(body) - )* - { return head; } - } - catch (ParseException ex) - { - throw toCSSParseException("invalidExpr", ex); - } -} - -// -// term -// : unary_operator? -// [ NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | function ] -// | STRING | IDENT | URI | hexcolor | DIMENSION -// S* -// ; -// -LexicalUnit term(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit value = null; - Locator locator = null; -} -{ - ( op = unaryOperator() )? { if (op != ' ') { locator = createLocator(token); } } - ( - ( value = number(prev, op) - | value = dimension(prev, op) - | value = percentage(prev, op) - | value = function(prev) - | value = rgbColor(prev) - | value = hslColor(prev) - | value = calc(prev) - | value = var(prev) - ) - | t = { value = LexicalUnitImpl.createString(prev, unescape(t.image, false)); } - | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } - | - ( - t = - ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? - ) - { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - | t = { value = LexicalUnitImpl.createURI(prev, unescape(t.image, true)); } - | value = unicodeRange(prev) - | value = hexcolor(prev) - | t = - { - int n = getLastNumPos(t.image); - value = LexicalUnitImpl.createDimension( - prev, - doubleValue(op, t.image.substring(0, n+1)), - t.image.substring(n+1)); - } - | t = { value = LexicalUnitImpl.createInherit(prev); } - ) - { - if (locator == null) - { - locator = createLocator(token); - } - } - ( )* - { - if(value != null) - { - value.setLocator(locator); - } - return value; - } -} - -// -// function -// : FUNCTION S* ((EQUALS | COMMA | (unaryOperator? NUMBER) | STRING | IDENT | URI)? S*)+ ')' S* -// ; -// -LexicalUnit function(LexicalUnit prev) : -{ - Token t; - LexicalUnit param = null; - LexicalUnit body = null; - String funct = ""; -} -{ - t = { funct = funct + unescape(t.image, false); } - ( )* - ( - param = term(null) { body = param; } - ( - ( - ( - t = { body = LexicalUnitImpl.createComma(body); } - | t = { body = LexicalUnitImpl.createIdent(body, t.image); } - ) - ( )* - )? - body = term(body) - )* - )? - - { - return functionInternal(prev, funct, param); - } -} - -// -// calc() -// https://www.w3.org/TR/css3-values/#calc-syntax -// = calc( ) -// -LexicalUnit calc(LexicalUnit prev) : -{ - Token t; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); - String funct = ""; -} -{ - t = { funct = unescape(t.image, false); } - ( )* - calcSum(head) - - { - return functionInternal(prev, funct, head.getNextLexicalUnit()); - } -} - -// -// calcSum() -// = [ [ '+' | '-' ] ]* -// -LexicalUnit calcSum(LexicalUnit prev) : -{ -} -{ - ( - prev = calcProduct(prev) - ( - ( - { prev = LexicalUnitImpl.createPlus(prev); } - | { prev = LexicalUnitImpl.createMinus(prev); } - ) - ( )* - prev = calcProduct(prev) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcProduct() -// = [ '*' | '/' ]* -// -LexicalUnit calcProduct(LexicalUnit prev) : -{ -} -{ - ( - prev = calcValue(prev) - ( - ( - { prev = LexicalUnitImpl.createMultiply(prev); } - ( )* - prev = calcValue(prev) - ) - | - ( - { prev = LexicalUnitImpl.createDivide(prev); } - ( )* - prev = calcNumberValue(prev) - ) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcValue() -// = | | | ( ) -// -LexicalUnit calcValue(LexicalUnit prev) : -{ - char op = ' '; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); -} -{ - ( - ( - ( - (op = unaryOperator() )? - ( - prev = number(prev, op) - | prev = dimension(prev, op) - | prev = percentage(prev, op) - ) - ) - | prev = var(prev) - | - ( - ( | ) - calcSum(head) - - ) - { - // use an empty function as block scope - prev = functionInternal(prev, "(", head.getNextLexicalUnit()); - } - ) - ( )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberSum() -// = [ [ '+' | '-' ] ]* -// -LexicalUnit calcNumberSum(LexicalUnit prev) : -{ -} -{ - ( - prev = calcNumberProduct(prev) - ( - ( - { prev = LexicalUnitImpl.createPlus(prev); } - | { prev = LexicalUnitImpl.createMinus(prev); } - ) - ( )* - prev = calcNumberProduct(prev) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberProduct() -// = [ '*' | '/' ]* -// -LexicalUnit calcNumberProduct(LexicalUnit prev) : -{ -} -{ - ( - prev = calcNumberValue(prev) - ( - ( - { prev = LexicalUnitImpl.createMultiply(prev); } - ( )* - prev = calcNumberValue(prev) - ) - | - ( - { prev = LexicalUnitImpl.createDivide(prev); } - ( )* - prev = calcNumberValue(prev) - ) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberValue() -// = | ( ) -// -LexicalUnit calcNumberValue(LexicalUnit prev) : -{ - Token t; - char op = ' '; - String funct = "("; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); -} -{ - ( - ( - ( - (op = unaryOperator() )? - prev = number(prev, op) - ) - | prev = var(prev) - | - ( - ( - t = { funct = unescape(t.image, false); } - | t = { funct = unescape(t.image, false); } - ) - calcNumberSum(head) - - ) - { - // use an empty function as block scope - prev = functionInternal(prev, funct, head.getNextLexicalUnit()); - } - ) - ( )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// var() -// https://developer.mozilla.org/en-US/docs/Web/CSS/var -// var( , ? ) -// -LexicalUnit var(LexicalUnit prev) : -{ - Token t; - LexicalUnit current, propertyName; - String funct = ""; -} -{ - t = { funct = unescape(t.image, false); } - ( )* - t = { current = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); propertyName = current; } - ( )* - ( - { current = LexicalUnitImpl.createComma(current); } - ( )* - ( current = term(current) )? - )* - - { - return functionInternal(prev, funct, propertyName); - } -} - -// rgb() / rgba() -// -LexicalUnit rgbColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - (op = unaryOperator() )? - ( - param = number(null, op) - | param = percentage(null, op) - ) - ) - { op = ' '; next = param; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - ( - ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } - ) - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - ) - - ( )* - )? - - - { - return rgbColorInternal(prev, funct, param); - } -} - - -// hsl() / hsla() -// -LexicalUnit hslColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - (op = unaryOperator() )? - ( - param = number(null, op) - | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } - ) - ) - { op = ' '; next = param; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - ( - ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } - ) - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - ) - - ( )* - )? - - - { - return hslColorInternal(prev, funct, param); - } -} - -// -// number() -// -LexicalUnit number(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = - ) - { - try - { - value = LexicalUnitImpl.createNumber(prev, intValue(op, t.image)); - } - catch (NumberFormatException e) - { - value = LexicalUnitImpl.createNumber(prev, doubleValue(op, t.image)); - } - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// percentage() -// -LexicalUnit percentage(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createPercentage(prev, doubleValue(op, t.image)); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// dimension() -// -LexicalUnit dimension(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createPixel(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createCentimeter(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createMillimeter(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createInch(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createPoint(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createPica(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createQuater(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createEm(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRem(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createEx(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createCh(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVw(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVh(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVMin(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVMax(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createMillisecond(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createSecond(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createHertz(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createKiloHertz(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpi"); } - | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpcm"); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// unicodeRange -// -LexicalUnit unicodeRange(LexicalUnit prev) : -{ - Token t; - StringBuilder range = new StringBuilder(); -} -{ - t = { range.append(unescape(t.image, false)); } - { - return LexicalUnitImpl.createIdent(prev, range.toString().toUpperCase(Locale.ROOT)); - } -} - -// -// hexcolor -// : HASH S* -// ; -// -LexicalUnit hexcolor(LexicalUnit prev) : -{ - Token t; -} -{ - t = - { - return hexColorInternal(prev, t); - } -} - -JAVACODE -String skip() { - StringBuilder sb = new StringBuilder(); - int nesting = 0; - Token t = getToken(0); - if (t.image != null) { - sb.append(t.image); - } - - do { - t = getNextToken(); - if (t.kind == EOF) { - break; - } - sb.append(t.image); - appendUnit(t, sb); - - if (t.kind == LBRACE) { - nesting++; - } - else if (t.kind == RBRACE) { - nesting--; - } - } - while ((t.kind != RBRACE && t.kind != SEMICOLON) || nesting > 0); - - return sb.toString(); -} - -JAVACODE -String skipUnit() { - StringBuilder sb = new StringBuilder(); - - Token t = token; - Token oldToken = null; - while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { - oldToken = t; - sb.append(oldToken.image); - appendUnit(t, sb); - - t = getNextToken(); - } - if (t.kind != EOF) { - token = oldToken; - } - - return sb.toString(); -} - -JAVACODE -void appendUnit(Token t, StringBuilder sb) { - if (t.kind == EMS) { - sb.append("em"); - return; - } - if (t.kind == REM) { - sb.append("rem"); - return; - } - if (t.kind == EXS) { - sb.append("ex"); - return; - } - if (t.kind == CH) { - sb.append("ch"); - return; - } - if (t.kind == VW) { - sb.append("vw"); - return; - } - if (t.kind == VH) { - sb.append("vh"); - return; - } - if (t.kind == VMIN) { - sb.append("vmin"); - return; - } - if (t.kind == VMAX) { - sb.append("vmax"); - return; - } - if (t.kind == LENGTH_PX) { - sb.append("px"); - return; - } - if (t.kind == LENGTH_CM) { - sb.append("cm"); - return; - } - if (t.kind == LENGTH_MM) { - sb.append("mm"); - return; - } - if (t.kind == LENGTH_IN) { - sb.append("in"); - return; - } - if (t.kind == LENGTH_PT) { - sb.append("pt"); - return; - } - if (t.kind == LENGTH_PC) { - sb.append("pc"); - return; - } - if (t.kind == LENGTH_Q) { - sb.append("Q"); - return; - } - if (t.kind == ANGLE_DEG) { - sb.append("deg"); - return; - } - if (t.kind == ANGLE_RAD) { - sb.append("rad"); - return; - } - if (t.kind == ANGLE_GRAD) { - sb.append("grad"); - return; - } - if (t.kind == ANGLE_TURN) { - sb.append("turn"); - return; - } - if (t.kind == TIME_MS) { - sb.append("ms"); - return; - } - if (t.kind == TIME_S) { - sb.append('s'); - return; - } - if (t.kind == FREQ_HZ) { - sb.append("hz"); - return; - } - if (t.kind == FREQ_KHZ) { - sb.append("khz"); - return; - } - if (t.kind == RESOLUTION_DPI) { - sb.append("dpi"); - return; - } - if (t.kind == RESOLUTION_DPCM) { - sb.append("dpcm"); - return; - } - if (t.kind == PERCENTAGE) { - sb.append('%'); - return; - } -} - -JAVACODE -void error_skipblock(String msgKey, CSSParseException e) -{ - if (msgKey != null) { - getErrorHandler().warning(createSkipWarning(msgKey, e)); - } - - Token t; - int nesting = 0; - do { - t = getNextToken(); - if (t.kind == LBRACE) { - nesting++; - } - else if (t.kind == RBRACE) { - nesting--; - } - } - while (t.kind != EOF && (t.kind != RBRACE || nesting > 0)); -} - -JAVACODE -void error_skipdecl() -{ - Token t = getToken(1); - if (t.kind == LBRACE) { - error_skipblock(null, null); - return; - } - if (t.kind == RBRACE) { - // next will be RBRACE so we are finished - return; - } - - Token oldToken = token; - while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF) { - oldToken = t; - t = getNextToken(); - } - if (t.kind != EOF) { - token = oldToken; - } -} - -JAVACODE -void error_skipAtRule() -{ - Token t = null; - do { - t = getNextToken(); - } - while (t.kind != SEMICOLON && t.kind != EOF); -} - -JAVACODE -Boolean handleCaseInSensitive(Token t) -{ - String s = unescape(t.image, false); - if ("i".equalsIgnoreCase(s)) { - return Boolean.TRUE; - } - if ("s".equalsIgnoreCase(s)) { - return Boolean.FALSE; - } - - throw toCSSParseException("invalidCaseInSensitivelyIdentifier", new String[] { s }, createLocator(t)); -} +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +options { + IGNORE_CASE = true; + + UNICODE_INPUT = true; + USER_CHAR_STREAM = true; + +// DEBUG_TOKEN_MANAGER = true; +// DEBUG_PARSER = true; + + JDK_VERSION = "1.8"; +// JAVA_TEMPLATE_TYPE = "modern" +} + +PARSER_BEGIN(CSS3Parser) + +package org.htmlunit.cssparser.parser.javacc; + +import java.util.LinkedList; +import java.util.Locale; + +import org.htmlunit.cssparser.dom.CSSValueImpl; +import org.htmlunit.cssparser.dom.Property; +import org.htmlunit.cssparser.parser.AbstractCSSParser; +import org.htmlunit.cssparser.parser.CSSParseException; +import org.htmlunit.cssparser.parser.LexicalUnit; +import org.htmlunit.cssparser.parser.LexicalUnitImpl; +import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; +import org.htmlunit.cssparser.parser.Locatable; +import org.htmlunit.cssparser.parser.Locator; +import org.htmlunit.cssparser.parser.condition.AttributeCondition; +import org.htmlunit.cssparser.parser.condition.BeginHyphenAttributeCondition; +import org.htmlunit.cssparser.parser.condition.ClassCondition; +import org.htmlunit.cssparser.parser.condition.Condition; +import org.htmlunit.cssparser.parser.condition.IdCondition; +import org.htmlunit.cssparser.parser.condition.LangCondition; +import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; +import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; +import org.htmlunit.cssparser.parser.condition.PseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; +import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; +import org.htmlunit.cssparser.parser.media.MediaQuery; +import org.htmlunit.cssparser.parser.media.MediaQueryList; +import org.htmlunit.cssparser.parser.selector.ChildSelector; +import org.htmlunit.cssparser.parser.selector.DescendantSelector; +import org.htmlunit.cssparser.parser.selector.DirectAdjacentSelector; +import org.htmlunit.cssparser.parser.selector.ElementSelector; +import org.htmlunit.cssparser.parser.selector.GeneralAdjacentSelector; +import org.htmlunit.cssparser.parser.selector.PseudoElementSelector; +import org.htmlunit.cssparser.parser.selector.Selector; +import org.htmlunit.cssparser.parser.selector.SelectorList; +import org.htmlunit.cssparser.parser.selector.SelectorListImpl; +import org.htmlunit.cssparser.parser.selector.SimpleSelector; +import org.htmlunit.cssparser.util.ParserUtils; + +/** + * @author David Schweinsberg + * @author waldbaer + * @author Ahmed Ashour + * @author Ronald Brill + */ +public class CSS3Parser extends AbstractCSSParser { + + public CSS3Parser() { + this((CharStream) null); + } + + @Override + public String getParserVersion() { + return "http://www.w3.org/Style/CSS/"; + } + + protected String getGrammarUri() + { + return "http://www.w3.org/TR/WD-css3-syntax-20030813"; + } +} + +PARSER_END(CSS3Parser) + +TOKEN_MGR_DECLS : +{ +} + + TOKEN : +{ +// s [ \t\r\n\f]+ +// {s} {return S;} + < S: ( " "|"\t"|"\r"|"\n"|"\f" )+ > +// w {s}? +// | < W: ( )? > +} + + MORE : +{ + < "/*" > : COMMENT +} + + SKIP : +{ + < "*/" > : DEFAULT +} + + MORE : +{ + < ~[] > : COMMENT +} + + TOKEN : +{ +// h [0-9a-f] + < #H: ["0"-"9","a"-"f"] > +| < #HNUM: | | | | | > + +// nonascii [\200-\377] +// The two occurrences of "\377" represent the highest character number that +// current versions of Flex can deal with (decimal 255). They should be read as +// "\4177777" (decimal 1114111), which is the highest possible code point in +// Unicode/ISO-10646. +// Limitation: This parser can only handle Unicode characters up to \uFFFF +// (decimal 65535). +| < #NONASCII: ["\u0080"-"\uFFFF"] > + +// unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? +| < #UNICODE: "\\" ( "\r\n" | [" ","\t","\r","\n","\f"] )? > + +// escape {unicode}|\\[^\r\n\f0-9a-f] +| < #ESCAPE: | ( "\\" ~["\r","\n","\f","0"-"9","a"-"f"] ) > + +// nmstart [_a-z]|{nonascii}|{escape} +| < #NMSTART: ["_","a"-"z"] | | > + +// nmchar [_a-z0-9-]|{nonascii}|{escape} +| < #NMCHAR: ["_","a"-"z","0"-"9","-"] | | > + +// nl \n|\r\n|\r|\f +| < #NL: "\n" | "\r\n" | "\r" | "\f" > + +// string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\" +| < #STRING1: ( ~["\n","\r","\f","\\","\""] | "\\" | )* > + +// string2 \'([^\n\r\f\\']|\\{nl}|{escape})*\' +| < #STRING2: ( ~["\n","\r","\f","\\","\'"] | "\\" | )* > + +// comment \/\*[^*]*\*+([^/*][^*]*\*+)*\/ +| < #COMMENT_: "/" "*" ( ~["*"] )* ("*")+ ( ~["/","*"] ( ~["*"] )* ( "*" )+ )* "/"> + +| < AND: "and" > +| < NOT: "not" > +| < ONLY: "only" > + +// {num} {return NUMBER;} +| < NUMBER: > + +| < INHERIT: "inherit" > +| < NONE: "none" > + +// ident -?{nmstart}{nmchar}* +// {ident} {return IDENT;} +| < IDENT: (< MINUS >)? ( )* > + +// name {nmchar}+ +| < #NAME: ( )+ > + +// num [0-9]+|[0-9]*"."[0-9]+ +| < NUM: ( ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ ) (["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+)? > + +// string {string1}|{string2} +// {string} {return STRING;} +| < STRING: ( "\"" "\"" ) | ( "\'" "\'" ) > { matchedToken.image = ParserUtils.trimBy(image, 1, 1); } + +// url ([!#$%&*-~]|{nonascii}|{escape})* +| < #URL: ( ["!","#","$","%","&","*"-"[","]"-"~"] | | )* > + +// A a|\\0{0,4}(41|61)(\r\n|[ \t\r\n\f])? +| < #A_LETTER: "a" | "\\" ("0")? ("0")? ("0")? ("0")? ( "41" | "61" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// C c|\\0{0,4}(43|63)(\r\n|[ \t\r\n\f])? +| < #C_LETTER: "c" | "\\" ("0")? ("0")? ("0")? ("0")? ( "43" | "63" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// D d|\\0{0,4}(44|64)(\r\n|[ \t\r\n\f])? +| < #D_LETTER: "d" | "\\" ("0")? ("0")? ("0")? ("0")? ( "44" | "64" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// E e|\\0{0,4}(45|65)(\r\n|[ \t\r\n\f])? +| < #E_LETTER: "e" | "\\" ("0")? ("0")? ("0")? ("0")? ( "45" | "65" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// F f|\\0{0,4}(46|66)(\r\n|[ \t\r\n\f])? +| < #F_LETTER: "f" | "\\" ("0")? ("0")? ("0")? ("0")? ( "46" | "66" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// G g|\\0{0,4}(47|67)(\r\n|[ \t\r\n\f])?|\\g +| < #G_LETTER: "g" | "\\" ("0")? ("0")? ("0")? ("0")? ( "47" | "67" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "g" > + +// H h|\\0{0,4}(48|68)(\r\n|[ \t\r\n\f])?|\\h +| < #H_LETTER: "h" | "\\" ("0")? ("0")? ("0")? ("0")? ( "48" | "68" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "h" > + +// I i|\\0{0,4}(49|69)(\r\n|[ \t\r\n\f])?|\\i +| < #I_LETTER: "i" | "\\" ("0")? ("0")? ("0")? ("0")? ( "49" | "69" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "i" > + +// K k|\\0{0,4}(4b|6b)(\r\n|[ \t\r\n\f])?|\\k +| < #K_LETTER: "k" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4b" | "6b" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "k" > + +// L l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l +| < #L_LETTER: "l" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4c" | "6c" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "l" > + +// M m|\\0{0,4}(4d|6d)(\r\n|[ \t\r\n\f])?|\\m +| < #M_LETTER: "m" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4d" | "6d" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "m" > + +// N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n +| < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > + +// O o|\\0{0,4}(51|71)(\r\n|[ \t\r\n\f])?|\\o +| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "51" | "71" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > + +// P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p +| < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > + +// R r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r +| < #R_LETTER: "r" | "\\" ("0")? ("0")? ("0")? ("0")? ( "52" | "72" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "r" > + +// S s|\\0{0,4}(53|73)(\r\n|[ \t\r\n\f])?|\\s +| < #S_LETTER: "s" | "\\" ("0")? ("0")? ("0")? ("0")? ( "53" | "73" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "s" > + +// T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t +| < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > + +// U v|\\0{0,4}(55|76)(\r\n|[ \t\r\n\f])?|\\v +| < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > + +// X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x +| < #X_LETTER: "x" | "\\" ("0")? ("0")? ("0")? ("0")? ( "58" | "78" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "x" > + +// Z z|\\0{0,4}(5a|7a)(\r\n|[ \t\r\n\f])?|\\z +| < #Z_LETTER: "z" | "\\" ("0")? ("0")? ("0")? ("0")? ( "5a" | "7a" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "z" > + +// "" {return CDC;} +| < CDC: "-->" > + +// "~=" {return INCLUDES;} +| < INCLUDES: "~=" > + +// "|=" {return DASHMATCH;} +| < DASHMATCH: "|=" > + +// "^=" {return PREFIXMATCH;} +| < PREFIXMATCH: "^=" > + +// "$=" {return SUFFIXMATCH;} +| < SUFFIXMATCH: "$=" > + +// "*=" {return SUBSTRINGMATCH;} +| < SUBSTRINGMATCH: "*=" > + +// {w}"{" {return LBRACE;} +| < LBRACE: "{" > +| < RBRACE: "}" > + +| < LROUND: "(" > +| < RROUND: ")" > + +| < DOT: "." > +| < SEMICOLON: ";" > +| < COLON: ":" > +| < ASTERISK: "*" > +| < SLASH: "/" > +| < MINUS: "-" > +| < EQUALS: "=" > +| < LSQUARE: "[" > +| < RSQUARE: "]" > + +// {w}"+" {return PLUS;} +| < PLUS: "+" > + +// {w}">" {return GREATER;} +| < GREATER: ">" > + +// {w}"~" {return TILDE;} +| < TILDE: "~" > + +// {w}"," {return COMMA;} +| < COMMA: "," > + +// "#"{name} {return HASH;} +| < HASH: "#" > + +// @{I}{M}{P}{O}{R}{T} {return IMPORT_SYM;} +| < IMPORT_SYM: "@" > + +// @{P}{A}{G}{E} {return PAGE_SYM;} +| < PAGE_SYM: "@" > + +// @{M}{E}{D}{I}{A} {return MEDIA_SYM;} +| < MEDIA_SYM: "@" > + +// "@{F}{O}{N}{T}-{F}{A}{C}{E}" {return FONT_FACE_SYM;} +| < FONT_FACE_SYM: "@" < MINUS > > + +// @{C}{H}{A}{R}{S}{E}{T} {return CHARSET_SYM;} +| < CHARSET_SYM: "@" > + +// "!"({w}|{comment})*{I}{M}{P}{O}{R}{T}{A}{N}{T} {return IMPORTANT_SYM;} +| < IMPORTANT_SYM: "!" ( | )* > + +// {num}{E}{M} {return EMS;} +| < EMS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{R}{E}{M} {return REM;} +| < REM: "rem" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{E}{X} {return EXS;} +| < EXS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{C}{H} {return CH;} +| < CH: "ch" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{W} {return VW;} +| < VW: "vw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{H} {return VH;} +| < VH: "vh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{M}{I}{N} {return VMIN;} +| < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{V}{M}{I}{N} {return VMAX;} +| < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{P}{X} {return LENGTH;} +| < LENGTH_PX: "px" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{C}{M} {return LENGTH;} +| < LENGTH_CM: "cm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{M}{M} {return LENGTH;} +| < LENGTH_MM: "mm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{I}{N} {return LENGTH;} +| < LENGTH_IN: "in" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{P}{T} {return LENGTH;} +| < LENGTH_PT: "pt" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{P}{C} {return LENGTH;} +| < LENGTH_PC: "pc" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{Q} {return LENGTH;} +| < LENGTH_Q: "Q" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{D}{E}{G} {return ANGLE;} +| < ANGLE_DEG: "deg" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{R}{A}{D} {return ANGLE;} +| < ANGLE_RAD: "rad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{G}{R}{A}{D} {return ANGLE;} +| < ANGLE_GRAD: "grad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{T}{U}{R}{N} {return ANGLE;} +| < ANGLE_TURN: "turn" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{M}{S} {return TIME;} +| < TIME_MS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{S} {return TIME;} +| < TIME_S: > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{H}{Z} {return FREQ;} +| < FREQ_HZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{K}{H}{Z} {return FREQ;} +| < FREQ_KHZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{D}{P}{I} {return RESOLUTION;} +| < RESOLUTION_DPI: "dpi" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{D}{P}{C}{M} {return RESOLUTION;} +| < RESOLUTION_DPCM: "dpcm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}% {return PERCENTAGE;} +| < PERCENTAGE: "%" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{ident} {return DIMENSION;} +| < DIMENSION: ( ["a"-"z","0"-"9"] | | )* > + +| < #H_PLACEHOLDER: ( | "?"){1,6} > +| < UNICODE_RANGE: "u+" (< MINUS > < H_PLACEHOLDER >)? > + +// "url("{w}{string}{w}")" {return URI;} +// "url("{w}{url}{w}")" {return URI;} +| < URI: "url" ( )* ( | ) ( )* > { matchedToken.image = ParserUtils.trimUrl(image); } + +// {N}{O}{T} "(" {return FUNCTION_NOT;} +| < FUNCTION_NOT: "not" > + +// {L}{A}{N}{G} "(" {return FUNCTION_LANG;} +| < FUNCTION_LANG: "lang" > + +// {C}{A}{L}{C} "(" {return FUNCTION_CALC;} +| < FUNCTION_CALC: "calc" > + +// {V}{A}{R} "(" {return FUNCTION_VAR;} +| < FUNCTION_VAR: "var" > + +| < FUNCTION_RGB: "rgb" ("a")? > +| < FUNCTION_HSL: "hsl" ("a")? > + +| < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > + +// {ident} "(" {return FUNCTION;} +| < FUNCTION: > + +| < ATKEYWORD: "@" > +} + +<*> TOKEN: +{ + < UNKNOWN: ~[] > + { + // System.err.println("Illegal character : " + image.toString()); + } +} + +// +// stylesheet +// : [ CHARSET_SYM STRING ';' ]? +// [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* +// [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* +// ; +// +void styleSheet() : +{ +} +{ + try + { + { handleStartDocument(); } + styleSheetRuleList() + + } + finally + { + handleEndDocument(); + } +} + +void styleSheetRuleList() : +{ + boolean ruleFound = false; +} +{ + ( | | )* + ( + charsetRule() + ( | | )* + )? + ( + ( + ( + importRule(ruleFound) + | + ( + styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() + ) + { + ruleFound = true; + } + ) + | + ( + // skip until the next RBRACE + { ParseException e = generateParseException(); } + invalidRule() + { + Token t = getNextToken(); + + boolean charsetProcessed = false; + if (t.kind == CHARSET_SYM) { + t = getNextToken(); + if (t.kind == S) { + t = getNextToken(); + if (t.kind == STRING) { + t = getNextToken(); + if (t.kind == SEMICOLON) { + getNextToken(); + charsetProcessed = true; + } + } + } + CSSParseException cpe = toCSSParseException("misplacedCharsetRule", e); + getErrorHandler().error(cpe); + getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); + } + + if (!charsetProcessed) { + if (t.kind == EOF) { + return; + } + + CSSParseException cpe = toCSSParseException("invalidRule", e); + getErrorHandler().error(cpe); + getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); + while (t.kind != RBRACE && t.kind != EOF ) { + t = getNextToken(); + } + if (t.kind == EOF) { + return; + } + } + } + ) + ) + ( | | )* + )* +} + +JAVACODE +void invalidRule() +{ +} + +// +// This is used by ASTStyleSheet.insertRule to parse a single rule +// +void styleSheetRuleSingle() : +{ +} +{ + ( )* + ( charsetRule() | importRule(false) | styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() ) + ( )* +} + +void charsetRule() : +{ + Token t; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + + t = + + { + handleCharset(t.toString(), locator); + } + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidCharsetRule", e)); + } +} + +void unknownAtRule() : +{ + String s; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + s = skip(); + handleIgnorableAtRule(s, locator); + } + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidUnknownRule", generateParseException())); + } +} + +// +// import +// : IMPORT_SYM S* +// [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S* +// ; +// +void importRule(final boolean nonImportRuleFoundBefore) : +{ + Token t; + MediaQueryList ml = new MediaQueryList(); + Locator locator; +} +{ + try + { + { + ParseException e = null; + if (nonImportRuleFoundBefore) + { + e = generateParseException(); + } + } + + { + locator = createLocator(token); + } + ( )* + ( t = | t = ) ( )* + ( mediaList(ml) )? + + { + if (nonImportRuleFoundBefore) + { + getErrorHandler().error(toCSSParseException("invalidImportRuleIgnored2", e)); + } + else + { + handleImportStyle(unescape(t.image, false), ml, null, locator); + } + } + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipAtRule(); + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidImportRule", e)); + error_skipAtRule(); + } +} + +// +// media +// : MEDIA_SYM S* medium [ COMMA S* medium ]* '{' S* ruleset* '}' S* +// ; +// +void mediaRule() : +{ + boolean start = false; + MediaQueryList ml = new MediaQueryList(); + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + ( )* + mediaList(ml) + { + start = true; + handleStartMedia(ml, locator); + } + ( )* + ( mediaRuleList() )? + + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidMediaRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringRule", cpe); + } + finally + { + if (start) { + handleEndMedia(ml); + } + } +} + +void mediaList(MediaQueryList ml) : +{ + MediaQuery mq; +} +{ + try + { + mq = mediaQuery() + { + ml.setLocator(createLocator(token)); + } + ( ( )* { ml.add(mq); } mq = mediaQuery() )* + { ml.add(mq); } + } + catch(ParseException e) + { + throw toCSSParseException("invalidMediaList", e); + } +} + +// +// media_query +// : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* +// | expression [ AND S* expression ]* +// ; +// +MediaQuery mediaQuery() : +{ + String s; + MediaQuery mq; + Property p; + boolean only = false; + boolean not = false; +} +{ + ( + ( + ( + ( + { only = true; } + | + { not = true; } + ) ( )* + )? + s = medium() + { mq = new MediaQuery(s, only, not); mq.setLocator(createLocator(token)); } + ( + ( )* + p = mediaExpression() + { + mq.addMediaProperty(p); + } + )* + ) + | + ( + p = mediaExpression() + { + mq = new MediaQuery(null, only, not); + mq.setLocator(createLocator(token)); + mq.addMediaProperty(p); + } + ( + ( )* + p = mediaExpression() + { + mq.addMediaProperty(p); + } + )* + ) + ) + { return mq; } +} + +// +// expression +// : '(' S* media_feature S* [ ':' S* expr ]? ')' S* +// ; +// +Property mediaExpression() : +{ + String p; + LexicalUnit e = null; + Property prop; + Token t; +} +{ + + ( )* + ( + t = ( )* { p = unescape(t.image, false); } + | t = ( )* { p = unescape(t.image, false); } + ) + ( + ( )* + e = expr() + )? + + ( )* + { + if(e==null) + { + prop = new Property(p, null, false); + } + else + { + prop = new Property(p, new CSSValueImpl(e), false); + } + return prop; + } +} + +void mediaRuleList() : +{ +} +{ + ( ( styleRule() | mediaRule() | pageRule() | importRule(true) | unknownAtRule() ) ( )* )+ +} + +// +// medium +// : IDENT S* +// ; +// +String medium() : +{ + Token t; +} +{ + t = ( )* + { + return unescape(t.image, false); + } +} + +// +// page +// : PAGE_SYM S* pseudo_page? S* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void pageRule() : +{ + String sel = null; + boolean start = false; + Locator locator; +} +{ + try { + + { + locator = createLocator(token); + } + ( )* + + ( sel = pageSelectorList() )? + + ( )* + { + start = true; + handleStartPage(null, sel, locator); + } + + styleDeclaration() + + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidPageRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringRule", cpe); + } + finally { + if (start) { + handleEndPage(null, sel); + } + } +} + +// +// pageSelectorList +// : [ pageSelector S* [ ',' pageSelector S* ]* ]? +// ; +// +String pageSelectorList() : +{ + String sel; + LinkedList selectors = new LinkedList<>(); +} +{ + sel = pageSelector() { selectors.add(sel); } + ( + ( )* sel = pageSelector() { selectors.add(sel); } + )* + + { return String.join(", ", selectors); } +} + +// +// pageSelector +// : pseudoPage+ | IDENT pseudoPage* +// ; +// +String pageSelector() : +{ + StringBuilder pseudos = new StringBuilder(); + String pseudo; + Token ident; +} +{ + ( + pseudo = pseudoPage() { pseudos.append(pseudo); } + | + ident = { pseudos.append(unescape(ident.image, false)); } + ) + ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* + ( )* + + { return pseudos.toString(); } +} + +// +// pseudoPage +// : ':' IDENT +// ; +// +String pseudoPage() : +{ + Token t; +} +{ + t = { return ":" + normalizeAndValidatePagePseudoClass(t); } +} + +// +// font_face +// : FONT_FACE_SYM S* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void fontFaceRule() : +{ + boolean start = false; + Locator locator; +} +{ + try { + + { + locator = createLocator(token); + } + ( )* + ( )* { start = true; handleStartFontFace(locator); } + styleDeclaration() + + } + catch(ParseException e) + { + throw toCSSParseException("invalidFontFaceRule", e); + } + finally { + if (start) { + handleEndFontFace(); + } + } +} + +// +// operator +// : '/' S* | COMMA S* | /* empty */ +// ; +// +LexicalUnit operator(LexicalUnit prev) : +{ +} +{ + ( )* { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_SLASH); } + | ( )* { return LexicalUnitImpl.createComma(prev); } +} + +// +// combinator +// : PLUS S* +// | GREATER S* +// | S +// ; +// +char combinator() : +{ + char c = ' '; +} +{ + ( + { c='+'; } ( )* + | { c='>'; } ( )* + | { c='~'; } ( )* + | ( ( { c='+'; } | { c='>'; } | { c='~'; } ) ( )* )? + ) + { return c; } +} + +// +// unary_operator +// : '-' | PLUS +// ; +// +char unaryOperator() : +{ +} +{ + ( { return '-'; } | { return '+'; } ) +} + + +// +// ruleset +// : selector [ COMMA S* selector ]* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void styleRule() : +{ + SelectorList selList = null; + boolean start = false; + Token t; +} +{ + try { + { + t = token; + } + selList = selectorList() + ( )* + { + start = true; + handleStartSelector(selList, createLocator(t.next)); + } + styleDeclaration() + ( | ) + } + catch(CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidStyleRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringFollowingDeclarations", cpe); + } + finally { + if (start) { + handleEndSelector(selList); + } + } +} + +SelectorList parseSelectorsInternal() : +{ + SelectorList selectors; +} +{ + ( )* + selectors = selectorList() + + { + return selectors; + } +} + +SelectorList selectorList() : +{ + SelectorListImpl selList = new SelectorListImpl(); + Selector sel; +} +{ + sel = selector() { selList.setLocator(sel.getLocator()); } + ( ( )* + { selList.add(sel); } + sel = selector() { selList.setLocator(sel.getLocator()); } + )* + { + selList.add(sel); + return selList; + } +} + +// +// selector +// : simple_selector_sequence [ combinator simple_selector_sequence ]* +// ; +// +Selector selector() : +{ + Selector sel; + char comb; +} +{ + try { + sel = simpleSelector(null, ' ') + ( LOOKAHEAD(2) comb = combinator() sel = simpleSelector(sel, comb) )* ( )* + { + return sel; + } + } catch (ParseException e) { + throw toCSSParseException("invalidSelector", e); + } +} + +// +// simple_selector +// : element_name [ HASH | class | attrib | pseudo ]* +// | [ HASH | class | attrib | pseudo ]+ +// ; +// +Selector simpleSelector(Selector sel, char comb) : +{ + ElementSelector elemSel = null; + SimpleSelector simpleSel = null; + Condition c = null; + SimpleSelector pseudoElementSel = null; + Object o = null; +} +{ + try + { + ( + ( elemSel = elementName() + ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } + | ( + o = pseudo(null != pseudoElementSel) + { if (o instanceof Condition) + { elemSel.addCondition((Condition) o); + } else { + pseudoElementSel = (SimpleSelector) o; + } + } + ) + )* + ) + | + ( { elemSel = new ElementSelector(null, createLocator(token)); } + ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } + | ( + o = pseudo(null != pseudoElementSel) + { if (o instanceof Condition) + { elemSel.addCondition((Condition) o); + } else { + pseudoElementSel = (SimpleSelector) o; + } + } + ) + )+ + ) + ) + + { + simpleSel = elemSel; + if (sel == null) { + sel = simpleSel; + } else { + switch (comb) { + case ' ': + sel = new DescendantSelector(sel, simpleSel); + break; + case '+': + sel = new DirectAdjacentSelector(sel, simpleSel); + break; + case '>': + sel = new ChildSelector(sel, simpleSel); + break; + case '~': + sel = new GeneralAdjacentSelector(sel, simpleSel); + break; + } + } + if (pseudoElementSel != null) + { + sel = new DescendantSelector(sel, pseudoElementSel); + } + + return sel; + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidSimpleSelector", e); + } +} + +// +// class +// : '.' IDENT +// ; +// +Condition _class(boolean pseudoElementFound) : +{ + Token t; + Locator locator; + ParseException pe = null; +} +{ + try + { + { if (pseudoElementFound) { pe = generateParseException(); } } + + { + locator = createLocator(token); + } + + ( t = | t = | t = | t = ) + { + if (pseudoElementFound) { throw pe; } + return new ClassCondition(unescape(t.image, false), locator); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidClassSelector", e); + } +} + +// +// element_name +// : IDENT | '*' +// ; +// +ElementSelector elementName() : +{ + Token t; +} +{ + try + { + t = + { + return new ElementSelector(unescape(t.image, false), createLocator(t)); + } + | + { + return new ElementSelector(null, createLocator(token)); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidElementName", e); + } +} + +// +// attrib +// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH | PREFIXMATCH | SUFFIXMATCH | SUBSTRINGMATCH ] S* +// [ IDENT | STRING ] S* ]? ']' +// ; +// +Condition attrib(boolean pseudoElementFound) : +{ + Token t; + String name = null; + String value = null; + Boolean insensitive = null; + int type = 0; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + ( )* + { if (pseudoElementFound) { throw generateParseException(); } } + + t = { name = unescape(t.image, false); } + ( )* + ( + ( + { type = 4; } + | + { type = 5; } + | + { type = 6; } + | + "=" { type = 1; } // don't use because of the leading whitespace + | + { type = 2; } + | + { type = 3; } + ) + ( )* + ( + ( + t = { value = unescape(t.image, false); } + | + t = { value = unescape(t.image, false); } + ) + + ( )* + ) + ( + t = { insensitive = handleCaseInSensitive(t); } + ( )* + )? + )? + + { + Condition c = null; + switch (type) { + case 0: + c = new AttributeCondition(name, null, insensitive); + break; + case 1: + c = new AttributeCondition(name, value, insensitive); + break; + case 2: + c = new OneOfAttributeCondition(name, value, insensitive); + break; + case 3: + c = new BeginHyphenAttributeCondition(name, value, insensitive); + break; + case 4: + c = new PrefixAttributeCondition(name, value, insensitive); + break; + case 5: + c = new SuffixAttributeCondition(name, value, insensitive); + break; + case 6: + c = new SubstringAttributeCondition(name, value, insensitive); + break; + } + c.setLocator(locator); + return c; + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidAttrib", e); + } +} + +// +// pseudo +// : ':' (':')? +// [ IDENT +// | FUNCTION_NOT S* selector() S* ')' +// | FUNCTION_LANG S* IDENT S* ')' +// | FUNCTION S* ((PLUS | MINUS | DIMENSION | NUMBER | STRING | IDENT)? S*)+ ')' +// ] +// ; +// +Object pseudo(boolean pseudoElementFound) : +{ + Token t; + String function; + boolean doubleColon = false; + SelectorList selectorList; + Locator locator; +} +{ + try + { + { locator = createLocator(token); } + ( { doubleColon = true; } )? + + ( + t = + { + String s = unescape(t.image, false); + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } + if ("first-line".equals(s) + || "first-letter".equals(s) + || "before".equals(s) + || "after".equals(s)) + { + return new PseudoElementSelector(s, locator, doubleColon); + } + return new PseudoClassCondition(s, locator, doubleColon); + } + | + ( + t = { function = unescape(t.image, false); } + ( )* + selectorList = selectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } + return new NotPseudoClassCondition(selectorList, locator, doubleColon); + } + ) + | + ( + t = { function = unescape(t.image, false); } + ( )* + t = { String lang = unescape(t.image, false); } + ( )* + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { "lang(" + lang + ")" }, locator); } + return new LangCondition(lang, locator); + } + ) + | + ( + t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } + ( )* + ( + (t = | t = | t = | t = | t = | t = ) + { args.append(unescape(t.image, false)); } + ( t = + { args.append(unescape(t.image, false)); } + )* + )+ + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + args.toString().trim() + ")" }, locator); } + return new PseudoClassCondition(function + args.toString().trim() + ")", locator, doubleColon); + } + ) + ) + } + catch (ParseException e) + { + throw toCSSParseException("invalidPseudo", e); + } +} + +Condition hash(boolean pseudoElementFound) : +{ + Token t; + ParseException pe = null; +} +{ + try + { + { if (pseudoElementFound) { pe = generateParseException(); } } + t = + { + if (pseudoElementFound) { throw pe; } + return new IdCondition(unescape(t.image.substring(1), false), createLocator(t)); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidHash", e); + } +} + +void styleDeclaration() : +{ +} +{ + ( declaration() )? + ( ( )* ( declaration() )? )* +} + +// +// declaration +// : property ':' S* expr prio? +// | +// ; +// +void declaration() : +{ + String p; + LexicalUnit e = null; + Token t; + boolean priority = false; + Locator starHack = null; + Locator locator = null; +} +{ + try + { + // at the moment i have no better idea how to handle the + // infamous css-star-hack (http://en.wikipedia.org/wiki/CSS_filter#Star_hack) + // smart (means: ignoring only one decl) + ( { starHack = createLocator(token); } )? + ( + ( + ( t = { p = unescape(t.image, false); locator = createLocator(t); } + | t = { p = unescape(t.image, false); locator = createLocator(t); } + | t = { p = unescape(t.image, false); locator = createLocator(t); } + | t = { p = unescape(t.image, false); locator = createLocator(t); } + ) + ( )* + ( )* + e = expr() + ) + | + ( + t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } + ( )* + ( e = expr() )? + ) + ) + + ( priority = prio() )? + + // maybe there are strange characters at the end - create error and skip + ( t = + { + locator = createLocator(t); + CSSParseException cpe = toCSSParseException("invalidDeclarationInvalidChar", new String[] {t.image}, locator); + getErrorHandler().error(cpe); + error_skipdecl(); + } + )? + + { + if (starHack != null) + { + CSSParseException cpe = toCSSParseException("invalidDeclarationStarHack", new Object[0], starHack); + getErrorHandler().error(cpe); + return; + } + handleProperty(p, e, priority, locator); + } + } + catch (CSSParseException ex) + { + getErrorHandler().error(ex); + error_skipdecl(); + } + catch (ParseException ex) + { + CSSParseException cpe = toCSSParseException("invalidDeclaration", ex); + getErrorHandler().error(cpe); + error_skipdecl(); + } +} + +// +// prio +// : IMPORTANT_SYM S* +// ; +boolean prio() : +{ +} +{ + ( )* + { return true; } +} + +// +// expr +// : term [ operator term ]* +// ; +LexicalUnit expr() : +{ + LexicalUnit head; + LexicalUnit body; +} +{ + try + { + head = term(null) { body = head; } + ( + ( body = operator(body) )? + body = term(body) + )* + { return head; } + } + catch (ParseException ex) + { + throw toCSSParseException("invalidExpr", ex); + } +} + +// +// term +// : unary_operator? +// [ NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | function ] +// | STRING | IDENT | URI | hexcolor | DIMENSION +// S* +// ; +// +LexicalUnit term(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit value = null; + Locator locator = null; +} +{ + ( op = unaryOperator() )? { if (op != ' ') { locator = createLocator(token); } } + ( + ( value = number(prev, op) + | value = dimension(prev, op) + | value = percentage(prev, op) + | value = function(prev) + | value = rgbColor(prev) + | value = hslColor(prev) + | value = calc(prev) + | value = var(prev) + ) + | t = { value = LexicalUnitImpl.createString(prev, unescape(t.image, false)); } + | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } + | + ( + t = + ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? + ) + { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + | t = { value = LexicalUnitImpl.createURI(prev, unescape(t.image, true)); } + | value = unicodeRange(prev) + | value = hexcolor(prev) + | t = + { + int n = getLastNumPos(t.image); + value = LexicalUnitImpl.createDimension( + prev, + doubleValue(op, t.image.substring(0, n+1)), + t.image.substring(n+1)); + } + | t = { value = LexicalUnitImpl.createInherit(prev); } + | t = { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + | t = { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + ) + { + if (locator == null) + { + locator = createLocator(token); + } + } + ( )* + { + if(value != null) + { + value.setLocator(locator); + } + return value; + } +} + +// +// function +// : FUNCTION S* ((EQUALS | COMMA | (unaryOperator? NUMBER) | STRING | IDENT | URI)? S*)+ ')' S* +// ; +// +LexicalUnit function(LexicalUnit prev) : +{ + Token t; + LexicalUnit param = null; + LexicalUnit body = null; + String funct = ""; +} +{ + t = { funct = funct + unescape(t.image, false); } + ( )* + ( + param = term(null) { body = param; } + ( + ( + ( + t = { body = LexicalUnitImpl.createComma(body); } + | t = { body = LexicalUnitImpl.createIdent(body, t.image); } + ) + ( )* + )? + body = term(body) + )* + )? + + { + return functionInternal(prev, funct, param); + } +} + +// +// calc() +// https://www.w3.org/TR/css3-values/#calc-syntax +// = calc( ) +// +LexicalUnit calc(LexicalUnit prev) : +{ + Token t; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); + String funct = ""; +} +{ + t = { funct = unescape(t.image, false); } + ( )* + calcSum(head) + + { + return functionInternal(prev, funct, head.getNextLexicalUnit()); + } +} + +// +// calcSum() +// = [ [ '+' | '-' ] ]* +// +LexicalUnit calcSum(LexicalUnit prev) : +{ +} +{ + ( + prev = calcProduct(prev) + ( + ( + { prev = LexicalUnitImpl.createPlus(prev); } + | { prev = LexicalUnitImpl.createMinus(prev); } + ) + ( )* + prev = calcProduct(prev) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcProduct() +// = [ '*' | '/' ]* +// +LexicalUnit calcProduct(LexicalUnit prev) : +{ +} +{ + ( + prev = calcValue(prev) + ( + ( + { prev = LexicalUnitImpl.createMultiply(prev); } + ( )* + prev = calcValue(prev) + ) + | + ( + { prev = LexicalUnitImpl.createDivide(prev); } + ( )* + prev = calcNumberValue(prev) + ) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcValue() +// = | | | ( ) +// +LexicalUnit calcValue(LexicalUnit prev) : +{ + char op = ' '; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); +} +{ + ( + ( + ( + (op = unaryOperator() )? + ( + prev = number(prev, op) + | prev = dimension(prev, op) + | prev = percentage(prev, op) + ) + ) + | prev = var(prev) + | + ( + ( | ) + calcSum(head) + + ) + { + // use an empty function as block scope + prev = functionInternal(prev, "(", head.getNextLexicalUnit()); + } + ) + ( )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberSum() +// = [ [ '+' | '-' ] ]* +// +LexicalUnit calcNumberSum(LexicalUnit prev) : +{ +} +{ + ( + prev = calcNumberProduct(prev) + ( + ( + { prev = LexicalUnitImpl.createPlus(prev); } + | { prev = LexicalUnitImpl.createMinus(prev); } + ) + ( )* + prev = calcNumberProduct(prev) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberProduct() +// = [ '*' | '/' ]* +// +LexicalUnit calcNumberProduct(LexicalUnit prev) : +{ +} +{ + ( + prev = calcNumberValue(prev) + ( + ( + { prev = LexicalUnitImpl.createMultiply(prev); } + ( )* + prev = calcNumberValue(prev) + ) + | + ( + { prev = LexicalUnitImpl.createDivide(prev); } + ( )* + prev = calcNumberValue(prev) + ) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberValue() +// = | ( ) +// +LexicalUnit calcNumberValue(LexicalUnit prev) : +{ + Token t; + char op = ' '; + String funct = "("; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); +} +{ + ( + ( + ( + (op = unaryOperator() )? + prev = number(prev, op) + ) + | prev = var(prev) + | + ( + ( + t = { funct = unescape(t.image, false); } + | t = { funct = unescape(t.image, false); } + ) + calcNumberSum(head) + + ) + { + // use an empty function as block scope + prev = functionInternal(prev, funct, head.getNextLexicalUnit()); + } + ) + ( )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// var() +// https://developer.mozilla.org/en-US/docs/Web/CSS/var +// var( , ? ) +// +LexicalUnit var(LexicalUnit prev) : +{ + Token t; + LexicalUnit current, propertyName; + String funct = ""; +} +{ + t = { funct = unescape(t.image, false); } + ( )* + t = { current = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); propertyName = current; } + ( )* + ( + { current = LexicalUnitImpl.createComma(current); } + ( )* + ( current = term(current) )? + )* + + { + return functionInternal(prev, funct, propertyName); + } +} + +// rgb() / rgba() +// +LexicalUnit rgbColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return rgbColorInternal(prev, funct, param); + } +} + + +// hsl() / hsla() +// +LexicalUnit hslColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + param = number(null, op) + | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return hslColorInternal(prev, funct, param); + } +} + +// +// number() +// +LexicalUnit number(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = + ) + { + try + { + value = LexicalUnitImpl.createNumber(prev, intValue(op, t.image)); + } + catch (NumberFormatException e) + { + value = LexicalUnitImpl.createNumber(prev, doubleValue(op, t.image)); + } + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// percentage() +// +LexicalUnit percentage(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createPercentage(prev, doubleValue(op, t.image)); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// dimension() +// +LexicalUnit dimension(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createPixel(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createCentimeter(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createMillimeter(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createInch(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createPoint(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createPica(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createQuater(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createEm(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRem(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createEx(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createCh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVw(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVMin(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVMax(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createMillisecond(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createSecond(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createHertz(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createKiloHertz(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpi"); } + | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpcm"); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// unicodeRange +// +LexicalUnit unicodeRange(LexicalUnit prev) : +{ + Token t; + StringBuilder range = new StringBuilder(); +} +{ + t = { range.append(unescape(t.image, false)); } + { + return LexicalUnitImpl.createIdent(prev, range.toString().toUpperCase(Locale.ROOT)); + } +} + +// +// hexcolor +// : HASH S* +// ; +// +LexicalUnit hexcolor(LexicalUnit prev) : +{ + Token t; +} +{ + t = + { + return hexColorInternal(prev, t); + } +} + +JAVACODE +String skip() { + StringBuilder sb = new StringBuilder(); + int nesting = 0; + Token t = getToken(0); + if (t.image != null) { + sb.append(t.image); + } + + do { + t = getNextToken(); + if (t.kind == EOF) { + break; + } + sb.append(t.image); + appendUnit(t, sb); + + if (t.kind == LBRACE) { + nesting++; + } + else if (t.kind == RBRACE) { + nesting--; + } + } + while ((t.kind != RBRACE && t.kind != SEMICOLON) || nesting > 0); + + return sb.toString(); +} + +JAVACODE +String skipUnit() { + StringBuilder sb = new StringBuilder(); + + Token t = token; + Token oldToken = null; + while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { + oldToken = t; + sb.append(oldToken.image); + appendUnit(t, sb); + + t = getNextToken(); + } + if (t.kind != EOF) { + token = oldToken; + } + + return sb.toString(); +} + +JAVACODE +void appendUnit(Token t, StringBuilder sb) { + if (t.kind == EMS) { + sb.append("em"); + return; + } + if (t.kind == REM) { + sb.append("rem"); + return; + } + if (t.kind == EXS) { + sb.append("ex"); + return; + } + if (t.kind == CH) { + sb.append("ch"); + return; + } + if (t.kind == VW) { + sb.append("vw"); + return; + } + if (t.kind == VH) { + sb.append("vh"); + return; + } + if (t.kind == VMIN) { + sb.append("vmin"); + return; + } + if (t.kind == VMAX) { + sb.append("vmax"); + return; + } + if (t.kind == LENGTH_PX) { + sb.append("px"); + return; + } + if (t.kind == LENGTH_CM) { + sb.append("cm"); + return; + } + if (t.kind == LENGTH_MM) { + sb.append("mm"); + return; + } + if (t.kind == LENGTH_IN) { + sb.append("in"); + return; + } + if (t.kind == LENGTH_PT) { + sb.append("pt"); + return; + } + if (t.kind == LENGTH_PC) { + sb.append("pc"); + return; + } + if (t.kind == LENGTH_Q) { + sb.append("Q"); + return; + } + if (t.kind == ANGLE_DEG) { + sb.append("deg"); + return; + } + if (t.kind == ANGLE_RAD) { + sb.append("rad"); + return; + } + if (t.kind == ANGLE_GRAD) { + sb.append("grad"); + return; + } + if (t.kind == ANGLE_TURN) { + sb.append("turn"); + return; + } + if (t.kind == TIME_MS) { + sb.append("ms"); + return; + } + if (t.kind == TIME_S) { + sb.append('s'); + return; + } + if (t.kind == FREQ_HZ) { + sb.append("hz"); + return; + } + if (t.kind == FREQ_KHZ) { + sb.append("khz"); + return; + } + if (t.kind == RESOLUTION_DPI) { + sb.append("dpi"); + return; + } + if (t.kind == RESOLUTION_DPCM) { + sb.append("dpcm"); + return; + } + if (t.kind == PERCENTAGE) { + sb.append('%'); + return; + } +} + +JAVACODE +void error_skipblock(String msgKey, CSSParseException e) +{ + if (msgKey != null) { + getErrorHandler().warning(createSkipWarning(msgKey, e)); + } + + Token t; + int nesting = 0; + do { + t = getNextToken(); + if (t.kind == LBRACE) { + nesting++; + } + else if (t.kind == RBRACE) { + nesting--; + } + } + while (t.kind != EOF && (t.kind != RBRACE || nesting > 0)); +} + +JAVACODE +void error_skipdecl() +{ + Token t = getToken(1); + if (t.kind == LBRACE) { + error_skipblock(null, null); + return; + } + if (t.kind == RBRACE) { + // next will be RBRACE so we are finished + return; + } + + Token oldToken = token; + while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF) { + oldToken = t; + t = getNextToken(); + } + if (t.kind != EOF) { + token = oldToken; + } +} + +JAVACODE +void error_skipAtRule() +{ + Token t = null; + do { + t = getNextToken(); + } + while (t.kind != SEMICOLON && t.kind != EOF); +} + +JAVACODE +Boolean handleCaseInSensitive(Token t) +{ + String s = unescape(t.image, false); + if ("i".equalsIgnoreCase(s)) { + return Boolean.TRUE; + } + if ("s".equalsIgnoreCase(s)) { + return Boolean.FALSE; + } + + throw toCSSParseException("invalidCaseInSensitivelyIdentifier", new String[] { s }, createLocator(t)); +} diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java index 073d98d..4af7114 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java @@ -793,6 +793,21 @@ public void inherit() throws Exception { assertEquals("inherit", value.getStringValue()); } + /** + * @throws Exception if any error occurs + */ + @Test + public void none() throws Exception { + final LexicalUnit lu = LexicalUnitImpl.createNone(null); + final CSSValueImpl value = new CSSValueImpl(lu, false); + + assertEquals("none", value.getCssText()); + assertEquals(CSSPrimitiveValueType.CSS_IDENT, value.getPrimitiveType()); + assertEquals(LexicalUnit.LexicalUnitType.NONE, value.getLexicalUnitType()); + assertEquals(0.0, value.getDoubleValue(), 0.00001); + assertEquals("none", value.getStringValue()); + } + /** * @throws Exception if any error occurs */ diff --git a/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java index 36ba099..09bb1a7 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java @@ -52,6 +52,14 @@ public void constructByLU() throws Exception { */ @Test public void constructByLUException() throws Exception { + try { + new RGBColorImpl("rgb", null); + fail("DOMException expected"); + } + catch (final DOMException e) { + assertEquals("rgb requires at least three values.", e.getMessage()); + } + LexicalUnit rgbLU = LexicalUnitImpl.createNumber(null, 10); LexicalUnit lu = LexicalUnitImpl.createComma(rgbLU); LexicalUnitImpl.createDivide(lu); diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 3a1c3be..87f8fa3 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -110,6 +110,7 @@ public void selector() throws Exception { selectorType(".inherit", SelectorType.ELEMENT_NODE_SELECTOR); selectorType(".only", SelectorType.ELEMENT_NODE_SELECTOR); + selectorType(".none", SelectorType.ELEMENT_NODE_SELECTOR); } /** @@ -229,6 +230,7 @@ public void condition() throws Exception { conditionType(".inherit", ConditionType.CLASS_CONDITION); conditionType(".only", ConditionType.CLASS_CONDITION); + conditionType(".none", ConditionType.CLASS_CONDITION); } /** @@ -891,10 +893,14 @@ public void hexColor() throws Exception { */ @Test public void rgbComma() throws Exception { - color("foreground: rgb(255, 0, 153)", "foreground: rgb(255,0,153)"); - color("foreground: rgb(255, 0, 153)", "foreground: rgb(255, 0, 153.0)"); - color("foreground: rgb(100%, 0%, 60%)", "foreground: rgb(100%,0%,60%)"); - color("foreground: rgb(100%, 0%, 60%)", "foreground: rgb(100%, 0%, 60%)"); +// color("foreground: rgb(255, 0, 153)", "foreground: rgb(255,0,153)"); +// color("foreground: rgb(255, 0, 153)", "foreground: rgb(255, 0, 153.0)"); +// color("foreground: rgb(100%, 0%, 60%)", "foreground: rgb(100%,0%,60%)"); +// color("foreground: rgb(100%, 0%, 60%)", "foreground: rgb(100%, 0%, 60%)"); + + color("foreground: rgb(none 0% 60%)", "foreground: rgb(none 0% 60%)"); + color("foreground: rgb(100% none 60%)", "foreground: rgb(100% none 60%)"); + color("foreground: rgb(100% 0% none)", "foreground: rgb(100% 0% none)"); color("foreground: rgb(255, 0, 153)", "foreground: rgb(2.55e2, 0e0, 1.53e2)"); @@ -932,6 +938,28 @@ public void rgbBlank() throws Exception { color("foreground: rgb(10% 20% 30% / 0.5)", "foreground: rgb(10% 20% 30% / 0.5)"); } + /** + * @throws Exception in case of failure + */ + @Test + public void rgbMixed() throws Exception { + color("foreground: rgb(42, 128, 255)", "foreground: rgb(42, 128, 255)"); + color("foreground: rgb(42%, 128, 255)", "foreground: rgb(42%, 128, 255)"); + color("foreground: rgb(42, 128%, 255)", "foreground: rgb(42, 128%, 255)"); + color("foreground: rgb(42, 128, 255%)", "foreground: rgb(42, 128, 255%)"); + color("foreground: rgb(42, 128%, 255%)", "foreground: rgb(42, 128%, 255%)"); + color("foreground: rgb(42%, 128%, 255)", "foreground: rgb(42%, 128%, 255)"); + color("foreground: rgb(42%, 128%, 255%)", "foreground: rgb(42%, 128%, 255%)"); + + color("foreground: rgb(42 128 255)", "foreground: rgb(42 128 255)"); + color("foreground: rgb(42% 128 255)", "foreground: rgb(42% 128 255)"); + color("foreground: rgb(42 128% 255)", "foreground: rgb(42 128% 255)"); + color("foreground: rgb(42 128 255%)", "foreground: rgb(42 128 255%)"); + color("foreground: rgb(42% 128% 255)", "foreground: rgb(42% 128% 255)"); + color("foreground: rgb(42 128% 255%)", "foreground: rgb(42 128% 255%)"); + color("foreground: rgb(42% 128% 255%)", "foreground: rgb(42% 128% 255%)"); + } + /** * @throws Exception in case of failure */ @@ -976,6 +1004,30 @@ public void rgbaBlank() throws Exception { color("foreground: rgba(10% 20% 30% / 7%)", "foreground: rgba(10% 20% 30% / 7%)"); color("foreground: rgba(10% 20% 30% / 0.13%)", "foreground: rgba(10% 20% 30% / 1.3e-1%)"); color("foreground: rgba(10% 20% 30% / 0.5)", "foreground: rgba(10% 20% 30% / 0.5)"); + + color("foreground: rgba(10% 20% 30% / none)", "foreground: rgba(10% 20% 30% / none)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void rgbaMixed() throws Exception { + color("foreground: rgba(42, 128, 255)", "foreground: rgba(42, 128, 255)"); + color("foreground: rgba(42%, 128, 255)", "foreground: rgba(42%, 128, 255)"); + color("foreground: rgba(42, 128%, 255)", "foreground: rgba(42, 128%, 255)"); + color("foreground: rgba(42, 128, 255%)", "foreground: rgba(42, 128, 255%)"); + color("foreground: rgba(42, 128%, 255%)", "foreground: rgba(42, 128%, 255%)"); + color("foreground: rgba(42%, 128%, 255)", "foreground: rgba(42%, 128%, 255)"); + color("foreground: rgba(42%, 128%, 255%)", "foreground: rgba(42%, 128%, 255%)"); + + color("foreground: rgba(42 128 255)", "foreground: rgba(42 128 255)"); + color("foreground: rgba(42% 128 255)", "foreground: rgba(42% 128 255)"); + color("foreground: rgba(42 128% 255)", "foreground: rgba(42 128% 255)"); + color("foreground: rgba(42 128 255%)", "foreground: rgba(42 128 255%)"); + color("foreground: rgba(42% 128% 255)", "foreground: rgba(42% 128% 255)"); + color("foreground: rgba(42 128% 255%)", "foreground: rgba(42 128% 255%)"); + color("foreground: rgba(42% 128% 255%)", "foreground: rgba(42% 128% 255%)"); } /** @@ -986,31 +1038,46 @@ public void rgbVariousErrors() throws Exception { color(1, "DOM exception: 'rgb parameters must be separated by ','.'", "foreground: rgb(10, 20 30)"); color(1, "DOM exception: 'rgb requires consitent separators (blank or comma).'", "foreground: rgb(10 20, 30)"); - color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20, 30)"); - color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20%, 30)"); - color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20%, 30)"); - color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20%, 30%)"); - color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20, 30%)"); - color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20, 30%)"); - - color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20 30)"); - color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20% 30)"); - color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20% 30)"); - color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20% 30%)"); - color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20 30%)"); - color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20 30%)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"-\", \"+\", .)", + color(1, "DOM exception: 'rgb alpha value must be separated by '/'.'", "foreground: rgb(10 20 30 40)"); + + color(1, "DOM exception: 'rgb has to use blank as separator if none is used.'", "foreground: rgb(none, 20, 30)"); + color(1, "DOM exception: 'rgb has to use blank as separator if none is used.'", "foreground: rgb(10, none, 30)"); + color(1, "DOM exception: 'rgb has to use blank as separator if none is used.'", "foreground: rgb(10, 20, none)"); + color(1, "DOM exception: 'rgb has to use blank as separator if none is used.'", "foreground: rgb(10, 20, 30, none)"); + + // mixing numbers and percentages is supported by current browsers + // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20, 30)"); + // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20%, 30)"); + // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20%, 30)"); + // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20%, 30%)"); + // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20, 30%)"); + // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20, 30%)"); + // + // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20 30)"); + // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20% 30)"); + // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20% 30)"); + // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20% 30%)"); + // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20 30%)"); + // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20 30%)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: rgb()"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", + "foreground: rgb(10)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", + "foreground: rgb(10 20)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", "foreground: rgb(10, 20, 30,)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", "foreground: rgb(10, 20, 30/)"); - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", "foreground: rgb(10, 20px, 30)"); - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"-\", \"+\", \",\", .)", + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", "foreground: rgb(10 20px 30)"); - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", "foreground: rgb('10', 20, 30,)"); } @@ -1880,7 +1947,7 @@ public void malformedDeclaration() throws Exception { assertEquals(7, errorHandler.getErrorCount()); final String expected = "Error in declaration. (Invalid token \"}\". Was expecting one of: , \":\".)" + " Error in declaration. (Invalid token \";\". Was expecting one of: , \":\".)" - + " Error in expression. (Invalid token \"}\". Was expecting one of: , , \"inherit\", " + + " Error in expression. (Invalid token \"}\". Was expecting one of: , , \"inherit\", \"none\", " + ", , \"-\", \"+\", , , , , , " + ", , , , " + ", , , , , , , " @@ -1888,7 +1955,7 @@ public void malformedDeclaration() throws Exception { + ", , , , , , , " + ", , , , , " + ", , , \"progid:\".)" - + " Error in expression. (Invalid token \";\". Was expecting one of: , , \"inherit\", " + + " Error in expression. (Invalid token \";\". Was expecting one of: , , \"inherit\", \"none\", " + ", , \"-\", \"+\", , , , , , " + ", , , , " + ", , , , , , , " @@ -2141,7 +2208,8 @@ public void unexpectedEndOfPageRule() throws Exception { assertEquals(1, errorHandler.getErrorCount()); final String expected = "Error in @page rule. " - + "(Invalid token \"\". Was expecting one of: , , \"}\", \";\", \"*\", .)"; + + "(Invalid token \"\". Was expecting one of: , \"only\", \"inherit\", \"none\", ," + + " \"}\", \";\", \"*\", .)"; assertEquals(expected, errorHandler.getErrorMessage()); assertEquals("1", errorHandler.getErrorLines()); assertEquals("34", errorHandler.getErrorColumns()); @@ -2185,7 +2253,7 @@ public void unexpectedEndOfString() throws Exception { assertEquals(1, errorHandler.getErrorCount()); final String expected = "Error in expression. " - + "(Invalid token \"\\'\". Was expecting one of: , , \"inherit\", " + + "(Invalid token \"\\'\". Was expecting one of: , , \"inherit\", \"none\", " + ", , \"-\", \"+\", , , , , , " + ", , , , " + ", , , , , , , " @@ -4548,6 +4616,40 @@ public void inheritClassName() throws Exception { assertEquals("*.inherit { color: red; }", rule.getCssText()); } + /** + * @throws Exception if the test fails + */ + @Test + public void inheritPropertyName() throws Exception { + final String css = ".test { inherit: value }\n"; + + final CSSStyleSheetImpl sheet = parse(css); + final CSSRuleListImpl rules = sheet.getCssRules(); + + assertEquals(1, rules.getLength()); + + final AbstractCSSRuleImpl rule = rules.getRules().get(0); + assertEquals("*.test { inherit: value; }", rule.toString()); + assertEquals("*.test { inherit: value; }", rule.getCssText()); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void inheritPropertyValue() throws Exception { + final String css = ".test { display: inherit }\n"; + + final CSSStyleSheetImpl sheet = parse(css); + final CSSRuleListImpl rules = sheet.getCssRules(); + + assertEquals(1, rules.getLength()); + + final AbstractCSSRuleImpl rule = rules.getRules().get(0); + assertEquals("*.test { display: inherit; }", rule.toString()); + assertEquals("*.test { display: inherit; }", rule.getCssText()); + } + /** * @throws Exception if the test fails */ @@ -4565,7 +4667,91 @@ public void onlyClassName() throws Exception { assertEquals("*.only { color: red; }", rule.getCssText()); } -// + /** + * @throws Exception if the test fails + */ + @Test + public void onlyPropertyName() throws Exception { + final String css = ".test { only: value }\n"; + + final CSSStyleSheetImpl sheet = parse(css); + final CSSRuleListImpl rules = sheet.getCssRules(); + + assertEquals(1, rules.getLength()); + + final AbstractCSSRuleImpl rule = rules.getRules().get(0); + assertEquals("*.test { only: value; }", rule.toString()); + assertEquals("*.test { only: value; }", rule.getCssText()); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void onlyPropertyValue() throws Exception { + final String css = ".test { display: only }\n"; + + final CSSStyleSheetImpl sheet = parse(css); + final CSSRuleListImpl rules = sheet.getCssRules(); + + assertEquals(1, rules.getLength()); + + final AbstractCSSRuleImpl rule = rules.getRules().get(0); + assertEquals("*.test { display: only; }", rule.toString()); + assertEquals("*.test { display: only; }", rule.getCssText()); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void noneClassName() throws Exception { + final String css = ".none { color: red }\n"; + + final CSSStyleSheetImpl sheet = parse(css); + final CSSRuleListImpl rules = sheet.getCssRules(); + + assertEquals(1, rules.getLength()); + + final AbstractCSSRuleImpl rule = rules.getRules().get(0); + assertEquals("*.none { color: red; }", rule.toString()); + assertEquals("*.none { color: red; }", rule.getCssText()); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void nonePropertyName() throws Exception { + final String css = ".test { none: value }\n"; + + final CSSStyleSheetImpl sheet = parse(css); + final CSSRuleListImpl rules = sheet.getCssRules(); + + assertEquals(1, rules.getLength()); + + final AbstractCSSRuleImpl rule = rules.getRules().get(0); + assertEquals("*.test { none: value; }", rule.toString()); + assertEquals("*.test { none: value; }", rule.getCssText()); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void nonePropertyValue() throws Exception { + final String css = ".test { display: none }\n"; + + final CSSStyleSheetImpl sheet = parse(css); + final CSSRuleListImpl rules = sheet.getCssRules(); + + assertEquals(1, rules.getLength()); + + final AbstractCSSRuleImpl rule = rules.getRules().get(0); + assertEquals("*.test { display: none; }", rule.toString()); + assertEquals("*.test { display: none; }", rule.getCssText()); + } + // /** // * @throws Exception if any error occurs // */ From 371cf701695f50b61224ef4df05fcd49744b3ff3 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 23 Dec 2024 08:46:57 +0100 Subject: [PATCH 052/137] more tests and some fixes --- .../cssparser/parser/CSS3ParserTest.java | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 87f8fa3..b94539d 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -893,10 +893,10 @@ public void hexColor() throws Exception { */ @Test public void rgbComma() throws Exception { -// color("foreground: rgb(255, 0, 153)", "foreground: rgb(255,0,153)"); -// color("foreground: rgb(255, 0, 153)", "foreground: rgb(255, 0, 153.0)"); -// color("foreground: rgb(100%, 0%, 60%)", "foreground: rgb(100%,0%,60%)"); -// color("foreground: rgb(100%, 0%, 60%)", "foreground: rgb(100%, 0%, 60%)"); + color("foreground: rgb(255, 0, 153)", "foreground: rgb(255,0,153)"); + color("foreground: rgb(255, 0, 153)", "foreground: rgb(255, 0, 153.0)"); + color("foreground: rgb(100%, 0%, 60%)", "foreground: rgb(100%,0%,60%)"); + color("foreground: rgb(100%, 0%, 60%)", "foreground: rgb(100%, 0%, 60%)"); color("foreground: rgb(none 0% 60%)", "foreground: rgb(none 0% 60%)"); color("foreground: rgb(100% none 60%)", "foreground: rgb(100% none 60%)"); @@ -1045,6 +1045,15 @@ public void rgbVariousErrors() throws Exception { color(1, "DOM exception: 'rgb has to use blank as separator if none is used.'", "foreground: rgb(10, 20, none)"); color(1, "DOM exception: 'rgb has to use blank as separator if none is used.'", "foreground: rgb(10, 20, 30, none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: rgb(-none 20 30)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", + "foreground: rgb(10 -none 30)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", + "foreground: rgb(10 20 -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \")\", \"/\", \"-\", \"+\", \",\", .)", + "foreground: rgb(10 20 30 -none)"); + // mixing numbers and percentages is supported by current browsers // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20, 30)"); // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20%, 30)"); @@ -1947,7 +1956,7 @@ public void malformedDeclaration() throws Exception { assertEquals(7, errorHandler.getErrorCount()); final String expected = "Error in declaration. (Invalid token \"}\". Was expecting one of: , \":\".)" + " Error in declaration. (Invalid token \";\". Was expecting one of: , \":\".)" - + " Error in expression. (Invalid token \"}\". Was expecting one of: , , \"inherit\", \"none\", " + + " Error in expression. (Invalid token \"}\". Was expecting one of: , \"only\", , \"inherit\", \"none\", " + ", , \"-\", \"+\", , , , , , " + ", , , , " + ", , , , , , , " @@ -1955,7 +1964,7 @@ public void malformedDeclaration() throws Exception { + ", , , , , , , " + ", , , , , " + ", , , \"progid:\".)" - + " Error in expression. (Invalid token \";\". Was expecting one of: , , \"inherit\", \"none\", " + + " Error in expression. (Invalid token \";\". Was expecting one of: , \"only\", , \"inherit\", \"none\", " + ", , \"-\", \"+\", , , , , , " + ", , , , " + ", , , , , , , " @@ -2253,7 +2262,7 @@ public void unexpectedEndOfString() throws Exception { assertEquals(1, errorHandler.getErrorCount()); final String expected = "Error in expression. " - + "(Invalid token \"\\'\". Was expecting one of: , , \"inherit\", \"none\", " + + "(Invalid token \"\\'\". Was expecting one of: , \"only\", , \"inherit\", \"none\", " + ", , \"-\", \"+\", , , , , , " + ", , , , " + ", , , , , , , " From 24010e652c6c74a6faa783c85de571b11195ac07 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 23 Dec 2024 12:56:29 +0100 Subject: [PATCH 053/137] support 'none' in hsl colors --- .../htmlunit/cssparser/dom/HSLColorImpl.java | 39 +++++++-- .../htmlunit/cssparser/dom/RGBColorImpl.java | 20 ++--- src/main/javacc/CSS3Parser.jj | 12 ++- .../cssparser/dom/HSLColorImplTest.java | 8 ++ .../cssparser/parser/CSS3ParserTest.java | 80 ++++++++++++++++--- 5 files changed, 127 insertions(+), 32 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java index 7402d8c..69ea886 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java @@ -53,6 +53,9 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep function_ = functionLC; LexicalUnit next = lu; + if (next == null) { + throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); + } hue_ = new CSSValueImpl(next, true); next = next.getNextLexicalUnit(); @@ -60,15 +63,26 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); } - commaSeparated_ = next.getLexicalUnitType() == LexicalUnitType.OPERATOR_COMMA; + commaSeparated_ = LexicalUnitType.OPERATOR_COMMA == next.getLexicalUnitType(); if (commaSeparated_) { + if (hue_.getLexicalUnitType() == LexicalUnitType.NONE) { + throw new DOMException(DOMException.SYNTAX_ERR, + function_ + " has to use blank as separator if none is used."); + } + next = next.getNextLexicalUnit(); if (next == null) { throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); } - if (LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, "Saturation part has to be percentage."); + if (LexicalUnitType.NONE == next.getLexicalUnitType()) { + throw new DOMException(DOMException.SYNTAX_ERR, + function_ + " has to use blank as separator if none is used."); + } + else { + if (LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { + throw new DOMException(DOMException.SYNTAX_ERR, "Saturation part has to be percentage."); + } } saturation_ = new CSSValueImpl(next, true); @@ -77,7 +91,7 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); } - if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_COMMA) { + if (LexicalUnitType.OPERATOR_COMMA != next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, function_ + " parameters must be separated by ','."); } @@ -86,6 +100,10 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, function_ + "b requires at least three values."); } + if (LexicalUnitType.NONE == next.getLexicalUnitType()) { + throw new DOMException(DOMException.SYNTAX_ERR, + function_ + " has to use blank as separator if none is used."); + } if (LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, "Lightness part has to be percentage."); } @@ -96,14 +114,19 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep return; } - if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_COMMA) { + if (LexicalUnitType.OPERATOR_COMMA != next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, function_ + " parameters must be separated by ','."); } + next = next.getNextLexicalUnit(); if (next == null) { throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); } + if (LexicalUnitType.NONE == next.getLexicalUnitType()) { + throw new DOMException(DOMException.SYNTAX_ERR, + function_ + " has to use blank as separator if none is used."); + } if (LexicalUnitType.INTEGER != next.getLexicalUnitType() && LexicalUnitType.REAL != next.getLexicalUnitType() && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { @@ -117,7 +140,8 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep return; } - if (LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { + if (LexicalUnitType.NONE != next.getLexicalUnitType() + && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, "Saturation part has to be percentage."); } saturation_ = new CSSValueImpl(next, true); @@ -131,7 +155,8 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep function_ + " requires consitent separators (blank or comma)."); } - if (LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { + if (LexicalUnitType.NONE != next.getLexicalUnitType() + && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, "Lightness part has to be percentage."); } lightness_ = new CSSValueImpl(next, true); diff --git a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java index 4137b6a..afb384d 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java @@ -64,9 +64,9 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); } - commaSeparated_ = next.getLexicalUnitType() == LexicalUnitType.OPERATOR_COMMA; + commaSeparated_ = LexicalUnitType.OPERATOR_COMMA == next.getLexicalUnitType(); if (commaSeparated_) { - if (red_.getLexicalUnitType() == LexicalUnitType.NONE) { + if (LexicalUnitType.NONE == red_.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, function_ + " has to use blank as separator if none is used."); } @@ -76,18 +76,18 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); } - green_ = getPart(next); - if (green_.getLexicalUnitType() == LexicalUnitType.NONE) { + if (LexicalUnitType.NONE == next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, function_ + " has to use blank as separator if none is used."); } + green_ = getPart(next); next = next.getNextLexicalUnit(); if (next == null) { throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); } - if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_COMMA) { + if (LexicalUnitType.OPERATOR_COMMA != next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, function_ + " parameters must be separated by ','."); } @@ -96,18 +96,18 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, function_ + "b requires at least three values."); } - blue_ = getPart(next); - if (blue_.getLexicalUnitType() == LexicalUnitType.NONE) { + if (LexicalUnitType.NONE == next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, function_ + " has to use blank as separator if none is used."); } + blue_ = getPart(next); next = next.getNextLexicalUnit(); if (next == null) { return; } - if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_COMMA) { + if (LexicalUnitType.OPERATOR_COMMA != next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, function_ + " parameters must be separated by ','."); } next = next.getNextLexicalUnit(); @@ -115,11 +115,11 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value"); } - alpha_ = getPart(next); - if (alpha_.getLexicalUnitType() == LexicalUnitType.NONE) { + if (LexicalUnitType.NONE == next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, function_ + " has to use blank as separator if none is used."); } + alpha_ = getPart(next); next = next.getNextLexicalUnit(); if (next != null) { diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index d3b2467..776dcb4 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -2028,7 +2028,8 @@ LexicalUnit hslColor(LexicalUnit prev) : ( (op = unaryOperator() )? ( - param = number(null, op) + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } @@ -2046,7 +2047,8 @@ LexicalUnit hslColor(LexicalUnit prev) : ( (op = unaryOperator() )? ( - next = percentage(next, op) + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) ) ) { op = ' '; } @@ -2060,7 +2062,8 @@ LexicalUnit hslColor(LexicalUnit prev) : ( (op = unaryOperator() )? ( - next = percentage(next, op) + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) ) ) { op = ' '; } @@ -2077,7 +2080,8 @@ LexicalUnit hslColor(LexicalUnit prev) : (op = unaryOperator() )? ( - next = number(next, op) + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) | next = percentage(next, op) ) diff --git a/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java index 56f9fc1..1280bcb 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java @@ -53,6 +53,14 @@ public void constructByLU() throws Exception { */ @Test public void constructByLUException() throws Exception { + try { + new HSLColorImpl("hsl", null); + fail("DOMException expected"); + } + catch (final DOMException e) { + assertEquals("hsl requires at least three values.", e.getMessage()); + } + LexicalUnit hslLU = LexicalUnitImpl.createNumber(null, 10); LexicalUnit lu = LexicalUnitImpl.createComma(hslLU); LexicalUnitImpl.createDivide(lu); diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index b94539d..35615cd 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -1128,6 +1128,10 @@ public void hslComma() throws Exception { color("foreground: hsl(255grad, 0%, 15.37%)", "foreground: hsl(2.55e2grad, 0e0%, 1537e-2%)"); color("foreground: hsl(255turn, 0%, 15.37%)", "foreground: hsl(2.55e2turn, 0e0%, 1537e-2%)"); + color("foreground: hsl(none 0% 60%)", "foreground: hsl(none 0% 60%)"); + color("foreground: hsl(100deg none 60%)", "foreground: hsl(100deg none 60%)"); + color("foreground: hsl(100deg 0% none)", "foreground: hsl(100deg 0% none)"); + // alpha color("foreground: hsl(270, 60%, 70%, 0.1)", "foreground: hsl(270,60%,70%,0.1)"); color("foreground: hsl(-270, 60%, 70%, 0.1)", "foreground: hsl(-270, 60%, 70%, 0.1)"); @@ -1160,6 +1164,18 @@ public void hslBlank() throws Exception { color("foreground: hsl(-270 60% 70% / 10%)", "foreground: hsl(-270 60% 70% / 10%)"); } + /** + * @throws Exception in case of failure + */ + @Test + public void hslMixed() throws Exception { + color("foreground: hsl(42, 128%, 255%)", "foreground: hsl(42, 128%, 255%)"); + color("foreground: hsl(42deg, 128%, 255%)", "foreground: hsl(42deg, 128%, 255%)"); + + color("foreground: hsl(42 128% 255%)", "foreground: hsl(42 128% 255%)"); + color("foreground: hsl(42rad 128% 255%)", "foreground: hsl(42rad 128% 255%)"); + } + /** * @throws Exception in case of failure */ @@ -1210,6 +1226,18 @@ public void hslaBlank() throws Exception { color("foreground: hsla(-270 60% 70% / 10%)", "foreground: hsla(-270 60% 70% / 10%)"); } + /** + * @throws Exception in case of failure + */ + @Test + public void hslaMixed() throws Exception { + color("foreground: hsla(42, 128%, 255%)", "foreground: hsla(42, 128%, 255%)"); + color("foreground: hsla(42deg, 128%, 255%)", "foreground: hsla(42deg, 128%, 255%)"); + + color("foreground: hsla(42 128% 255%)", "foreground: hsla(42 128% 255%)"); + color("foreground: hsla(42rad 128% 255%)", "foreground: hsla(42rad 128% 255%)"); + } + /** * @throws Exception in case of failure */ @@ -1218,17 +1246,47 @@ public void hslVariousErrors() throws Exception { color(1, "DOM exception: 'hsl parameters must be separated by ','.'", "foreground: hsl(10, 20% 30%)"); color(1, "DOM exception: 'hsl requires consitent separators (blank or comma).'", "foreground: hsl(10 20%, 30%)"); - color(1, "Error in expression. (Invalid token \"10\". " - + "Was expecting one of: , , \"-\", \"+\", , , , .)", - "foreground: hsl('10', 20% 30%)"); - color(1, "Error in expression. (Invalid token \"10\". " - + "Was expecting one of: , , \"-\", \"+\", , , , .)", - "foreground: hsl(10px, 20% 30%)"); - - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"-\", \"+\", .)", - "foreground: hsl(10, 20, 30%)"); - color(1, "Error in expression. (Invalid token \"30\". Was expecting one of: , \"-\", \"+\", .)", - "foreground: hsl(10, 20%, 30)"); + color(1, "DOM exception: 'hsl alpha value must be separated by '/'.'", "foreground: hsl(10 20% 30% 40)"); + + color(1, "DOM exception: 'hsl has to use blank as separator if none is used.'", "foreground: hsl(none, 20%, 30%)"); + color(1, "DOM exception: 'hsl has to use blank as separator if none is used.'", "foreground: hsl(10, none, 30%)"); + color(1, "DOM exception: 'hsl has to use blank as separator if none is used.'", "foreground: hsl(10, 20%, none)"); + color(1, "DOM exception: 'hsl has to use blank as separator if none is used.'", "foreground: hsl(10, 20%, 30%, none)"); + + // mixing numbers and percentages is supported by current browsers + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20, 30)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20%, 30)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20%, 30)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20%, 30%)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20, 30%)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20, 30%)"); + // + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20 30)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20% 30)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20% 30)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20% 30%)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20 30%)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20 30%)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", + "foreground: hsl()"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + "foreground: hsl(10)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + "foreground: hsl(10 20%)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: hsl(10, 20%, 30%,)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: hsl(10, 20%, 30%/)"); + + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + "foreground: hsl(10, 20px, 30)"); + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + "foreground: hsl(10 20px 30)"); + + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", + "foreground: hsl('10', 20, 30,)"); } private void color(final String expected, final String cssText) throws Exception { From ef6b562d57c1cb08f044475ff282cc2e2a0ecaeb Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 23 Dec 2024 13:35:31 +0100 Subject: [PATCH 054/137] support hwb color declaration --- .../htmlunit/cssparser/dom/CSSValueImpl.java | 4 + .../htmlunit/cssparser/dom/HSLColorImpl.java | 2 +- .../htmlunit/cssparser/dom/HWBColorImpl.java | 191 ++++++++++++++++++ .../cssparser/parser/AbstractCSSParser.java | 5 + .../cssparser/parser/LexicalUnit.java | 2 + .../cssparser/parser/LexicalUnitImpl.java | 12 +- src/main/javacc/CSS3Parser.jj | 76 +++++++ .../cssparser/dom/HWBColorImplTest.java | 139 +++++++++++++ .../cssparser/parser/CSS3ParserTest.java | 59 +++++- 9 files changed, 485 insertions(+), 5 deletions(-) create mode 100644 src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java create mode 100644 src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java index cc50dc7..b59e693 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java @@ -199,6 +199,10 @@ else if (value.getLexicalUnitType() == LexicalUnitType.HSLCOLOR) { // HSLColor value_ = new HSLColorImpl(value.getFunctionName(), value.getParameters()); } + else if (value.getLexicalUnitType() == LexicalUnitType.HWBCOLOR) { + // HWBColor + value_ = new HWBColorImpl(value.getFunctionName(), value.getParameters()); + } else if (value.getLexicalUnitType() == LexicalUnitType.COUNTER_FUNCTION) { // Counter value_ = new CounterImpl(false, value.getParameters()); diff --git a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java index 69ea886..486d03d 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java @@ -97,7 +97,7 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + "b requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); } if (LexicalUnitType.NONE == next.getLexicalUnitType()) { diff --git a/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java new file mode 100644 index 0000000..3eeb461 --- /dev/null +++ b/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java @@ -0,0 +1,191 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.dom; + +import java.io.Serializable; +import java.util.Locale; + +import org.htmlunit.cssparser.parser.LexicalUnit; +import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; +import org.w3c.dom.DOMException; + +/** + * Implementation of HWBColor. + * + * @author Ronald Brill + */ +public class HWBColorImpl implements Serializable { + private CSSValueImpl hue_; + private CSSValueImpl whiteness_; + private CSSValueImpl blackness_; + private CSSValueImpl alpha_; + + /** + * Constructor that reads the values from the given + * chain of LexicalUnits. + * @param function the name of the function; hwb + * @param lu the values + * @throws DOMException in case of error + */ + public HWBColorImpl(final String function, final LexicalUnit lu) throws DOMException { + if (function == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "Color space hwb is required."); + } + final String functionLC = function.toLowerCase(Locale.ROOT); + if (!"hwb".equals(functionLC)) { + throw new DOMException(DOMException.SYNTAX_ERR, "Color space '" + functionLC + "' not supported."); + } + + LexicalUnit next = lu; + if (next == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "hwb requires at least three values."); + } + hue_ = new CSSValueImpl(next, true); + + next = next.getNextLexicalUnit(); + if (next == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "hwb requires at least three values."); + } + + if (LexicalUnitType.NONE != next.getLexicalUnitType() + && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { + throw new DOMException(DOMException.SYNTAX_ERR, "Whiteness part has to be percentage."); + } + whiteness_ = new CSSValueImpl(next, true); + + next = next.getNextLexicalUnit(); + if (next == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "hwb requires at least three values."); + } + if (next.getLexicalUnitType() == LexicalUnitType.OPERATOR_COMMA) { + throw new DOMException(DOMException.SYNTAX_ERR, + "hwb requires consitent separators (blank or comma)."); + } + + if (LexicalUnitType.NONE != next.getLexicalUnitType() + && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { + throw new DOMException(DOMException.SYNTAX_ERR, "Blackness part has to be percentage."); + } + blackness_ = new CSSValueImpl(next, true); + next = next.getNextLexicalUnit(); + if (next == null) { + return; + } + + if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_SLASH) { + throw new DOMException(DOMException.SYNTAX_ERR, "hwb alpha value must be separated by '/'."); + } + next = next.getNextLexicalUnit(); + if (next == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); + } + + if (LexicalUnitType.INTEGER != next.getLexicalUnitType() + && LexicalUnitType.REAL != next.getLexicalUnitType() + && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { + throw new DOMException(DOMException.SYNTAX_ERR, "Alpha part has to be numeric or percentage."); + } + alpha_ = new CSSValueImpl(next, true); + + next = next.getNextLexicalUnit(); + if (next != null) { + throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for hwb function."); + } + } + + /** + * @return the hue part. + */ + public CSSValueImpl getHue() { + return hue_; + } + + /** + * Sets the hue part to a new value. + * @param hue the new CSSValueImpl + */ + public void setHue(final CSSValueImpl hue) { + hue_ = hue; + } + + /** + * @return the whiteness part. + */ + public CSSValueImpl getWhiteness() { + return whiteness_; + } + + /** + * Sets the whiteness part to a new value. + * @param whiteness the new CSSValueImpl + */ + public void setWhiteness(final CSSValueImpl whiteness) { + whiteness_ = whiteness; + } + + /** + * @return the blackness part. + */ + public CSSValueImpl getBlackness() { + return blackness_; + } + + /** + * Sets the blackness part to a new value. + * @param blackness the new CSSValueImpl + */ + public void setBlackness(final CSSValueImpl blackness) { + blackness_ = blackness; + } + + /** + * @return the alpha part. + */ + public CSSValueImpl getAlpha() { + return alpha_; + } + + /** + * Sets the alpha part to a new value. + * @param alpha the new CSSValueImpl + */ + public void setAlpha(final CSSValueImpl alpha) { + alpha_ = alpha; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + final StringBuilder sb = new StringBuilder(); + + sb + .append("hwb(") + .append(hue_) + .append(" ") + .append(whiteness_) + .append(" ") + .append(blackness_); + + if (null != alpha_) { + sb.append(" / ").append(alpha_); + } + + sb.append(")"); + + return sb.toString(); + } +} diff --git a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java index a73c609..270bb0e 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java @@ -799,6 +799,11 @@ protected LexicalUnit hslColorInternal(final LexicalUnit prev, final String func return LexicalUnitImpl.createHslColor(prev, funct, param); } + protected LexicalUnit hwbColorInternal(final LexicalUnit prev, final String funct, + final LexicalUnit param) { + return LexicalUnitImpl.createHwbColor(prev, funct, param); + } + /** * Processes a hexadecimal color definition. * diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java index deca757..0248c39 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java @@ -98,6 +98,8 @@ enum LexicalUnitType { RGBCOLOR, /** HSLCOLOR. */ HSLCOLOR, + /** HWBCOLOR. */ + HWBCOLOR, /** NONE. */ NONE, diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java index fcd7ab0..2ae30d3 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java @@ -1071,7 +1071,7 @@ public static LexicalUnit createRgbColor(final LexicalUnit prev, final String fu /** * @param prev the previous LexicalUnit - * @param funct the name rgb or rgba + * @param funct the name hsl or hsla * @param params the params * @return lexical unit with type rgb color */ @@ -1079,6 +1079,16 @@ public static LexicalUnit createHslColor(final LexicalUnit prev, final String fu return new LexicalUnitImpl(prev, LexicalUnitType.HSLCOLOR, funct, params); } + /** + * @param prev the previous LexicalUnit + * @param funct the name hwb + * @param params the params + * @return lexical unit with type rgb color + */ + public static LexicalUnit createHwbColor(final LexicalUnit prev, final String funct, final LexicalUnit params) { + return new LexicalUnitImpl(prev, LexicalUnitType.HWBCOLOR, funct, params); + } + /** * @param prev the previous LexicalUnit * @return lexical unit with type rgb color diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 776dcb4..48393f0 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -420,6 +420,7 @@ TOKEN_MGR_DECLS : | < FUNCTION_RGB: "rgb" ("a")? > | < FUNCTION_HSL: "hsl" ("a")? > +| < FUNCTION_HWB: "hwb" > | < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > @@ -1596,6 +1597,7 @@ LexicalUnit term(LexicalUnit prev) : | value = function(prev) | value = rgbColor(prev) | value = hslColor(prev) + | value = hwbColor(prev) | value = calc(prev) | value = var(prev) ) @@ -2094,6 +2096,80 @@ LexicalUnit hslColor(LexicalUnit prev) : } } + +// hwb() +// +LexicalUnit hwbColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return hwbColorInternal(prev, funct, param); + } +} + + // // number() // diff --git a/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java new file mode 100644 index 0000000..00bf062 --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.dom; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; + +import org.htmlunit.cssparser.parser.LexicalUnit; +import org.htmlunit.cssparser.parser.LexicalUnitImpl; +import org.junit.jupiter.api.Test; +import org.w3c.dom.DOMException; + +/** + * Unit tests for {@link HWBColorImpl}. + * + * @author Ronald Brill + */ +public class HWBColorImplTest { + + /** + * @throws Exception if any error occurs + */ + @Test + public void constructByLU() throws Exception { + final LexicalUnit hwbLU = LexicalUnitImpl.createDegree(null, 10); + final LexicalUnit lu = LexicalUnitImpl.createPercentage(hwbLU, 20); + LexicalUnitImpl.createPercentage(lu, 30); + + final HWBColorImpl hwb = new HWBColorImpl("hwb", hwbLU); + assertEquals("hwb(10deg 20% 30%)", hwb.toString()); + assertEquals("10deg", hwb.getHue().getCssText()); + assertEquals("20%", hwb.getWhiteness().getCssText()); + assertEquals("30%", hwb.getBlackness().getCssText()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void constructByLUException() throws Exception { + try { + new HWBColorImpl("hwb", null); + fail("DOMException expected"); + } + catch (final DOMException e) { + assertEquals("hwb requires at least three values.", e.getMessage()); + } + + LexicalUnit hwbLU = LexicalUnitImpl.createNumber(null, 10); + LexicalUnit lu = LexicalUnitImpl.createDivide(hwbLU); + + try { + final HWBColorImpl color = new HWBColorImpl("hwb", hwbLU); + fail("DOMException expected: " + color); + } + catch (final DOMException e) { + assertEquals("Whiteness part has to be percentage.", e.getMessage()); + } + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void constructByLUTooManyValuesException() throws Exception { + final LexicalUnit hwbLU = LexicalUnitImpl.createNumber(null, 100); + LexicalUnit lu = LexicalUnitImpl.createPercentage(hwbLU, 20); + lu = LexicalUnitImpl.createPercentage(lu, 30); + lu = LexicalUnitImpl.createSlash(lu); + lu = LexicalUnitImpl.createPercentage(lu, 0.1); + lu = LexicalUnitImpl.createPercentage(lu, 77); + + try { + final HWBColorImpl color = new HWBColorImpl("hwb", hwbLU); + fail("DOMException expected: " + color); + } + catch (final DOMException e) { + assertEquals("Too many parameters for hwb function.", e.getMessage()); + } + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void getCssText() throws Exception { + final LexicalUnit hwbLu = LexicalUnitImpl.createNumber(null, 235); + final LexicalUnit lu = LexicalUnitImpl.createPercentage(hwbLu, 20); + LexicalUnitImpl.createPercentage(lu, 30); + + final HWBColorImpl hwb = new HWBColorImpl("hwb", hwbLu); + + assertEquals("hwb(235 20% 30%)", hwb.toString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void getCssTextFunctionName() throws Exception { + final LexicalUnit hwbLu = LexicalUnitImpl.createNumber(null, 45); + + try { + final HWBColorImpl color = new HWBColorImpl(null, hwbLu); + fail("DOMException expected: " + color); + } + catch (final DOMException e) { + assertEquals("Color space hwb is required.", e.getMessage()); + } + + try { + final HWBColorImpl color = new HWBColorImpl("", hwbLu); + fail("DOMException expected: " + color); + } + catch (final DOMException e) { + assertEquals("Color space '' not supported.", e.getMessage()); + } + + try { + final HWBColorImpl color = new HWBColorImpl("xyz", hwbLu); + fail("DOMException expected: " + color); + } + catch (final DOMException e) { + assertEquals("Color space 'xyz' not supported.", e.getMessage()); + } + } +} diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 35615cd..e488f35 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -1289,6 +1289,59 @@ public void hslVariousErrors() throws Exception { "foreground: hsl('10', 20, 30,)"); } + /** + * @throws Exception in case of failure + */ + @Test + public void hwbBlank() throws Exception { + color("foreground: hwb(270 60% 70%)", "foreground: hwb(270 60% 70%)"); + color("foreground: hwb(-270 60% 70%)", "foreground: hwb(-270 60% 70%)"); + color("foreground: hwb(270deg 60% 70%)", "foreground: hwb(270deg 60% 70%)"); + color("foreground: hwb(270rad 60% 70%)", "foreground: hwb(270rad 60% 70%)"); + color("foreground: hwb(270grad 60% 70%)", "foreground: hwb(270grad 60% 70%)"); + color("foreground: hwb(2.1turn 60% 70%)", "foreground: hwb(2.1turn 60% 70%)"); + + color("foreground: hwb(255 0% 15.37%)", "foreground: hwb(2.55e2 0e0% 1537e-2%)"); + color("foreground: hwb(255deg 0% 15.37%)", "foreground: hwb(2.55e2deg 0e0% 1537e-2%)"); + color("foreground: hwb(255rad 0% 15.37%)", "foreground: hwb(2.55e2rad 0e0% 1537e-2%)"); + color("foreground: hwb(255grad 0% 15.37%)", "foreground: hwb(2.55e2grad 0e0% 1537e-2%)"); + color("foreground: hwb(255turn 0% 15.37%)", "foreground: hwb(2.55e2turn 0e0% 1537e-2%)"); + + // alpha + color("foreground: hwb(270 60% 70% / 0.1)", "foreground: hwb(270 60% 70%/0.1)"); + color("foreground: hwb(-270 60% 70% / 0.1)", "foreground: hwb(-270 60% 70% / 0.1)"); + color("foreground: hwb(-270 60% 70% / 0.1)", "foreground: hwb(-270 60% 70% / .1)"); + color("foreground: hwb(-270 60% 70% / 10%)", "foreground: hwb(-270 60% 70% / 10%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void hwbVariousErrors() throws Exception { + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10, 20% 30%)"); + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", .)", "foreground: hwb(10 20%, 30%)"); + + color(1, "DOM exception: 'hwb alpha value must be separated by '/'.'", "foreground: hwb(10 20% 30% 40)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", + "foreground: hwb()"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10 20%)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10 20% 30%/)"); + + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10 20px 30)"); + + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", + "foreground: hwb('10' 20 30)"); + } + private void color(final String expected, final String cssText) throws Exception { color(0, expected, cssText); } @@ -2021,7 +2074,7 @@ public void malformedDeclaration() throws Exception { + ", , , , " + ", , , , , , , " + ", , , , , " - + ", , , \"progid:\".)" + + ", , , , \"progid:\".)" + " Error in expression. (Invalid token \";\". Was expecting one of: , \"only\", , \"inherit\", \"none\", " + ", , \"-\", \"+\", , , , , , " + ", , , , " @@ -2029,7 +2082,7 @@ public void malformedDeclaration() throws Exception { + ", , , , " + ", , , , , , , " + ", , , , , " - + ", , , \"progid:\".)" + + ", , , , \"progid:\".)" + " Error in declaration. (Invalid token \"{\". Was expecting one of: , \":\".)" + " Error in style rule. (Invalid token \" \". Was expecting one of: , \"}\", \";\".)" + " Error in declaration. (Invalid token \"{\". Was expecting one of: , \":\".)"; @@ -2327,7 +2380,7 @@ public void unexpectedEndOfString() throws Exception { + ", , , , " + ", , , , , , , " + ", , , , , " - + ", , , \"progid:\".)"; + + ", , , , \"progid:\".)"; assertEquals(expected, errorHandler.getErrorMessage()); assertEquals("3", errorHandler.getErrorLines()); assertEquals("16", errorHandler.getErrorColumns()); From 71f73cb0858dffbd59eb4a6a741df62ae85c09b1 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 23 Dec 2024 13:44:44 +0100 Subject: [PATCH 055/137] fix build --- .../java/org/htmlunit/cssparser/dom/HWBColorImplTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java index 00bf062..f175648 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java @@ -58,8 +58,8 @@ public void constructByLUException() throws Exception { assertEquals("hwb requires at least three values.", e.getMessage()); } - LexicalUnit hwbLU = LexicalUnitImpl.createNumber(null, 10); - LexicalUnit lu = LexicalUnitImpl.createDivide(hwbLU); + final LexicalUnit hwbLU = LexicalUnitImpl.createNumber(null, 10); + final LexicalUnit lu = LexicalUnitImpl.createDivide(hwbLU); try { final HWBColorImpl color = new HWBColorImpl("hwb", hwbLU); From 39d7f0eaba99fe53f7bdfb5c93ace120edb86610 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 23 Dec 2024 14:25:53 +0100 Subject: [PATCH 056/137] support lab color declaration --- .../htmlunit/cssparser/dom/CSSValueImpl.java | 4 + .../htmlunit/cssparser/dom/HWBColorImpl.java | 4 - .../htmlunit/cssparser/dom/LABColorImpl.java | 188 ++++++++++++++++++ .../cssparser/parser/AbstractCSSParser.java | 5 + .../cssparser/parser/LexicalUnit.java | 2 + .../cssparser/parser/LexicalUnitImpl.java | 37 +++- src/main/javacc/CSS3Parser.jj | 75 +++++++ .../cssparser/dom/LABColorImplTest.java | 139 +++++++++++++ .../cssparser/parser/CSS3ParserTest.java | 111 ++++++++++- 9 files changed, 550 insertions(+), 15 deletions(-) create mode 100644 src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java create mode 100644 src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java index b59e693..c9cb102 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java @@ -203,6 +203,10 @@ else if (value.getLexicalUnitType() == LexicalUnitType.HWBCOLOR) { // HWBColor value_ = new HWBColorImpl(value.getFunctionName(), value.getParameters()); } + else if (value.getLexicalUnitType() == LexicalUnitType.LABCOLOR) { + // LABColor + value_ = new LABColorImpl(value.getFunctionName(), value.getParameters()); + } else if (value.getLexicalUnitType() == LexicalUnitType.COUNTER_FUNCTION) { // Counter value_ = new CounterImpl(false, value.getParameters()); diff --git a/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java index 3eeb461..d039ede 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java @@ -69,10 +69,6 @@ public HWBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep if (next == null) { throw new DOMException(DOMException.SYNTAX_ERR, "hwb requires at least three values."); } - if (next.getLexicalUnitType() == LexicalUnitType.OPERATOR_COMMA) { - throw new DOMException(DOMException.SYNTAX_ERR, - "hwb requires consitent separators (blank or comma)."); - } if (LexicalUnitType.NONE != next.getLexicalUnitType() && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { diff --git a/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java new file mode 100644 index 0000000..95b9b73 --- /dev/null +++ b/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java @@ -0,0 +1,188 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.dom; + +import java.io.Serializable; +import java.util.Locale; + +import org.htmlunit.cssparser.parser.LexicalUnit; +import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; +import org.w3c.dom.DOMException; + +/** + * Implementation of LABColor. + * + * @author Ronald Brill + */ +public class LABColorImpl implements Serializable { + private CSSValueImpl lightness_; + private CSSValueImpl aDistance_; + private CSSValueImpl bDistance_; + private CSSValueImpl alpha_; + + /** + * Constructor that reads the values from the given + * chain of LexicalUnits. + * @param function the name of the function lab + * @param lu the values + * @throws DOMException in case of error + */ + public LABColorImpl(final String function, final LexicalUnit lu) throws DOMException { + if (function == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "Color space lab is required."); + } + final String functionLC = function.toLowerCase(Locale.ROOT); + if (!"lab".equals(functionLC)) { + throw new DOMException(DOMException.SYNTAX_ERR, "Color space '" + functionLC + "' not supported."); + } + + LexicalUnit next = lu; + if (next == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "lab requires at least three values."); + } + + lightness_ = getPart(next); + + next = next.getNextLexicalUnit(); + if (next == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "lab requires at least three values."); + } + + aDistance_ = getPart(next); + next = next.getNextLexicalUnit(); + if (next == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "lab requires at least three values."); + } + + bDistance_ = getPart(next); + next = next.getNextLexicalUnit(); + if (next == null) { + return; + } + + if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_SLASH) { + throw new DOMException(DOMException.SYNTAX_ERR, "lab alpha value must be separated by '/'."); + } + next = next.getNextLexicalUnit(); + if (next == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); + } + + alpha_ = getPart(next); + next = next.getNextLexicalUnit(); + if (next != null) { + throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for lab function."); + } + } + + private static CSSValueImpl getPart(final LexicalUnit next) { + if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() + || LexicalUnitType.INTEGER == next.getLexicalUnitType() + || LexicalUnitType.REAL == next.getLexicalUnitType() + || LexicalUnitType.NONE == next.getLexicalUnitType()) { + return new CSSValueImpl(next, true); + } + + throw new DOMException(DOMException.SYNTAX_ERR, "Color part has to be numeric or percentage."); + } + + /** + * @return the lightness part. + */ + public CSSValueImpl getLightness() { + return lightness_; + } + + /** + * Sets the lightness part to a new value. + * @param lightness the new CSSValueImpl + */ + public void setLightness(final CSSValueImpl lightness) { + lightness_ = lightness; + } + + /** + *

getA.

+ * + * @return the a part. + */ + public CSSValueImpl getA() { + return aDistance_; + } + + /** + * Sets the a part to a new value. + * @param a the new CSSValueImpl + */ + public void setA(final CSSValueImpl a) { + aDistance_ = a; + } + + /** + *

getB.

+ * + * @return the b part. + */ + public CSSValueImpl getB() { + return bDistance_; + } + + /** + * Sets the b part to a new value. + * @param b the new CSSValueImpl + */ + public void setB(final CSSValueImpl b) { + bDistance_ = b; + } + + /** + * @return the alpha part. + */ + public CSSValueImpl getAlpha() { + return alpha_; + } + + /** + * Sets the alpha part to a new value. + * @param alpha the new CSSValueImpl + */ + public void setAlpha(final CSSValueImpl alpha) { + alpha_ = alpha; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + final StringBuilder sb = new StringBuilder(); + + sb + .append("lab(") + .append(lightness_) + .append(" ") + .append(aDistance_) + .append(" ") + .append(bDistance_); + + if (null != alpha_) { + sb.append(" / ").append(alpha_); + } + + sb.append(")"); + + return sb.toString(); + } +} diff --git a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java index 270bb0e..3a77700 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java @@ -804,6 +804,11 @@ protected LexicalUnit hwbColorInternal(final LexicalUnit prev, final String func return LexicalUnitImpl.createHwbColor(prev, funct, param); } + protected LexicalUnit labColorInternal(final LexicalUnit prev, final String funct, + final LexicalUnit param) { + return LexicalUnitImpl.createLabColor(prev, funct, param); + } + /** * Processes a hexadecimal color definition. * diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java index 0248c39..7363030 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java @@ -100,6 +100,8 @@ enum LexicalUnitType { HSLCOLOR, /** HWBCOLOR. */ HWBCOLOR, + /** LABCOLOR. */ + LABCOLOR, /** NONE. */ NONE, diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java index 2ae30d3..b996b11 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java @@ -19,6 +19,8 @@ import java.text.DecimalFormatSymbols; import java.util.Locale; +import org.htmlunit.cssparser.dom.HWBColorImpl; + /** * Implementation of {@link LexicalUnit}. * @@ -409,6 +411,16 @@ public String getCssText() { appendParams(sb); sb.append(")"); break; + case HWBCOLOR: + sb.append("hwb("); + appendParams(sb); + sb.append(")"); + break; + case LABCOLOR: + sb.append("lab("); + appendParams(sb); + sb.append(")"); + break; case NONE: sb.append("none"); break; @@ -693,6 +705,17 @@ public String toDebugString() { appendParams(sb); sb.append("))"); break; + case HWBCOLOR: + sb.append("HWBCOLOR(hwb("); + appendParams(sb); + sb.append("))"); + break; + case LABCOLOR: + sb.append("LABCOLOR(lab("); + appendParams(sb); + sb.append("))"); + break; + case IDENT: sb.append("IDENT(") .append(getStringValue()) @@ -1073,7 +1096,7 @@ public static LexicalUnit createRgbColor(final LexicalUnit prev, final String fu * @param prev the previous LexicalUnit * @param funct the name hsl or hsla * @param params the params - * @return lexical unit with type rgb color + * @return lexical unit with type hsl color */ public static LexicalUnit createHslColor(final LexicalUnit prev, final String funct, final LexicalUnit params) { return new LexicalUnitImpl(prev, LexicalUnitType.HSLCOLOR, funct, params); @@ -1083,12 +1106,22 @@ public static LexicalUnit createHslColor(final LexicalUnit prev, final String fu * @param prev the previous LexicalUnit * @param funct the name hwb * @param params the params - * @return lexical unit with type rgb color + * @return lexical unit with type hwb color */ public static LexicalUnit createHwbColor(final LexicalUnit prev, final String funct, final LexicalUnit params) { return new LexicalUnitImpl(prev, LexicalUnitType.HWBCOLOR, funct, params); } + /** + * @param prev the previous LexicalUnit + * @param funct the name lab + * @param params the params + * @return lexical unit with type lab color + */ + public static LexicalUnit createLabColor(final LexicalUnit prev, final String funct, final LexicalUnit params) { + return new LexicalUnitImpl(prev, LexicalUnitType.LABCOLOR, funct, params); + } + /** * @param prev the previous LexicalUnit * @return lexical unit with type rgb color diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 48393f0..2c2bdf0 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -421,6 +421,7 @@ TOKEN_MGR_DECLS : | < FUNCTION_RGB: "rgb" ("a")? > | < FUNCTION_HSL: "hsl" ("a")? > | < FUNCTION_HWB: "hwb" > +| < FUNCTION_LAB: "lab" > | < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > @@ -1598,6 +1599,7 @@ LexicalUnit term(LexicalUnit prev) : | value = rgbColor(prev) | value = hslColor(prev) | value = hwbColor(prev) + | value = labColor(prev) | value = calc(prev) | value = var(prev) ) @@ -1930,6 +1932,7 @@ LexicalUnit var(LexicalUnit prev) : } } + // rgb() / rgba() // LexicalUnit rgbColor(LexicalUnit prev) : @@ -2170,6 +2173,78 @@ LexicalUnit hwbColor(LexicalUnit prev) : } +// lab( +// +LexicalUnit labColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return labColorInternal(prev, funct, param); + } +} + + // // number() // diff --git a/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java new file mode 100644 index 0000000..11d5762 --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.dom; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; + +import org.htmlunit.cssparser.parser.LexicalUnit; +import org.htmlunit.cssparser.parser.LexicalUnitImpl; +import org.junit.jupiter.api.Test; +import org.w3c.dom.DOMException; + +/** + * Unit tests for {@link LABColorImpl}. + * + * @author Ronald Brill + */ +public class LABColorImplTest { + + /** + * @throws Exception if any error occurs + */ + @Test + public void constructByLU() throws Exception { + final LexicalUnit labLU = LexicalUnitImpl.createNumber(null, 10); + final LexicalUnit lu = LexicalUnitImpl.createNumber(labLU, 20); + LexicalUnitImpl.createNumber(lu, 30); + + final LABColorImpl lab = new LABColorImpl("lab", labLU); + assertEquals("lab(10 20 30)", lab.toString()); + assertEquals("10", lab.getLightness().getCssText()); + assertEquals("20", lab.getA().getCssText()); + assertEquals("30", lab.getB().getCssText()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void constructByLUException() throws Exception { + try { + new LABColorImpl("lab", null); + fail("DOMException expected"); + } + catch (final DOMException e) { + assertEquals("lab requires at least three values.", e.getMessage()); + } + + final LexicalUnit labLU = LexicalUnitImpl.createNumber(null, 10); + final LexicalUnit lu = LexicalUnitImpl.createDivide(labLU); + + try { + new LABColorImpl("lab", labLU); + fail("DOMException expected"); + } + catch (final DOMException e) { + assertEquals("Color part has to be numeric or percentage.", e.getMessage()); + } + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void constructByLUTooManyValuesException() throws Exception { + final LexicalUnit labLU = LexicalUnitImpl.createNumber(null, 10); + LexicalUnit lu = LexicalUnitImpl.createNumber(labLU, 20); + lu = LexicalUnitImpl.createNumber(lu, 30); + lu = LexicalUnitImpl.createSlash(lu); + lu = LexicalUnitImpl.createPercentage(lu, 0.1); + lu = LexicalUnitImpl.createPercentage(lu, 77); + + try { + final LABColorImpl color = new LABColorImpl("lab", labLU); + fail("DOMException expected: " + color); + } + catch (final DOMException e) { + assertEquals("Too many parameters for lab function.", e.getMessage()); + } + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void getCssText() throws Exception { + final LexicalUnit labLu = LexicalUnitImpl.createNumber(null, 10); + final LexicalUnit lu = LexicalUnitImpl.createNumber(labLu, 20); + LexicalUnitImpl.createNumber(lu, 30); + + final LABColorImpl lab = new LABColorImpl("lab", labLu); + + assertEquals("lab(10 20 30)", lab.toString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void getCssTextFunctionName() throws Exception { + final LexicalUnit labLu = LexicalUnitImpl.createNumber(null, 10); + + try { + final LABColorImpl color = new LABColorImpl(null, labLu); + fail("DOMException expected: " + color); + } + catch (final DOMException e) { + assertEquals("Color space lab is required.", e.getMessage()); + } + + try { + final LABColorImpl color = new LABColorImpl("", labLu); + fail("DOMException expected: " + color); + } + catch (final DOMException e) { + assertEquals("Color space '' not supported.", e.getMessage()); + } + + try { + final LABColorImpl color = new LABColorImpl("xyz", labLu); + fail("DOMException expected: " + color); + } + catch (final DOMException e) { + assertEquals("Color space 'xyz' not supported.", e.getMessage()); + } + } +} diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index e488f35..b6d9ba1 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -898,10 +898,6 @@ public void rgbComma() throws Exception { color("foreground: rgb(100%, 0%, 60%)", "foreground: rgb(100%,0%,60%)"); color("foreground: rgb(100%, 0%, 60%)", "foreground: rgb(100%, 0%, 60%)"); - color("foreground: rgb(none 0% 60%)", "foreground: rgb(none 0% 60%)"); - color("foreground: rgb(100% none 60%)", "foreground: rgb(100% none 60%)"); - color("foreground: rgb(100% 0% none)", "foreground: rgb(100% 0% none)"); - color("foreground: rgb(255, 0, 153)", "foreground: rgb(2.55e2, 0e0, 1.53e2)"); // alpha @@ -925,6 +921,10 @@ public void rgbBlank() throws Exception { color("foreground: rgb(100% 0% 60%)", "foreground: rgb(100% 0% 60%)"); color("foreground: rgb(100% 0% 60%)", "foreground: rgb(100% 0% 60%)"); + color("foreground: rgb(none 0% 60%)", "foreground: rgb(none 0% 60%)"); + color("foreground: rgb(100% none 60%)", "foreground: rgb(100% none 60%)"); + color("foreground: rgb(100% 0% none)", "foreground: rgb(100% 0% none)"); + color("foreground: rgb(255 0 153)", "foreground: rgb(2.55e2 0e0 1.53e2)"); // alpha @@ -993,6 +993,10 @@ public void rgbaBlank() throws Exception { color("foreground: rgba(100% 0% 60%)", "foreground: rgba(100% 0% 60%)"); color("foreground: rgba(100% 0% 60%)", "foreground: rgba(100% 0% 60%)"); + color("foreground: rgba(none 0% 60%)", "foreground: rgba(none 0% 60%)"); + color("foreground: rgba(100% none 60%)", "foreground: rgba(100% none 60%)"); + color("foreground: rgba(100% 0% none)", "foreground: rgba(100% 0% none)"); + color("foreground: rgba(255 0 153)", "foreground: rgba(2.55e2 0e0 1.53e2)"); // alpha @@ -1051,8 +1055,8 @@ public void rgbVariousErrors() throws Exception { "foreground: rgb(10 -none 30)"); color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", "foreground: rgb(10 20 -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \")\", \"/\", \"-\", \"+\", \",\", .)", - "foreground: rgb(10 20 30 -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: rgb(10 20 30 / -none)"); // mixing numbers and percentages is supported by current browsers // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20, 30)"); @@ -1151,6 +1155,10 @@ public void hslBlank() throws Exception { color("foreground: hsl(270grad 60% 70%)", "foreground: hsl(270grad 60% 70%)"); color("foreground: hsl(2.1turn 60% 70%)", "foreground: hsl(2.1turn 60% 70%)"); + color("foreground: hsl(none 0% 60%)", "foreground: hsl(none 0% 60%)"); + color("foreground: hsl(100grad none 60%)", "foreground: hsl(100grad none 60%)"); + color("foreground: hsl(100grad 0% none)", "foreground: hsl(100grad 0% none)"); + color("foreground: hsl(255 0% 15.37%)", "foreground: hsl(2.55e2 0e0% 1537e-2%)"); color("foreground: hsl(255deg 0% 15.37%)", "foreground: hsl(2.55e2deg 0e0% 1537e-2%)"); color("foreground: hsl(255rad 0% 15.37%)", "foreground: hsl(2.55e2rad 0e0% 1537e-2%)"); @@ -1213,6 +1221,10 @@ public void hslaBlank() throws Exception { color("foreground: hsla(270grad 60% 70%)", "foreground: hsla(270grad 60% 70%)"); color("foreground: hsla(2.1turn 60% 70%)", "foreground: hsla(2.1turn 60% 70%)"); + color("foreground: hsla(none 0% 60%)", "foreground: hsla(none 0% 60%)"); + color("foreground: hsla(100grad none 60%)", "foreground: hsla(100grad none 60%)"); + color("foreground: hsla(100grad 0% none)", "foreground: hsla(100grad 0% none)"); + color("foreground: hsla(255 0% 15.37%)", "foreground: hsla(2.55e2 0e0% 1537e-2%)"); color("foreground: hsla(255deg 0% 15.37%)", "foreground: hsla(2.55e2deg 0e0% 1537e-2%)"); color("foreground: hsla(255rad 0% 15.37%)", "foreground: hsla(2.55e2rad 0e0% 1537e-2%)"); @@ -1301,6 +1313,10 @@ public void hwbBlank() throws Exception { color("foreground: hwb(270grad 60% 70%)", "foreground: hwb(270grad 60% 70%)"); color("foreground: hwb(2.1turn 60% 70%)", "foreground: hwb(2.1turn 60% 70%)"); + color("foreground: hwb(none 0% 60%)", "foreground: hwb(none 0% 60%)"); + color("foreground: hwb(100turn none 60%)", "foreground: hwb(100turn none 60%)"); + color("foreground: hwb(100turn 0% none)", "foreground: hwb(100turn 0% none)"); + color("foreground: hwb(255 0% 15.37%)", "foreground: hwb(2.55e2 0e0% 1537e-2%)"); color("foreground: hwb(255deg 0% 15.37%)", "foreground: hwb(2.55e2deg 0e0% 1537e-2%)"); color("foreground: hwb(255rad 0% 15.37%)", "foreground: hwb(2.55e2rad 0e0% 1537e-2%)"); @@ -1342,6 +1358,83 @@ public void hwbVariousErrors() throws Exception { "foreground: hwb('10' 20 30)"); } + /** + * @throws Exception in case of failure + */ + @Test + public void labBlank() throws Exception { + color("foreground: lab(255 0 153)", "foreground: lab(255 0 153)"); + color("foreground: lab(255 0 153)", "foreground: lab(255 0 153.0)"); + color("foreground: lab(100% 0% 60%)", "foreground: lab(100% 0% 60%)"); + color("foreground: lab(100% 0% 60%)", "foreground: lab(100% 0% 60%)"); + + color("foreground: lab(none 0% 60%)", "foreground: lab(none 0% 60%)"); + color("foreground: lab(100% none 60%)", "foreground: lab(100% none 60%)"); + color("foreground: lab(100% 0% none)", "foreground: lab(100% 0% none)"); + + color("foreground: lab(255 0 153)", "foreground: lab(2.55e2 0e0 1.53e2)"); + + // alpha + color("foreground: lab(10 20 30 / 0.1)", "foreground: lab(10 20 30/0.1)"); + color("foreground: lab(10 20 30 / 0.1)", "foreground: lab( 10 20 30 / 0.1 )"); + color("foreground: lab(10 20 30 / 0.7)", "foreground: lab( 10 20 30 / .7 )"); + color("foreground: lab(10 20 30 / 10%)", "foreground: lab(10 20 30 / 10%)"); + + color("foreground: lab(10% 20% 30% / 7%)", "foreground: lab(10% 20% 30% / 7%)"); + color("foreground: lab(10% 20% 30% / 0.13%)", "foreground: lab(10% 20% 30% / 1.3e-1%)"); + color("foreground: lab(10% 20% 30% / 0.5)", "foreground: lab(10% 20% 30% / 0.5)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void labMixed() throws Exception { + color("foreground: lab(42 128 255)", "foreground: lab(42 128 255)"); + color("foreground: lab(42% 128 255)", "foreground: lab(42% 128 255)"); + color("foreground: lab(42 128% 255)", "foreground: lab(42 128% 255)"); + color("foreground: lab(42 128 255%)", "foreground: lab(42 128 255%)"); + color("foreground: lab(42% 128% 255)", "foreground: lab(42% 128% 255)"); + color("foreground: lab(42 128% 255%)", "foreground: lab(42 128% 255%)"); + color("foreground: lab(42% 128% 255%)", "foreground: lab(42% 128% 255%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void labVariousErrors() throws Exception { + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10, 20 30)"); + + color(1, "DOM exception: 'lab alpha value must be separated by '/'.'", "foreground: lab(10 20 30 40)"); + + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(-none 20 30)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10 -none 30)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10 20 -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10 20 30 / -none)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab()"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10 20)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10 20 30/)"); + + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10 20px 30)"); + + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab('10' 20 30)"); + } + private void color(final String expected, final String cssText) throws Exception { color(0, expected, cssText); } @@ -2074,7 +2167,7 @@ public void malformedDeclaration() throws Exception { + ", , , , " + ", , , , , , , " + ", , , , , " - + ", , , , \"progid:\".)" + + ", , , , , \"progid:\".)" + " Error in expression. (Invalid token \";\". Was expecting one of: , \"only\", , \"inherit\", \"none\", " + ", , \"-\", \"+\", , , , , , " + ", , , , " @@ -2082,7 +2175,7 @@ public void malformedDeclaration() throws Exception { + ", , , , " + ", , , , , , , " + ", , , , , " - + ", , , , \"progid:\".)" + + ", , , , , \"progid:\".)" + " Error in declaration. (Invalid token \"{\". Was expecting one of: , \":\".)" + " Error in style rule. (Invalid token \" \". Was expecting one of: , \"}\", \";\".)" + " Error in declaration. (Invalid token \"{\". Was expecting one of: , \":\".)"; @@ -2380,7 +2473,7 @@ public void unexpectedEndOfString() throws Exception { + ", , , , " + ", , , , , , , " + ", , , , , " - + ", , , , \"progid:\".)"; + + ", , , , , \"progid:\".)"; assertEquals(expected, errorHandler.getErrorMessage()); assertEquals("3", errorHandler.getErrorLines()); assertEquals("16", errorHandler.getErrorColumns()); From 17ef10ca896b7d77aae2f25fd33b8767ed4808ad Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 23 Dec 2024 15:05:54 +0100 Subject: [PATCH 057/137] fix imports --- src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java | 2 +- .../java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java index c9cb102..88d6ac7 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java @@ -23,8 +23,8 @@ import org.htmlunit.cssparser.parser.CSSOMParser; import org.htmlunit.cssparser.parser.LexicalUnit; import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; -import org.htmlunit.cssparser.util.ParserUtils; import org.htmlunit.cssparser.parser.LexicalUnitImpl; +import org.htmlunit.cssparser.util.ParserUtils; import org.w3c.dom.DOMException; /** diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java index b996b11..708bb48 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java @@ -19,8 +19,6 @@ import java.text.DecimalFormatSymbols; import java.util.Locale; -import org.htmlunit.cssparser.dom.HWBColorImpl; - /** * Implementation of {@link LexicalUnit}. * From 2a5e3d806b46c5ba9ccbefb8fddb5b42993a7776 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 23 Dec 2024 16:13:38 +0100 Subject: [PATCH 058/137] support lch color declaration --- .../htmlunit/cssparser/dom/CSSValueImpl.java | 4 + .../htmlunit/cssparser/dom/HSLColorImpl.java | 51 ++-- .../htmlunit/cssparser/dom/HWBColorImpl.java | 38 ++- .../htmlunit/cssparser/dom/LABColorImpl.java | 17 +- .../htmlunit/cssparser/dom/LCHColorImpl.java | 217 ++++++++++++++++++ .../cssparser/parser/AbstractCSSParser.java | 5 + .../cssparser/parser/LexicalUnit.java | 2 + .../cssparser/parser/LexicalUnitImpl.java | 20 ++ src/main/javacc/CSS3Parser.jj | 78 ++++++- .../cssparser/dom/HWBColorImplTest.java | 2 +- .../cssparser/dom/LABColorImplTest.java | 2 +- .../cssparser/dom/LCHColorImplTest.java | 138 +++++++++++ .../cssparser/parser/CSS3ParserTest.java | 95 +++++++- 13 files changed, 638 insertions(+), 31 deletions(-) create mode 100644 src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java create mode 100644 src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java index 88d6ac7..2214722 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java @@ -207,6 +207,10 @@ else if (value.getLexicalUnitType() == LexicalUnitType.LABCOLOR) { // LABColor value_ = new LABColorImpl(value.getFunctionName(), value.getParameters()); } + else if (value.getLexicalUnitType() == LexicalUnitType.LCHCOLOR) { + // LCHColor + value_ = new LCHColorImpl(value.getFunctionName(), value.getParameters()); + } else if (value.getLexicalUnitType() == LexicalUnitType.COUNTER_FUNCTION) { // Counter value_ = new CounterImpl(false, value.getParameters()); diff --git a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java index 486d03d..3347180 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java @@ -56,7 +56,7 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep if (next == null) { throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); } - hue_ = new CSSValueImpl(next, true); + hue_ = getHuePart(next); next = next.getNextLexicalUnit(); if (next == null) { @@ -79,10 +79,8 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, function_ + " has to use blank as separator if none is used."); } - else { - if (LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, "Saturation part has to be percentage."); - } + if (LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { + throw new DOMException(DOMException.SYNTAX_ERR, "Saturation part has to be percentage."); } saturation_ = new CSSValueImpl(next, true); @@ -127,12 +125,7 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, function_ + " has to use blank as separator if none is used."); } - if (LexicalUnitType.INTEGER != next.getLexicalUnitType() - && LexicalUnitType.REAL != next.getLexicalUnitType() - && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, "Alpha part has to be numeric or percentage."); - } - alpha_ = new CSSValueImpl(next, true); + alpha_ = getAlphaPart(next); next = next.getNextLexicalUnit(); if (next != null) { throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for " + function_ + " function."); @@ -173,12 +166,7 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); } - if (LexicalUnitType.INTEGER != next.getLexicalUnitType() - && LexicalUnitType.REAL != next.getLexicalUnitType() - && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, "Alpha part has to be numeric or percentage."); - } - alpha_ = new CSSValueImpl(next, true); + alpha_ = getAlphaPart(next); next = next.getNextLexicalUnit(); if (next != null) { @@ -186,6 +174,35 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep } } + private static CSSValueImpl getHuePart(final LexicalUnit next) { + if (LexicalUnitType.DEGREE == next.getLexicalUnitType() + || LexicalUnitType.RADIAN == next.getLexicalUnitType() + || LexicalUnitType.GRADIAN == next.getLexicalUnitType() + || LexicalUnitType.TURN == next.getLexicalUnitType() + + || LexicalUnitType.INTEGER == next.getLexicalUnitType() + || LexicalUnitType.REAL == next.getLexicalUnitType() + + || LexicalUnitType.NONE == next.getLexicalUnitType()) { + return new CSSValueImpl(next, true); + } + + throw new DOMException(DOMException.SYNTAX_ERR, "Color hue part has to be numeric or an angle."); + } + + private static CSSValueImpl getAlphaPart(final LexicalUnit next) { + if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() + + || LexicalUnitType.INTEGER == next.getLexicalUnitType() + || LexicalUnitType.REAL == next.getLexicalUnitType() + + || LexicalUnitType.NONE == next.getLexicalUnitType()) { + return new CSSValueImpl(next, true); + } + + throw new DOMException(DOMException.SYNTAX_ERR, "Color alpha part has to be numeric or percentage."); + } + /** * @return the hue part. */ diff --git a/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java index d039ede..801f232 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java @@ -52,7 +52,7 @@ public HWBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep if (next == null) { throw new DOMException(DOMException.SYNTAX_ERR, "hwb requires at least three values."); } - hue_ = new CSSValueImpl(next, true); + hue_ = getHuePart(next); next = next.getNextLexicalUnit(); if (next == null) { @@ -88,12 +88,7 @@ public HWBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); } - if (LexicalUnitType.INTEGER != next.getLexicalUnitType() - && LexicalUnitType.REAL != next.getLexicalUnitType() - && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, "Alpha part has to be numeric or percentage."); - } - alpha_ = new CSSValueImpl(next, true); + alpha_ = getAlphaPart(next); next = next.getNextLexicalUnit(); if (next != null) { @@ -101,6 +96,35 @@ public HWBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep } } + private static CSSValueImpl getHuePart(final LexicalUnit next) { + if (LexicalUnitType.DEGREE == next.getLexicalUnitType() + || LexicalUnitType.RADIAN == next.getLexicalUnitType() + || LexicalUnitType.GRADIAN == next.getLexicalUnitType() + || LexicalUnitType.TURN == next.getLexicalUnitType() + + || LexicalUnitType.INTEGER == next.getLexicalUnitType() + || LexicalUnitType.REAL == next.getLexicalUnitType() + + || LexicalUnitType.NONE == next.getLexicalUnitType()) { + return new CSSValueImpl(next, true); + } + + throw new DOMException(DOMException.SYNTAX_ERR, "Color hue part has to be numeric or an angle."); + } + + private static CSSValueImpl getAlphaPart(final LexicalUnit next) { + if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() + + || LexicalUnitType.INTEGER == next.getLexicalUnitType() + || LexicalUnitType.REAL == next.getLexicalUnitType() + + || LexicalUnitType.NONE == next.getLexicalUnitType()) { + return new CSSValueImpl(next, true); + } + + throw new DOMException(DOMException.SYNTAX_ERR, "Color alpha part has to be numeric or percentage."); + } + /** * @return the hue part. */ diff --git a/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java index 95b9b73..6047264 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java @@ -80,7 +80,7 @@ public LABColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); } - alpha_ = getPart(next); + alpha_ = getAlphaPart(next); next = next.getNextLexicalUnit(); if (next != null) { throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for lab function."); @@ -89,8 +89,10 @@ public LABColorImpl(final String function, final LexicalUnit lu) throws DOMExcep private static CSSValueImpl getPart(final LexicalUnit next) { if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() + || LexicalUnitType.INTEGER == next.getLexicalUnitType() || LexicalUnitType.REAL == next.getLexicalUnitType() + || LexicalUnitType.NONE == next.getLexicalUnitType()) { return new CSSValueImpl(next, true); } @@ -98,6 +100,19 @@ private static CSSValueImpl getPart(final LexicalUnit next) { throw new DOMException(DOMException.SYNTAX_ERR, "Color part has to be numeric or percentage."); } + private static CSSValueImpl getAlphaPart(final LexicalUnit next) { + if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() + + || LexicalUnitType.INTEGER == next.getLexicalUnitType() + || LexicalUnitType.REAL == next.getLexicalUnitType() + + || LexicalUnitType.NONE == next.getLexicalUnitType()) { + return new CSSValueImpl(next, true); + } + + throw new DOMException(DOMException.SYNTAX_ERR, "Color alpha part has to be numeric or percentage."); + } + /** * @return the lightness part. */ diff --git a/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java new file mode 100644 index 0000000..12dd085 --- /dev/null +++ b/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java @@ -0,0 +1,217 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.dom; + +import java.io.Serializable; +import java.util.Locale; + +import org.htmlunit.cssparser.parser.LexicalUnit; +import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; +import org.w3c.dom.DOMException; + +/** + * Implementation of LCHColor. + * + * @author Ronald Brill + */ +public class LCHColorImpl implements Serializable { + private CSSValueImpl lightness_; + private CSSValueImpl chroma_; + private CSSValueImpl hue_; + private CSSValueImpl alpha_; + + /** + * Constructor that reads the values from the given + * chain of LexicalUnits. + * @param function the name of the function; lch + * @param lu the values + * @throws DOMException in case of error + */ + public LCHColorImpl(final String function, final LexicalUnit lu) throws DOMException { + if (function == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "Color space lch is required."); + } + final String functionLC = function.toLowerCase(Locale.ROOT); + if (!"lch".equals(functionLC)) { + throw new DOMException(DOMException.SYNTAX_ERR, "Color space '" + functionLC + "' not supported."); + } + + LexicalUnit next = lu; + if (next == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "lch requires at least three values."); + } + + lightness_ = getPart(next, "lightness"); + + next = next.getNextLexicalUnit(); + if (next == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "lch requires at least three values."); + } + + chroma_ = getPart(next, "chroma"); + + next = next.getNextLexicalUnit(); + if (next == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "lch requires at least three values."); + } + + hue_ = getHuePart(next); + next = next.getNextLexicalUnit(); + if (next == null) { + return; + } + + if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_SLASH) { + throw new DOMException(DOMException.SYNTAX_ERR, "lch alpha value must be separated by '/'."); + } + next = next.getNextLexicalUnit(); + if (next == null) { + throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); + } + + alpha_ = getAlphaPart(next); + + next = next.getNextLexicalUnit(); + if (next != null) { + throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for lch function."); + } + } + + private static CSSValueImpl getPart(final LexicalUnit next, final String part) { + if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() + + || LexicalUnitType.INTEGER == next.getLexicalUnitType() + || LexicalUnitType.REAL == next.getLexicalUnitType() + + || LexicalUnitType.NONE == next.getLexicalUnitType()) { + return new CSSValueImpl(next, true); + } + + throw new DOMException(DOMException.SYNTAX_ERR, "Color " + part + " part has to be numeric or percentage."); + } + + private static CSSValueImpl getHuePart(final LexicalUnit next) { + if (LexicalUnitType.DEGREE == next.getLexicalUnitType() + || LexicalUnitType.RADIAN == next.getLexicalUnitType() + || LexicalUnitType.GRADIAN == next.getLexicalUnitType() + || LexicalUnitType.TURN == next.getLexicalUnitType() + + || LexicalUnitType.INTEGER == next.getLexicalUnitType() + || LexicalUnitType.REAL == next.getLexicalUnitType() + + || LexicalUnitType.NONE == next.getLexicalUnitType()) { + return new CSSValueImpl(next, true); + } + + throw new DOMException(DOMException.SYNTAX_ERR, "Color hue part has to be numeric or an angle."); + } + + private static CSSValueImpl getAlphaPart(final LexicalUnit next) { + if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() + + || LexicalUnitType.INTEGER == next.getLexicalUnitType() + || LexicalUnitType.REAL == next.getLexicalUnitType() + + || LexicalUnitType.NONE == next.getLexicalUnitType()) { + return new CSSValueImpl(next, true); + } + + throw new DOMException(DOMException.SYNTAX_ERR, "Color alpha part has to be numeric or percentage."); + } + + /** + * @return the lightness part. + */ + public CSSValueImpl getLightness() { + return lightness_; + } + + /** + * Sets the lightness part to a new value. + * @param lightness the new CSSValueImpl + */ + public void setLightness(final CSSValueImpl lightness) { + lightness_ = lightness; + } + + /** + * @return the chroma part. + */ + public CSSValueImpl getChroma() { + return chroma_; + } + + /** + * Sets the chroma part to a new value. + * @param chroma the new CSSValueImpl + */ + public void setChroma(final CSSValueImpl chroma) { + chroma_ = chroma; + } + + /** + * @return the hue part. + */ + public CSSValueImpl getHue() { + return hue_; + } + + /** + * Sets the hue part to a new value. + * @param hue the new CSSValueImpl + */ + public void setHue(final CSSValueImpl hue) { + hue_ = hue; + } + + /** + * @return the alpha part. + */ + public CSSValueImpl getAlpha() { + return alpha_; + } + + /** + * Sets the alpha part to a new value. + * @param alpha the new CSSValueImpl + */ + public void setAlpha(final CSSValueImpl alpha) { + alpha_ = alpha; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + final StringBuilder sb = new StringBuilder(); + + sb + .append("lch(") + .append(lightness_) + .append(" ") + .append(chroma_) + .append(" ") + .append(hue_); + + if (null != alpha_) { + sb.append(" / ").append(alpha_); + } + + sb.append(")"); + + return sb.toString(); + } +} diff --git a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java index 3a77700..b54ad68 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java @@ -809,6 +809,11 @@ protected LexicalUnit labColorInternal(final LexicalUnit prev, final String func return LexicalUnitImpl.createLabColor(prev, funct, param); } + protected LexicalUnit lchColorInternal(final LexicalUnit prev, final String funct, + final LexicalUnit param) { + return LexicalUnitImpl.createLchColor(prev, funct, param); + } + /** * Processes a hexadecimal color definition. * diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java index 7363030..edf50b4 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java @@ -102,6 +102,8 @@ enum LexicalUnitType { HWBCOLOR, /** LABCOLOR. */ LABCOLOR, + /** LCHCOLOR. */ + LCHCOLOR, /** NONE. */ NONE, diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java index 708bb48..4259937 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java @@ -419,6 +419,11 @@ public String getCssText() { appendParams(sb); sb.append(")"); break; + case LCHCOLOR: + sb.append("lch("); + appendParams(sb); + sb.append(")"); + break; case NONE: sb.append("none"); break; @@ -713,6 +718,11 @@ public String toDebugString() { appendParams(sb); sb.append("))"); break; + case LCHCOLOR: + sb.append("LCHCOLOR(lch("); + appendParams(sb); + sb.append("))"); + break; case IDENT: sb.append("IDENT(") @@ -1120,6 +1130,16 @@ public static LexicalUnit createLabColor(final LexicalUnit prev, final String fu return new LexicalUnitImpl(prev, LexicalUnitType.LABCOLOR, funct, params); } + /** + * @param prev the previous LexicalUnit + * @param funct the name lch + * @param params the params + * @return lexical unit with type lch color + */ + public static LexicalUnit createLchColor(final LexicalUnit prev, final String funct, final LexicalUnit params) { + return new LexicalUnitImpl(prev, LexicalUnitType.LCHCOLOR, funct, params); + } + /** * @param prev the previous LexicalUnit * @return lexical unit with type rgb color diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 2c2bdf0..f13c774 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -422,6 +422,7 @@ TOKEN_MGR_DECLS : | < FUNCTION_HSL: "hsl" ("a")? > | < FUNCTION_HWB: "hwb" > | < FUNCTION_LAB: "lab" > +| < FUNCTION_LCH: "lch" > | < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > @@ -1600,6 +1601,7 @@ LexicalUnit term(LexicalUnit prev) : | value = hslColor(prev) | value = hwbColor(prev) | value = labColor(prev) + | value = lchColor(prev) | value = calc(prev) | value = var(prev) ) @@ -2173,7 +2175,7 @@ LexicalUnit hwbColor(LexicalUnit prev) : } -// lab( +// lab() // LexicalUnit labColor(LexicalUnit prev) : { @@ -2245,6 +2247,80 @@ LexicalUnit labColor(LexicalUnit prev) : } +// lch() +// +LexicalUnit lchColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | t = { next = LexicalUnitImpl.createDegree(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return lchColorInternal(prev, funct, param); + } +} + + // // number() // diff --git a/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java index f175648..7ce571e 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java @@ -59,7 +59,7 @@ public void constructByLUException() throws Exception { } final LexicalUnit hwbLU = LexicalUnitImpl.createNumber(null, 10); - final LexicalUnit lu = LexicalUnitImpl.createDivide(hwbLU); + LexicalUnitImpl.createDivide(hwbLU); try { final HWBColorImpl color = new HWBColorImpl("hwb", hwbLU); diff --git a/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java index 11d5762..7606465 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java @@ -59,7 +59,7 @@ public void constructByLUException() throws Exception { } final LexicalUnit labLU = LexicalUnitImpl.createNumber(null, 10); - final LexicalUnit lu = LexicalUnitImpl.createDivide(labLU); + LexicalUnitImpl.createDivide(labLU); try { new LABColorImpl("lab", labLU); diff --git a/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java new file mode 100644 index 0000000..446ceb1 --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java @@ -0,0 +1,138 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.dom; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; + +import org.htmlunit.cssparser.parser.LexicalUnit; +import org.htmlunit.cssparser.parser.LexicalUnitImpl; +import org.junit.jupiter.api.Test; +import org.w3c.dom.DOMException; + +/** + * Unit tests for {@link LCHColorImpl}. + * + * @author Ronald Brill + */ +public class LCHColorImplTest { + + /** + * @throws Exception if any error occurs + */ + @Test + public void constructByLU() throws Exception { + final LexicalUnit lchLU = LexicalUnitImpl.createNumber(null, 10); + final LexicalUnit lu = LexicalUnitImpl.createPercentage(lchLU, 20); + LexicalUnitImpl.createDegree(lu, 30); + + final LCHColorImpl lch = new LCHColorImpl("lch", lchLU); + assertEquals("lch(10 20% 30deg)", lch.toString()); + assertEquals("10", lch.getLightness().getCssText()); + assertEquals("20%", lch.getChroma().getCssText()); + assertEquals("30deg", lch.getHue().getCssText()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void constructByLUException() throws Exception { + try { + new LCHColorImpl("lch", null); + fail("DOMException expected"); + } + catch (final DOMException e) { + assertEquals("lch requires at least three values.", e.getMessage()); + } + + final LexicalUnit lchLU = LexicalUnitImpl.createNumber(null, 10); + + try { + final LCHColorImpl color = new LCHColorImpl("lch", lchLU); + fail("DOMException expected: " + color); + } + catch (final DOMException e) { + assertEquals("lch requires at least three values.", e.getMessage()); + } + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void constructByLUTooManyValuesException() throws Exception { + final LexicalUnit lchLU = LexicalUnitImpl.createNumber(null, 100); + LexicalUnit lu = LexicalUnitImpl.createPercentage(lchLU, 20); + lu = LexicalUnitImpl.createDegree(lu, 30); + lu = LexicalUnitImpl.createSlash(lu); + lu = LexicalUnitImpl.createPercentage(lu, 0.1); + lu = LexicalUnitImpl.createPercentage(lu, 77); + + try { + final LCHColorImpl color = new LCHColorImpl("lch", lchLU); + fail("DOMException expected: " + color); + } + catch (final DOMException e) { + assertEquals("Too many parameters for lch function.", e.getMessage()); + } + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void getCssText() throws Exception { + final LexicalUnit lchLu = LexicalUnitImpl.createNumber(null, 235); + final LexicalUnit lu = LexicalUnitImpl.createPercentage(lchLu, 20); + LexicalUnitImpl.createRadian(lu, 30); + + final LCHColorImpl lch = new LCHColorImpl("lch", lchLu); + + assertEquals("lch(235 20% 30rad)", lch.toString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void getCssTextFunctionName() throws Exception { + final LexicalUnit lchLu = LexicalUnitImpl.createNumber(null, 45); + + try { + final LCHColorImpl color = new LCHColorImpl(null, lchLu); + fail("DOMException expected: " + color); + } + catch (final DOMException e) { + assertEquals("Color space lch is required.", e.getMessage()); + } + + try { + final LCHColorImpl color = new LCHColorImpl("", lchLu); + fail("DOMException expected: " + color); + } + catch (final DOMException e) { + assertEquals("Color space '' not supported.", e.getMessage()); + } + + try { + final LCHColorImpl color = new LCHColorImpl("xyz", lchLu); + fail("DOMException expected: " + color); + } + catch (final DOMException e) { + assertEquals("Color space 'xyz' not supported.", e.getMessage()); + } + } +} diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index b6d9ba1..d594d8d 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -936,6 +936,8 @@ public void rgbBlank() throws Exception { color("foreground: rgb(10% 20% 30% / 7%)", "foreground: rgb(10% 20% 30% / 7%)"); color("foreground: rgb(10% 20% 30% / 0.13%)", "foreground: rgb(10% 20% 30% / 1.3e-1%)"); color("foreground: rgb(10% 20% 30% / 0.5)", "foreground: rgb(10% 20% 30% / 0.5)"); + + color("foreground: rgb(10% 20% 30% / none)", "foreground: rgb(10% 20% 30% / none)"); } /** @@ -1170,6 +1172,8 @@ public void hslBlank() throws Exception { color("foreground: hsl(-270 60% 70% / 0.1)", "foreground: hsl(-270 60% 70% / 0.1)"); color("foreground: hsl(-270 60% 70% / 0.1)", "foreground: hsl(-270 60% 70% / .1)"); color("foreground: hsl(-270 60% 70% / 10%)", "foreground: hsl(-270 60% 70% / 10%)"); + + color("foreground: hsl(-270 60% 70% / none)", "foreground: hsl(-270 60% 70% / none)"); } /** @@ -1236,6 +1240,8 @@ public void hslaBlank() throws Exception { color("foreground: hsla(-270 60% 70% / 0.1)", "foreground: hsla(-270 60% 70% / 0.1)"); color("foreground: hsla(-270 60% 70% / 0.1)", "foreground: hsla(-270 60% 70% / .1)"); color("foreground: hsla(-270 60% 70% / 10%)", "foreground: hsla(-270 60% 70% / 10%)"); + + color("foreground: hsla(-270 60% 70% / none)", "foreground: hsla(-270 60% 70% / none)"); } /** @@ -1328,6 +1334,8 @@ public void hwbBlank() throws Exception { color("foreground: hwb(-270 60% 70% / 0.1)", "foreground: hwb(-270 60% 70% / 0.1)"); color("foreground: hwb(-270 60% 70% / 0.1)", "foreground: hwb(-270 60% 70% / .1)"); color("foreground: hwb(-270 60% 70% / 10%)", "foreground: hwb(-270 60% 70% / 10%)"); + + color("foreground: hwb(-270 60% 70% / none)", "foreground: hwb(-270 60% 70% / none)"); } /** @@ -1383,6 +1391,8 @@ public void labBlank() throws Exception { color("foreground: lab(10% 20% 30% / 7%)", "foreground: lab(10% 20% 30% / 7%)"); color("foreground: lab(10% 20% 30% / 0.13%)", "foreground: lab(10% 20% 30% / 1.3e-1%)"); color("foreground: lab(10% 20% 30% / 0.5)", "foreground: lab(10% 20% 30% / 0.5)"); + + color("foreground: lab(10% 20% 30% / none)", "foreground: lab(10% 20% 30% / none)"); } /** @@ -1435,6 +1445,85 @@ public void labVariousErrors() throws Exception { "foreground: lab('10' 20 30)"); } + /** + * @throws Exception in case of failure + */ + @Test + public void lchBlank() throws Exception { + color("foreground: lch(255 0 153deg)", "foreground: lch(255 0 153deg)"); + color("foreground: lch(255 0 153deg)", "foreground: lch(255 0 153.0deg)"); + color("foreground: lch(100% 0% 60deg)", "foreground: lch(100% 0% 60deg)"); + color("foreground: lch(100% 0% 60deg)", "foreground: lch(100% 0% 60deg)"); + + color("foreground: lch(none 0% 60deg)", "foreground: lch(none 0% 60deg)"); + color("foreground: lch(100% none 60deg)", "foreground: lch(100% none 60deg)"); + color("foreground: lch(100% 0% none)", "foreground: lch(100% 0% none)"); + + color("foreground: lch(255 0 153deg)", "foreground: lch(2.55e2 0e0 1.53e2deg)"); + + // alpha + color("foreground: lch(10 20 30deg / 0.1)", "foreground: lch(10 20 30deg/0.1)"); + color("foreground: lch(10 20 30deg / 0.1)", "foreground: lch( 10 20 30deg / 0.1 )"); + color("foreground: lch(10 20 30deg / 0.7)", "foreground: lch( 10 20 30deg / .7 )"); + color("foreground: lch(10 20 30deg / 10%)", "foreground: lch(10 20 30deg / 10%)"); + + color("foreground: lch(10% 20% 30deg / 7%)", "foreground: lch(10% 20% 30deg / 7%)"); + color("foreground: lch(10% 20% 30deg / 0.13%)", "foreground: lch(10% 20% 30deg / 1.3e-1%)"); + color("foreground: lch(10% 20% 30deg / 0.5)", "foreground: lch(10% 20% 30deg / 0.5)"); + + color("foreground: lch(10% 20% 30deg / none)", "foreground: lch(10% 20% 30deg / none)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void lchMixed() throws Exception { + color("foreground: lch(42 128 255deg)", "foreground: lch(42 128 255deg)"); + color("foreground: lch(42% 128 255deg)", "foreground: lch(42% 128 255deg)"); + color("foreground: lch(42 128% 255deg)", "foreground: lch(42 128% 255deg)"); + color("foreground: lch(42 128 255rad)", "foreground: lch(42 128 255rad)"); + color("foreground: lch(42% 128% 255deg)", "foreground: lch(42% 128% 255deg)"); + color("foreground: lch(42 128% 255rad)", "foreground: lch(42 128% 255rad)"); + color("foreground: lch(42% 128% 255rad)", "foreground: lch(42% 128% 255rad)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void lchVariousErrors() throws Exception { + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch(10, 20 30deg)"); + + color(1, "DOM exception: 'lch alpha value must be separated by '/'.'", "foreground: lch(10 20 30deg 40)"); + + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch(-none 20 30deg)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch(10 -none 30deg)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", + "foreground: lch(10 20 -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch(10 20 30deg / -none)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch()"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch(10)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", + "foreground: lch(10 20)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch(10 20 30deg/)"); + + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch(10 20px 30deg)"); + + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch('10' 20 30deg)"); + } + private void color(final String expected, final String cssText) throws Exception { color(0, expected, cssText); } @@ -2167,7 +2256,7 @@ public void malformedDeclaration() throws Exception { + ", , , , " + ", , , , , , , " + ", , , , , " - + ", , , , , \"progid:\".)" + + ", , , , , , \"progid:\".)" + " Error in expression. (Invalid token \";\". Was expecting one of: , \"only\", , \"inherit\", \"none\", " + ", , \"-\", \"+\", , , , , , " + ", , , , " @@ -2175,7 +2264,7 @@ public void malformedDeclaration() throws Exception { + ", , , , " + ", , , , , , , " + ", , , , , " - + ", , , , , \"progid:\".)" + + ", , , , , , \"progid:\".)" + " Error in declaration. (Invalid token \"{\". Was expecting one of: , \":\".)" + " Error in style rule. (Invalid token \" \". Was expecting one of: , \"}\", \";\".)" + " Error in declaration. (Invalid token \"{\". Was expecting one of: , \":\".)"; @@ -2473,7 +2562,7 @@ public void unexpectedEndOfString() throws Exception { + ", , , , " + ", , , , , , , " + ", , , , , " - + ", , , , , \"progid:\".)"; + + ", , , , , , \"progid:\".)"; assertEquals(expected, errorHandler.getErrorMessage()); assertEquals("3", errorHandler.getErrorLines()); assertEquals("16", errorHandler.getErrorColumns()); From 3a83508c98d95d5ecbf6bb29caba6768a2eea8b5 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 23 Dec 2024 18:23:41 +0100 Subject: [PATCH 059/137] support oklab and oklch color declaration --- .../htmlunit/cssparser/dom/HSLColorImpl.java | 38 ++-- .../htmlunit/cssparser/dom/HWBColorImpl.java | 12 +- .../htmlunit/cssparser/dom/LABColorImpl.java | 25 ++- .../htmlunit/cssparser/dom/LCHColorImpl.java | 26 ++- .../htmlunit/cssparser/dom/RGBColorImpl.java | 36 ++-- src/main/javacc/CSS3Parser.jj | 4 +- .../cssparser/dom/HSLColorImplTest.java | 8 +- .../cssparser/dom/HWBColorImplTest.java | 6 +- .../cssparser/dom/LABColorImplTest.java | 6 +- .../cssparser/dom/LCHColorImplTest.java | 8 +- .../cssparser/dom/RGBColorImplTest.java | 8 +- .../cssparser/parser/CSS3ParserTest.java | 192 ++++++++++++++++-- 12 files changed, 272 insertions(+), 97 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java index 3347180..9b7c8d9 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java @@ -44,7 +44,7 @@ public class HSLColorImpl implements Serializable { */ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMException { if (function == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space hsl or hsla is required."); + throw new DOMException(DOMException.SYNTAX_ERR, "Color space 'hsl' or 'hsla' is required."); } final String functionLC = function.toLowerCase(Locale.ROOT); if (!"hsl".equals(functionLC) && !"hsla".equals(functionLC)) { @@ -54,30 +54,30 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep LexicalUnit next = lu; if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } hue_ = getHuePart(next); next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } commaSeparated_ = LexicalUnitType.OPERATOR_COMMA == next.getLexicalUnitType(); if (commaSeparated_) { if (hue_.getLexicalUnitType() == LexicalUnitType.NONE) { throw new DOMException(DOMException.SYNTAX_ERR, - function_ + " has to use blank as separator if none is used."); + "'" + function_ + "' has to use blank as separator if none is used."); } next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } if (LexicalUnitType.NONE == next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, - function_ + " has to use blank as separator if none is used."); + "'" + function_ + "' has to use blank as separator if none is used."); } if (LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, "Saturation part has to be percentage."); @@ -86,21 +86,22 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } if (LexicalUnitType.OPERATOR_COMMA != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " parameters must be separated by ','."); + throw new DOMException(DOMException.SYNTAX_ERR, + "'" + function_ + "' parameters must be separated by ','."); } next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } if (LexicalUnitType.NONE == next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, - function_ + " has to use blank as separator if none is used."); + "'" + function_ + "' has to use blank as separator if none is used."); } if (LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, "Lightness part has to be percentage."); @@ -113,7 +114,8 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep } if (LexicalUnitType.OPERATOR_COMMA != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " parameters must be separated by ','."); + throw new DOMException(DOMException.SYNTAX_ERR, + "'" + function_ + "' parameters must be separated by ','."); } next = next.getNextLexicalUnit(); @@ -123,12 +125,13 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep if (LexicalUnitType.NONE == next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, - function_ + " has to use blank as separator if none is used."); + "'" + function_ + "' has to use blank as separator if none is used."); } alpha_ = getAlphaPart(next); next = next.getNextLexicalUnit(); if (next != null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for " + function_ + " function."); + throw new DOMException(DOMException.SYNTAX_ERR, + "Too many parameters for '" + function_ + "' function."); } return; } @@ -141,11 +144,11 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } if (next.getLexicalUnitType() == LexicalUnitType.OPERATOR_COMMA) { throw new DOMException(DOMException.SYNTAX_ERR, - function_ + " requires consitent separators (blank or comma)."); + "'" + function_ + "' requires consitent separators (blank or comma)."); } if (LexicalUnitType.NONE != next.getLexicalUnitType() @@ -159,7 +162,8 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep } if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_SLASH) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " alpha value must be separated by '/'."); + throw new DOMException(DOMException.SYNTAX_ERR, + "'" + function_ + "' alpha value must be separated by '/'."); } next = next.getNextLexicalUnit(); if (next == null) { @@ -170,7 +174,7 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep next = next.getNextLexicalUnit(); if (next != null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for " + function_ + " function."); + throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for '" + function_ + "' function."); } } diff --git a/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java index 801f232..b50509d 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java @@ -41,7 +41,7 @@ public class HWBColorImpl implements Serializable { */ public HWBColorImpl(final String function, final LexicalUnit lu) throws DOMException { if (function == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space hwb is required."); + throw new DOMException(DOMException.SYNTAX_ERR, "Color space 'hwb' is required."); } final String functionLC = function.toLowerCase(Locale.ROOT); if (!"hwb".equals(functionLC)) { @@ -50,13 +50,13 @@ public HWBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep LexicalUnit next = lu; if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "hwb requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'hwb' requires at least three values."); } hue_ = getHuePart(next); next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "hwb requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'hwb' requires at least three values."); } if (LexicalUnitType.NONE != next.getLexicalUnitType() @@ -67,7 +67,7 @@ public HWBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "hwb requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'hwb' requires at least three values."); } if (LexicalUnitType.NONE != next.getLexicalUnitType() @@ -81,7 +81,7 @@ public HWBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep } if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_SLASH) { - throw new DOMException(DOMException.SYNTAX_ERR, "hwb alpha value must be separated by '/'."); + throw new DOMException(DOMException.SYNTAX_ERR, "'hwb' alpha value must be separated by '/'."); } next = next.getNextLexicalUnit(); if (next == null) { @@ -92,7 +92,7 @@ public HWBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep next = next.getNextLexicalUnit(); if (next != null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for hwb function."); + throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for 'hwb' function."); } } diff --git a/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java index 6047264..ce38d0e 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java @@ -22,11 +22,13 @@ import org.w3c.dom.DOMException; /** - * Implementation of LABColor. + * Implementation of LABColor and OKLABColor. * * @author Ronald Brill */ public class LABColorImpl implements Serializable { + private final String function_; + private CSSValueImpl lightness_; private CSSValueImpl aDistance_; private CSSValueImpl bDistance_; @@ -35,35 +37,36 @@ public class LABColorImpl implements Serializable { /** * Constructor that reads the values from the given * chain of LexicalUnits. - * @param function the name of the function lab + * @param function the name of the function; lab or oklab * @param lu the values * @throws DOMException in case of error */ public LABColorImpl(final String function, final LexicalUnit lu) throws DOMException { if (function == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space lab is required."); + throw new DOMException(DOMException.SYNTAX_ERR, "Color space 'lab' or 'oklab' is required."); } final String functionLC = function.toLowerCase(Locale.ROOT); - if (!"lab".equals(functionLC)) { + if (!"lab".equals(functionLC) && !"oklab".equals(functionLC)) { throw new DOMException(DOMException.SYNTAX_ERR, "Color space '" + functionLC + "' not supported."); } + function_ = functionLC; LexicalUnit next = lu; if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "lab requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } lightness_ = getPart(next); next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "lab requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } aDistance_ = getPart(next); next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "lab requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } bDistance_ = getPart(next); @@ -73,7 +76,8 @@ public LABColorImpl(final String function, final LexicalUnit lu) throws DOMExcep } if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_SLASH) { - throw new DOMException(DOMException.SYNTAX_ERR, "lab alpha value must be separated by '/'."); + throw new DOMException(DOMException.SYNTAX_ERR, + "'" + function_ + "' alpha value must be separated by '/'."); } next = next.getNextLexicalUnit(); if (next == null) { @@ -83,7 +87,7 @@ public LABColorImpl(final String function, final LexicalUnit lu) throws DOMExcep alpha_ = getAlphaPart(next); next = next.getNextLexicalUnit(); if (next != null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for lab function."); + throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for '" + function_ + "' function."); } } @@ -185,7 +189,8 @@ public String toString() { final StringBuilder sb = new StringBuilder(); sb - .append("lab(") + .append(function_) + .append("(") .append(lightness_) .append(" ") .append(aDistance_) diff --git a/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java index 12dd085..f735920 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java @@ -22,11 +22,13 @@ import org.w3c.dom.DOMException; /** - * Implementation of LCHColor. + * Implementation of LCHColor and OKLCHColor. * * @author Ronald Brill */ public class LCHColorImpl implements Serializable { + private final String function_; + private CSSValueImpl lightness_; private CSSValueImpl chroma_; private CSSValueImpl hue_; @@ -35,36 +37,37 @@ public class LCHColorImpl implements Serializable { /** * Constructor that reads the values from the given * chain of LexicalUnits. - * @param function the name of the function; lch + * @param function the name of the function; lch or oklch * @param lu the values * @throws DOMException in case of error */ public LCHColorImpl(final String function, final LexicalUnit lu) throws DOMException { if (function == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space lch is required."); + throw new DOMException(DOMException.SYNTAX_ERR, "Color space 'lch' or 'oklch' is required."); } final String functionLC = function.toLowerCase(Locale.ROOT); - if (!"lch".equals(functionLC)) { + if (!"lch".equals(functionLC) && !"oklch".equals(functionLC)) { throw new DOMException(DOMException.SYNTAX_ERR, "Color space '" + functionLC + "' not supported."); } + function_ = functionLC; LexicalUnit next = lu; if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "lch requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } lightness_ = getPart(next, "lightness"); next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "lch requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } chroma_ = getPart(next, "chroma"); next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "lch requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } hue_ = getHuePart(next); @@ -74,7 +77,8 @@ public LCHColorImpl(final String function, final LexicalUnit lu) throws DOMExcep } if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_SLASH) { - throw new DOMException(DOMException.SYNTAX_ERR, "lch alpha value must be separated by '/'."); + throw new DOMException(DOMException.SYNTAX_ERR, + "'" + function_ + "' alpha value must be separated by '/'."); } next = next.getNextLexicalUnit(); if (next == null) { @@ -82,10 +86,9 @@ public LCHColorImpl(final String function, final LexicalUnit lu) throws DOMExcep } alpha_ = getAlphaPart(next); - next = next.getNextLexicalUnit(); if (next != null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for lch function."); + throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for '" + function_ + "' function."); } } @@ -199,7 +202,8 @@ public String toString() { final StringBuilder sb = new StringBuilder(); sb - .append("lch(") + .append(function_) + .append("(") .append(lightness_) .append(" ") .append(chroma_) diff --git a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java index afb384d..bf3d8aa 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java @@ -44,7 +44,7 @@ public class RGBColorImpl implements Serializable { */ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMException { if (function == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space rgb or rgba is required."); + throw new DOMException(DOMException.SYNTAX_ERR, "Color space 'rgb' or 'rgba' is required."); } final String functionLC = function.toLowerCase(Locale.ROOT); if (!"rgb".equals(functionLC) && !"rgba".equals(functionLC)) { @@ -54,41 +54,42 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep LexicalUnit next = lu; if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } red_ = getPart(next); next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } commaSeparated_ = LexicalUnitType.OPERATOR_COMMA == next.getLexicalUnitType(); if (commaSeparated_) { if (LexicalUnitType.NONE == red_.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, - function_ + " has to use blank as separator if none is used."); + "'" + function_ + "' has to use blank as separator if none is used."); } next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } if (LexicalUnitType.NONE == next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, - function_ + " has to use blank as separator if none is used."); + "'" + function_ + "' has to use blank as separator if none is used."); } green_ = getPart(next); next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } if (LexicalUnitType.OPERATOR_COMMA != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " parameters must be separated by ','."); + throw new DOMException(DOMException.SYNTAX_ERR, + "'" + function_ + "' parameters must be separated by ','."); } next = next.getNextLexicalUnit(); @@ -98,7 +99,7 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep if (LexicalUnitType.NONE == next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, - function_ + " has to use blank as separator if none is used."); + "'" + function_ + "' has to use blank as separator if none is used."); } blue_ = getPart(next); @@ -108,7 +109,8 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep } if (LexicalUnitType.OPERATOR_COMMA != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " parameters must be separated by ','."); + throw new DOMException(DOMException.SYNTAX_ERR, + "'" + function_ + "' parameters must be separated by ','."); } next = next.getNextLexicalUnit(); if (next == null) { @@ -117,13 +119,14 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep if (LexicalUnitType.NONE == next.getLexicalUnitType()) { throw new DOMException(DOMException.SYNTAX_ERR, - function_ + " has to use blank as separator if none is used."); + "'" + function_ + "' has to use blank as separator if none is used."); } alpha_ = getPart(next); next = next.getNextLexicalUnit(); if (next != null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for " + function_ + " function."); + throw new DOMException(DOMException.SYNTAX_ERR, + "Too many parameters for '" + function_ + "' function."); } return; } @@ -131,11 +134,11 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep green_ = getPart(next); next = next.getNextLexicalUnit(); if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " requires at least three values."); + throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } if (next.getLexicalUnitType() == LexicalUnitType.OPERATOR_COMMA) { throw new DOMException(DOMException.SYNTAX_ERR, - function_ + " requires consitent separators (blank or comma)."); + "'" + function_ + "' requires consitent separators (blank or comma)."); } blue_ = getPart(next); @@ -145,7 +148,8 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep } if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_SLASH) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + " alpha value must be separated by '/'."); + throw new DOMException(DOMException.SYNTAX_ERR, + "'" + function_ + "' alpha value must be separated by '/'."); } next = next.getNextLexicalUnit(); if (next == null) { @@ -155,7 +159,7 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep alpha_ = getPart(next); next = next.getNextLexicalUnit(); if (next != null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for " + function_ + " function."); + throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for '" + function_ + "' function."); } } diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index f13c774..243480a 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -421,8 +421,8 @@ TOKEN_MGR_DECLS : | < FUNCTION_RGB: "rgb" ("a")? > | < FUNCTION_HSL: "hsl" ("a")? > | < FUNCTION_HWB: "hwb" > -| < FUNCTION_LAB: "lab" > -| < FUNCTION_LCH: "lch" > +| < FUNCTION_LAB: ("ok")? "lab" > +| < FUNCTION_LCH: ("ok")? "lch" > | < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > diff --git a/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java index 1280bcb..fc7b1e7 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java @@ -58,7 +58,7 @@ public void constructByLUException() throws Exception { fail("DOMException expected"); } catch (final DOMException e) { - assertEquals("hsl requires at least three values.", e.getMessage()); + assertEquals("'hsl' requires at least three values.", e.getMessage()); } LexicalUnit hslLU = LexicalUnitImpl.createNumber(null, 10); @@ -83,7 +83,7 @@ public void constructByLUException() throws Exception { fail("DOMException expected: " + color); } catch (final DOMException e) { - assertEquals("hsl parameters must be separated by ','.", e.getMessage()); + assertEquals("'hsl' parameters must be separated by ','.", e.getMessage()); } } @@ -106,7 +106,7 @@ public void constructByLUTooManyValuesException() throws Exception { fail("DOMException expected: " + color); } catch (final DOMException e) { - assertEquals("Too many parameters for hsl function.", e.getMessage()); + assertEquals("Too many parameters for 'hsl' function.", e.getMessage()); } } @@ -138,7 +138,7 @@ public void getCssTextFunctionName() throws Exception { fail("DOMException expected: " + color); } catch (final DOMException e) { - assertEquals("Color space hsl or hsla is required.", e.getMessage()); + assertEquals("Color space 'hsl' or 'hsla' is required.", e.getMessage()); } try { diff --git a/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java index 7ce571e..cc144fd 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java @@ -55,7 +55,7 @@ public void constructByLUException() throws Exception { fail("DOMException expected"); } catch (final DOMException e) { - assertEquals("hwb requires at least three values.", e.getMessage()); + assertEquals("'hwb' requires at least three values.", e.getMessage()); } final LexicalUnit hwbLU = LexicalUnitImpl.createNumber(null, 10); @@ -87,7 +87,7 @@ public void constructByLUTooManyValuesException() throws Exception { fail("DOMException expected: " + color); } catch (final DOMException e) { - assertEquals("Too many parameters for hwb function.", e.getMessage()); + assertEquals("Too many parameters for 'hwb' function.", e.getMessage()); } } @@ -117,7 +117,7 @@ public void getCssTextFunctionName() throws Exception { fail("DOMException expected: " + color); } catch (final DOMException e) { - assertEquals("Color space hwb is required.", e.getMessage()); + assertEquals("Color space 'hwb' is required.", e.getMessage()); } try { diff --git a/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java index 7606465..bca2562 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java @@ -55,7 +55,7 @@ public void constructByLUException() throws Exception { fail("DOMException expected"); } catch (final DOMException e) { - assertEquals("lab requires at least three values.", e.getMessage()); + assertEquals("'lab' requires at least three values.", e.getMessage()); } final LexicalUnit labLU = LexicalUnitImpl.createNumber(null, 10); @@ -87,7 +87,7 @@ public void constructByLUTooManyValuesException() throws Exception { fail("DOMException expected: " + color); } catch (final DOMException e) { - assertEquals("Too many parameters for lab function.", e.getMessage()); + assertEquals("Too many parameters for 'lab' function.", e.getMessage()); } } @@ -117,7 +117,7 @@ public void getCssTextFunctionName() throws Exception { fail("DOMException expected: " + color); } catch (final DOMException e) { - assertEquals("Color space lab is required.", e.getMessage()); + assertEquals("Color space 'lab' or 'oklab' is required.", e.getMessage()); } try { diff --git a/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java index 446ceb1..bd32bb2 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java @@ -55,7 +55,7 @@ public void constructByLUException() throws Exception { fail("DOMException expected"); } catch (final DOMException e) { - assertEquals("lch requires at least three values.", e.getMessage()); + assertEquals("'lch' requires at least three values.", e.getMessage()); } final LexicalUnit lchLU = LexicalUnitImpl.createNumber(null, 10); @@ -65,7 +65,7 @@ public void constructByLUException() throws Exception { fail("DOMException expected: " + color); } catch (final DOMException e) { - assertEquals("lch requires at least three values.", e.getMessage()); + assertEquals("'lch' requires at least three values.", e.getMessage()); } } @@ -86,7 +86,7 @@ public void constructByLUTooManyValuesException() throws Exception { fail("DOMException expected: " + color); } catch (final DOMException e) { - assertEquals("Too many parameters for lch function.", e.getMessage()); + assertEquals("Too many parameters for 'lch' function.", e.getMessage()); } } @@ -116,7 +116,7 @@ public void getCssTextFunctionName() throws Exception { fail("DOMException expected: " + color); } catch (final DOMException e) { - assertEquals("Color space lch is required.", e.getMessage()); + assertEquals("Color space 'lch' or 'oklch' is required.", e.getMessage()); } try { diff --git a/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java index 09bb1a7..8204b57 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java @@ -57,7 +57,7 @@ public void constructByLUException() throws Exception { fail("DOMException expected"); } catch (final DOMException e) { - assertEquals("rgb requires at least three values.", e.getMessage()); + assertEquals("'rgb' requires at least three values.", e.getMessage()); } LexicalUnit rgbLU = LexicalUnitImpl.createNumber(null, 10); @@ -82,7 +82,7 @@ public void constructByLUException() throws Exception { fail("DOMException expected: " + color); } catch (final DOMException e) { - assertEquals("rgb parameters must be separated by ','.", e.getMessage()); + assertEquals("'rgb' parameters must be separated by ','.", e.getMessage()); } } @@ -105,7 +105,7 @@ public void constructByLUTooManyValuesException() throws Exception { fail("DOMException expected: " + color); } catch (final DOMException e) { - assertEquals("Too many parameters for rgb function.", e.getMessage()); + assertEquals("Too many parameters for 'rgb' function.", e.getMessage()); } } @@ -137,7 +137,7 @@ public void getCssTextFunctionName() throws Exception { fail("DOMException expected: " + color); } catch (final DOMException e) { - assertEquals("Color space rgb or rgba is required.", e.getMessage()); + assertEquals("Color space 'rgb' or 'rgba' is required.", e.getMessage()); } try { diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index d594d8d..fd67dde 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -1041,15 +1041,15 @@ public void rgbaMixed() throws Exception { */ @Test public void rgbVariousErrors() throws Exception { - color(1, "DOM exception: 'rgb parameters must be separated by ','.'", "foreground: rgb(10, 20 30)"); - color(1, "DOM exception: 'rgb requires consitent separators (blank or comma).'", "foreground: rgb(10 20, 30)"); + color(1, "DOM exception: ''rgb' parameters must be separated by ','.'", "foreground: rgb(10, 20 30)"); + color(1, "DOM exception: ''rgb' requires consitent separators (blank or comma).'", "foreground: rgb(10 20, 30)"); - color(1, "DOM exception: 'rgb alpha value must be separated by '/'.'", "foreground: rgb(10 20 30 40)"); + color(1, "DOM exception: ''rgb' alpha value must be separated by '/'.'", "foreground: rgb(10 20 30 40)"); - color(1, "DOM exception: 'rgb has to use blank as separator if none is used.'", "foreground: rgb(none, 20, 30)"); - color(1, "DOM exception: 'rgb has to use blank as separator if none is used.'", "foreground: rgb(10, none, 30)"); - color(1, "DOM exception: 'rgb has to use blank as separator if none is used.'", "foreground: rgb(10, 20, none)"); - color(1, "DOM exception: 'rgb has to use blank as separator if none is used.'", "foreground: rgb(10, 20, 30, none)"); + color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(none, 20, 30)"); + color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(10, none, 30)"); + color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(10, 20, none)"); + color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(10, 20, 30, none)"); color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", "foreground: rgb(-none 20 30)"); @@ -1261,15 +1261,15 @@ public void hslaMixed() throws Exception { */ @Test public void hslVariousErrors() throws Exception { - color(1, "DOM exception: 'hsl parameters must be separated by ','.'", "foreground: hsl(10, 20% 30%)"); - color(1, "DOM exception: 'hsl requires consitent separators (blank or comma).'", "foreground: hsl(10 20%, 30%)"); + color(1, "DOM exception: ''hsl' parameters must be separated by ','.'", "foreground: hsl(10, 20% 30%)"); + color(1, "DOM exception: ''hsl' requires consitent separators (blank or comma).'", "foreground: hsl(10 20%, 30%)"); - color(1, "DOM exception: 'hsl alpha value must be separated by '/'.'", "foreground: hsl(10 20% 30% 40)"); + color(1, "DOM exception: ''hsl' alpha value must be separated by '/'.'", "foreground: hsl(10 20% 30% 40)"); - color(1, "DOM exception: 'hsl has to use blank as separator if none is used.'", "foreground: hsl(none, 20%, 30%)"); - color(1, "DOM exception: 'hsl has to use blank as separator if none is used.'", "foreground: hsl(10, none, 30%)"); - color(1, "DOM exception: 'hsl has to use blank as separator if none is used.'", "foreground: hsl(10, 20%, none)"); - color(1, "DOM exception: 'hsl has to use blank as separator if none is used.'", "foreground: hsl(10, 20%, 30%, none)"); + color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(none, 20%, 30%)"); + color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(10, none, 30%)"); + color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(10, 20%, none)"); + color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(10, 20%, 30%, none)"); // mixing numbers and percentages is supported by current browsers // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20, 30)"); @@ -1347,7 +1347,7 @@ public void hwbVariousErrors() throws Exception { "foreground: hwb(10, 20% 30%)"); color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", .)", "foreground: hwb(10 20%, 30%)"); - color(1, "DOM exception: 'hwb alpha value must be separated by '/'.'", "foreground: hwb(10 20% 30% 40)"); + color(1, "DOM exception: ''hwb' alpha value must be separated by '/'.'", "foreground: hwb(10 20% 30% 40)"); color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", "foreground: hwb()"); @@ -1417,7 +1417,7 @@ public void labVariousErrors() throws Exception { color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", "foreground: lab(10, 20 30)"); - color(1, "DOM exception: 'lab alpha value must be separated by '/'.'", "foreground: lab(10 20 30 40)"); + color(1, "DOM exception: ''lab' alpha value must be separated by '/'.'", "foreground: lab(10 20 30 40)"); color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", "foreground: lab(-none 20 30)"); @@ -1445,6 +1445,85 @@ public void labVariousErrors() throws Exception { "foreground: lab('10' 20 30)"); } + /** + * @throws Exception in case of failure + */ + @Test + public void oklabBlank() throws Exception { + color("foreground: oklab(255 0 153)", "foreground: oklab(255 0 153)"); + color("foreground: oklab(255 0 153)", "foreground: oklab(255 0 153.0)"); + color("foreground: oklab(100% 0% 60%)", "foreground: oklab(100% 0% 60%)"); + color("foreground: oklab(100% 0% 60%)", "foreground: oklab(100% 0% 60%)"); + + color("foreground: oklab(none 0% 60%)", "foreground: oklab(none 0% 60%)"); + color("foreground: oklab(100% none 60%)", "foreground: oklab(100% none 60%)"); + color("foreground: oklab(100% 0% none)", "foreground: oklab(100% 0% none)"); + + color("foreground: oklab(255 0 153)", "foreground: oklab(2.55e2 0e0 1.53e2)"); + + // alpha + color("foreground: oklab(10 20 30 / 0.1)", "foreground: oklab(10 20 30/0.1)"); + color("foreground: oklab(10 20 30 / 0.1)", "foreground: oklab( 10 20 30 / 0.1 )"); + color("foreground: oklab(10 20 30 / 0.7)", "foreground: oklab( 10 20 30 / .7 )"); + color("foreground: oklab(10 20 30 / 10%)", "foreground: oklab(10 20 30 / 10%)"); + + color("foreground: oklab(10% 20% 30% / 7%)", "foreground: oklab(10% 20% 30% / 7%)"); + color("foreground: oklab(10% 20% 30% / 0.13%)", "foreground: oklab(10% 20% 30% / 1.3e-1%)"); + color("foreground: oklab(10% 20% 30% / 0.5)", "foreground: oklab(10% 20% 30% / 0.5)"); + + color("foreground: oklab(10% 20% 30% / none)", "foreground: oklab(10% 20% 30% / none)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void oklabMixed() throws Exception { + color("foreground: oklab(42 128 255)", "foreground: oklab(42 128 255)"); + color("foreground: oklab(42% 128 255)", "foreground: oklab(42% 128 255)"); + color("foreground: oklab(42 128% 255)", "foreground: oklab(42 128% 255)"); + color("foreground: oklab(42 128 255%)", "foreground: oklab(42 128 255%)"); + color("foreground: oklab(42% 128% 255)", "foreground: oklab(42% 128% 255)"); + color("foreground: oklab(42 128% 255%)", "foreground: oklab(42 128% 255%)"); + color("foreground: oklab(42% 128% 255%)", "foreground: oklab(42% 128% 255%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void oklabVariousErrors() throws Exception { + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10, 20 30)"); + + color(1, "DOM exception: ''oklab' alpha value must be separated by '/'.'", "foreground: oklab(10 20 30 40)"); + + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(-none 20 30)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10 -none 30)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10 20 -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10 20 30 / -none)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab()"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10 20)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10 20 30/)"); + + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10 20px 30)"); + + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab('10' 20 30)"); + } + /** * @throws Exception in case of failure */ @@ -1496,7 +1575,7 @@ public void lchVariousErrors() throws Exception { color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", "foreground: lch(10, 20 30deg)"); - color(1, "DOM exception: 'lch alpha value must be separated by '/'.'", "foreground: lch(10 20 30deg 40)"); + color(1, "DOM exception: ''lch' alpha value must be separated by '/'.'", "foreground: lch(10 20 30deg 40)"); color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", "foreground: lch(-none 20 30deg)"); @@ -1524,6 +1603,85 @@ public void lchVariousErrors() throws Exception { "foreground: lch('10' 20 30deg)"); } + /** + * @throws Exception in case of failure + */ + @Test + public void oklchBlank() throws Exception { + color("foreground: oklch(255 0 153deg)", "foreground: oklch(255 0 153deg)"); + color("foreground: oklch(255 0 153deg)", "foreground: oklch(255 0 153.0deg)"); + color("foreground: oklch(100% 0% 60deg)", "foreground: oklch(100% 0% 60deg)"); + color("foreground: oklch(100% 0% 60deg)", "foreground: oklch(100% 0% 60deg)"); + + color("foreground: oklch(none 0% 60deg)", "foreground: oklch(none 0% 60deg)"); + color("foreground: oklch(100% none 60deg)", "foreground: oklch(100% none 60deg)"); + color("foreground: oklch(100% 0% none)", "foreground: oklch(100% 0% none)"); + + color("foreground: oklch(255 0 153deg)", "foreground: oklch(2.55e2 0e0 1.53e2deg)"); + + // alpha + color("foreground: oklch(10 20 30deg / 0.1)", "foreground: oklch(10 20 30deg/0.1)"); + color("foreground: oklch(10 20 30deg / 0.1)", "foreground: oklch( 10 20 30deg / 0.1 )"); + color("foreground: oklch(10 20 30deg / 0.7)", "foreground: oklch( 10 20 30deg / .7 )"); + color("foreground: oklch(10 20 30deg / 10%)", "foreground: oklch(10 20 30deg / 10%)"); + + color("foreground: oklch(10% 20% 30deg / 7%)", "foreground: oklch(10% 20% 30deg / 7%)"); + color("foreground: oklch(10% 20% 30deg / 0.13%)", "foreground: oklch(10% 20% 30deg / 1.3e-1%)"); + color("foreground: oklch(10% 20% 30deg / 0.5)", "foreground: oklch(10% 20% 30deg / 0.5)"); + + color("foreground: oklch(10% 20% 30deg / none)", "foreground: oklch(10% 20% 30deg / none)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void oklchMixed() throws Exception { + color("foreground: oklch(42 128 255deg)", "foreground: oklch(42 128 255deg)"); + color("foreground: oklch(42% 128 255deg)", "foreground: oklch(42% 128 255deg)"); + color("foreground: oklch(42 128% 255deg)", "foreground: oklch(42 128% 255deg)"); + color("foreground: oklch(42 128 255rad)", "foreground: oklch(42 128 255rad)"); + color("foreground: oklch(42% 128% 255deg)", "foreground: oklch(42% 128% 255deg)"); + color("foreground: oklch(42 128% 255rad)", "foreground: oklch(42 128% 255rad)"); + color("foreground: oklch(42% 128% 255rad)", "foreground: oklch(42% 128% 255rad)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void oklchVariousErrors() throws Exception { + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch(10, 20 30deg)"); + + color(1, "DOM exception: ''oklch' alpha value must be separated by '/'.'", "foreground: oklch(10 20 30deg 40)"); + + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch(-none 20 30deg)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch(10 -none 30deg)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", + "foreground: oklch(10 20 -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch(10 20 30deg / -none)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch()"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch(10)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", + "foreground: oklch(10 20)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch(10 20 30deg/)"); + + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch(10 20px 30deg)"); + + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch('10' 20 30deg)"); + } + private void color(final String expected, final String cssText) throws Exception { color(0, expected, cssText); } From 84e11da36b94d92b57388942f84a92a357be5ce2 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 23 Dec 2024 19:49:05 +0100 Subject: [PATCH 060/137] introduce AbstractColor --- .../htmlunit/cssparser/dom/AbstractColor.java | 73 +++++++++++++++++++ .../htmlunit/cssparser/dom/HSLColorImpl.java | 48 +++--------- .../htmlunit/cssparser/dom/HWBColorImpl.java | 38 +--------- .../htmlunit/cssparser/dom/LABColorImpl.java | 58 ++------------- .../htmlunit/cssparser/dom/LCHColorImpl.java | 39 ++-------- .../htmlunit/cssparser/dom/RGBColorImpl.java | 34 +++------ 6 files changed, 109 insertions(+), 181 deletions(-) create mode 100644 src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java diff --git a/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java b/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java new file mode 100644 index 0000000..9cb7550 --- /dev/null +++ b/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.dom; + +import java.io.Serializable; + +import org.htmlunit.cssparser.parser.LexicalUnit; +import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; +import org.w3c.dom.DOMException; + +/** + * Color base class. + * + * @author Ronald Brill + */ +public class AbstractColor implements Serializable { + + private CSSValueImpl alpha_; + + protected static CSSValueImpl getNumberPercentagePart(final LexicalUnit next) { + if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() + + || LexicalUnitType.INTEGER == next.getLexicalUnitType() + || LexicalUnitType.REAL == next.getLexicalUnitType() + + || LexicalUnitType.NONE == next.getLexicalUnitType()) { + return new CSSValueImpl(next, true); + } + + throw new DOMException(DOMException.SYNTAX_ERR, "Color part has to be numeric or percentage."); + } + + protected void getAlphaPart(final LexicalUnit next) { + if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() + + || LexicalUnitType.INTEGER == next.getLexicalUnitType() + || LexicalUnitType.REAL == next.getLexicalUnitType() + + || LexicalUnitType.NONE == next.getLexicalUnitType()) { + setAlpha(new CSSValueImpl(next, true)); + return; + } + + throw new DOMException(DOMException.SYNTAX_ERR, "Color alpha part has to be numeric or percentage."); + } + + /** + * @return the alpha part. + */ + public CSSValueImpl getAlpha() { + return alpha_; + } + + /** + * Sets the alpha part to a new value. + * @param alpha the new CSSValueImpl + */ + public void setAlpha(final CSSValueImpl alpha) { + alpha_ = alpha; + } +} diff --git a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java index 9b7c8d9..ea004b8 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java @@ -14,7 +14,6 @@ */ package org.htmlunit.cssparser.dom; -import java.io.Serializable; import java.util.Locale; import org.htmlunit.cssparser.parser.LexicalUnit; @@ -26,13 +25,12 @@ * * @author Ronald Brill */ -public class HSLColorImpl implements Serializable { +public class HSLColorImpl extends AbstractColor { private final String function_; private CSSValueImpl hue_; private CSSValueImpl saturation_; private CSSValueImpl lightness_; - private CSSValueImpl alpha_; private final boolean commaSeparated_; /** @@ -127,7 +125,9 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' has to use blank as separator if none is used."); } - alpha_ = getAlphaPart(next); + + getAlphaPart(next); + next = next.getNextLexicalUnit(); if (next != null) { throw new DOMException(DOMException.SYNTAX_ERR, @@ -170,7 +170,7 @@ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); } - alpha_ = getAlphaPart(next); + getAlphaPart(next); next = next.getNextLexicalUnit(); if (next != null) { @@ -194,19 +194,6 @@ private static CSSValueImpl getHuePart(final LexicalUnit next) { throw new DOMException(DOMException.SYNTAX_ERR, "Color hue part has to be numeric or an angle."); } - private static CSSValueImpl getAlphaPart(final LexicalUnit next) { - if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() - - || LexicalUnitType.INTEGER == next.getLexicalUnitType() - || LexicalUnitType.REAL == next.getLexicalUnitType() - - || LexicalUnitType.NONE == next.getLexicalUnitType()) { - return new CSSValueImpl(next, true); - } - - throw new DOMException(DOMException.SYNTAX_ERR, "Color alpha part has to be numeric or percentage."); - } - /** * @return the hue part. */ @@ -252,21 +239,6 @@ public void setLightness(final CSSValueImpl lightness) { lightness_ = lightness; } - /** - * @return the alpha part. - */ - public CSSValueImpl getAlpha() { - return alpha_; - } - - /** - * Sets the alpha part to a new value. - * @param alpha the new CSSValueImpl - */ - public void setAlpha(final CSSValueImpl alpha) { - alpha_ = alpha; - } - /** * {@inheritDoc} */ @@ -284,9 +256,8 @@ public String toString() { .append(saturation_) .append(", ") .append(lightness_); - - if (null != alpha_) { - sb.append(", ").append(alpha_); + if (null != getAlpha()) { + sb.append(", ").append(getAlpha()); } } else { @@ -295,9 +266,8 @@ public String toString() { .append(saturation_) .append(" ") .append(lightness_); - - if (null != alpha_) { - sb.append(" / ").append(alpha_); + if (null != getAlpha()) { + sb.append(" / ").append(getAlpha()); } } diff --git a/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java index b50509d..7ee6702 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java @@ -14,7 +14,6 @@ */ package org.htmlunit.cssparser.dom; -import java.io.Serializable; import java.util.Locale; import org.htmlunit.cssparser.parser.LexicalUnit; @@ -26,11 +25,10 @@ * * @author Ronald Brill */ -public class HWBColorImpl implements Serializable { +public class HWBColorImpl extends AbstractColor { private CSSValueImpl hue_; private CSSValueImpl whiteness_; private CSSValueImpl blackness_; - private CSSValueImpl alpha_; /** * Constructor that reads the values from the given @@ -88,7 +86,7 @@ public HWBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); } - alpha_ = getAlphaPart(next); + getAlphaPart(next); next = next.getNextLexicalUnit(); if (next != null) { @@ -112,19 +110,6 @@ private static CSSValueImpl getHuePart(final LexicalUnit next) { throw new DOMException(DOMException.SYNTAX_ERR, "Color hue part has to be numeric or an angle."); } - private static CSSValueImpl getAlphaPart(final LexicalUnit next) { - if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() - - || LexicalUnitType.INTEGER == next.getLexicalUnitType() - || LexicalUnitType.REAL == next.getLexicalUnitType() - - || LexicalUnitType.NONE == next.getLexicalUnitType()) { - return new CSSValueImpl(next, true); - } - - throw new DOMException(DOMException.SYNTAX_ERR, "Color alpha part has to be numeric or percentage."); - } - /** * @return the hue part. */ @@ -170,21 +155,6 @@ public void setBlackness(final CSSValueImpl blackness) { blackness_ = blackness; } - /** - * @return the alpha part. - */ - public CSSValueImpl getAlpha() { - return alpha_; - } - - /** - * Sets the alpha part to a new value. - * @param alpha the new CSSValueImpl - */ - public void setAlpha(final CSSValueImpl alpha) { - alpha_ = alpha; - } - /** * {@inheritDoc} */ @@ -200,8 +170,8 @@ public String toString() { .append(" ") .append(blackness_); - if (null != alpha_) { - sb.append(" / ").append(alpha_); + if (null != getAlpha()) { + sb.append(" / ").append(getAlpha()); } sb.append(")"); diff --git a/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java index ce38d0e..1c70334 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java @@ -14,7 +14,6 @@ */ package org.htmlunit.cssparser.dom; -import java.io.Serializable; import java.util.Locale; import org.htmlunit.cssparser.parser.LexicalUnit; @@ -26,13 +25,12 @@ * * @author Ronald Brill */ -public class LABColorImpl implements Serializable { +public class LABColorImpl extends AbstractColor { private final String function_; private CSSValueImpl lightness_; private CSSValueImpl aDistance_; private CSSValueImpl bDistance_; - private CSSValueImpl alpha_; /** * Constructor that reads the values from the given @@ -56,20 +54,20 @@ public LABColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } - lightness_ = getPart(next); + lightness_ = getNumberPercentagePart(next); next = next.getNextLexicalUnit(); if (next == null) { throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } - aDistance_ = getPart(next); + aDistance_ = getNumberPercentagePart(next); next = next.getNextLexicalUnit(); if (next == null) { throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } - bDistance_ = getPart(next); + bDistance_ = getNumberPercentagePart(next); next = next.getNextLexicalUnit(); if (next == null) { return; @@ -84,39 +82,14 @@ public LABColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); } - alpha_ = getAlphaPart(next); + getAlphaPart(next); + next = next.getNextLexicalUnit(); if (next != null) { throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for '" + function_ + "' function."); } } - private static CSSValueImpl getPart(final LexicalUnit next) { - if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() - - || LexicalUnitType.INTEGER == next.getLexicalUnitType() - || LexicalUnitType.REAL == next.getLexicalUnitType() - - || LexicalUnitType.NONE == next.getLexicalUnitType()) { - return new CSSValueImpl(next, true); - } - - throw new DOMException(DOMException.SYNTAX_ERR, "Color part has to be numeric or percentage."); - } - - private static CSSValueImpl getAlphaPart(final LexicalUnit next) { - if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() - - || LexicalUnitType.INTEGER == next.getLexicalUnitType() - || LexicalUnitType.REAL == next.getLexicalUnitType() - - || LexicalUnitType.NONE == next.getLexicalUnitType()) { - return new CSSValueImpl(next, true); - } - - throw new DOMException(DOMException.SYNTAX_ERR, "Color alpha part has to be numeric or percentage."); - } - /** * @return the lightness part. */ @@ -166,21 +139,6 @@ public void setB(final CSSValueImpl b) { bDistance_ = b; } - /** - * @return the alpha part. - */ - public CSSValueImpl getAlpha() { - return alpha_; - } - - /** - * Sets the alpha part to a new value. - * @param alpha the new CSSValueImpl - */ - public void setAlpha(final CSSValueImpl alpha) { - alpha_ = alpha; - } - /** * {@inheritDoc} */ @@ -197,8 +155,8 @@ public String toString() { .append(" ") .append(bDistance_); - if (null != alpha_) { - sb.append(" / ").append(alpha_); + if (null != getAlpha()) { + sb.append(" / ").append(getAlpha()); } sb.append(")"); diff --git a/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java index f735920..70b9219 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java @@ -14,7 +14,6 @@ */ package org.htmlunit.cssparser.dom; -import java.io.Serializable; import java.util.Locale; import org.htmlunit.cssparser.parser.LexicalUnit; @@ -26,13 +25,12 @@ * * @author Ronald Brill */ -public class LCHColorImpl implements Serializable { +public class LCHColorImpl extends AbstractColor { private final String function_; private CSSValueImpl lightness_; private CSSValueImpl chroma_; private CSSValueImpl hue_; - private CSSValueImpl alpha_; /** * Constructor that reads the values from the given @@ -85,7 +83,8 @@ public LCHColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); } - alpha_ = getAlphaPart(next); + getAlphaPart(next); + next = next.getNextLexicalUnit(); if (next != null) { throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for '" + function_ + "' function."); @@ -121,19 +120,6 @@ private static CSSValueImpl getHuePart(final LexicalUnit next) { throw new DOMException(DOMException.SYNTAX_ERR, "Color hue part has to be numeric or an angle."); } - private static CSSValueImpl getAlphaPart(final LexicalUnit next) { - if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() - - || LexicalUnitType.INTEGER == next.getLexicalUnitType() - || LexicalUnitType.REAL == next.getLexicalUnitType() - - || LexicalUnitType.NONE == next.getLexicalUnitType()) { - return new CSSValueImpl(next, true); - } - - throw new DOMException(DOMException.SYNTAX_ERR, "Color alpha part has to be numeric or percentage."); - } - /** * @return the lightness part. */ @@ -179,21 +165,6 @@ public void setHue(final CSSValueImpl hue) { hue_ = hue; } - /** - * @return the alpha part. - */ - public CSSValueImpl getAlpha() { - return alpha_; - } - - /** - * Sets the alpha part to a new value. - * @param alpha the new CSSValueImpl - */ - public void setAlpha(final CSSValueImpl alpha) { - alpha_ = alpha; - } - /** * {@inheritDoc} */ @@ -210,8 +181,8 @@ public String toString() { .append(" ") .append(hue_); - if (null != alpha_) { - sb.append(" / ").append(alpha_); + if (null != getAlpha()) { + sb.append(" / ").append(getAlpha()); } sb.append(")"); diff --git a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java index bf3d8aa..0df625f 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java @@ -14,7 +14,6 @@ */ package org.htmlunit.cssparser.dom; -import java.io.Serializable; import java.util.Locale; import org.htmlunit.cssparser.parser.LexicalUnit; @@ -26,13 +25,12 @@ * * @author Ronald Brill */ -public class RGBColorImpl implements Serializable { +public class RGBColorImpl extends AbstractColor { private final String function_; private CSSValueImpl red_; private CSSValueImpl green_; private CSSValueImpl blue_; - private CSSValueImpl alpha_; private final boolean commaSeparated_; /** @@ -121,7 +119,8 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' has to use blank as separator if none is used."); } - alpha_ = getPart(next); + + getAlphaPart(next); next = next.getNextLexicalUnit(); if (next != null) { @@ -156,7 +155,8 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); } - alpha_ = getPart(next); + getAlphaPart(next); + next = next.getNextLexicalUnit(); if (next != null) { throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for '" + function_ + "' function."); @@ -225,21 +225,6 @@ public void setBlue(final CSSValueImpl blue) { blue_ = blue; } - /** - * @return the alpha part. - */ - public CSSValueImpl getAlpha() { - return alpha_; - } - - /** - * Sets the alpha part to a new value. - * @param alpha the new CSSValueImpl - */ - public void setAlpha(final CSSValueImpl alpha) { - alpha_ = alpha; - } - /** * {@inheritDoc} */ @@ -258,9 +243,10 @@ public String toString() { .append(", ") .append(blue_); - if (null != alpha_) { - sb.append(", ").append(alpha_); + if (null != getAlpha()) { + sb.append(", ").append(getAlpha()); } + } else { sb @@ -269,8 +255,8 @@ public String toString() { .append(" ") .append(blue_); - if (null != alpha_) { - sb.append(" / ").append(alpha_); + if (null != getAlpha()) { + sb.append(" / ").append(getAlpha()); } } From 39b7b48fb18218e792a2a93505c3ade322c15230 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 23 Dec 2024 19:49:22 +0100 Subject: [PATCH 061/137] 4.8.0-SNAPSHOT --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index daf0de2..a1a0cc0 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.7.0 + 4.8.0-SNAPSHOT HtmlUnit CSS Parser HtmlUnit From 1953fcc372984432aa6b2aff144d97df3cf40fd6 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 23 Dec 2024 20:04:55 +0100 Subject: [PATCH 062/137] fun with lambdas --- .../htmlunit/cssparser/dom/AbstractColor.java | 6 ++++-- .../htmlunit/cssparser/dom/LABColorImpl.java | 6 +++--- .../htmlunit/cssparser/dom/RGBColorImpl.java | 21 +++++-------------- 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java b/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java index 9cb7550..af5218c 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java +++ b/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java @@ -15,6 +15,7 @@ package org.htmlunit.cssparser.dom; import java.io.Serializable; +import java.util.function.Consumer; import org.htmlunit.cssparser.parser.LexicalUnit; import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; @@ -29,14 +30,15 @@ public class AbstractColor implements Serializable { private CSSValueImpl alpha_; - protected static CSSValueImpl getNumberPercentagePart(final LexicalUnit next) { + protected void getNumberPercentagePart(final LexicalUnit next, final Consumer setter) { if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() || LexicalUnitType.INTEGER == next.getLexicalUnitType() || LexicalUnitType.REAL == next.getLexicalUnitType() || LexicalUnitType.NONE == next.getLexicalUnitType()) { - return new CSSValueImpl(next, true); + setter.accept(new CSSValueImpl(next, true)); + return; } throw new DOMException(DOMException.SYNTAX_ERR, "Color part has to be numeric or percentage."); diff --git a/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java index 1c70334..c7d4677 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java @@ -54,20 +54,20 @@ public LABColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } - lightness_ = getNumberPercentagePart(next); + getNumberPercentagePart(next, this::setLightness); next = next.getNextLexicalUnit(); if (next == null) { throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } - aDistance_ = getNumberPercentagePart(next); + getNumberPercentagePart(next, this::setA); next = next.getNextLexicalUnit(); if (next == null) { throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } - bDistance_ = getNumberPercentagePart(next); + getNumberPercentagePart(next, this::setB); next = next.getNextLexicalUnit(); if (next == null) { return; diff --git a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java index 0df625f..b21f9b0 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java @@ -55,7 +55,7 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); } - red_ = getPart(next); + getNumberPercentagePart(next, this::setRed); next = next.getNextLexicalUnit(); if (next == null) { @@ -78,7 +78,7 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' has to use blank as separator if none is used."); } - green_ = getPart(next); + getNumberPercentagePart(next, this::setGreen); next = next.getNextLexicalUnit(); if (next == null) { @@ -99,7 +99,7 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' has to use blank as separator if none is used."); } - blue_ = getPart(next); + getNumberPercentagePart(next, this::setBlue); next = next.getNextLexicalUnit(); if (next == null) { @@ -130,7 +130,7 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep return; } - green_ = getPart(next); + getNumberPercentagePart(next, this::setGreen); next = next.getNextLexicalUnit(); if (next == null) { throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); @@ -140,7 +140,7 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep "'" + function_ + "' requires consitent separators (blank or comma)."); } - blue_ = getPart(next); + getNumberPercentagePart(next, this::setBlue); next = next.getNextLexicalUnit(); if (next == null) { return; @@ -163,17 +163,6 @@ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMExcep } } - private static CSSValueImpl getPart(final LexicalUnit next) { - if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() - || LexicalUnitType.INTEGER == next.getLexicalUnitType() - || LexicalUnitType.REAL == next.getLexicalUnitType() - || LexicalUnitType.NONE == next.getLexicalUnitType()) { - return new CSSValueImpl(next, true); - } - - throw new DOMException(DOMException.SYNTAX_ERR, "Color part has to be numeric or percentage."); - } - /** *

getRed.

* From 1f14d7d4ccae724f9bee025d6a56a63f800d1556 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 24 Dec 2024 15:37:14 +0100 Subject: [PATCH 063/137] add jenkins real world test --- .../cssparser/parser/CSS3ParserTest.java | 30 +- .../resources/realworld/jenkins_10078.css | 8088 +++++++++++++++++ 2 files changed, 8116 insertions(+), 2 deletions(-) create mode 100644 src/test/resources/realworld/jenkins_10078.css diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index fd67dde..1b76689 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -4744,7 +4744,7 @@ public void realWorldSpiegel() throws Exception { * @throws Exception if any error occurs */ @Test - public void realStackoverflow() throws Exception { + public void realWorldStackoverflow() throws Exception { final String media = "not all;" + "only screen and (min--moz-device-pixel-ratio: 1.5);" + "print;screen and (max-height: 740px);" @@ -4758,7 +4758,7 @@ public void realStackoverflow() throws Exception { * @throws Exception if any error occurs */ @Test - public void realMui() throws Exception { + public void realWorldMui() throws Exception { final String media = "(-ms-high-contrast: active);" + "(max-width: 543px);" + "(min-width: 1200px);" @@ -4774,6 +4774,32 @@ public void realMui() throws Exception { realWorld("realworld/mui.css", 342, 752, media, 0, 0); } + /** + * Test case for https://github.com/jenkinsci/jenkins/pull/10078. + * @throws Exception if any error occurs + */ + @Test + public void realWorldJenkins10078() throws Exception { + final String media = "(hover: hover);" + + "(hover: hover) and (hover: hover);" + + "(hover: none);(max-width: 1200px);" + + "(max-width: 767px);(max-width: 900px);" + + "(min-width: 1170px);(min-width: 1200px);" + + "(min-width: 767px);" + + "(min-width: 768px) and (max-width: 991px);" + + "(min-width: 900px);" + + "(min-width: 992px) and (max-width: 1199px);" + + "(prefers-contrast: more);" + + "(prefers-reduced-motion);" + + "print;" + + "screen and (max-width: 1200px);" + + "screen and (max-width: 900px);" + + "screen and (min-width: 1300px);" + + "screen and (min-width: 1800px);" + + "screen and (min-width: 800px);"; + realWorld("realworld/jenkins_10078.css", 1423, 4016, media, 16, 0); + } + private void realWorld(final String resourceName, final int rules, final int properties, final String media, final int err, final int warn) throws Exception { diff --git a/src/test/resources/realworld/jenkins_10078.css b/src/test/resources/realworld/jenkins_10078.css new file mode 100644 index 0000000..d108d5b --- /dev/null +++ b/src/test/resources/realworld/jenkins_10078.css @@ -0,0 +1,8088 @@ +.app-theme-picker__picker[data-theme="none"], +:root { + --font-family-sans: system-ui, "Segoe UI", roboto, "Noto Sans", oxygen, ubuntu, + cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", arial, sans-serif, + "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + --font-family-mono: ui-monospace, sfmono-regular, sf mono, jetbrainsmono, + consolas, monospace; + --font-size-base: 1rem; + --font-size-sm: 0.875rem; + --font-size-xs: 0.75rem; + --font-size-monospace: 1em; + --line-height-base: 1.5; + --line-height-heading: 1.2; + --very-light-grey: #f8f8f8; + --light-grey: #f4f4f8; + --medium-grey: #9ba7af; + --dark-grey: #4d545d; + --secondary: oklch(from var(--black) 60% c h); + --focus-input-border: var(--accent-color); + --focus-input-glow: color-mix(in sRGB, var(--accent-color) 15%, transparent); + --focus-btn-primary: rgba(11, 106, 162, 0.5); + --focus-btn-secondary: rgba(11, 106, 162, 0.5); + --focus-btn-danger: rgba(204, 0, 3, 0.5); + --primary-hover: #0587d4; + --primary-active: #095683; + --danger-hover: #eb383b; + --danger-active: #b50003; + --weather-icon-color: var(--accent-color); + --unstable-build-icon-color: var(--orange); + --background: var(--white); + --brand-link-color: var(--secondary); + --header-link-color: var(--white); + --header-link-color-active: #f5f5f5; + --header-search-border: var(--white); + --search-input-color: var(--brand-link-color); + --search-bg: var(--white); + --search-box-completion-bg: var(--primary-hover); + --search-box-shadow: 0 1px 7px 0 rgba(0, 0, 0, 0.3); + --header-bg-classic: var(--black); + --header-link-bg-classic-hover: #404040; + --header-link-bg-classic-active: #404040; + --header-item-border-radius: 4px; + --breadcrumbs-bar-background: oklch(from var(--text-color) 96.8% 0.005 h/0.8); + --alert-success-text-color: var(--success-color); + --alert-success-bg-color: color-mix( + in sRGB, + var(--success-color) 10%, + transparent + ); + --alert-success-border-color: color-mix( + in sRGB, + var(--success-color) 5%, + transparent + ); + --alert-info-text-color: var(--blue); + --alert-info-bg-color: color-mix(in sRGB, var(--blue) 10%, transparent); + --alert-info-border-color: color-mix(in sRGB, var(--blue) 5%, transparent); + --alert-warning-text-color: color-mix( + in sRGB, + var(--warning-color) 80%, + var(--text-color) + ); + --alert-warning-bg-color: color-mix( + in sRGB, + var(--warning-color) 10%, + transparent + ); + --alert-warning-border-color: color-mix( + in sRGB, + var(--warning-color) 5%, + transparent + ); + --alert-danger-text-color: var(--error-color); + --alert-danger-bg-color: color-mix( + in sRGB, + var(--error-color) 10%, + transparent + ); + --alert-danger-border-color: color-mix( + in sRGB, + var(--error-color) 5%, + transparent + ); + --text-color-secondary: var(--secondary); + --btn-font-weight: bold; + --btn-text-color: var(--white); + --btn-font-size: var(--font-size-xs); + --btn-line-height: 1rem; + --btn-large-font-size: var(--font-size-sm); + --btn-large-line-height: 1.25rem; + --button-color--primary: var(--background); + --btn-primary-bg: #063f61; + --btn-primary-bg-hover: #085685; + --btn-primary-bg-active: #0a649b; + --btn-secondary-color: var(--secondary); + --btn-secondary-bg: var(--btn-text-color); + --btn-secondary-border: var(--medium-grey); + --btn-secondary-color--hover: var(--accent-color); + --btn-secondary-bg--hover: var(--btn-secondary-bg); + --btn-secondary-border--hover: var(--accent-color); + --btn-secondary-color--focus: var(--accent-color); + --btn-secondary-bg--focus: var(--btn-secondary-bg); + --btn-secondary-border--focus: var(--accent-color); + --btn-secondary-color--active: var(--primary-active); + --btn-secondary-bg--active: var(--btn-secondary-bg); + --btn-secondary-border--active: var(--primary-active); + --btn-link-color: var(--accent-color); + --btn-link-font-weight: var(--link-font-weight); + --btn-link-color--hover: var(--primary-hover); + --btn-link-bg--hover: var(--very-light-grey); + --btn-link-color--active: var(--primary-active); + --btn-link-bg--active: var(--light-grey); + --table-background: oklch(from var(--text-color-secondary) l c h/0.1); + --table-header-foreground: var(--text-color); + --table-body-background: var(--background); + --table-body-foreground: var(--text-color); + --table-border-radius: 0.75rem; + --table-row-border-radius: 0.3125rem; + --even-row-color: var(--very-light-grey); + --bigtable-border-width: var(--pane-border-width); + --bigtable-header-bg: var(--dark-grey); + --bigtable-header-font-weight: bold; + --bigtable-header-text-color: var(--white); + --bigtable-row-border-color: var(--medium-grey); + --bigtable-cell-padding-x: 0.75rem; + --bigtable-cell-padding-y: 0.5rem; + --table-parameters-bg--hover: var(--light-grey); + --table-striped-bg--hover: var(--light-grey); + --link-color: var(--accent-color); + --link-visited-color: var(--link-color); + --link-color--hover: var(--link-color); + --link-color--active: var(--link-color); + --link-text-decoration: none; + --link-text-decoration--hover: underline; + --link-text-decoration--active: underline; + --link-font-weight: 450; + --command-palette-results-backdrop-filter: contrast(0.7) brightness(1.5) + saturate(1.4) blur(20px); + --command-palette-inset-shadow: inset 0 0 2px 2px hsla(0, 0%, 100%, 0.1); + --tooltip-backdrop-filter: saturate(2) blur(20px); + --tooltip-color: var(--text-color); + --tooltip-box-shadow: 0 0 8px 2px rgba(0, 0, 30, 0.05), + 0 0 1px 1px rgba(0, 0, 20, 0.025), 0 10px 20px rgba(0, 0, 20, 0.15); + --dropdown-backdrop-filter: saturate(1.5) blur(20px); + --dropdown-box-shadow: 0 10px 30px rgba(0, 0, 20, 0.2), + 0 2px 10px rgba(0, 0, 20, 0.05), inset 0 -1px 2px hsla(0, 0%, 100%, 0.025); + --dialog-box-shadow: 0 10px 40px rgba(0, 0, 20, 0.15), + 0 2px 15px rgba(0, 0, 20, 0.05), inset 0 0 2px 2px hsla(0, 0%, 100%, 0.025); + --link-dark-color: var(--text-color); + --link-dark-visited-color: var(--link-dark-color); + --link-dark-color--hover: var(--primary-hover); + --link-dark-color--active: var(--primary-active); + --link-dark-text-decoration: none; + --link-dark-text-decoration--hover: underline; + --link-dark-text-decoration--active: underline; + --link-dark-font-weight: 500; + --pane-border-width: 1px; + --pane-header-text-color: var(--text-color); + --pane-header-bg: var(--light-grey); + --pane-header-border-color: var(--light-grey); + --pane-header-font-weight: bold; + --pane-border-color: var(--light-grey); + --pane-text-color: var(--text-color); + --pane-link-color: #000; + --pane-link-color--visited: #000; + --card-background: var(--background); + --card-background--hover: transparent; + --card-background--active: transparent; + --card-border-color: oklch(from var(--text-color-secondary) l c h/0.15); + --card-border-color--hover: oklch(from var(--text-color-secondary) l c h/0.3); + --card-border-color--active: oklch( + from var(--text-color-secondary) l c h/0.5 + ); + --card-border-width: 2px; + --tabs-background: oklch(from var(--text-color-secondary) l c h/0.1); + --tabs-item-background: transparent; + --tabs-item-foreground: var(--text-color); + --tabs-item-background--hover: rgba(0, 0, 0, 0.05); + --tabs-item-foreground--hover: var(--text-color); + --tabs-item-background--active: rgba(0, 0, 0, 0.1); + --tabs-item-foreground--active: var(--text-color); + --tabs-item-background--selected: #fff; + --tabs-item-foreground--selected: var(--link-color); + --tabs-border-radius: 22px; + --tab-baseline-width: 2px; + --tab-baseline-color: var(--light-grey); + --tab-baseline-default-display: none; + --side-panel-width: 340px; + --panel-header-bg-color: var(--light-grey); + --panel-border-color: var(--light-grey); + --side-panel-hover-color: var(--panel-border-color); + --task-link-bg-color--active: var(--panel-border-color); + --task-link-bg-color--hover: var(--very-light-grey); + --section-padding: 1.625rem; + --input-color: color-mix( + in sRGB, + var(--text-color-secondary) 1.5%, + var(--background) + ); + --input-border: color-mix( + in sRGB, + var(--text-color-secondary) 25%, + transparent + ); + --input-border-hover: color-mix( + in sRGB, + var(--text-color-secondary) 50%, + transparent + ); + --input-hidden-password-bg-color: #f9f9f9; + --form-item-max-width: min(65vw, 1600px); + --form-item-max-width--medium: min(50vw, 1400px); + --form-item-max-width--small: min(35vw, 1200px); + --form-label-font-weight: 450; + --form-input-padding: 0.625rem; + --form-input-border-radius: 0.625rem; + --form-input-glow: 0 0 0 10px transparent; + --form-input-glow--focus: 0 0 0 5px var(--focus-input-glow); + --pre-background: rgba(0, 0, 0, 0.05); + --pre-color: var(--text-color); + --selection-color: oklch(from var(--accent-color) l c h/0.2); + --standard-transition: 0.3s ease; + --elastic-transition: 0.3s cubic-bezier(0, 0.68, 0.5, 1.5); + --menu-text-color: #000; + --menu-bg-color: var(--white); + --menu-selected-color: #b3d4ff; + --menu-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3); + --light-bg-color: #eee; + --light-bg-color--hover: hsla(0, 0%, 100%, 0.65); + --add-item-btn-decorator-border-color: #acb; + --add-item-btn-decorator-bg-color: hsla(84, 45%, 96%, 0.75); + --plugin-manager-bg-color-already-upgraded: var(--light-grey); + --auto-complete-bg-color--prehighlight: #b3d4ff; + --button-background: oklch(from var(--text-color-secondary) l c h/0.075); + --button-background--hover: oklch( + from var(--text-color-secondary) l c h/0.125 + ); + --button-background--active: oklch( + from var(--text-color-secondary) l c h/0.175 + ); + --button-box-shadow--focus: oklch(from var(--text-color-secondary) l c h/0.1); + --item-background--hover: oklch(from var(--text-color-secondary) l c h/0.1); + --item-background--active: oklch(from var(--text-color-secondary) l c h/0.15); + --item-box-shadow--focus: oklch(from var(--text-color-secondary) l c h/0.1); + --primary: var(--accent-color); + --success: var(--green); + --danger: var(--red); + --warning: var(--orange); + --blue: oklch(55% 0.2308 256.91deg); + --light-blue: oklch(75% 0.2308 256.91deg); + --dark-blue: oklch(35% 0.2308 256.91deg); + --brown: oklch(60% 0.0941 72.67deg); + --light-brown: oklch(80% 0.0941 72.67deg); + --dark-brown: oklch(40% 0.0941 72.67deg); + --cyan: oklch(60% 0.1497 234.48deg); + --light-cyan: oklch(80% 0.1497 234.48deg); + --dark-cyan: oklch(40% 0.1497 234.48deg); + --green: oklch(70% 0.2155 150deg); + --light-green: oklch(90% 0.2155 150deg); + --dark-green: oklch(50% 0.2155 150deg); + --indigo: oklch(60% 0.191 278.34deg); + --light-indigo: oklch(80% 0.191 278.34deg); + --dark-indigo: oklch(40% 0.191 278.34deg); + --orange: oklch(70% 0.2001 50.74deg); + --light-orange: oklch(90% 0.2001 50.74deg); + --dark-orange: oklch(50% 0.2001 50.74deg); + --pink: oklch(60% 0.2601 12.28deg); + --light-pink: oklch(80% 0.2601 12.28deg); + --dark-pink: oklch(40% 0.2601 12.28deg); + --purple: oklch(60% 0.2308 314.6deg); + --light-purple: oklch(80% 0.2308 314.6deg); + --dark-purple: oklch(40% 0.2308 314.6deg); + --red: oklch(60% 0.2671 30deg); + --light-red: oklch(80% 0.2671 30deg); + --dark-red: oklch(40% 0.2671 30deg); + --yellow: oklch(80% 0.17 76deg); + --light-yellow: oklch(100% 0.17 76deg); + --dark-yellow: oklch(60% 0.17 76deg); + --teal: oklch(60% 0.1122 216.72deg); + --light-teal: oklch(80% 0.1122 216.72deg); + --dark-teal: oklch(40% 0.1122 216.72deg); + --white: #fff; + --black: oklch(from var(--accent-color) 2% 0.075 h); + --accent-color: var(--blue); + --text-color: var(--black); + --error-color: var(--red); + --warning-color: var(--orange); + --success-color: var(--green); + --destructive-color: var(--red); + --build-color: var(--green); + --danger-color: var(--red); + --info-color: var(--blue); +} +.app-theme-picker__picker[data-theme="none"] ::backdrop, +:root ::backdrop { + --command-palette-backdrop-background: radial-gradient( + farthest-corner at 50% 30vh, + rgba(0, 0, 0, 0.3), + rgba(0, 0, 0, 0.1) + ); +} +.app-theme-picker__picker[data-theme="none"] ::backdrop, +:root ::backdrop { + --dialog-backdrop-background: rgba(46, 46, 56, 0.8); +} +@media screen and (max-width: 900px) { + .app-theme-picker__picker[data-theme="none"], + :root { + --section-padding: 1.25rem; + --form-item-max-width: 100%; + --form-item-max-width--medium: 100%; + --form-item-max-width--small: 100%; + } +} +.jenkins-\!-color-light-blue { + --color: var(--light-blue); + color: var(--light-blue) !important; +} +.jenkins-\!-color-blue { + --color: var(--blue); + color: var(--blue) !important; +} +.jenkins-\!-color-dark-blue { + --color: var(--dark-blue); + color: var(--dark-blue) !important; +} +.jenkins-\!-color-light-brown { + --color: var(--light-brown); + color: var(--light-brown) !important; +} +.jenkins-\!-color-brown { + --color: var(--brown); + color: var(--brown) !important; +} +.jenkins-\!-color-dark-brown { + --color: var(--dark-brown); + color: var(--dark-brown) !important; +} +.jenkins-\!-color-light-cyan { + --color: var(--light-cyan); + color: var(--light-cyan) !important; +} +.jenkins-\!-color-cyan { + --color: var(--cyan); + color: var(--cyan) !important; +} +.jenkins-\!-color-dark-cyan { + --color: var(--dark-cyan); + color: var(--dark-cyan) !important; +} +.jenkins-\!-color-light-green { + --color: var(--light-green); + color: var(--light-green) !important; +} +.jenkins-\!-color-green { + --color: var(--green); + color: var(--green) !important; +} +.jenkins-\!-color-dark-green { + --color: var(--dark-green); + color: var(--dark-green) !important; +} +.jenkins-\!-color-light-indigo { + --color: var(--light-indigo); + color: var(--light-indigo) !important; +} +.jenkins-\!-color-indigo { + --color: var(--indigo); + color: var(--indigo) !important; +} +.jenkins-\!-color-dark-indigo { + --color: var(--dark-indigo); + color: var(--dark-indigo) !important; +} +.jenkins-\!-color-light-orange { + --color: var(--light-orange); + color: var(--light-orange) !important; +} +.jenkins-\!-color-orange { + --color: var(--orange); + color: var(--orange) !important; +} +.jenkins-\!-color-dark-orange { + --color: var(--dark-orange); + color: var(--dark-orange) !important; +} +.jenkins-\!-color-light-pink { + --color: var(--light-pink); + color: var(--light-pink) !important; +} +.jenkins-\!-color-pink { + --color: var(--pink); + color: var(--pink) !important; +} +.jenkins-\!-color-dark-pink { + --color: var(--dark-pink); + color: var(--dark-pink) !important; +} +.jenkins-\!-color-light-purple { + --color: var(--light-purple); + color: var(--light-purple) !important; +} +.jenkins-\!-color-purple { + --color: var(--purple); + color: var(--purple) !important; +} +.jenkins-\!-color-dark-purple { + --color: var(--dark-purple); + color: var(--dark-purple) !important; +} +.jenkins-\!-color-light-red { + --color: var(--light-red); + color: var(--light-red) !important; +} +.jenkins-\!-color-red { + --color: var(--red); + color: var(--red) !important; +} +.jenkins-\!-color-dark-red { + --color: var(--dark-red); + color: var(--dark-red) !important; +} +.jenkins-\!-color-light-yellow { + --color: var(--light-yellow); + color: var(--light-yellow) !important; +} +.jenkins-\!-color-yellow { + --color: var(--yellow); + color: var(--yellow) !important; +} +.jenkins-\!-color-dark-yellow { + --color: var(--dark-yellow); + color: var(--dark-yellow) !important; +} +.jenkins-\!-color-light-teal { + --color: var(--light-teal); + color: var(--light-teal) !important; +} +.jenkins-\!-color-teal { + --color: var(--teal); + color: var(--teal) !important; +} +.jenkins-\!-color-dark-teal { + --color: var(--dark-teal); + color: var(--dark-teal) !important; +} +.jenkins-\!-color-light-white { + --color: var(--light-white); + color: var(--light-white) !important; +} +.jenkins-\!-color-white { + --color: var(--white); + color: var(--white) !important; +} +.jenkins-\!-color-dark-white { + --color: var(--dark-white); + color: var(--dark-white) !important; +} +.jenkins-\!-color-light-black { + --color: var(--light-black); + color: var(--light-black) !important; +} +.jenkins-\!-color-black { + --color: var(--black); + color: var(--black) !important; +} +.jenkins-\!-color-dark-black { + --color: var(--dark-black); + color: var(--dark-black) !important; +} +.jenkins-\!-accent-color { + --color: var(--blue); + color: var(--blue) !important; +} +.jenkins-\!-text-color { + --color: var(--black); + color: var(--black) !important; +} +.jenkins-\!-error-color { + --color: var(--red); + color: var(--red) !important; +} +.jenkins-\!-warning-color { + --color: var(--orange); + color: var(--orange) !important; +} +.jenkins-\!-success-color { + --color: var(--green); + color: var(--green) !important; +} +.jenkins-\!-destructive-color { + --color: var(--red); + color: var(--red) !important; +} +.jenkins-\!-build-color { + --color: var(--green); + color: var(--green) !important; +} +.jenkins-\!-danger-color { + --color: var(--red); + color: var(--red) !important; +} +.jenkins-\!-info-color { + --color: var(--blue); + color: var(--blue) !important; +} +.greyed { + color: #999; +} +.redbold { + color: var(--red); + font-weight: 700; +} +.greenbold { + color: var(--green); + font-weight: 700; +} +html { + box-sizing: border-box; + height: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + color: var(--text-color); +} +body { + background-color: var(--background); + display: flex; + flex-direction: column; + margin: 0; + min-height: 100vh; +} +*, +:after, +:before { + box-sizing: inherit; +} +::-moz-selection { + background: var(--selection-color); +} +::selection { + background: var(--selection-color); +} +.jenkins-\!-display-contents { + display: contents; +} +#page-header .logo { + align-items: center; + display: inline-flex; + height: 100%; + margin-left: 1.2rem; + position: relative; + width: 100%; +} +#jenkins-home-link { + position: relative; +} +#jenkins-head-icon { + height: 2.5rem; +} +#jenkins-name-icon { + margin-left: 0.25rem; +} +.app-page-body { + align-items: stretch; + display: flex; + flex: 1 0 auto; + justify-content: flex-start; +} +@media (min-width: 900px) { + .app-page-body__sidebar--sticky { + align-self: flex-start; + position: sticky; + top: 44px; + } +} +#page-body.clear:after { + clear: both; + content: ""; + display: table; +} +#side-panel { + flex-shrink: 0; +} +#main-panel { + display: inline-block; + padding: var(--section-padding); + width: 100%; +} +.app-page-body--one-column { + --form-item-max-width: calc(85vw - 4rem); + margin: auto; + max-width: 85vw; +} +@media screen and (max-width: 1200px) { + .app-page-body--one-column { + --form-item-max-width: 100%; + } +} +.app-page-body--one-column #main-panel { + width: 100vw; +} +.app-page-body--one-column .jenkins-section { + max-width: unset; +} +@media (max-width: 1200px) { + .app-page-body--one-column { + max-width: unset; + } +} +body.two-column #main-panel { + display: block; + flex: 1; + width: calc(100% - var(--side-panel-width)); +} +body.full-screen, +body.full-screen #main-panel { + padding: 0; +} +body.two-column #side-panel { + width: var(--side-panel-width); +} +@media (max-width: 900px) { + body.two-column #page-body { + flex-wrap: wrap; + } + body.two-column #side-panel { + border-right: none; + width: 100%; + } + body.two-column #main-panel { + margin-left: 0; + width: 100%; + } +} +.app-project-status-table { + overflow-x: auto; + width: 100%; +} +@media (min-width: 1170px) { + body.two-column #main-panel { + width: calc(100% - var(--side-panel-width) - var(--section-padding) * 2); + } +} +.btn-group-vertical > .btn-group:after, +.btn-group-vertical > .btn-group:before, +.btn-toolbar:after, +.btn-toolbar:before, +.clearfix:after, +.clearfix:before, +.container-fluid:after, +.container-fluid:before, +.container:after, +.container:before, +.form-horizontal .form-group:after, +.form-horizontal .form-group:before, +.modal-footer:after, +.modal-footer:before, +.nav:after, +.nav:before, +.navbar-collapse:after, +.navbar-collapse:before, +.navbar-header:after, +.navbar-header:before, +.navbar:after, +.navbar:before, +.pager:after, +.pager:before, +.panel-body:after, +.panel-body:before, +.row:after, +.row:before { + content: " "; + display: table; +} +.btn-group-vertical > .btn-group:after, +.btn-toolbar:after, +.clearfix:after, +.container-fluid:after, +.container:after, +.form-horizontal .form-group:after, +.modal-footer:after, +.nav:after, +.navbar-collapse:after, +.navbar-header:after, +.navbar:after, +.pager:after, +.panel-body:after, +.row:after { + clear: both; +} +.jenkins-\!-margin-0 { + margin: 0 !important; +} +.jenkins-\!-margin-top-0 { + margin-top: 0 !important; +} +.jenkins-\!-margin-left-0 { + margin-left: 0 !important; +} +.jenkins-\!-margin-bottom-0 { + margin-bottom: 0 !important; +} +.jenkins-\!-margin-right-0 { + margin-right: 0 !important; +} +.jenkins-\!-margin-1 { + margin: 0.4rem !important; +} +.jenkins-\!-margin-top-1 { + margin-top: 0.4rem !important; +} +.jenkins-\!-margin-left-1 { + margin-left: 0.4rem !important; +} +.jenkins-\!-margin-bottom-1 { + margin-bottom: 0.4rem !important; +} +.jenkins-\!-margin-right-1 { + margin-right: 0.4rem !important; +} +.jenkins-\!-margin-2 { + margin: 0.8rem !important; +} +.jenkins-\!-margin-top-2 { + margin-top: 0.8rem !important; +} +.jenkins-\!-margin-left-2 { + margin-left: 0.8rem !important; +} +.jenkins-\!-margin-bottom-2 { + margin-bottom: 0.8rem !important; +} +.jenkins-\!-margin-right-2 { + margin-right: 0.8rem !important; +} +.jenkins-\!-margin-3 { + margin: 1.2rem !important; +} +.jenkins-\!-margin-top-3 { + margin-top: 1.2rem !important; +} +.jenkins-\!-margin-left-3 { + margin-left: 1.2rem !important; +} +.jenkins-\!-margin-bottom-3 { + margin-bottom: 1.2rem !important; +} +.jenkins-\!-margin-right-3 { + margin-right: 1.2rem !important; +} +.jenkins-\!-margin-4 { + margin: 1.6rem !important; +} +.jenkins-\!-margin-top-4 { + margin-top: 1.6rem !important; +} +.jenkins-\!-margin-left-4 { + margin-left: 1.6rem !important; +} +.jenkins-\!-margin-bottom-4 { + margin-bottom: 1.6rem !important; +} +.jenkins-\!-margin-right-4 { + margin-right: 1.6rem !important; +} +.jenkins-\!-margin-5 { + margin: 2rem !important; +} +.jenkins-\!-margin-top-5 { + margin-top: 2rem !important; +} +.jenkins-\!-margin-left-5 { + margin-left: 2rem !important; +} +.jenkins-\!-margin-bottom-5 { + margin-bottom: 2rem !important; +} +.jenkins-\!-margin-right-5 { + margin-right: 2rem !important; +} +.jenkins-\!-margin-6 { + margin: 2.4rem !important; +} +.jenkins-\!-margin-top-6 { + margin-top: 2.4rem !important; +} +.jenkins-\!-margin-left-6 { + margin-left: 2.4rem !important; +} +.jenkins-\!-margin-bottom-6 { + margin-bottom: 2.4rem !important; +} +.jenkins-\!-margin-right-6 { + margin-right: 2.4rem !important; +} +.jenkins-\!-margin-auto { + margin: 0 auto; +} +.jenkins-\!-padding-0 { + padding: 0 !important; +} +.jenkins-\!-padding-top-0 { + padding-top: 0 !important; +} +.jenkins-\!-padding-left-0 { + padding-left: 0 !important; +} +.jenkins-\!-padding-bottom-0 { + padding-bottom: 0 !important; +} +.jenkins-\!-padding-right-0 { + padding-right: 0 !important; +} +.jenkins-\!-padding-1 { + padding: 0.4rem !important; +} +.jenkins-\!-padding-top-1 { + padding-top: 0.4rem !important; +} +.jenkins-\!-padding-left-1 { + padding-left: 0.4rem !important; +} +.jenkins-\!-padding-bottom-1 { + padding-bottom: 0.4rem !important; +} +.jenkins-\!-padding-right-1 { + padding-right: 0.4rem !important; +} +.jenkins-\!-padding-2 { + padding: 0.8rem !important; +} +.jenkins-\!-padding-top-2 { + padding-top: 0.8rem !important; +} +.jenkins-\!-padding-left-2 { + padding-left: 0.8rem !important; +} +.jenkins-\!-padding-bottom-2 { + padding-bottom: 0.8rem !important; +} +.jenkins-\!-padding-right-2 { + padding-right: 0.8rem !important; +} +.jenkins-\!-padding-3 { + padding: 1.2rem !important; +} +.jenkins-\!-padding-top-3 { + padding-top: 1.2rem !important; +} +.jenkins-\!-padding-left-3 { + padding-left: 1.2rem !important; +} +.jenkins-\!-padding-bottom-3 { + padding-bottom: 1.2rem !important; +} +.jenkins-\!-padding-right-3 { + padding-right: 1.2rem !important; +} +.jenkins-\!-padding-4 { + padding: 1.6rem !important; +} +.jenkins-\!-padding-top-4 { + padding-top: 1.6rem !important; +} +.jenkins-\!-padding-left-4 { + padding-left: 1.6rem !important; +} +.jenkins-\!-padding-bottom-4 { + padding-bottom: 1.6rem !important; +} +.jenkins-\!-padding-right-4 { + padding-right: 1.6rem !important; +} +.jenkins-\!-padding-5 { + padding: 2rem !important; +} +.jenkins-\!-padding-top-5 { + padding-top: 2rem !important; +} +.jenkins-\!-padding-left-5 { + padding-left: 2rem !important; +} +.jenkins-\!-padding-bottom-5 { + padding-bottom: 2rem !important; +} +.jenkins-\!-padding-right-5 { + padding-right: 2rem !important; +} +.jenkins-\!-padding-6 { + padding: 2.4rem !important; +} +.jenkins-\!-padding-top-6 { + padding-top: 2.4rem !important; +} +.jenkins-\!-padding-left-6 { + padding-left: 2.4rem !important; +} +.jenkins-\!-padding-bottom-6 { + padding-bottom: 2.4rem !important; +} +.jenkins-\!-padding-right-6 { + padding-right: 2.4rem !important; +} +form { + margin: 0; +} +td { + vertical-align: top; +} +dt { + font-weight: 700; +} +.fixed-width { + font-family: monospace; +} +.center { + text-align: center; +} +.middle-align td, +td.middle-align { + vertical-align: middle; +} +.center-align td, +td.center-align { + text-align: center; +} +.no-wrap td, +td.no-wrap { + white-space: nowrap; +} +#main-table { + border-collapse: collapse; + padding: 0; +} +#safe-restart-msg { + background-color: var(--warning); +} +#safe-restart-msg, +#shutdown-msg { + border-radius: var(--form-input-border-radius); + color: #fff; + font-weight: 700; + margin-bottom: var(--section-padding); + padding: 0.5em; + text-align: center; +} +#shutdown-msg { + background-color: #ef2929; +} +a.lowkey:link { + color: inherit; + text-decoration: none; +} +a.lowkey:hover { + color: inherit; + text-decoration: underline; +} +a.lowkey:visited { + color: inherit; + text-decoration: none; +} +a.tip { + position: relative; + text-decoration: underline; + z-index: 24; +} +a.tip:hover { + z-index: 25; +} +a.tip span { + display: none; +} +a.tip:hover span { + background-color: ivory; + border: 1px solid #bbb; + color: #000; + display: block; + left: 2em; + position: absolute; + text-align: left; + top: 2em; + width: 400px; +} +img { + border: 0; + vertical-align: middle; +} +div.disabled { + background-color: #000; + opacity: 0.4; +} +table.tab { + border-collapse: collapse; +} +td.tab { + background: #f0f0f0; + border: 1px solid #090; + vertical-align: middle; +} +pre { + background-color: var(--pre-background); + border-radius: 10px; + color: var(--pre-color); + font-family: var(--font-family-mono); + font-weight: 400; + line-height: 1.66; + margin: 0 0 var(--section-padding); + padding: 0.8rem 1rem; + white-space: pre-wrap; +} +pre, +pre a { + word-wrap: break-word; +} +pre.jenkins-readonly { + margin-bottom: 0 !important; +} +pre.console { + overflow: auto; +} +.form-group { + margin-bottom: 1rem; +} +.form-group:after { + clear: both; + content: " "; + display: block; + height: 0; + visibility: hidden; +} +.setting-leftspace { + width: 2em; +} +.setting-name { + font-weight: 500; + margin-bottom: 0.5rem; + white-space: nowrap; +} +.setting-help { + float: right; + margin-left: 0.5rem; + margin-right: 0.5rem; + vertical-align: middle; + width: 16px; +} +.setting-no-help { + width: 16px; +} +.setting-input { + border: 1px solid var(--input-border); + border-radius: 3px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + padding: 6px; + width: 100%; +} +.setting-description { + font-size: var(--font-size-xs); + margin-top: 0; + padding-top: 0; +} +.setting-main > input:not([type="file"]), +.setting-main > textarea, +.setting-name { + margin-top: 0; + vertical-align: middle; +} +.setting-main > .yui-button { + clear: both; + float: right; +} +.expanding-input { + align-items: center; + display: flex; +} +.expanding-input__input { + flex: 1; +} +.expanding-input__button { + flex-shrink: 1; +} +.advancedBody { + display: none; +} +.jenkins-not-applicable { + color: #a9a9a9; + font-style: italic; +} +.changeset-message { + background-color: var(--pre-background); + border-radius: 10px; + padding: 0.8rem 1rem; +} +.changeset-message pre { + background-color: transparent; + margin-bottom: 0; + padding: 0 0 0.1rem; +} +.disabledJob { + color: gray; +} +#bottom-sticker, +.bottom-sticker { + bottom: -1px; + margin-left: calc(var(--section-padding) * -1); + position: sticky; + width: calc(100% + var(--section-padding) * 2); + z-index: 998; +} +.bottom-sticker-inner { + padding: 1em var(--section-padding); + position: relative; + z-index: 0; +} +.bottom-sticker-inner:before { + background: var(--background); + content: ""; + inset: 0; + opacity: 0; + position: absolute; + z-index: -1; +} +.bottom-sticker-inner:after { + background: linear-gradient(transparent, rgba(85, 85, 102, 0.075) 110%); + content: ""; + height: 30px; + left: 0; + -webkit-mask-image: linear-gradient( + to right, + transparent, + #fff var(--section-padding), + #fff calc(100% - var(--section-padding)), + transparent + ); + mask-image: linear-gradient( + to right, + transparent, + #fff var(--section-padding), + #fff calc(100% - var(--section-padding)), + transparent + ); + max-width: 100%; + opacity: 0; + pointer-events: none; + position: absolute; + right: 0; + top: -30px; + transition: var(--standard-transition); +} +.bottom-sticker-inner--stuck .bottom-sticker-inner { + -webkit-backdrop-filter: blur(15px); + backdrop-filter: blur(15px); +} +.bottom-sticker-inner--stuck .bottom-sticker-inner:before { + opacity: 0.75 !important; +} +@supports not ( + (-webkit-backdrop-filter: blur(15px)) or (backdrop-filter: blur(15px)) +) { + .bottom-sticker-inner--stuck .bottom-sticker-inner:before { + opacity: 1 !important; + } +} +.bottom-sticker-inner--stuck .bottom-sticker-inner:after { + opacity: 1 !important; +} +.bottom-sticker-inner .yui-button { + margin-left: 0; + margin-right: 0.5rem; +} +.icon16x16 { + height: 16px; + width: 16px; +} +.icon24x24 { + height: 24px; + width: 24px; +} +.icon32x32 { + height: 32px; + width: 32px; +} +.help { + border-radius: 6px; + display: none; + margin: 1rem 0; + padding: 1rem; + position: relative; + word-break: break-word; + z-index: 0; + --section-padding: 0.8rem; +} +.help:before { + background: var(--text-color); + border-radius: inherit; + content: ""; + inset: 0; + opacity: 0.05; + position: absolute; + z-index: -1; +} +.help p:first-of-type { + margin-top: 0; +} +.help p:last-of-type { + margin-bottom: 0; +} +.help .h1:not(:first-child), +.help .h2:not(:first-child), +.help .h3:not(:first-child), +.help .h4:not(:first-child), +.help .h5:not(:first-child), +.help .h6:not(:first-child), +.help h1:not(:first-child), +.help h2:not(:first-child), +.help h3:not(:first-child), +.help h4:not(:first-child), +.help h5:not(:first-child), +.help h6:not(:first-child) { + margin-top: var(--section-padding); +} +.help .from-plugin { + color: #666; + text-align: right; +} +.icon-help, +.svg-icon.icon-help { + height: 1.25rem; + width: 1.25rem; +} +img.icon-help { + vertical-align: text-top; +} +.healthReport a { + text-decoration: none; +} +#side-panel .healthReport a { + height: 100%; +} +.healthReport div.healthReportDetails { + display: none; + margin-left: 20px; + padding: 0; + --table-border-radius: 7px; +} +.healthReport div.healthReportDetails table { + border-radius: 0; + box-sizing: content-box; + margin-bottom: 0; + padding-bottom: 2px; + width: 450px; +} +.healthReport div.healthReportDetails table * { + box-sizing: border-box; +} +.healthReport.hover div.healthReportDetails, +.healthReport:hover div.healthReportDetails { + display: block; +} +.force-wrap, +.force-wrap a { + overflow: visible !important; + white-space: normal !important; +} +.force-nowrap, +.force-nowrap a { + overflow: hidden !important; + white-space: nowrap !important; +} +.comboBoxList { + background: var(--background); + border-radius: 10px; + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15); + color: var(--text-color); + margin-left: 3px; + margin-top: 8px; + max-height: 300px; + overflow-y: scroll; + padding: 0.3rem; + z-index: 1000; +} +.comboBoxItem { + cursor: pointer; + font-weight: 500; + padding: 0.5rem 0.8rem; + position: relative; +} +.comboBoxItem:before { + background: var(--text-color); + border-radius: 10px; + content: ""; + inset: 0; + opacity: 0; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +.comboBoxItem:hover:before { + opacity: 0.1; +} +.comboBoxItem:active:before, +.comboBoxItem:focus:before { + opacity: 0.2; +} +.combobox-values { + display: none; +} +.parentPath form { + align-items: center; + display: flex; + flex-wrap: wrap; + gap: 0.5rem; +} +.parentPath form .jenkins-input { + display: inline-flex; + width: 300px; +} +.dirTree li { + list-style: none; +} +.dirTree .rootIcon { + margin-right: 1em; +} +table.fileList { + padding: 0; +} +table.fileList td:not(:first-of-type) { + color: var(--text-color-secondary); + padding: 0 1rem 0 0; +} +table.fileList td:not(:first-of-type) svg { + color: var(--link-color) !important; +} +table.fileList td.fileSize { + text-align: right; +} +.result-passed { + color: #3465a4; +} +.result-skipped { + color: #db0; +} +.result-fixed { + color: #3465a4; + font-weight: 700; +} +.result-failed { + color: #ef2929; +} +.result-regression { + color: #ef2929; + font-weight: 700; +} +.test-trend-caption { + font-size: var(--font-size-base); + font-weight: 700; + text-align: center; +} +.md5sum { + text-align: right; +} +.fingerprint-summary-header { + font-size: var(--font-size-base); + vertical-align: middle; +} +table.fingerprint-in-build td { + padding-left: 1em; + padding-right: 1em; +} +.radioBlock-container { + margin-bottom: 0.875rem; +} +.radioBlock-container:last-of-type { + margin-bottom: var(--section-padding); +} +.dropdownList-container, +.jenkins-radio__children, +.optionalBlock-container > .form-container, +.radioBlock-container > .form-container { + margin-top: calc(var(--section-padding) / 3); + padding-left: 32px; + position: relative; + transition: var(--standard-transition); +} +.dropdownList-container:after, +.jenkins-radio__children:after, +.optionalBlock-container > .form-container:after, +.radioBlock-container > .form-container:after { + background: var(--input-border); + border-radius: 2px; + bottom: 0; + content: ""; + left: 10px; + position: absolute; + top: 0; + transition: var(--standard-transition); + width: 2px; +} +.dropdownList-container:empty, +.jenkins-radio__children:empty, +.optionalBlock-container > .form-container:empty, +.radioBlock-container > .form-container:empty { + display: none; +} +.dropdownList-container { + margin-bottom: var(--section-padding); +} +.form-container--hidden { + height: 0 !important; + margin: 0 !important; + max-height: 0 !important; + opacity: 0 !important; + overflow: hidden; + visibility: hidden !important; +} +.row-set-end { + display: none; +} +textarea { + margin-bottom: 0; + resize: vertical; +} +table.progress-bar { + border: 1px solid #3465a4; + border-collapse: collapse; + clear: none; + height: 6px; + width: 100px; +} +table.progress-bar tr.unknown { + background-image: url(../images/progress-unknown.gif); +} +td.progress-bar-done { + background-color: #3465a4; +} +td.progress-bar-left { + background-color: #bababa; +} +table.progress-bar.red { + border: 1px solid #c00; +} +table.progress-bar.red tr.unknown { + background-image: url(../images/progress-unknown-red.gif); +} +table.progress-bar.red td.progress-bar-done { + background-color: #c00; +} +[data-symbol-animation] { + animation: spin 1s linear infinite; + transform-origin: 0 0; +} +@media (prefers-reduced-motion) { + [data-symbol-animation] { + animation-duration: 3s; + } +} +@keyframes spin { + 0% { + transform: rotate(0deg); + } + to { + transform: rotate(1turn); + } +} +@keyframes spin-reverse { + 0% { + transform: rotate(1turn); + } + to { + transform: rotate(0deg); + } +} +.dialog .hd { + font-size: var(--font-size-xs) !important; +} +.dialog .bd, +.dialog .ft, +.dialog .hd { + margin: 0 !important; +} +.tag0 { + font-size: 1em; +} +.tag1 { + font-size: 1.1em; +} +.tag2 { + font-size: 1.2em; +} +.tag3 { + font-size: 1.3em; +} +.tag4 { + font-size: 1.4em; +} +.tag5 { + font-size: 1.5em; +} +.tag6 { + font-size: 1.6em; +} +.tag7 { + font-size: 1.7em; +} +.tag8 { + font-size: 1.8em; +} +.tag9 { + font-size: 1.9em; +} +.logrecord-container { + border-radius: 10px; + margin-bottom: var(--section-padding); + overflow: hidden; +} +.logrecord-container pre { + border-radius: 0; + margin-bottom: 0; + padding-bottom: 0.1rem; + padding-top: 0; +} +.logrecord-container pre:first-of-type { + padding-top: 0.8rem; +} +.logrecord-container pre:last-of-type { + padding-bottom: 0.8rem; +} +.logrecord-metadata { + font-size: var(--font-size-xs); +} +.logrecord-metadata-new { + color: var(--green); +} +.logrecord-metadata-old { + color: var(--text-color-secondary); +} +table#configuration-matrix { + border: 1px solid var(--medium-grey); + border-collapse: collapse; +} +tr.matrix-row { + background-color: var(--bigtable-header-bg); + color: var(--bigtable-header-text-color); + font-weight: var(--bigtable-header-font-weight); +} +td.matrix-header { + border: 1px solid var(--medium-grey); + padding: 3px; +} +td#matrix-title { + padding: 3px; +} +td.matrix-leftcolumn { + background: var(--very-light-grey); + border: 1px solid var(--medium-grey); + font-weight: 700; + padding: 3px; +} +td.matrix-cell { + border: 1px solid var(--medium-grey); + text-align: center; +} +select.select-ajax-pending { + background-image: url(../images/spinner.gif); + background-position: 2px; + background-repeat: no-repeat; + color: transparent; + padding-bottom: 0.5em; + padding-left: 1.5em; + padding-top: 0.5em; +} +#disable-project { + margin-top: 6px; +} +.i18n { + display: none; +} +body.no-decoration #main-panel { + margin: 0 auto !important; +} +body.no-decoration #page-header, +body.no-decoration #side-panel, +body.no-decoration footer, +body.no-sticker #bottom-sticker { + display: none; +} +.icon-xs, +svg.icon-xs { + vertical-align: middle; +} +.icon-xs, +.icon-xs svg, +svg.icon-xs, +svg.icon-xs svg { + height: 12px; + width: 12px; +} +.icon-sm, +svg.icon-sm { + vertical-align: middle; +} +.icon-sm, +.icon-sm svg, +svg.icon-sm, +svg.icon-sm svg { + height: 16px; + width: 16px; +} +.icon-md, +svg.icon-md { + vertical-align: middle; +} +.icon-md, +.icon-md svg, +svg.icon-md, +svg.icon-md svg { + height: 24px; + width: 24px; +} +.icon-lg, +svg.icon-lg { + vertical-align: middle; +} +.icon-lg, +.icon-lg svg, +svg.icon-lg, +svg.icon-lg svg { + height: 32px; + width: 32px; +} +.icon-xlg, +svg.icon-xlg { + height: 48px; + vertical-align: middle; + width: 48px; +} +.icon-xlg svg, +svg.icon-xlg svg { + height: 48px; + width: 48px; +} +.svg-icon { + display: inline-block; + height: 24px; + vertical-align: middle; + width: 24px; + fill: var(--text-color); + fill: currentColor; +} +.jenkins-icon-adjacent { + margin-left: 0.5rem; + width: 100%; +} +.spacer { + height: var(--section-padding); +} +.default-hidden { + display: none; +} +.app-summary > td:first-of-type img, +.app-summary > td:first-of-type svg { + height: 48px !important; + margin-right: 1rem; + width: 48px !important; +} +body, +p { + color: var(--text-color); + font-family: var(--font-family-sans); + font-size: var(--font-size-sm); + line-height: var(--line-height-base); +} +button { + font-family: inherit; + font-size: inherit; +} +form, +input, +select, +table, +td, +textarea, +th { + font-size: var(--font-size-sm); +} +@media (max-width: 900px) { + input, + select, + textarea { + font-size: var(--font-size-base); + } +} +code, +kbd, +pre, +samp, +tt { + font-size: var(--font-size-monospace); +} +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, +h1, +h2, +h3, +h4, +h5, +h6 { + display: block; + font-weight: 600; + line-height: var(--line-height-heading); + margin-bottom: var(--section-padding); + margin-top: 0; +} +.h1, +h1 { + font-size: 1.5rem; +} +.h2, +h2 { + font-size: 1.375rem; +} +.h3, +h3 { + font-size: 1.1875rem; +} +.h4, +h4 { + font-size: 1rem; +} +.h5, +h5 { + font-size: 0.8125rem; +} +.h6, +h6 { + font-size: 0.625rem; +} +.jenkins-description { + color: var(--text-color-secondary); + line-height: 1.66; + margin-bottom: var(--section-padding); + margin-top: 0; +} +.jenkins-label--tertiary { + color: var(--text-color-secondary); + opacity: 0.7; +} +a { + font-weight: var(--link-font-weight); + -webkit-text-decoration: var(--link-text-decoration); + text-decoration: var(--link-text-decoration); + text-decoration-thickness: 2px; + text-underline-offset: 2px; +} +a:link { + color: var(--link-color); +} +a:visited { + color: var(--link-visited-color); +} +a:focus, +a:hover { + color: var(--link-color--hover); + -webkit-text-decoration: var(--link-text-decoration--hover); + text-decoration: var(--link-text-decoration--hover); +} +a:active { + color: var(--link-color--active); + -webkit-text-decoration: var(--link-text-decoration--active); + text-decoration: var(--link-text-decoration--active); +} +@media (prefers-contrast: more) { + a { + text-decoration: underline; + } + a:hover { + text-decoration-thickness: 3px; + } +} +.jenkins-link--with-icon { + align-items: center; + display: inline-flex; + justify-content: flex-start; +} +.jenkins-link--with-icon svg { + color: var(--text-color) !important; + height: 16px; + width: 16px; +} +.visible-lg, +.visible-md, +.visible-sm, +.visible-xs { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table; + } + tr.visible-xs { + display: table-row !important; + } + td.visible-xs, + th.visible-xs { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table; + } + tr.visible-sm { + display: table-row !important; + } + td.visible-sm, + th.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table; + } + tr.visible-md { + display: table-row !important; + } + td.visible-md, + th.visible-md { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table; + } + tr.visible-lg { + display: table-row !important; + } + td.visible-lg, + th.visible-lg { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table; + } + tr.visible-print { + display: table-row !important; + } + td.visible-print, + th.visible-print { + display: table-cell !important; + } + .hidden-print { + display: none !important; + } +} +.jenkins-hidden { + display: none !important; +} +.jenkins-visually-hidden { + height: 1px; + margin: 0; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; + clip: rect(0 0 0 0); + border: 0; + clip-path: inset(50%); + white-space: nowrap; +} +@media (min-width: 767px) { + .jenkins-mobile-show { + display: none !important; + } +} +@media (max-width: 767px) { + .jenkins-mobile-hide { + display: none !important; + } +} +.yui-skin-sam .yui-ac { + font-size: 100%; + position: relative; +} +.yui-skin-sam .yui-ac-container { + position: absolute; + top: 1.6em; + width: 100%; +} +.yui-skin-sam .yui-ac-content { + background: #fff; + border: 1px solid gray; + overflow: hidden; + position: absolute; + width: 100%; + z-index: 9050; +} +.yui-skin-sam .yui-ac-shadow { + background: #000; + filter: alpha(opacity=10); + margin: 0.3em; + -moz-opacity: 0.1; + opacity: 0.1; + position: absolute; + width: 100%; + z-index: 9049; +} +.yui-skin-sam .yui-ac iframe { + filter: alpha(opacity=0); + opacity: 0; + padding-bottom: 0.3em; + padding-right: 0.3em; +} +.yui-skin-sam .yui-ac-content ul { + margin: 0; + padding: 0; + width: 100%; +} +.yui-skin-sam .yui-ac-content li { + cursor: default; + list-style: none; + margin: 0; + padding: 2px 5px; + white-space: nowrap; + zoom: 1; +} +.yui-skin-sam .yui-ac-content li.yui-ac-prehighlight { + background: var(--auto-complete-bg-color--prehighlight); +} +.yui-skin-sam .yui-ac-content li.yui-ac-highlight { + background: #426fd9; + color: #fff; +} +#jenkins.yui-skin-sam .yui-menu ul { + border-color: var(--input-border); +} +#jenkins.yui-skin-sam .yuimenuitem-selected { + background-color: var(--menu-selected-color); +} +#jenkins.yui-skin-sam .yuimenuitemlabel { + align-items: center; + color: var(--menu-text-color); + display: flex; + font-weight: 400; +} +#jenkins.yui-skin-sam .yuimenuitemlabel:visited { + color: var(--menu-text-color); +} +#jenkins.yui-skin-sam .yuimenuitemlabel.yuimenuitemlabel-disabled { + color: #a6a6a6; + cursor: default; +} +#jenkins.yui-skin-sam .yuimenuitemlabel span { + display: inline-block; +} +#jenkins.yui-skin-sam .yuimenu { + z-index: 1000 !important; +} +#jenkins.yui-skin-sam .yuimenu .bd { + background-color: var(--menu-bg-color); + border-color: var(--input-border); +} +.ygtvitem .ygtvlabel, +.ygtvitem .ygtvlabel:hover, +.ygtvitem .ygtvlabel:link, +.ygtvitem .ygtvlabel:visited { + background-color: inherit; + color: inherit; +} +.ygtvfocus, +.ygtvfocus .ygtvlabel, +.ygtvfocus .ygtvlabel:hover, +.ygtvfocus .ygtvlabel:link, +.ygtvfocus .ygtvlabel:visited { + background-color: var(--panel-header-bg-color, #c0e0e0) !important; +} +div.yahooTree td { + vertical-align: middle; +} +.yui-tt { + background-color: #fff !important; + border: 1px solid #000 !important; + color: inherit !important; + font-family: inherit !important; + padding: 2px !important; +} +.yui-skin-sam .yui-tt .bd { + background-color: #fff !important; + border: none !important; +} +.yuimenu li .yui-menu-tooltip { + color: #a6a6a6; +} +.yuimenu li.yui-menuitem-tooltip { + border-bottom: 1px solid gray; + margin-bottom: 1em; + padding-bottom: 3px; +} +#jenkins .yuimenuitem { + font-size: var(--font-size-xs); + padding: 3px; +} +#jenkins .yuimenuitem img, +#jenkins .yuimenuitem svg { + height: 1.2rem !important; + margin: 0.25rem 0.5rem 0.25rem 0; + width: 1.2rem !important; +} +#jenkins .yuimenuitem, +#jenkins .yuimenuitemlabel { + cursor: pointer; +} +#jenkins .yuimenu .bd { + border: 1px solid #ccc; + box-shadow: var(--menu-box-shadow); +} +#jenkins .yui-menu-shadow { + display: none; +} +#jenkins .yui-ac-content { + background-color: var(--search-bg); + border: none; + border-radius: var(--header-item-border-radius); + box-shadow: var(--search-box-shadow); + overflow: hidden; + width: 30em; +} +#jenkins li.yui-ac-highlight { + background: var(--search-box-completion-bg); + font-weight: 700; +} +#jenkins.yui-skin-sam .yuimenuitem.yuimenuitem-hassubmenu { + align-items: center; + background-image: none; + justify-content: center; + position: relative; +} +#jenkins.yui-skin-sam .yuimenuitem.yuimenuitem-hassubmenu:after { + border-bottom: 0.35em solid transparent; + border-left: 0.35em solid #333; + border-left: 0.35em solid var(--text-color); + border-right: 0; + border-top: 0.35em solid transparent; + content: ""; + display: inline-block; + position: absolute; + right: 0.75em; + top: 50%; + transform: translateY(-50%); +} +.yui-panel, +.yui-panel .bd { + background-color: var(--background) !important; +} +.yui-menu-badge { + font-weight: 600; + margin-left: auto; + position: relative; +} +.yui-menu-badge:before { + background: var(--text-color-secondary); + border-radius: 100vmax; + content: ""; + inset: 0 -0.375rem; + opacity: 0.1; + position: absolute; +} +.jenkins-app-bar { + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: var(--section-padding); +} +.jenkins-app-bar .jenkins-app-bar__content { + display: flex; + flex-direction: column; + justify-content: center; + min-height: 2.25rem; + width: 100%; +} +.jenkins-app-bar .jenkins-app-bar__controls { + align-items: center; + display: flex; + gap: 0.75rem; + justify-content: center; + margin-left: var(--section-padding); + min-height: 2.25rem; +} +.jenkins-app-bar .jenkins-app-bar__controls .jenkins-search { + min-width: 260px; +} +.jenkins-app-bar--sticky { + margin-top: calc(var(--section-padding) * -1); + padding-top: var(--section-padding); + position: sticky; + top: 40px; + z-index: 2; +} +.jenkins-app-bar--sticky:after, +.jenkins-app-bar--sticky:before { + content: ""; + inset: 0 calc(var(--section-padding) * -1) calc(var(--section-padding) * -1); + pointer-events: none; + position: absolute; + z-index: -1; +} +.jenkins-app-bar--sticky:before { + background: var(--background); + -webkit-mask-image: linear-gradient(#000 70%, transparent); + mask-image: linear-gradient(#000 70%, transparent); + opacity: 0.55; +} +@supports not ( + (-webkit-backdrop-filter: blur(15px)) or (backdrop-filter: blur(15px)) +) { + .jenkins-app-bar--sticky:before { + opacity: 1; + } +} +.jenkins-app-bar--sticky:after { + -webkit-backdrop-filter: blur(15px); + backdrop-filter: blur(15px); + -webkit-mask-image: linear-gradient(#000 50%, transparent); + mask-image: linear-gradient(#000 50%, transparent); +} +.jenkins-app-bar h1, +.jenkins-app-bar h2 { + font-size: 1.5rem; + margin: 0; +} +.jenkins-app-bar__subtitle { + color: var(--text-color-secondary); + margin-left: 0.5ch; +} +.jenkins-build-caption { + align-items: center; + display: flex; + flex-direction: row !important; + gap: 1rem; + justify-content: start !important; + max-width: 1200px; + overflow: hidden; + text-overflow: ellipsis; +} +.jenkins-build-caption svg { + height: 2rem !important; + width: 2rem !important; +} +.alert, +.jenkins-alert { + border: 1px solid transparent; + border-radius: 10px; + font-size: var(--font-size-sm); + margin-bottom: 20px; + padding: 15px; +} +.alert strong, +.jenkins-alert strong { + font-weight: 500; +} +.alert a, +.jenkins-alert a { + color: inherit; + text-decoration: underline; +} +.alert a:active, +.alert a:focus, +.alert a:hover, +.jenkins-alert a:active, +.jenkins-alert a:focus, +.jenkins-alert a:hover { + text-decoration: underline; +} +.alert-success, +.jenkins-alert-success { + background-color: var(--alert-success-bg-color); + border-color: var(--alert-success-border-color); + color: var(--alert-success-text-color); +} +.alert-info, +.jenkins-alert-info { + background-color: var(--alert-info-bg-color); + border-color: var(--alert-info-border-color); + color: var(--alert-info-text-color); +} +.alert-warning, +.jenkins-alert-warning { + background-color: var(--alert-warning-bg-color); + border-color: var(--alert-warning-border-color); + color: var(--alert-warning-text-color); +} +.alert-warning p, +.jenkins-alert-warning p { + color: var(--alert-warning-text-color); +} +.alert-danger, +.jenkins-alert-danger { + background-color: var(--alert-danger-bg-color); + border-color: var(--alert-danger-border-color); +} +.alert-danger, +.alert-danger p, +.jenkins-alert-danger, +.jenkins-alert-danger p { + color: var(--alert-danger-text-color); +} +.jenkins-badge { + align-items: center; + background: color-mix( + in sRGB, + var(--text-color-secondary) 12.5%, + transparent + ); + border-radius: 100px; + display: inline-flex; + font-size: 0.6875rem; + font-weight: 400; + justify-content: center; + min-height: 20px; + min-width: 20px; + padding: 0 0.4rem; +} +.jenkins-badge[class*="color"] { + -webkit-backdrop-filter: blur(2.5px); + backdrop-filter: blur(2.5px); + background: color-mix(in sRGB, var(--color) 85%, transparent); + box-shadow: inset 0 -1px 2px var(--color, var(--text-color-secondary)); + color: var(--white) !important; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); +} +.jenkins-breadcrumbs { + align-items: center; + -webkit-backdrop-filter: blur(15px); + backdrop-filter: blur(15px); + background: var(--breadcrumbs-bar-background); + display: flex; + overflow-x: auto; + padding: 0.55rem 0.7rem 0.55rem 0.75rem; + position: sticky; + top: 0; + z-index: 999; +} +.jenkins-breadcrumbs__list { + display: contents; + list-style-type: none; +} +.jenkins-breadcrumbs__list > * { + flex-shrink: 0; +} +.jenkins-breadcrumbs__list-item { + font-size: 0.875rem; + font-weight: 500; + padding: 0.2rem 0.4rem; +} +.jenkins-breadcrumbs__list-item, +.jenkins-breadcrumbs__list-item > a { + align-items: center; + color: var(--text-color); + display: inline-flex; + justify-content: center; + position: relative; +} +.jenkins-breadcrumbs__list-item > a { + border-radius: 0.66rem; + font-size: inherit; + font-weight: inherit; + margin: 0; + margin-right: 0 !important; + padding: 0; + text-decoration: none !important; + text-decoration: none; + transition: var(--standard-transition); + z-index: 0; +} +.jenkins-breadcrumbs__list-item > a:after, +.jenkins-breadcrumbs__list-item > a:before { + border-radius: inherit; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +.jenkins-breadcrumbs__list-item > a:before { + background-color: transparent; +} +.jenkins-breadcrumbs__list-item > a:after { + box-shadow: 0 0 0 0.66rem transparent; +} +.jenkins-breadcrumbs__list-item > a:focus-visible { + outline: none; +} +.jenkins-breadcrumbs__list-item > a:not(:disabled):focus-visible:before, +.jenkins-breadcrumbs__list-item > a:not(:disabled):hover:before { + background-color: var(--item-background--hover); +} +.jenkins-breadcrumbs__list-item > a:not(:disabled):active { + outline: none !important; + z-index: 1; +} +.jenkins-breadcrumbs__list-item > a:not(:disabled):active:before { + background-color: var(--item-background--active); +} +.jenkins-breadcrumbs__list-item > a:not(:disabled):active:after { + box-shadow: 0 0 0 0.33rem var(--item-box-shadow--focus); +} +.jenkins-breadcrumbs__list-item > a:not(:disabled):focus-visible:after { + box-shadow: 0 0 0 0.2rem var(--text-color) !important; + opacity: 1 !important; +} +.jenkins-breadcrumbs__list-item > a:after, +.jenkins-breadcrumbs__list-item > a:before { + inset: -0.25rem -0.6rem; +} +.jenkins-breadcrumbs__list-item > a:active, +.jenkins-breadcrumbs__list-item > a:focus, +.jenkins-breadcrumbs__list-item > a:focus-visible, +.jenkins-breadcrumbs__list-item > a:hover { + color: var(--text-color); +} +@media (hover: none) { + .jenkins-breadcrumbs__list-item > .model-link { + margin-right: 30px !important; + } +} +.jenkins-breadcrumbs__list-item > .model-link--open, +.jenkins-breadcrumbs__list-item > .model-link:hover { + margin-right: 30px !important; +} +.jenkins-breadcrumbs__list .children, +.jenkins-breadcrumbs__list .separator { + height: 1rem; + margin: 0.375rem 0.2rem; + position: relative; + width: 1rem; +} +.jenkins-breadcrumbs__list .children:after, +.jenkins-breadcrumbs__list .separator:after { + background: var(--text-color-secondary); + content: ""; + inset: 0; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EChevron Forward%3C/title%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M184 112l144 144-144 144'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EChevron Forward%3C/title%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M184 112l144 144-144 144'/%3E%3C/svg%3E"); + opacity: 0.6; + position: absolute; + transition: var(--standard-transition); +} +.jenkins-breadcrumbs__list .separator:last-of-type { + display: none; +} +.jenkins-breadcrumbs__list .children { + cursor: pointer; +} +.jenkins-breadcrumbs__list .children:hover:after { + opacity: 1; + transform: rotate(90deg); +} +.jenkins-breadcrumbs__list .children:active:after { + opacity: 0.5; + transform: translateY(2px) rotate(90deg); +} +.jenkins-breadcrumbs__list .children:active:after, +.jenkins-breadcrumbs__list .children:focus-visible:after, +.jenkins-breadcrumbs__list .children:focus:after, +.jenkins-breadcrumbs__list .children:hover:after { + background: var(--text-color); +} +.jenkins-breadcrumbs__list .children:before { + background: transparent; + content: ""; + inset: -14px -5px; + position: absolute; +} +.jenkins-menu-dropdown-chevron { + background: transparent; + border: none; + cursor: pointer; + display: inline-block; + height: 14px; + outline: none; + padding: 0; + pointer-events: none; + position: absolute; + right: 0; + top: 4px; + transition: var(--standard-transition); + width: 14px; +} +.jenkins-menu-dropdown-chevron:hover:after { + opacity: 1 !important; +} +.jenkins-menu-dropdown-chevron:active:after { + opacity: 0.5 !important; + transform: translateY(2px); +} +.jenkins-menu-dropdown-chevron:before { + content: ""; + inset: -10px; + position: absolute; +} +.jenkins-menu-dropdown-chevron:after { + background: var(--text-color); + bottom: 0; + content: ""; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EChevron Down%3C/title%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M112 184l144 144 144-144'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EChevron Down%3C/title%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M112 184l144 144 144-144'/%3E%3C/svg%3E"); + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + opacity: 0; + position: absolute; + right: 0; + top: 0; + transition: var(--standard-transition); + width: 14px; +} +.model-link { + margin-right: 40px !important; + position: relative; + transition: var(--standard-transition) !important; +} +@media (hover: none) { + .model-link:after, + .model-link:before { + right: -30px !important; + } + .model-link .jenkins-menu-dropdown-chevron { + right: -22px; + } + .model-link .jenkins-menu-dropdown-chevron:after { + opacity: 1; + } +} +@media (hover: hover) { + .model-link + a.model-link { + margin-left: 0 !important; + } + .model-link + a.jenkins-table__badge { + margin-left: -1.5rem !important; + } + .model-link--open:before { + background-color: var(--item-background--hover) !important; + right: -30px !important; + } + .model-link--open + a.jenkins-table__badge, + .model-link:hover + a.jenkins-table__badge { + margin-left: -1.5rem !important; + transform: translateX(1.5rem); + } + .model-link--open:after, + .model-link--open:before, + .model-link:hover:after, + .model-link:hover:before { + right: -30px; + } + .model-link--open .jenkins-menu-dropdown-chevron, + .model-link:hover .jenkins-menu-dropdown-chevron { + pointer-events: all; + right: -22px; + } + .model-link--open .jenkins-menu-dropdown-chevron:after, + .model-link:hover .jenkins-menu-dropdown-chevron:after { + opacity: 0.5; + } +} +.model-link--float { + z-index: 0; +} +@media (hover: none) { + .model-link--float { + margin-right: 30px !important; + } + .model-link--float:after, + .model-link--float:before { + right: -30px !important; + } + .model-link--float .jenkins-menu-dropdown-chevron { + right: -10px; + } + .model-link--float .jenkins-menu-dropdown-chevron:after { + opacity: 1; + } +} +@media (hover: hover) { + .model-link--float { + margin-right: 0 !important; + } + .model-link--float:after, + .model-link--float:before { + border-radius: 6px; + content: ""; + inset: -7px -10px; + opacity: 0; + position: absolute; + transition: var(--standard-transition); + } + .model-link--float:before { + background: var(--background); + z-index: -2; + } + .model-link--float:after { + background: var(--text-color); + z-index: -1; + } + .model-link--float:hover { + z-index: 10; + } +} +@media (hover: hover) and (hover: hover) { + .model-link--float:hover:after, + .model-link--float:hover:before { + right: calc(-2ch + -14px); + } +} +@media (hover: hover) { + .model-link--float:hover:before { + opacity: 1; + } + .model-link--float:hover:after { + opacity: 0.15; + } + .model-link--float:hover .jenkins-menu-dropdown-chevron:after { + opacity: 0.5; + } +} +#breadcrumb-menu .header { + font-size: 0.875rem; + font-weight: 700; + pointer-events: none; +} +#breadcrumb-menu .separator { + color: transparent; + display: block !important; + overflow: hidden; + position: relative; + width: 100%; +} +#breadcrumb-menu .separator:after { + background: var(--text-color); + content: ""; + height: 2px; + left: -50vw; + opacity: 0.1; + position: absolute; + right: -50vw; + top: 9px; +} +.jenkins-button { + --item-background--hover: var(--button-background--hover); + --item-background--active: var(--button-background--active); + --item-box-shadow--focus: var(--button-box-shadow--focus); + align-items: center; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background: transparent; + border: none; + border-radius: 0.66rem; + color: var(--text-color) !important; + cursor: pointer; + display: inline-flex; + font-size: 0.875rem; + gap: 1ch; + justify-content: center; + margin: 0; + min-height: 2.25rem; + outline: none; + padding: 0.5rem 0.9rem; + position: relative; + text-decoration: none !important; + transition: var(--standard-transition); + white-space: nowrap; + z-index: 0; +} +.jenkins-button:after, +.jenkins-button:before { + border-radius: inherit; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +.jenkins-button:before { + background-color: transparent; +} +.jenkins-button:after { + box-shadow: 0 0 0 0.66rem transparent; +} +.jenkins-button:focus-visible { + outline: none; +} +.jenkins-button:not(:disabled):focus-visible:before, +.jenkins-button:not(:disabled):hover:before { + background-color: var(--item-background--hover); +} +.jenkins-button:not(:disabled):active { + outline: none !important; + z-index: 1; +} +.jenkins-button:not(:disabled):active:before { + background-color: var(--item-background--active); +} +.jenkins-button:not(:disabled):active:after { + box-shadow: 0 0 0 0.33rem var(--item-box-shadow--focus); +} +.jenkins-button:not(:disabled):focus-visible:after { + box-shadow: 0 0 0 0.2rem var(--text-color) !important; + opacity: 1 !important; +} +.jenkins-button:before { + background: var(--button-background); +} +.jenkins-button svg { + height: 1.125rem; + width: 1.125rem; +} +.jenkins-button:disabled { + cursor: not-allowed; + filter: saturate(0.6); + opacity: 0.5; +} +.jenkins-button--primary { + color: var(--button-color--primary) !important; +} +.jenkins-button--primary:before { + background: var(--accent-color) !important; +} +.jenkins-button--primary:after { + box-shadow: 0 0 0 0.66rem var(--accent-color); + opacity: 0; +} +.jenkins-button--primary:not(:disabled):hover:before { + opacity: 0.9; +} +.jenkins-button--primary:not(:disabled):active:before, +.jenkins-button--primary:not(:disabled):focus-visible:before { + opacity: 0.8; +} +.jenkins-button--primary:not(:disabled):active:after, +.jenkins-button--primary:not(:disabled):focus-visible:after { + box-shadow: 0 0 0 0.33rem var(--accent-color); + opacity: 0.2; +} +.jenkins-button--tertiary:before { + background: transparent; +} +.jenkins-button[class*="color"] { + background: transparent; + color: var(--color) !important; +} +.jenkins-button[class*="color"]:before { + background: currentColor !important; + opacity: 0.1; +} +.jenkins-button[class*="color"]:after { + box-shadow: 0 0 0 0.66rem currentColor; + opacity: 0; +} +.jenkins-button[class*="color"]:not(:disabled):hover:before { + opacity: 0.15; +} +.jenkins-button[class*="color"]:not(:disabled):active:before { + opacity: 0.2; +} +.jenkins-button[class*="color"]:not(:disabled):active:after { + box-shadow: 0 0 0 0.33rem currentColor; + opacity: 0.1; +} +.jenkins-button--primary[class*="color"] { + background: transparent; + color: var(--background) !important; +} +.jenkins-button--primary[class*="color"]:before { + background: var(--color) !important; + opacity: 1; +} +.jenkins-button--primary[class*="color"]:after { + box-shadow: 0 0 0 0.66rem var(--color); + opacity: 0; +} +.jenkins-button--primary[class*="color"]:not(:disabled):hover:before { + opacity: 0.9; +} +.jenkins-button--primary[class*="color"]:not(:disabled):active:before, +.jenkins-button--primary[class*="color"]:not(:disabled):focus-visible:before { + opacity: 0.8; +} +.jenkins-button--primary[class*="color"]:not(:disabled):active:after, +.jenkins-button--primary[class*="color"]:not(:disabled):focus-visible:after { + box-shadow: 0 0 0 0.33rem var(--color); + opacity: 0.3; +} +.jenkins-button--tertiary[class*="color"]:before { + opacity: 0; +} +.jenkins-buttons-row { + align-items: center; + display: flex; + gap: 1rem; +} +.jenkins-buttons-row--invert { + justify-content: flex-end; +} +.jenkins-buttons-row--equal-width, +.jenkins-buttons-row--equal-width .jenkins-button { + min-width: 5.625rem; +} +.jenkins-copy-button .jenkins-copy-button__icon { + height: 1.125rem; + position: relative; + transition: var(--standard-transition); + width: 0.9rem; +} +.jenkins-copy-button .jenkins-copy-button__icon:after, +.jenkins-copy-button .jenkins-copy-button__icon:before { + border: 0.1rem solid; + border-radius: 0.2rem; + content: ""; + height: 75%; + position: absolute; + transition: var(--standard-transition); + width: 75%; +} +.jenkins-copy-button .jenkins-copy-button__icon:before { + clip-path: polygon(100% 0, 100% 22.5%, 22.5% 22.5%, 32.5% 100%, 0 100%, 0 0); + left: 1%; + top: 4%; +} +.jenkins-copy-button .jenkins-copy-button__icon:after { + bottom: 4%; + right: 1%; +} +.jenkins-copy-button:hover .jenkins-copy-button__icon:before { + transform: translate(7%, 4.5%); +} +.jenkins-copy-button:hover .jenkins-copy-button__icon:after { + transform: translate(-7%, -4.5%); +} +.jenkins-copy-button:active .jenkins-copy-button__icon { + transform: scale(0.85); +} +.jenkins-validate-button__container__status .validation-error-area { + min-height: 36px !important; +} +.jenkins-validate-button__container .validation-error-area--visible { + margin-bottom: 0.625rem; + margin-top: 0; +} +.jenkins-validate-button__container > .jenkins-button { + float: right; +} +.advanced-button svg, +.hetero-list-add svg { + height: 0.875rem; + transition: var(--standard-transition); + width: 0.875rem; +} +.advanced-button:not([data-expanded="true"]):active svg, +.hetero-list-add:not([data-expanded="true"]):active svg { + translate: 0 0.125rem; +} +.advanced-button[data-expanded="true"] svg, +.hetero-list-add[data-expanded="true"] svg { + rotate: 180deg; +} +.jenkins-split-button { + display: flex; + gap: 1px; +} +.jenkins-split-button > :first-child { + border-bottom-right-radius: 0.2rem; + border-top-right-radius: 0.2rem; +} +.jenkins-split-button > .jenkins-button:last-of-type { + border-bottom-left-radius: 0.2rem; + border-top-left-radius: 0.2rem; + padding: 0 5px; +} +.jenkins-split-button > .jenkins-button:last-of-type svg { + height: 0.8rem; + width: 0.8rem; +} +.stop-button-link { + --item-background--hover: color-mix(in sRGB, var(--red) 20%, transparent); + --item-background--active: color-mix(in sRGB, var(--red) 25%, transparent); + --item-box-shadow--focus: transparent; + align-items: center; + border-radius: 0.66rem; + border-radius: 0.25rem; + display: inline-flex; + height: 1rem; + justify-content: center; + position: relative; + text-decoration: none !important; + width: 1rem; + z-index: 0; +} +.stop-button-link:after, +.stop-button-link:before { + border-radius: inherit; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +.stop-button-link:before { + background-color: transparent; +} +.stop-button-link:after { + box-shadow: 0 0 0 0.66rem transparent; +} +.stop-button-link:focus-visible { + outline: none; +} +.stop-button-link:not(:disabled):focus-visible:before, +.stop-button-link:not(:disabled):hover:before { + background-color: var(--item-background--hover); +} +.stop-button-link:not(:disabled):active { + outline: none !important; + z-index: 1; +} +.stop-button-link:not(:disabled):active:before { + background-color: var(--item-background--active); +} +.stop-button-link:not(:disabled):active:after { + box-shadow: 0 0 0 0.33rem var(--item-box-shadow--focus); +} +.stop-button-link:not(:disabled):focus-visible:after { + box-shadow: 0 0 0 0.2rem var(--text-color) !important; + opacity: 1 !important; +} +.stop-button-link:before { + background: color-mix(in sRGB, var(--red) 15%, transparent); +} +.stop-button-link svg { + color: var(--red); + height: 87.5%; + width: 87.5%; +} +.stop-button-link svg * { + stroke-width: 40px; +} +.button-link { + background-color: transparent; + border-color: transparent; + color: var(--accent-color); + font-weight: var(--btn-link-font-weight); +} +.button-link:focus, +.button-link:hover { + background-color: var(--btn-link-bg--hover); + border-color: var(--btn-link-bg--hover); + color: var(--btn-link-color--hover); +} +.button-link:focus { + box-shadow: none; +} +.button-link:active { + background-color: var(--btn-link-bg--active); + border-color: var(--btn-link-bg--active); + color: var(--btn-link-color--active); +} +.button-disabled { + opacity: 0.5; + pointer-events: none; +} +.yui-button { + display: inline-block; +} +.yui-button .first-child { + display: block; +} +.yui-button button, +a.yui-button:link, +a.yui-button:visited, +input[type="button"], +input[type="reset"], +input[type="submit"] { + align-items: center; + background-color: var(--btn-secondary-bg); + border: 2px solid; + border-color: var(--btn-secondary-border); + border-radius: 4px; + box-sizing: border-box; + color: var(--btn-secondary-color); + cursor: pointer; + display: inline-flex; + font-size: var(--btn-font-size); + font-weight: var(--btn-font-weight); + justify-content: center; + line-height: var(--btn-line-height); + margin-left: 0.25rem; + margin-right: 0.25rem; + min-height: 2rem; + min-width: 4.5rem; + padding: 0.375rem 1rem; + text-align: center; + text-decoration: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + vertical-align: middle; +} +.yui-button button:focus, +a.yui-button:link:focus, +a.yui-button:visited:focus, +input[type="button"]:focus, +input[type="reset"]:focus, +input[type="submit"]:focus { + background-color: var(--btn-secondary-bg--focus); + border-color: var(--btn-secondary-border--focus); + box-shadow: 0 0 0 0.2rem var(--focus-btn-secondary); + color: var(--btn-secondary-color--focus); +} +.yui-button button:hover, +a.yui-button:link:hover, +a.yui-button:visited:hover, +input[type="button"]:hover, +input[type="reset"]:hover, +input[type="submit"]:hover { + background-color: var(--btn-secondary-bg--hover); + border-color: var(--btn-secondary-border--hover); + color: var(--btn-secondary-color--hover); +} +.yui-button button:active, +a.yui-button:link:active, +a.yui-button:visited:active, +input[type="button"]:active, +input[type="reset"]:active, +input[type="submit"]:active { + background-color: var(--btn-secondary-bg--active); + border-color: var(--btn-secondary-border--active); + color: var(--btn-secondary-color--active); +} +.yui-button button:focus, +a.yui-button:link:focus, +a.yui-button:visited:focus, +input[type="button"]:focus, +input[type="reset"]:focus, +input[type="submit"]:focus { + outline: none; +} +.yui-button button > span, +a.yui-button:link > span, +a.yui-button:visited > span, +input[type="button"] > span, +input[type="reset"] > span, +input[type="submit"] > span { + display: inline-block; +} +.yui-button button .svg-icon, +.yui-button button i, +a.yui-button:link .svg-icon, +a.yui-button:link i, +a.yui-button:visited .svg-icon, +a.yui-button:visited i, +input[type="button"] .svg-icon, +input[type="button"] i, +input[type="reset"] .svg-icon, +input[type="reset"] i, +input[type="submit"] .svg-icon, +input[type="submit"] i { + flex-shrink: 1; + font-size: 1rem; + height: 1rem; + vertical-align: top; + width: 1rem; +} +.yui-button button .leading-icon, +a.yui-button:link .leading-icon, +a.yui-button:visited .leading-icon, +input[type="button"] .leading-icon, +input[type="reset"] .leading-icon, +input[type="submit"] .leading-icon { + display: flex; + margin-right: 0.25rem; +} +.yui-button button .leading-icon svg, +a.yui-button:link .leading-icon svg, +a.yui-button:visited .leading-icon svg, +input[type="button"] .leading-icon svg, +input[type="reset"] .leading-icon svg, +input[type="submit"] .leading-icon svg { + height: 16px; + width: 16px; +} +.yui-button button .trailing-icon, +a.yui-button:link .trailing-icon, +a.yui-button:visited .trailing-icon, +input[type="button"] .trailing-icon, +input[type="reset"] .trailing-icon, +input[type="submit"] .trailing-icon { + margin-left: 0.25rem; +} +.yui-button.danger button, +input[type="button"].danger, +input[type="reset"].danger, +input[type="submit"].danger { + background-color: var(--destructive-color); + border-color: var(--destructive-color); + color: var(--btn-text-color); +} +.yui-button.danger button:focus, +.yui-button.danger button:hover, +input[type="button"].danger:focus, +input[type="button"].danger:hover, +input[type="reset"].danger:focus, +input[type="reset"].danger:hover, +input[type="submit"].danger:focus, +input[type="submit"].danger:hover { + background-color: var(--danger-hover); + border-color: var(--danger-hover); + color: var(--btn-text-color); +} +.yui-button.danger button:focus, +input[type="button"].danger:focus, +input[type="reset"].danger:focus, +input[type="submit"].danger:focus { + box-shadow: 0 0 0 0.2rem var(--focus-btn-danger); +} +.yui-button.danger button:active, +input[type="button"].danger:active, +input[type="reset"].danger:active, +input[type="submit"].danger:active { + background-color: var(--danger-active); + border-color: var(--danger-active); + color: var(--btn-text-color); +} +.yui-button.primary button, +input[type="button"].primary, +input[type="reset"].primary, +input[type="submit"].primary { + background-color: var(--btn-primary-bg); + border-color: var(--btn-primary-bg); + color: var(--btn-text-color); +} +.yui-button.primary button:focus, +.yui-button.primary button:hover, +input[type="button"].primary:focus, +input[type="button"].primary:hover, +input[type="reset"].primary:focus, +input[type="reset"].primary:hover, +input[type="submit"].primary:focus, +input[type="submit"].primary:hover { + background-color: var(--btn-primary-bg-hover); + border-color: var(--btn-primary-bg-hover); + color: var(--btn-text-color); +} +.yui-button.primary button:focus, +input[type="button"].primary:focus, +input[type="reset"].primary:focus, +input[type="submit"].primary:focus { + box-shadow: 0 0 0 0.2rem var(--focus-btn-primary); +} +.yui-button.primary button:active, +input[type="button"].primary:active, +input[type="reset"].primary:active, +input[type="submit"].primary:active { + background-color: var(--btn-primary-bg-active); + border-color: var(--btn-primary-bg-active); + color: var(--btn-text-color); +} +.yui-button.link-button button, +input[type="button"].link-button, +input[type="reset"].link-button, +input[type="submit"].link-button { + background-color: transparent; + border-color: transparent; + color: var(--accent-color); + font-weight: var(--btn-link-font-weight); +} +.yui-button.link-button button:focus, +.yui-button.link-button button:hover, +input[type="button"].link-button:focus, +input[type="button"].link-button:hover, +input[type="reset"].link-button:focus, +input[type="reset"].link-button:hover, +input[type="submit"].link-button:focus, +input[type="submit"].link-button:hover { + background-color: var(--btn-link-bg--hover); + border-color: var(--btn-link-bg--hover); + color: var(--btn-link-color--hover); +} +.yui-button.link-button button:focus, +input[type="button"].link-button:focus, +input[type="reset"].link-button:focus, +input[type="submit"].link-button:focus { + box-shadow: none; +} +.yui-button.link-button button:active, +input[type="button"].link-button:active, +input[type="reset"].link-button:active, +input[type="submit"].link-button:active { + background-color: var(--btn-link-bg--active); + border-color: var(--btn-link-bg--active); + color: var(--btn-link-color--active); +} +.yui-button.large-button button, +a.yui-button.large-button, +input[type="button"].large-button, +input[type="reset"].large-button, +input[type="submit"].large-button { + font-size: var(--btn-large-font-size); + line-height: var(--btn-large-line-height); + min-height: 2.5rem; + min-width: 6.5rem; + padding: 0.5rem 1rem; +} +.yui-button.large-button button .svg-icon, +.yui-button.large-button button i, +a.yui-button.large-button .svg-icon, +a.yui-button.large-button i, +input[type="button"].large-button .svg-icon, +input[type="button"].large-button i, +input[type="reset"].large-button .svg-icon, +input[type="reset"].large-button i, +input[type="submit"].large-button .svg-icon, +input[type="submit"].large-button i { + font-size: 1.25rem; + height: 1.25rem; + vertical-align: top; + width: 1.25rem; +} +.yui-button button:disabled, +.yui-button-disabled button, +.yui-button-disabled input[type="button"], +.yui-button-disabled input[type="reset"], +.yui-button-disabled input[type="submit"], +input[type="button"]:disabled, +input[type="reset"]:disabled, +input[type="submit"]:disabled { + opacity: 0.5; + pointer-events: none; +} +a.yui-button.primary { + background-color: var(--btn-primary-bg); + border-color: var(--btn-primary-bg); + color: var(--btn-text-color); +} +a.yui-button.primary:focus, +a.yui-button.primary:hover { + background-color: var(--btn-primary-bg-hover); + border-color: var(--btn-primary-bg-hover); + color: var(--btn-text-color); +} +a.yui-button.primary:focus { + box-shadow: 0 0 0 0.2rem var(--focus-btn-primary); +} +a.yui-button.primary:active { + background-color: var(--btn-primary-bg-active); + border-color: var(--btn-primary-bg-active); + color: var(--btn-text-color); +} +a.yui-button.danger { + background-color: var(--destructive-color); + border-color: var(--destructive-color); + color: var(--btn-text-color); +} +a.yui-button.danger:focus, +a.yui-button.danger:hover { + background-color: var(--danger-hover); + border-color: var(--danger-hover); + color: var(--btn-text-color); +} +a.yui-button.danger:focus { + box-shadow: 0 0 0 0.2rem var(--focus-btn-danger); +} +a.yui-button.danger:active { + background-color: var(--danger-active); + border-color: var(--danger-active); + color: var(--btn-text-color); +} +a.yui-button.link-button { + background-color: transparent; + border-color: transparent; + color: var(--accent-color); + font-weight: var(--btn-link-font-weight); +} +a.yui-button.link-button:focus, +a.yui-button.link-button:hover { + background-color: var(--btn-link-bg--hover); + border-color: var(--btn-link-bg--hover); + color: var(--btn-link-color--hover); +} +a.yui-button.link-button:focus { + box-shadow: none; +} +a.yui-button.link-button:active { + background-color: var(--btn-link-bg--active); + border-color: var(--btn-link-bg--active); + color: var(--btn-link-color--active); +} +a.yui-button.disabled { + opacity: 0.5; + pointer-events: none; +} +.yui-button.yui-menu-button button:after, +.yui-button.yui-split-button button:after { + border-bottom: 0; + border-left: 0.35em solid transparent; + border-right: 0.35em solid transparent; + border-top: 0.35em solid; + content: ""; + display: inline-block; + margin-left: 0.4em; + vertical-align: 0.1875em; +} +.yui-button.yui-menu-button.yui-menu-button-active button:after, +.yui-button.yui-split-button.yui-split-button-active button:after { + border-bottom: 0.35em solid; + border-top: 0; +} +.yui-button.icon-button button, +a.yui-button.icon-button:link, +a.yui-button.icon-button:visited { + background-color: transparent; + border-color: transparent; + color: var(--accent-color); + font-weight: var(--btn-link-font-weight); + height: 2rem; + min-width: 2rem; + padding: 0.25rem; +} +.yui-button.icon-button button .svg-icon, +.yui-button.icon-button button i, +a.yui-button.icon-button:link .svg-icon, +a.yui-button.icon-button:link i, +a.yui-button.icon-button:visited .svg-icon, +a.yui-button.icon-button:visited i { + font-size: 1rem; + height: 1rem; + width: 1rem; +} +.yui-button.icon-button button:focus, +.yui-button.icon-button button:hover, +a.yui-button.icon-button:link:focus, +a.yui-button.icon-button:link:hover, +a.yui-button.icon-button:visited:focus, +a.yui-button.icon-button:visited:hover { + background-color: var(--btn-link-bg--hover); + border-color: var(--btn-link-bg--hover); + color: var(--btn-link-color--hover); +} +.yui-button.icon-button button:focus, +a.yui-button.icon-button:link:focus, +a.yui-button.icon-button:visited:focus { + box-shadow: none; +} +.yui-button.icon-button button:active, +a.yui-button.icon-button:link:active, +a.yui-button.icon-button:visited:active { + background-color: var(--btn-link-bg--active); + border-color: var(--btn-link-bg--active); + color: var(--btn-link-color--active); +} +.yui-button.icon-button.large-button button, +a.yui-button.icon-button.large-button { + height: 2.5rem; + min-width: 2.5rem; + padding: 0.625rem; +} +.yui-button.icon-button.large-button button .svg-icon, +.yui-button.icon-button.large-button button i, +a.yui-button.icon-button.large-button .svg-icon, +a.yui-button.icon-button.large-button i { + font-size: 1.25rem; + height: 1.25rem; + width: 1.25rem; +} +.jenkins-card { + background: var(--card-background); + border-radius: 1rem; + margin-bottom: calc(var(--section-padding) / 2); + position: relative; +} +.jenkins-card__title { + align-items: center; + display: flex; + font-size: var(--font-size-sm) !important; + font-weight: 500; + height: 50px; + justify-content: space-between; + padding: 0 1rem; + width: 100%; + z-index: 1; +} +.jenkins-card__controls { + align-items: center; + display: flex; + gap: 0.4rem; + justify-content: center; + margin-right: -0.2rem; +} +.jenkins-card:not(:hover) .jenkins-card__unveil { + color: var(--text-color-secondary) !important; +} +.jenkins-card:hover .jenkins-card__reveal { + color: var(--text-color) !important; +} +.jenkins-card__content { + color: var(--text-color-secondary); + display: flex; + flex-direction: column; + padding: 0 1rem 1rem; +} +.jenkins-card__content:empty { + display: none; +} +.jenkins-card:after { + border: var(--card-border-width) solid var(--card-border-color); + border-radius: inherit; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; + z-index: 1; +} +.jenkins-card .jenkins-card__reveal { + align-items: center; + border-radius: 0.33rem; + color: var(--text-color-secondary) !important; + display: flex; + height: 26px; + justify-content: center; + margin-block: -0.5rem; + min-height: 0; + padding: 0; + transition: scale var(--standard-transition), + opacity var(--standard-transition); + width: 26px; +} +.jenkins-card .jenkins-card__reveal svg { + height: 1rem; + transition: color var(--standard-transition); + width: 1rem; +} +.jenkins-card .jenkins-card__reveal:after, +.jenkins-card .jenkins-card__reveal:before { + opacity: 0; +} +.jenkins-card .jenkins-card__reveal:hover { + opacity: 0.75; +} +.jenkins-card .jenkins-card__reveal:active { + opacity: 0.5; + scale: 95%; +} +.jenkins-command-palette__dialog { + background: none; + border: none; + height: 100dvh !important; + margin: 0 !important; + max-height: 100dvh !important; + max-width: 100vw !important; + padding: 0 !important; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + width: 100vw !important; +} +.jenkins-command-palette__dialog::backdrop { + animation: jenkins-dialog-backdrop-animate-in 0.1s linear; + -webkit-backdrop-filter: contrast(0.7) brightness(0.9) saturate(1.25) + blur(3px); + backdrop-filter: contrast(0.7) brightness(0.9) saturate(1.25) blur(3px); + background: var(--command-palette-backdrop-background); +} +.jenkins-command-palette__dialog[open] { + animation: command-palette-animate-in 0.1s cubic-bezier(0, 0.68, 0.5, 1.5); +} +.jenkins-command-palette__dialog[closing] { + animation: command-palette-animate-out 0.1s linear; +} +.jenkins-command-palette__dialog[closing]::backdrop { + animation: jenkins-dialog-backdrop-animate-out 0.1s linear; +} +@keyframes command-palette-animate-in { + 0% { + opacity: 0; + scale: 98.5%; + transform: rotateX(30deg); + translate: 0 4px; + } +} +@keyframes command-palette-animate-out { + to { + opacity: 0; + scale: 98.5%; + } +} +.jenkins-command-palette__wrapper { + --inset: 15vh; + height: 100%; + max-height: 100dvh; + overflow: scroll; + padding-top: var(--inset); + width: 100%; +} +@media (max-width: 900px) { + .jenkins-command-palette__wrapper { + --inset: 10vh; + } +} +.jenkins-command-palette { + color: var(--text-color); + margin: 0 auto var(--inset); + max-width: 650px; + pointer-events: auto; + position: relative; + width: 50vw; +} +@media (max-width: 900px) { + .jenkins-command-palette { + width: calc(100% - var(--section-padding) * 2); + } +} +.jenkins-command-palette__search { + --search-bar-height: 3rem !important; + -webkit-backdrop-filter: var(--command-palette-results-backdrop-filter); + backdrop-filter: var(--command-palette-results-backdrop-filter); + background: transparent; + border-radius: 1rem; + box-shadow: var(--command-palette-inset-shadow); + margin-bottom: var(--section-padding); + max-width: unset; + transition: var(--standard-transition); + z-index: 10; +} +.jenkins-command-palette__search input { + background: transparent !important; + border-radius: inherit; +} +.jenkins-command-palette__search input:after, +.jenkins-command-palette__search input:before { + border-radius: inherit; +} +.jenkins-command-palette__search:before { + content: unset; +} +.jenkins-command-palette__results-container { + -webkit-backdrop-filter: var(--command-palette-results-backdrop-filter); + backdrop-filter: var(--command-palette-results-backdrop-filter); + border-radius: 1rem; + box-shadow: var(--command-palette-inset-shadow); + display: flex; + flex-direction: column; + height: 1px; + overflow: hidden; + transition: height var(--standard-transition); + will-change: height; +} +.jenkins-command-palette__results { + display: flex; + flex-direction: column; + padding: 0.5rem; +} +.jenkins-command-palette__results__heading { + color: var(--text-color-secondary); + font-size: 0.875rem; + font-weight: 500; + margin: 0; + padding: 0.75rem 0.75rem 0.625rem; +} +.jenkins-command-palette__results__heading:not(:first-of-type) { + padding-top: 2rem; +} +.jenkins-command-palette__results__item { + border-radius: 0.66rem; + position: relative; + text-decoration: none !important; + z-index: 0; + --item-background--hover: color-mix( + in sRGB, + var(--text-color-secondary) 15%, + transparent + ); + --item-background--active: color-mix( + in sRGB, + var(--text-color-secondary) 20%, + transparent + ); + align-items: center; + background: transparent; + border: none; + border-radius: 0.5rem; + box-shadow: 0 0 0 10px transparent; + color: var(--text-color) !important; + cursor: pointer; + display: flex; + justify-content: flex-start; + outline: none; + padding: 0.75rem; + transition: var(--standard-transition); +} +.jenkins-command-palette__results__item:after, +.jenkins-command-palette__results__item:before { + border-radius: inherit; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +.jenkins-command-palette__results__item:before { + background-color: transparent; +} +.jenkins-command-palette__results__item:after { + box-shadow: 0 0 0 0.66rem transparent; +} +.jenkins-command-palette__results__item:focus-visible { + outline: none; +} +.jenkins-command-palette__results__item:not(:disabled):focus-visible:before, +.jenkins-command-palette__results__item:not(:disabled):hover:before { + background-color: var(--item-background--hover); +} +.jenkins-command-palette__results__item:not(:disabled):active { + outline: none !important; + z-index: 1; +} +.jenkins-command-palette__results__item:not(:disabled):active:before { + background-color: var(--item-background--active); +} +.jenkins-command-palette__results__item:not(:disabled):active:after { + box-shadow: 0 0 0 0.33rem var(--item-box-shadow--focus); +} +.jenkins-command-palette__results__item:not(:disabled):focus-visible:after { + box-shadow: 0 0 0 0.2rem var(--text-color) !important; + opacity: 1 !important; +} +.jenkins-command-palette__results__item--hover:before { + background-color: var(--item-background--hover); +} +.jenkins-command-palette__results__item__icon { + align-items: center; + color: var(--text-color); + display: flex; + height: 1.375rem; + justify-content: center; + margin-right: 0.75rem; + overflow: hidden; + pointer-events: none; + width: 1.375rem; +} +.jenkins-command-palette__results__item__icon img, +.jenkins-command-palette__results__item__icon svg { + height: 1.25rem; + width: 1.25rem; +} +.jenkins-command-palette__results__item__description { + margin-left: 1ch; + opacity: 0.5; +} +.jenkins-command-palette__results__item__chevron { + height: 16px; + opacity: 0.5; + position: absolute; + right: 12.5px; + top: calc(50% - 8px); + width: 16px; +} +.jenkins-command-palette__info { + color: var(--text-color); + font-size: 0.875rem; + line-height: 46px; + margin: 0; + padding: 0 14px; +} +.jenkins-command-palette__info span { + color: var(--text-color-secondary); +} +.content-block__link { + align-items: center; + border-radius: 0.66rem; + color: var(--text-color) !important; + display: flex; + font-weight: 500; + justify-content: space-between; + padding: 0.75rem 1.1rem; + position: relative; + text-decoration: none !important; + z-index: 0; +} +.content-block__link:after, +.content-block__link:before { + border-radius: inherit; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +.content-block__link:before { + background-color: transparent; +} +.content-block__link:after { + box-shadow: 0 0 0 0.66rem transparent; +} +.content-block__link:focus-visible { + outline: none; +} +.content-block__link:not(:disabled):focus-visible:before, +.content-block__link:not(:disabled):hover:before { + background-color: var(--item-background--hover); +} +.content-block__link:not(:disabled):active { + outline: none !important; + z-index: 1; +} +.content-block__link:not(:disabled):active:before { + background-color: var(--item-background--active); +} +.content-block__link:not(:disabled):active:after { + box-shadow: 0 0 0 0.33rem var(--item-box-shadow--focus); +} +.content-block__link:not(:disabled):focus-visible:after { + box-shadow: 0 0 0 0.2rem var(--text-color) !important; + opacity: 1 !important; +} +.content-block__link:before { + background: var(--button-background); +} +.content-block__link .trailing-icon { + align-items: center; + display: flex; + height: 1.25rem; + justify-content: center; + width: 1.25rem; +} +.content-block__link .trailing-icon svg { + height: 1.25rem; + width: 1.25rem; +} +.empty-state-block { + margin: 0 auto; + max-width: 600px; +} +.empty-state-section { + margin-top: var(--section-padding); +} +.empty-state-section-list { + display: flex; + flex-direction: column; + gap: 0.625rem; + padding: 0; +} +.empty-state-section-list li { + list-style: none; +} +.jenkins-dialog { + animation: jenkins-dialog-animate-in 0.25s cubic-bezier(0, 0.68, 0.5, 1.5); + border: none; + border-radius: 0.6rem; + box-shadow: var(--dialog-box-shadow); + display: flex; + flex-direction: column; + gap: 1.3rem; + overflow: hidden; + padding: 1.3rem 0 0; +} +.jenkins-dialog::backdrop { + animation: jenkins-dialog-backdrop-animate-in 0.15s; + background: var(--dialog-backdrop-background); +} +.jenkins-dialog__title { + color: var(--text-color); + font-size: 1.125rem; + font-weight: 500; + padding: 0 1.3rem; +} +.jenkins-dialog__contents { + color: var(--text-color-secondary); + font-size: 1rem; + max-height: 75vh; + overflow-wrap: break-word; + overflow-y: auto; + padding: 0 1.3rem; +} +.jenkins-dialog__contents--modal { + color: var(--text-color); + padding-bottom: 1.3rem; +} +.jenkins-dialog__input { + display: flex; + padding: 0 1rem 1rem; +} +.jenkins-dialog__buttons { + flex-direction: row-reverse; + justify-content: right; + padding: 0 1.3rem 1.3rem; +} +.jenkins-dialog__buttons .jenkins-button { + font-size: 0.9rem; + min-width: 100px; + padding: 0.7rem 0.6rem; +} +.jenkins-dialog__subtitle { + color: var(--text-color-secondary); + font-size: 1rem; + font-weight: 500; + margin: 0 0 1rem; + padding: 0; +} +.jenkins-dialog__close-button { + aspect-ratio: 1; + padding: 0; + position: absolute; + right: 0.8rem; + top: 0.8rem; +} +.jenkins-dialog__close-button:after, +.jenkins-dialog__close-button:before { + border-radius: 100%; + outline: none; +} +.jenkins-dialog__close-button:after { + -webkit-backdrop-filter: contrast(0.9) blur(5px); + backdrop-filter: contrast(0.9) blur(5px); +} +@keyframes jenkins-dialog-backdrop-animate-in { + 0% { + opacity: 0; + } +} +@keyframes jenkins-dialog-backdrop-animate-out { + to { + opacity: 0; + } +} +@keyframes jenkins-dialog-animate-in { + 0% { + opacity: 0; + scale: 85%; + } +} +.tippy-box[data-theme~="dropdown"] { + -webkit-backdrop-filter: var(--dropdown-backdrop-filter); + backdrop-filter: var(--dropdown-backdrop-filter); + background: color-mix(in sRGB, var(--background) 85%, transparent); + border-radius: 15px; + box-shadow: var(--dropdown-box-shadow); + max-height: 75vh; + max-width: unset !important; + outline: none !important; + overflow-y: auto; +} +.tippy-box[data-theme~="dropdown"] .tippy-content { + display: flex; + flex-direction: column; + padding: 0; +} +.tippy-box[data-theme~="dropdown"] .tippy-content .jenkins-spinner { + margin: 1rem; +} +.tippy-box[data-animation="dropdown"][data-state="hidden"] { + opacity: 0; + transform: scale(0.975); +} +.tippy-box[data-animation="dropdown"][data-state="hidden"][data-placement^="top"] { + transform: translateY(10px) scale(0.975); + transform-origin: bottom; +} +.tippy-box[data-animation="dropdown"][data-state="hidden"][data-placement^="bottom"] { + transform: translateY(-10px) scale(0.975); + transform-origin: top; +} +.jenkins-dropdown { + display: flex; + flex-direction: column; + padding: 0.4rem; +} +.jenkins-dropdown--compact > .jenkins-dropdown__disabled, +.jenkins-dropdown--compact > .jenkins-dropdown__item { + min-height: 30px !important; + padding: 0 0.6rem; +} +.jenkins-dropdown__filter { + align-items: center; + border-bottom: 1px solid var(--input-border); + display: flex; + gap: 5px; + padding: 0.6rem 1rem; +} +.jenkins-dropdown__filter-input { + background-color: unset; + border: none; + color: var(--text-color-secondary); + width: 100%; +} +.jenkins-dropdown__filter-input:focus { + outline: none; +} +.jenkins-dropdown__filter svg { + margin-top: 2px; +} +.jenkins-dropdown__separator { + border: none; + height: 0.125rem; + margin: 0.4rem -0.4rem; + position: relative; +} +.jenkins-dropdown__separator:before { + background-color: var(--text-color-secondary); + content: ""; + inset: 0; + opacity: 0.1; + position: absolute; +} +.jenkins-dropdown__heading { + color: var(--text-color-secondary) !important; + font-size: 0.8125rem; + font-weight: 500; + margin: 0.4rem 0.55rem; + opacity: 0.8; +} +.jenkins-dropdown__heading:not(:first-of-type) { + margin-top: 1rem; +} +.jenkins-dropdown__placeholder { + color: var(--text-color-secondary) !important; + font-size: 0.8125rem; + margin: 0.4rem 0.55rem; + opacity: 0.8; +} +.jenkins-dropdown__disabled { + color: var(--text-color-secondary) !important; + cursor: default; + opacity: 0.8; +} +.jenkins-dropdown__disabled, +.jenkins-dropdown__item { + align-items: center; + display: inline-flex; + font-size: 0.8125rem; + margin: 0; +} +.jenkins-dropdown__item { + --item-background--hover: var(--button-background--hover); + --item-background--active: var(--button-background--active); + --item-box-shadow--focus: var(--button-box-shadow--focus); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background: transparent; + border: none; + border-radius: 0.66rem; + color: var(--text-color) !important; + cursor: pointer; + font-weight: 450; + gap: 1.2ch; + justify-content: flex-start; + min-height: 36px; + min-width: 180px; + outline: none; + padding: 0.4rem 1.75rem 0.4rem 0.6rem; + position: relative; + text-decoration: none !important; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + white-space: nowrap; + z-index: 0; +} +.jenkins-dropdown__item:after, +.jenkins-dropdown__item:before { + border-radius: inherit; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +.jenkins-dropdown__item:before { + background-color: transparent; +} +.jenkins-dropdown__item:after { + box-shadow: 0 0 0 0.66rem transparent; +} +.jenkins-dropdown__item:focus-visible { + outline: none; +} +.jenkins-dropdown__item:not(:disabled):focus-visible:before, +.jenkins-dropdown__item:not(:disabled):hover:before { + background-color: var(--item-background--hover); +} +.jenkins-dropdown__item:not(:disabled):active { + outline: none !important; + z-index: 1; +} +.jenkins-dropdown__item:not(:disabled):active:before { + background-color: var(--item-background--active); +} +.jenkins-dropdown__item:not(:disabled):active:after { + box-shadow: 0 0 0 0.33rem var(--item-box-shadow--focus); +} +.jenkins-dropdown__item:not(:disabled):focus-visible:after { + box-shadow: 0 0 0 0.2rem var(--text-color) !important; + opacity: 1 !important; +} +.jenkins-dropdown__item__icon { + align-items: center; + display: inline-flex; + height: 1.125rem; + justify-content: center; + margin-right: 0.1rem; + width: 1.125rem; +} +.jenkins-dropdown__item__icon img, +.jenkins-dropdown__item__icon svg { + color: inherit; + height: 1.125rem; + width: 1.125rem; +} +.jenkins-dropdown__item:disabled { + filter: saturate(0.6); + opacity: 0.5; + pointer-events: none; +} +.jenkins-dropdown__item[class*="color"] { + background: transparent; + color: var(--color) !important; +} +.jenkins-dropdown__item[class*="color"]:before { + background: currentColor !important; + opacity: 0; +} +.jenkins-dropdown__item[class*="color"]:after { + box-shadow: 0 0 0 0.66rem currentColor; + opacity: 0; +} +.jenkins-dropdown__item[class*="color"]:hover:before { + opacity: 0.15; +} +.jenkins-dropdown__item[class*="color"]:active:before, +.jenkins-dropdown__item[class*="color"]:focus:before { + opacity: 0.2; +} +.jenkins-dropdown__item[class*="color"]:active:after, +.jenkins-dropdown__item[class*="color"]:focus:after { + box-shadow: 0 0 0 0.33rem currentColor; + opacity: 0.1; +} +.jenkins-dropdown__item__badge { + margin-left: auto; + margin-right: -0.85rem; +} +.jenkins-dropdown__item__chevron { + background: var(--text-color-secondary); + bottom: 0; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EChevron Forward%3C/title%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M184 112l144 144-144 144'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EChevron Forward%3C/title%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M184 112l144 144-144 144'/%3E%3C/svg%3E"); + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + opacity: 0.6; + position: absolute; + right: 0.125rem; + top: 0; + width: 1rem; +} +.jenkins-dropdown:hover .jenkins-dropdown__item--selected { + background: transparent; +} +.jenkins-dropdown__item--selected { + animation: pulse 1s ease-in-out forwards; + background: var(--item-background--hover); +} +.jenkins-overflow-button__ellipsis { + align-items: center; + display: flex; + gap: 0.15rem; + height: 1.1rem; + justify-content: center; + margin-inline: -0.1rem; + width: 1.4rem; +} +.jenkins-overflow-button__ellipsis span { + border: 1px solid; + border-radius: 50%; + min-height: 0.3125rem; + min-width: 0.3125rem; +} +.jenkins-jumplist-link { + align-items: center; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background: none; + border: none; + cursor: pointer; + display: flex; + justify-content: center; +} +.jenkins-jumplist-link svg { + height: 1.25rem; + width: 1.25rem; +} +.icon-help { + color: var(--accent-color); +} +.icon-help:focus, +.icon-help:hover { + border-color: var(--primary-hover); + color: var(--primary-hover); +} +.icon-small { + height: 16px; + width: 16px; +} +.icon-medium { + height: 24px; + width: 24px; +} +.icon-large { + height: 32px; + width: 32px; +} +.icon-xlarge { + height: 64px; + width: 64px; +} +.animated-spin, +.icon-blue-anime, +.icon-red-anime { + will-change: transform; +} +.icon-blue, +.icon-blue-anime { + opacity: 1; +} +.icon-blue, +.icon-blue .svg-icon, +.icon-blue-anime, +.icon-blue-anime .svg-icon { + color: var(--success-color); + fill: var(--success-color); +} +.icon-red, +.icon-red-anime { + opacity: 1; +} +.icon-red, +.icon-red .svg-icon, +.icon-red-anime, +.icon-red-anime .svg-icon { + color: var(--destructive-color); + fill: var(--destructive-color); +} +.icon-yellow, +.icon-yellow-anime { + opacity: 1; +} +.icon-yellow, +.icon-yellow .svg-icon, +.icon-yellow-anime, +.icon-yellow-anime .svg-icon { + color: var(--unstable-build-icon-color); + fill: var(--unstable-build-icon-color); +} +.icon-aborted, +.icon-aborted-anime { + opacity: 1; +} +.icon-aborted, +.icon-aborted .svg-icon, +.icon-aborted-anime, +.icon-aborted-anime .svg-icon, +.icon-disabled, +.icon-disabled-anime { + color: var(--black); + fill: var(--black); +} +.icon-disabled, +.icon-disabled-anime { + opacity: 0.5; +} +.icon-disabled .svg-icon, +.icon-disabled-anime .svg-icon { + color: var(--black); + fill: var(--black); +} +.icon-grey, +.icon-grey-anime, +.icon-nobuilt, +.icon-nobuilt-anime { + color: var(--accent-color); + fill: var(--accent-color); + opacity: 1; +} +.icon-grey .svg-icon, +.icon-grey-anime .svg-icon, +.icon-nobuilt .svg-icon, +.icon-nobuilt-anime .svg-icon { + color: var(--accent-color); + fill: var(--accent-color); +} +.build-status-icon__wrapper { + display: inline-flex; + position: relative; +} +.build-status-icon__outer { + display: flex; + height: 100%; + left: 50%; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + width: 100%; +} +.build-status-icon__outer .svg-icon { + height: 100%; + width: 100%; +} +.icon-aborted-anime .build-status-icon__outer .svg-icon, +.icon-blue-anime .build-status-icon__outer .svg-icon, +.icon-disabled-anime .build-status-icon__outer .svg-icon, +.icon-grey-anime .build-status-icon__outer .svg-icon, +.icon-nobuilt-anime .build-status-icon__outer .svg-icon, +.icon-red-anime .build-status-icon__outer .svg-icon, +.icon-yellow-anime .build-status-icon__outer .svg-icon { + animation: spin 1.7s linear infinite; +} +@keyframes pulse-animation { + 0%, + to { + opacity: 1; + } + 50% { + opacity: 0; + } +} +.pulse-animation { + animation: pulse-animation 2s ease infinite; +} +.jenkins-notice { + align-items: center; + background: var(--button-background); + border-radius: 0.66rem; + display: flex; + flex-direction: column; + font-size: var(--font-size-base); + font-weight: 450; + gap: 1rem; + justify-content: center; + margin-bottom: var(--section-padding); + min-height: 15rem; + padding: calc(var(--section-padding) * 2); + text-align: center; +} +.jenkins-notice svg { + height: 2.5rem; + width: 2.5rem; +} +.jenkins-notice__description { + color: var(--text-color-secondary); + margin-top: -0.375rem; +} +.jenkins-notice__description:empty { + display: none; +} +.jenkins-notification { + bottom: 1.2rem; + display: grid; + grid-template-columns: auto 1fr; + left: 1.2rem; + max-width: min(600px, calc(100vw - 2.4rem)); + min-width: 321px; + position: fixed; + grid-gap: 1.5ch; + -webkit-backdrop-filter: brightness(2) blur(30px); + backdrop-filter: brightness(2) blur(30px); + border-radius: 10px; + box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.075), 0 10px 30px rgba(0, 0, 0, 0.25), + 0 0 30px 5px var(--background); + color: var(--text-color); + cursor: pointer; + font-weight: 500; + line-height: 1.66; + padding: 0.8rem; + transition: filter var(--standard-transition); + will-change: opacity, transform; + z-index: 999; +} +.jenkins-notification svg { + height: 1.4rem; + width: 1.4rem; +} +.jenkins-notification:after { + background: var(--background); + border-radius: inherit; + content: ""; + inset: 0; + opacity: 0.3; + position: absolute; + z-index: -1; +} +@supports not ( + (-webkit-backdrop-filter: blur(15px)) or (backdrop-filter: blur(15px)) +) { + .jenkins-notification:after { + opacity: 0.9; + } +} +.jenkins-notification:hover { + filter: brightness(0.95); +} +.jenkins-notification:active { + filter: brightness(0.9); +} +.jenkins-notification--success { + color: var(--background); +} +.jenkins-notification--success:after { + background-color: var(--success-color); + opacity: 1; +} +.jenkins-notification--warning { + color: var(--background); +} +.jenkins-notification--warning:after { + background-color: var(--warning-color); + opacity: 1; +} +.jenkins-notification--error { + color: var(--background); +} +.jenkins-notification--error:after { + background-color: var(--error-color); + opacity: 1; +} +.jenkins-notification--visible { + animation: show-notification var(--elastic-transition) 1 normal forwards; +} +.jenkins-notification--visible > * { + animation: show-notification-icon var(--elastic-transition) 1 normal forwards; +} +.jenkins-notification--hidden { + animation: hide-notification 0.15s ease-in 1 normal forwards; +} +@keyframes show-notification { + 0% { + opacity: 0; + transform: translateY(1.2rem); + } + to { + opacity: 1; + transform: translateY(0); + visibility: visible; + } +} +@keyframes show-notification-icon { + 0% { + opacity: 0; + transform: translateY(0.3rem); + } +} +@keyframes hide-notification { + 0% { + opacity: 1; + transform: scale(1); + } + to { + opacity: 0; + transform: scale(0.9); + visibility: hidden; + } +} +.page-footer { + clear: both; + font-size: var(--font-size-sm); + width: 100%; +} +.page-footer .container-fluid { + padding: 0; +} +.page-footer__flex-row { + align-items: stretch; + display: flex; + flex-wrap: wrap; +} +.page-footer__flex-row > :not(script) { + align-items: center; + display: flex; + gap: calc(var(--section-padding) / 2); + padding: calc(var(--section-padding) / 2) + calc(var(--section-padding) - 0.85rem); +} +.page-footer__footer-id-placeholder { + flex: 1; + flex-wrap: wrap; +} +.page-footer span { + display: inline-block; +} +.page-footer .jenkins-button { + transition: var(--standard-transition); +} +.page-footer .jenkins-button:hover { + color: var(--text-color) !important; +} +.page-footer .jenkins-button .jenkins-overflow-button__ellipsis, +.page-footer .jenkins-button svg { + display: none; +} +.page-header { + align-items: center; + background-color: var(--header-bg-classic); + display: flex; + font-size: var(--font-size-base); + height: 3.5rem; + line-height: var(--line-height-base); +} +.page-header > * { + margin-right: 0.75rem; +} +.page-header__brand { + display: inline-block; + flex: 1; + height: 3.5rem; + position: relative; +} +a.page-header__brand-link { + display: none; +} +.page-header__brand-name { + color: inherit; +} +.page-header__brand-image { + height: 2rem; + margin-right: 0.75rem; + width: 1.5rem; +} +.page-header__am-wrapper { + display: contents; +} +.page-header__hyperlinks { + align-items: center; + display: flex; +} +.am-container > a, +.page-header__hyperlinks > a, +.page-header__hyperlinks > button { + border-radius: 0.66rem; + position: relative; + text-decoration: none !important; + z-index: 0; + --text-color: var(--header-link-color); + align-items: center; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background: transparent; + border: none; + color: var(--text-color); + cursor: pointer; + display: inline-flex; + margin-right: 0 !important; + outline: none; + padding: 0.5rem; + text-decoration: none; +} +.am-container > a:after, +.am-container > a:before, +.page-header__hyperlinks > a:after, +.page-header__hyperlinks > a:before, +.page-header__hyperlinks > button:after, +.page-header__hyperlinks > button:before { + border-radius: inherit; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +.am-container > a:before, +.page-header__hyperlinks > a:before, +.page-header__hyperlinks > button:before { + background-color: transparent; +} +.am-container > a:after, +.page-header__hyperlinks > a:after, +.page-header__hyperlinks > button:after { + box-shadow: 0 0 0 0.66rem transparent; +} +.am-container > a:focus-visible, +.page-header__hyperlinks > a:focus-visible, +.page-header__hyperlinks > button:focus-visible { + outline: none; +} +.am-container > a:not(:disabled):focus-visible:before, +.am-container > a:not(:disabled):hover:before, +.page-header__hyperlinks > a:not(:disabled):focus-visible:before, +.page-header__hyperlinks > a:not(:disabled):hover:before, +.page-header__hyperlinks > button:not(:disabled):focus-visible:before, +.page-header__hyperlinks > button:not(:disabled):hover:before { + background-color: var(--item-background--hover); +} +.am-container > a:not(:disabled):active, +.page-header__hyperlinks > a:not(:disabled):active, +.page-header__hyperlinks > button:not(:disabled):active { + outline: none !important; + z-index: 1; +} +.am-container > a:not(:disabled):active:before, +.page-header__hyperlinks > a:not(:disabled):active:before, +.page-header__hyperlinks > button:not(:disabled):active:before { + background-color: var(--item-background--active); +} +.am-container > a:not(:disabled):active:after, +.page-header__hyperlinks > a:not(:disabled):active:after, +.page-header__hyperlinks > button:not(:disabled):active:after { + box-shadow: 0 0 0 0.33rem var(--item-box-shadow--focus); +} +.am-container > a:not(:disabled):focus-visible:after, +.page-header__hyperlinks > a:not(:disabled):focus-visible:after, +.page-header__hyperlinks > button:not(:disabled):focus-visible:after { + box-shadow: 0 0 0 0.2rem var(--text-color) !important; + opacity: 1 !important; +} +.am-container > a svg, +.page-header__hyperlinks > a svg, +.page-header__hyperlinks > button svg { + height: 1.25rem; + width: 1.25rem; +} +.am-container > a:after, +.am-container > a:before, +.page-header__hyperlinks > a:after, +.page-header__hyperlinks > a:before, +.page-header__hyperlinks > button:after, +.page-header__hyperlinks > button:before { + inset: 0 !important; +} +.am-container > a .jenkins-menu-dropdown-chevron, +.page-header__hyperlinks > a .jenkins-menu-dropdown-chevron, +.page-header__hyperlinks > button .jenkins-menu-dropdown-chevron { + margin-left: 0.5rem; + position: relative; + right: unset !important; + top: unset !important; +} +.am-container > a .jenkins-menu-dropdown-chevron:after, +.page-header__hyperlinks > a .jenkins-menu-dropdown-chevron:after, +.page-header__hyperlinks > button .jenkins-menu-dropdown-chevron:after { + opacity: 1; +} +.page-header__hyperlinks a span:not(:first-child) { + margin-left: 0.25rem; +} +#searchform { + display: inline-flex; + font-family: var(--font-family-sans); + height: 2.5rem; + position: relative; +} +#search-box.main-search__input { + border: 2px solid var(--header-search-border); + border-radius: var(--form-input-border-radius); + box-shadow: 0 0 0 10px transparent; + color: var(--search-input-color); + font-size: var(--font-size-base); + font-weight: 700; + line-height: var(--line-height-base); + margin: 0; + outline: none; + padding: 0.25rem 2.5rem; + position: static; + transition: 0.2s ease; +} +#search-box.main-search__input::-moz-placeholder { + font-weight: 400; +} +#search-box.main-search__input::placeholder { + font-weight: 400; +} +#search-box.main-search__input:active, +#search-box.main-search__input:focus { + border-color: var(--focus-input-border); + box-shadow: 0 0 0 5px var(--focus-input-glow); +} +.main-search__icon-leading, +.main-search__icon-trailing { + align-items: center; + background: transparent; + display: inline-flex; + height: 2.5rem; + justify-content: center; + position: absolute; + width: 2.5rem; +} +.main-search__icon-leading { + left: 0; + pointer-events: none; +} +.main-search__icon-leading svg { + height: 16px; + width: 16px; +} +.main-search__icon-trailing { + outline-color: var(--header-link-outline); + right: 0; +} +.main-search__icon-trailing:link, +.main-search__icon-trailing:visited { + color: var(--search-input-color); +} +.main-search__icon-trailing:focus, +.main-search__icon-trailing:hover { + color: var(--header-link-bg-classic-hover); +} +.main-search__icon-trailing:active { + fill: var(--header-link-bg-classic-active); +} +.main-search__icon-trailing svg { + height: 20px; + width: 20px; +} +#search-box-completion { + position: absolute; + text-align: left; + width: 25em; + z-index: 1000; +} +#search-box-completion ul { + list-style: none; + margin: 0; + padding: 0.75rem 0; + width: 100%; +} +#search-box-completion li { + font-size: var(--font-size-base); + line-height: var(--line-height-base); + overflow: hidden; + padding: 0.25rem 1.25rem; + text-overflow: ellipsis; + white-space: nowrap; +} +#search-box-sizer { + max-width: calc(100vw - 500px); + min-width: 15rem; + position: absolute; + visibility: hidden; +} +.pane-frame { + border: var(--pane-border-width) solid var(--pane-border-color); + border-radius: var(--table-border-radius); +} +.pane-footer, +.pane-header { + background: var(--pane-header-bg); + color: var(--pane-header-text-color); + padding: 8px 0; +} +.pane { + color: var(--pane-text-color); +} +.pane-header { + border-top: none; + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +.pane-footer { + border-bottom: none; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} +.pane td { + padding: 0.25rem; + vertical-align: middle; +} +table.pane { + border: var(--pane-border-width) solid var(--pane-border-color); + border-collapse: collapse; + width: 100%; +} +td.pane { + padding: 0.25rem; + vertical-align: middle; +} +table.stripped tr:nth-of-type(2n), +table.stripped-even tr:nth-child(2n), +table.stripped-odd tr:nth-child(odd) { + background: var(--even-row-color); +} +table.stripped tr:hover, +table.stripped-even tr:hover, +table.stripped-odd tr:hover { + background: var(--table-striped-bg--hover) !important; +} +div.pane-header { + font-weight: var(--pane-header-font-weight); + padding-right: 24px; +} +div.pane-header .collapse { + float: right; + margin-left: 3px; +} +th.pane { + font-weight: var(--pane-header-font-weight); +} +table.bigtable { + border: none; +} +.bigtable.width-auto { + width: auto; +} +.pane-frame .bigtable tr, +.pane-frame table:not(.jenkins-table) { + border: none; +} +.bigtable .pane-header, +.bigtable th { + background: var(--bigtable-header-bg); + color: var(--bigtable-header-text-color); + font-weight: var(--bigtable-header-font-weight); +} +.bigtable th { + border-top: var(--bigtable-border-width) solid var(--bigtable-header-bg); + text-align: left; + white-space: nowrap; +} +.bigtable th.minimum-width { + width: 1px; +} +.bigtable th[align="right"] { + text-align: right; +} +.bigtable .sortbottom th, +.bigtable tfoot th { + background-color: var(--background); + color: var(--text-color); +} +.bigtable td { + border-top: var(--bigtable-border-width) solid + var(--bigtable-row-border-color); + vertical-align: middle; +} +.bigtable tr:last-child td { + border-bottom: var(--bigtable-border-width) solid + var(--bigtable-row-border-color); +} +.bigtable td, +.bigtable th { + padding: var(--bigtable-cell-padding-y) var(--bigtable-cell-padding-x); +} +.bigtable .pane-footer, +.bigtable .pane-header { + border-radius: 0; +} +table.bigtable.sortable a.sortheader, +table.bigtable.sortable span.sortarrow { + color: var(--bigtable-header-text-color); +} +.bigtable--compact td, +.bigtable--compact th { + padding-bottom: 0.25rem; + padding-top: 0.25rem; +} +.lds-ellipsis { + display: inline-block; + height: 2.5rem; + position: relative; + width: 12rem; +} +.lds-ellipsis div { + animation-timing-function: cubic-bezier(0, 1, 1, 0); + background: var(--text-color-secondary); + border-radius: 50%; + height: 0.5rem; + position: absolute; + top: 1rem; + width: 0.5rem; +} +.lds-ellipsis div:first-child { + animation: lds-ellipsis1 0.6s infinite; + left: 1rem; +} +.lds-ellipsis div:nth-child(2) { + animation: lds-ellipsis2 0.6s infinite; + left: 1rem; +} +.lds-ellipsis div:nth-child(3) { + animation: lds-ellipsis2 0.6s infinite; + left: 4rem; +} +.lds-ellipsis div:nth-child(4) { + animation: lds-ellipsis3 0.6s infinite; + left: 10rem; +} +@keyframes lds-ellipsis1 { + 0% { + transform: scale(0); + } + to { + transform: scale(1); + } +} +@keyframes lds-ellipsis3 { + 0% { + transform: scale(1); + } + to { + transform: scale(0); + } +} +@keyframes lds-ellipsis2 { + 0% { + transform: translate(0); + } + to { + transform: translate(3rem); + } +} +.app-progress-bar { + --color: var(--accent-color); + background-color: color-mix( + in sRGB, + var(--text-color-secondary) 25%, + transparent + ); + border-radius: 6px; + display: block; + height: 12px; + opacity: 1 !important; + padding: 2px; + width: 104px; +} +.app-progress-bar--error > span { + --color: var(--error-color); +} +.app-progress-bar--unknown { + width: 100%; +} +.app-progress-bar--large { + border-radius: 12px; + height: 24px; + padding: 4px; + width: 208px; +} +.app-progress-bar--large > span { + border-radius: 8px !important; +} +.app-progress-bar > span { + background-color: var(--color); + border-radius: 4px; + display: block; + height: 100%; + min-width: 8%; +} +.app-progress-bar--animate { + animation: progress-bar 5s linear infinite; + background-image: linear-gradient( + -45deg, + var(--background) 25%, + transparent 25%, + transparent 50%, + var(--background) 50%, + var(--background) 75%, + transparent 75%, + transparent + ); + background-size: 25px 25px; + z-index: 1; +} +@keyframes progress-bar { + 0% { + background-position: 0 0; + } + to { + background-position: 25px 25px; + } +} +.app-progress-bar:link:hover { + opacity: 0.75 !important; +} +.app-progress-bar:link:active { + opacity: 0.5 !important; +} +.jenkins-table__checkbox-container { + display: flex; + position: relative; +} +.jenkins-table__checkbox { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background: transparent; + border: none; + border-radius: 6px; + box-shadow: 0 0 0 10px transparent, inset 0 0 0 0.125rem var(--input-border); + cursor: pointer; + display: inline-grid; + height: 1.375rem; + outline: none; + padding: 0; + transition: var(--standard-transition); + width: 1.375rem; +} +.jenkins-table__checkbox:hover { + box-shadow: 0 0 0 10px transparent, + inset 0 0 0 0.3125rem var(--input-border-hover); +} +.jenkins-table__checkbox:active, +.jenkins-table__checkbox:focus { + box-shadow: 0 0 0 5px var(--focus-input-glow), + inset 0 0 0 0.3125rem var(--focus-input-border); +} +.jenkins-table__checkbox svg { + color: var(--text-color); + grid-column-start: 1; + grid-row-start: 1; + height: 0.85rem; + opacity: 0; + place-self: center center; + transform: scale(0); + transition: var(--elastic-transition); + width: 0.85rem; +} +.jenkins-table__checkbox svg * { + stroke-width: 60px; +} +.jenkins-table__checkbox .jenkins-table__checkbox__all-symbol { + color: var(--background); +} +.jenkins-table__checkbox--indeterminate + .jenkins-table__checkbox__indeterminate-symbol { + opacity: 1; + transform: scale(1); +} +.jenkins-table__checkbox--all { + box-shadow: 0 0 0 10px transparent, + inset 0 0 0 0.6875rem var(--focus-input-border); +} +.jenkins-table__checkbox--all:hover { + box-shadow: 0 0 0 10px transparent, + inset 0 0 0 1.375rem var(--focus-input-border); +} +.jenkins-table__checkbox--all:active, +.jenkins-table__checkbox--all:focus { + box-shadow: 0 0 0 5px var(--focus-input-glow), + inset 0 0 0 1.375rem var(--focus-input-border); +} +.jenkins-table__checkbox--all .jenkins-table__checkbox__all-symbol { + opacity: 1; + transform: scale(1); +} +.jenkins-table__checkbox:disabled, +.jenkins-table__checkbox[disabled] { + opacity: 0.2; + pointer-events: none; + transition: none; +} +.jenkins-table__checkbox-options { + border-radius: 6px; + height: 1.375rem; + margin: 0 0 0 0.2rem !important; + min-height: unset !important; + padding: 0 0.2rem !important; +} +.jenkins-table__checkbox-options svg { + color: var(--input-border); + max-height: 0.9rem; + max-width: 0.9rem; + pointer-events: none; + transition: var(--standard-transition); +} +.jenkins-table__checkbox-options svg * { + stroke-width: 60px; +} +.jenkins-table__checkbox-options:after, +.jenkins-table__checkbox-options:before { + border-radius: 0.33rem; +} +.jenkins-table__checkbox-options:hover svg { + color: var(--input-border-hover); +} +.jenkins-table__checkbox-options:active svg, +.jenkins-table__checkbox-options:focus svg { + color: var(--focus-input-border); +} +.jenkins-table__checkbox-options:disabled, +.jenkins-table__checkbox-options[disabled] { + opacity: 0.2; + pointer-events: none; + transition: none; +} +.jenkins-table__checkbox-dropdown { + border-radius: 0.8rem; + box-shadow: inset 0 0 0 2px hsla(0, 0%, 100%, 0.05), + 0 0 0 1px rgba(0, 0, 0, 0.05), 0 5px 10px rgba(0, 0, 0, 0.1), + 0 5px 20px rgba(0, 0, 0, 0.3); + display: flex; + flex-direction: column; + left: 1.375rem; + min-width: 170px; + opacity: 0; + padding: 0.4rem; + position: absolute; + top: 1.375rem; + transform: scale(0.9); + transform-origin: top left; + transition: var(--standard-transition); + visibility: collapse; + z-index: 999; +} +.jenkins-table__checkbox-dropdown:after, +.jenkins-table__checkbox-dropdown:before { + border-radius: inherit; + content: ""; + inset: 0; + position: absolute; + z-index: -1; +} +.jenkins-table__checkbox-dropdown:before { + -webkit-backdrop-filter: brightness(3) blur(5px); + backdrop-filter: brightness(3) blur(5px); +} +.jenkins-table__checkbox-dropdown:after { + background: var(--background); + opacity: 0.9; +} +.jenkins-table__checkbox-dropdown span { + color: var(--text-color-secondary); + font-size: 0.8rem; + padding: 0.5rem 0.75rem; +} +.jenkins-table__checkbox-dropdown .jenkins-button { + border-radius: 10px; + gap: 0.75rem; + justify-content: flex-start; + margin: 0 !important; + min-height: 2.25rem !important; + padding: 0.5rem 0.9rem !important; +} +.jenkins-table__checkbox-dropdown--visible { + opacity: 1; + transform: scale(1); + visibility: visible; +} +.jenkins-table__checkbox-dropdown__icon { + align-items: center; + display: flex; + height: 1.1rem; + justify-content: center; + position: relative; + width: 1.1rem; +} +.jenkins-table__checkbox-dropdown__icon:before { + border: 0.1rem solid var(--text-color-secondary); + border-radius: 6px; + content: ""; + inset: -0.15rem; + opacity: 0.25; + position: absolute; +} +.jenkins-table__checkbox-dropdown__icon svg { + height: 0.9rem; + width: 0.9rem; +} +.jenkins-table__checkbox-dropdown__icon svg * { + stroke-width: 50px; +} +.jenkins-section { + border-top: 2px solid var(--panel-border-color); + max-width: 1800px; + padding: var(--section-padding) 0 0 0; +} +.jenkins-section:first-of-type { + border-top: none; + padding-top: 0; +} +.jenkins-section:last-child { + padding-bottom: 0; +} +.jenkins-section:empty { + display: none; +} +.jenkins-section--no-border { + border-top: none; + padding-top: 0; +} +.jenkins-section--bottom-padding { + padding-bottom: var(--section-padding); +} +.jenkins-section__title { + font-size: 1rem; + font-weight: 500; + margin: 0 0 var(--section-padding) 0; +} +.jenkins-section__description { + color: var(--text-color-secondary); + line-height: 1.66; + margin: -0.8125rem 0 1rem; +} +.jenkins-section__items { + display: grid; + grid-template-columns: 1fr; + grid-gap: var(--section-padding); +} +@media screen and (min-width: 800px) { + .jenkins-section__items { + grid-template-columns: 1fr 1fr; + } +} +@media screen and (min-width: 1300px) { + .jenkins-section__items { + grid-template-columns: 1fr 1fr 1fr; + } +} +@media screen and (min-width: 1800px) { + .jenkins-section__items { + grid-template-columns: 1fr 1fr 1fr 1fr; + } +} +.jenkins-section__item a { + border-radius: 0.66rem; + display: flex; + margin: 0; + position: relative; + text-decoration: none !important; + text-decoration: none; + z-index: 0; +} +.jenkins-section__item a:after, +.jenkins-section__item a:before { + border-radius: inherit; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +.jenkins-section__item a:before { + background-color: transparent; +} +.jenkins-section__item a:after { + box-shadow: 0 0 0 0.66rem transparent; +} +.jenkins-section__item a:focus-visible { + outline: none; +} +.jenkins-section__item a:not(:disabled):focus-visible:before, +.jenkins-section__item a:not(:disabled):hover:before { + background-color: var(--item-background--hover); +} +.jenkins-section__item a:not(:disabled):active { + outline: none !important; + z-index: 1; +} +.jenkins-section__item a:not(:disabled):active:before { + background-color: var(--item-background--active); +} +.jenkins-section__item a:not(:disabled):active:after { + box-shadow: 0 0 0 0.33rem var(--item-box-shadow--focus); +} +.jenkins-section__item a:not(:disabled):focus-visible:after { + box-shadow: 0 0 0 0.2rem var(--text-color) !important; + opacity: 1 !important; +} +.jenkins-section__item a:after, +.jenkins-section__item a:before { + inset: -0.65rem; +} +.jenkins-section__item a dl { + margin: 0; + min-height: 48px; + padding: 0; +} +.jenkins-section__item a .jenkins-section__item__icon { + align-items: center; + color: var(--text-color); + display: flex; + flex-shrink: 0; + height: 3rem; + justify-content: center; + margin: 0 1rem 0 0; + position: relative; + width: 3rem; +} +.jenkins-section__item a .jenkins-section__item__icon:before { + background: var(--item-background--active); + border-radius: 100%; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; +} +.jenkins-section__item a .jenkins-section__item__icon img, +.jenkins-section__item a .jenkins-section__item__icon svg { + color: currentColor; + height: 50% !important; + position: relative; + width: 50% !important; +} +.jenkins-section__item a .jenkins-section__item__icon__badge { + position: absolute; + right: -4px; + top: -4px; +} +.jenkins-section__item a dt { + color: var(--text-color); + font-size: 0.9375rem; + font-weight: 500; + margin: 0.1rem 0 0.2rem; +} +.jenkins-section__item a dd { + color: var(--text-color-secondary); + font-size: 0.9375rem; + font-weight: 450; + line-height: 1.6; + margin: 0 0.66rem 0 0; +} +#tasks, +.subtasks { + display: flex; + flex-direction: column; + gap: 0.125rem; + margin: var(--section-padding); +} +@media (min-width: 900px) { + #tasks, + .subtasks { + margin-right: 0.7rem; + } +} +.subtasks { + margin-bottom: 0; + margin-top: 5px; +} +.subtasks:empty { + display: none; +} +#side-panel .jenkins-app-bar { + margin-left: var(--section-padding); + margin-right: var(--section-padding); + margin-top: var(--section-padding); +} +#side-panel > #tasks > .jenkins-search-container { + margin-bottom: calc(var(--section-padding) / 2); + margin-left: -0.7rem; + margin-right: -0.7rem; +} +#side-panel > #tasks > .jenkins-search-container .jenkins-search__icon { + aspect-ratio: unset; + width: 2.8rem; +} +#side-panel > #tasks > .jenkins-search-container .jenkins-search__input { + padding-left: 2.8rem; +} +#side-panel .jenkins-search__results-container--visible .task-link { + opacity: 0.3; +} +#tasks .task { + margin: 0 -0.7rem; +} +#tasks .task .task-link { + align-items: center; + background: transparent; + border: none; + border-radius: 0.66rem; + color: var(--text-color) !important; + cursor: pointer; + display: flex; + font-size: 0.875rem; + font-weight: 450 !important; + gap: 0.65rem; + justify-content: flex-start; + margin: 0; + outline: none; + padding: 0.55rem 0.7rem; + position: relative; + text-decoration: none !important; + text-decoration: none; + transition: opacity var(--standard-transition); + width: 100%; + z-index: 0; +} +#tasks .task .task-link:after, +#tasks .task .task-link:before { + border-radius: inherit; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +#tasks .task .task-link:before { + background-color: transparent; +} +#tasks .task .task-link:after { + box-shadow: 0 0 0 0.66rem transparent; +} +#tasks .task .task-link:focus-visible { + outline: none; +} +#tasks .task .task-link:not(:disabled):focus-visible:before, +#tasks .task .task-link:not(:disabled):hover:before { + background-color: var(--item-background--hover); +} +#tasks .task .task-link:not(:disabled):active { + outline: none !important; + z-index: 1; +} +#tasks .task .task-link:not(:disabled):active:before { + background-color: var(--item-background--active); +} +#tasks .task .task-link:not(:disabled):active:after { + box-shadow: 0 0 0 0.33rem var(--item-box-shadow--focus); +} +#tasks .task .task-link:not(:disabled):focus-visible:after { + box-shadow: 0 0 0 0.2rem var(--text-color) !important; + opacity: 1 !important; +} +#tasks .task .task-link .task-icon-link { + display: inline-flex; +} +#tasks .task .task-link .task-icon-link img, +#tasks .task .task-link .task-icon-link svg { + color: var(--text-color); + height: 1.375rem !important; + width: 1.375rem !important; +} +#tasks .task .task-link .task-icon-link img *, +#tasks .task .task-link .task-icon-link svg * { + transition: stroke-width var(--standard-transition); +} +#tasks .task .task-link .task-icon-badge { + margin-left: auto; +} +#tasks .task .task-link .task-link-text { + display: contents; + word-break: break-word; +} +#tasks .task .task-link--active { + cursor: default; + font-weight: 500 !important; +} +#tasks .task .task-link--active svg * { + stroke-width: 35px; +} +#tasks .task .task-link--active:before { + background-color: var(--item-background--active) !important; +} +#tasks .task .task-link--active:after { + box-shadow: none !important; +} +#side-panel .pane-frame { + background: var(--card-background); + border: var(--card-border-width) solid var(--card-border-color); + border-radius: 1rem; + margin-bottom: calc(var(--section-padding) / 2); + margin-left: 10px; + overflow: hidden; +} +#side-panel .pane-header { + display: flex; + font-size: var(--font-size-sm); +} +#side-panel .pane-footer { + font-size: var(--font-size-xs); +} +#side-panel .pane-footer, +#side-panel .pane-header { + background: transparent; + color: var(--link-dark-color); + padding: 0.65rem 1rem; +} +#side-panel .pane-header-title { + display: inline-block; + flex: 1; + font-weight: 500; +} +#side-panel .pane-header-title > div { + font-weight: 400; +} +#side-panel .pane-header .collapse, +#side-panel .pane-header .expand { + align-items: center; + display: flex; + justify-content: center; + margin-left: auto; + padding-left: 0.5rem; +} +#side-panel .pane-header .collapse svg, +#side-panel .pane-header .expand svg { + height: 1rem; + width: 1rem; +} +#side-panel .pane-header-details { + font-size: var(--font-size-xs); + font-weight: 400; +} +#side-panel .pane-content { + font-size: var(--font-size-xs); +} +#side-panel .pane-content .pane { + font-size: var(--font-size-xs); + padding: 0.5rem 0.25rem; +} +#side-panel .pane-content .pane:first-child { + padding-left: 1rem; +} +#side-panel .pane-content .pane:last-child { + padding-right: 1rem; +} +#side-panel .pane-content > table { + padding: 0 1.25rem; +} +#side-panel .pane-content tbody tr:not(:first-child) { + border-top: 1px solid var(--panel-border-color); +} +#side-panel .pane-content a, +#side-panel .pane-footer a, +#side-panel .pane-header a { + font-weight: var(--link-dark-font-weight); + -webkit-text-decoration: var(--link-dark-text-decoration); + text-decoration: var(--link-dark-text-decoration); + text-decoration: underline; +} +#side-panel .pane-content a:link, +#side-panel .pane-footer a:link, +#side-panel .pane-header a:link { + color: var(--link-dark-color); +} +#side-panel .pane-content a:visited, +#side-panel .pane-footer a:visited, +#side-panel .pane-header a:visited { + color: var(--link-dark-visited-color); +} +#side-panel .pane-content a:focus, +#side-panel .pane-content a:hover, +#side-panel .pane-footer a:focus, +#side-panel .pane-footer a:hover, +#side-panel .pane-header a:focus, +#side-panel .pane-header a:hover { + color: var(--link-dark-color--hover); + -webkit-text-decoration: var(--link-dark-text-decoration--hover); + text-decoration: var(--link-dark-text-decoration--hover); +} +#side-panel .pane-content a:active, +#side-panel .pane-footer a:active, +#side-panel .pane-header a:active { + color: var(--link-dark-color--active); + -webkit-text-decoration: var(--link-dark-text-decoration--active); + text-decoration: var(--link-dark-text-decoration--active); +} +#executors th.pane { + text-align: left; +} +#executors .pane-header { + align-items: center; +} +#executors .computer-caption { + display: flex; + gap: 5px; + padding: 0.5rem 1rem; +} +#executors .computer-caption > div { + align-self: end; + margin-left: auto; +} +#executors .executors-cell { + padding: 0 1rem; +} +#executors .executors-collapsed { + padding: 0 1rem 0.5rem; +} +#executors .executor-row { + align-items: center; + display: flex; + padding: 0 0 0.5rem; +} +#executors .executor-type { + margin-right: 1ch; + width: 16px; +} +#executors .executor-cell { + width: 100%; +} +#executors .executor-cell-table .pane { + margin: 0 !important; + padding: 0 !important; +} +#executors .executor-cell-table .pane > div { + margin-right: 15px; +} +#executors .executor-stop { + width: 16px; +} +.jenkins-skip-link { + background: var(--background); + border-radius: 0.66rem; + box-shadow: 0 0 0 1rem transparent, 0 0 50px -15px var(--yellow); + color: var(--text-color) !important; + left: calc(var(--section-padding) - 0.9rem); + opacity: 0; + outline: none; + padding: 0.6rem 0.9rem; + pointer-events: none; + position: fixed; + scale: 80%; + text-decoration: none !important; + top: calc(var(--section-padding) - 0.6rem); + transition: var(--elastic-transition), + box-shadow var(--standard-transition) 0.1s; + z-index: 2000; +} +.jenkins-skip-link:before { + background: var(--yellow); + border-radius: inherit; + content: ""; + inset: 0; + opacity: 0.05; + position: absolute; + transition: inherit; +} +.jenkins-skip-link:hover:before { + opacity: 0.1; +} +.jenkins-skip-link:active:before { + opacity: 0.2; +} +.jenkins-skip-link:focus-visible { + box-shadow: 0 0 0 0.2rem var(--yellow), 0 0 50px -15px var(--yellow); + opacity: 1; + pointer-events: unset; + scale: 100%; + text-decoration: none !important; +} +.jenkins-spinner { + align-items: center; + display: inline-flex; + font-size: 0.875rem; + font-weight: 500; + margin: 0; + position: relative; +} +.jenkins-spinner:after, +.jenkins-spinner:before { + border: 0.125lh solid; + border-radius: 100%; + content: ""; + display: inline-block; + height: 0.9lh; + width: 0.9lh; +} +.jenkins-spinner:before { + margin-right: 0.5lh; + opacity: 0.2; + position: relative; +} +.jenkins-spinner:after { + animation: loading-spinner 1s linear infinite; + clip-path: inset(0 0 50% 50%); + left: 0; + position: absolute; + top: 50%; + translate: 0 -0.45lh; +} +@media (prefers-reduced-motion) { + .jenkins-spinner:after { + animation-duration: 2s; + } +} +.jenkins-spinner:empty:before { + margin-right: 0; +} +@keyframes loading-spinner { + to { + transform: rotate(1turn); + } +} +.behavior-loading { + align-items: center; + -webkit-backdrop-filter: blur(15px); + backdrop-filter: blur(15px); + display: flex !important; + inset: 0; + justify-content: center; + position: fixed; + transition: var(--standard-transition); + z-index: 999; +} +.behavior-loading:before { + background: var(--background); + content: ""; + inset: 0; + opacity: 0.95; + position: absolute; +} +.behavior-loading .jenkins-spinner { + animation: fade-in-jenkins-spinner 0.4s ease; +} +.behavior-loading--hidden { + opacity: 0; + pointer-events: none; + visibility: collapse; +} +.behavior-loading--hidden .fade-in-jenkins-spinner { + opacity: 0.5; + transform: scale(0.75); +} +@keyframes fade-in-jenkins-spinner { + 0% { + opacity: 0.5; + transform: scale(0.75); + } +} +.jenkins-table { + --table-padding: 0.55rem; + background: var(--table-background); + background-clip: padding-box; + border: solid var(--table-background); + border-radius: calc(var(--table-border-radius) + 4px); + border-spacing: 0 2px; + border-width: 4px 4px 2px; + margin-bottom: var(--section-padding); + position: relative; + width: 100%; +} +@supports not (-moz-appearance: none) { + .jenkins-table:before { + border: var(--card-border-width) solid var(--table-border-color); + border-radius: inherit; + content: ""; + inset: -4px -4px -2px; + pointer-events: none; + position: absolute; + } +} +.jenkins-table * { + -webkit-border-horizontal-spacing: 0; + -webkit-border-vertical-spacing: 0; +} +.jenkins-table > thead > tr > th { + color: var(--table-header-foreground); + font-size: 0.875rem; + font-weight: 500; + padding-bottom: calc(var(--table-padding) * 0.9 + 2px); + padding-left: 1.6rem; + padding-top: calc(var(--table-padding) * 0.9); + text-align: left; +} +.jenkins-table > thead > tr > th[align="center"] { + text-align: center; +} +.jenkins-table > thead > tr > th[align="right"] { + text-align: right; +} +.jenkins-table > thead > tr > th:first-of-type { + padding-left: calc(var(--table-padding) * 2); +} +.jenkins-table > thead > tr > th:last-of-type { + padding-right: var(--table-padding); +} +.jenkins-table > thead > tr > th a { + color: var(--table-header-foreground); + font-weight: 700; +} +.jenkins-table > thead > tr > th a span.sortarrow { + width: 24px; +} +.jenkins-table > thead > tr > th svg { + height: 0.8rem; + vertical-align: middle; + width: 0.8rem; +} +.jenkins-table > tbody > tr { + color: var(--table-body-foreground); +} +.jenkins-table > tbody > tr > td { + background: var(--table-body-background); + height: 3rem; + padding: var(--table-padding) 0 var(--table-padding) 1.6rem; + vertical-align: middle; +} +.jenkins-table > tbody > tr > td:first-of-type { + padding-left: calc(var(--table-padding) * 2); +} +.jenkins-table > tbody > tr > td:last-of-type { + padding-right: var(--table-padding); +} +.jenkins-table > tbody > tr > td:first-of-type { + border-bottom-left-radius: var(--table-row-border-radius); + border-top-left-radius: var(--table-row-border-radius); +} +.jenkins-table > tbody > tr > td:last-of-type { + border-bottom-right-radius: var(--table-row-border-radius); + border-top-right-radius: var(--table-row-border-radius); +} +.jenkins-table > tbody > tr:first-of-type > td:first-of-type { + border-top-left-radius: var(--table-border-radius); +} +.jenkins-table > tbody > tr:first-of-type > td:last-of-type { + border-top-right-radius: var(--table-border-radius); +} +.jenkins-table > tbody > tr:last-of-type > td:first-of-type { + border-bottom-left-radius: var(--table-border-radius); +} +.jenkins-table > tbody > tr:last-of-type > td:last-of-type { + border-bottom-right-radius: var(--table-border-radius); +} +.jenkins-table__cell__button-wrapper { + align-items: center; + display: flex; + justify-content: center; +} +.jenkins-table__cell--tight { + padding-left: 0 !important; + text-align: right !important; + white-space: nowrap; + width: 4rem; +} +.jenkins-table__cell--checkbox { + padding: calc(var(--table-padding) * 2) !important; + vertical-align: top !important; + width: calc(var(--table-padding) * 2 + 22px); +} +.jenkins-table__cell--no-wrap { + white-space: nowrap; +} +.jenkins-table .sortheader, +.jenkins-table__button, +.jenkins-table__link { + display: inline-flex; +} +.jenkins-table__link .jenkins-menu-dropdown-chevron { + top: 0; +} +.jenkins-table .jenkins-button { + margin: -10px 0; + min-height: 1.75rem; + padding: 0.5rem 0.75rem; +} +.jenkins-table .jenkins-button svg, +.jenkins-table__button .build-status-icon__wrapper, +.jenkins-table__button img, +.jenkins-table__button svg, +.jenkins-table__icon .build-status-icon__wrapper, +.jenkins-table__icon img, +.jenkins-table__icon svg { + height: 1.5rem !important; + width: 1.5rem !important; +} +.jenkins-table--medium { + --table-padding: 0.4rem !important; +} +.jenkins-table--medium tbody > tr > td { + height: 40px; +} +.jenkins-table--medium .jenkins-table__button .build-status-icon__wrapper, +.jenkins-table--medium .jenkins-table__button img, +.jenkins-table--medium .jenkins-table__button svg, +.jenkins-table--medium .jenkins-table__icon .build-status-icon__wrapper, +.jenkins-table--medium .jenkins-table__icon img, +.jenkins-table--medium .jenkins-table__icon svg, +.jenkins-table--medium .jenkins-table__link .build-status-icon__wrapper, +.jenkins-table--medium .jenkins-table__link img, +.jenkins-table--medium .jenkins-table__link svg { + height: 1.3rem !important; + width: 1.3rem !important; +} +.jenkins-table--medium .jenkins-button { + padding: 0.4rem 0.6rem; +} +.jenkins-table--medium .jenkins-button svg { + height: 1.3rem !important; + width: 1.3rem !important; +} +.jenkins-table--auto-width { + width: auto !important; +} +.jenkins-table--small { + --table-padding: 0.2rem; +} +.jenkins-table--small tbody > tr > td { + height: 34px; +} +.jenkins-table--small .jenkins-table__button .build-status-icon__wrapper, +.jenkins-table--small .jenkins-table__button img, +.jenkins-table--small .jenkins-table__button svg, +.jenkins-table--small .jenkins-table__icon .build-status-icon__wrapper, +.jenkins-table--small .jenkins-table__icon img, +.jenkins-table--small .jenkins-table__icon svg, +.jenkins-table--small .jenkins-table__link .build-status-icon__wrapper, +.jenkins-table--small .jenkins-table__link img, +.jenkins-table--small .jenkins-table__link svg { + height: 1rem !important; + width: 1rem !important; +} +.jenkins-table--small .jenkins-button { + padding: 0.3rem 0.5rem; +} +.jenkins-table--small .jenkins-button svg { + height: 1rem !important; + width: 1rem !important; +} +.jenkins-table__button, +.jenkins-table__link { + color: var(--link-color); +} +.jenkins-table .sortheader, +.jenkins-table__button, +.jenkins-table__link { + align-items: center; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background: transparent; + border: none; + border-radius: 0.66rem; + color: inherit; + cursor: pointer; + font-size: inherit; + font-weight: inherit; + justify-content: center; + line-height: 1 !important; + margin: 0; + outline: none; + padding: 0; + position: relative; + text-decoration: none !important; + transition: var(--standard-transition); + z-index: 0; +} +.jenkins-table .sortheader:after, +.jenkins-table .sortheader:before, +.jenkins-table__button:after, +.jenkins-table__button:before, +.jenkins-table__link:after, +.jenkins-table__link:before { + border-radius: inherit; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +.jenkins-table .sortheader:before, +.jenkins-table__button:before, +.jenkins-table__link:before { + background-color: transparent; +} +.jenkins-table .sortheader:after, +.jenkins-table__button:after, +.jenkins-table__link:after { + box-shadow: 0 0 0 0.66rem transparent; +} +.jenkins-table .sortheader:focus-visible, +.jenkins-table__button:focus-visible, +.jenkins-table__link:focus-visible { + outline: none; +} +.jenkins-table .sortheader:not(:disabled):focus-visible:before, +.jenkins-table .sortheader:not(:disabled):hover:before, +.jenkins-table__button:not(:disabled):focus-visible:before, +.jenkins-table__button:not(:disabled):hover:before, +.jenkins-table__link:not(:disabled):focus-visible:before, +.jenkins-table__link:not(:disabled):hover:before { + background-color: var(--item-background--hover); +} +.jenkins-table .sortheader:not(:disabled):active, +.jenkins-table__button:not(:disabled):active, +.jenkins-table__link:not(:disabled):active { + outline: none !important; + z-index: 1; +} +.jenkins-table .sortheader:not(:disabled):active:before, +.jenkins-table__button:not(:disabled):active:before, +.jenkins-table__link:not(:disabled):active:before { + background-color: var(--item-background--active); +} +.jenkins-table .sortheader:not(:disabled):active:after, +.jenkins-table__button:not(:disabled):active:after, +.jenkins-table__link:not(:disabled):active:after { + box-shadow: 0 0 0 0.33rem var(--item-box-shadow--focus); +} +.jenkins-table .sortheader:not(:disabled):focus-visible:after, +.jenkins-table__button:not(:disabled):focus-visible:after, +.jenkins-table__link:not(:disabled):focus-visible:after { + box-shadow: 0 0 0 0.2rem var(--text-color) !important; + opacity: 1 !important; +} +.jenkins-table .sortheader:after, +.jenkins-table .sortheader:before, +.jenkins-table__button:after, +.jenkins-table__button:before, +.jenkins-table__link:after, +.jenkins-table__link:before { + border-radius: 6px; + inset: -7px -10px; +} +.jenkins-table__badge { + margin-left: 1rem !important; +} +.jenkins-table__badge:before { + background: currentColor; + border-radius: 13px; + inset: -5px -8px; + opacity: 0.05; +} +.jenkins-table__badge:after { + box-shadow: 0 0 0 10px currentColor; + inset: -5px -8px; + opacity: 0; +} +.jenkins-table__badge:active:before, +.jenkins-table__badge:focus:before, +.jenkins-table__badge:hover:before { + background: currentColor; + border-radius: 6px; +} +.jenkins-table__badge:active:after, +.jenkins-table__badge:focus:after { + box-shadow: 0 0 0 5px currentColor; + opacity: 0.025; +} +.tabBar, +.tabBarFrame { + position: relative; +} +.tabBar { + align-items: center; + background: var(--tabs-background); + border-radius: var(--tabs-border-radius); + display: inline-flex; + flex-wrap: wrap; + margin-bottom: var(--section-padding); + padding: 2px; +} +.tabBar:before { + border: var(--card-border-width) solid var(--tabs-border-color); + border-radius: inherit; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; +} +.tabBar .tab { + float: left; +} +.tabBar .tab a { + align-items: center; + background: var(--tabs-item-background); + border-radius: 100px; + color: var(--tabs-item-foreground); + cursor: pointer; + display: flex; + font-size: 0.875rem; + font-weight: 500; + justify-content: center; + margin: 2px; + min-width: 3rem; + padding: 0.4rem 1.2rem; + position: relative; + text-decoration: none; + transition: var(--standard-transition); +} +.tabBar .tab a:hover { + background: var(--tabs-item-background--hover); + color: var(--tabs-item-foreground--hover); +} +.tabBar .tab a:active, +.tabBar .tab a:focus { + background: var(--tabs-item-background--active); + color: var(--tabs-item-foreground--active); + outline: none; +} +.tabBar .tab .addTab svg { + height: 1.25rem; + width: 1.25rem; +} +.tabBar .tab [type="radio"] { + display: none; +} +.tabBar .tab.active a { + background: var(--tabs-item-background--selected); + color: var(--tabs-item-foreground--selected); + cursor: default; + z-index: 2; +} +.tabBarBaseline { + border-top: var(--tab-baseline-width) solid var(--tab-baseline-color); + bottom: 0; + display: var(--tab-baseline-default-display, none); + position: absolute; + width: 100%; + z-index: 1; +} +.tabBarFrame.showBaseline .tabBarBaseline { + display: block; +} +.jenkins-tab-pane__title { + font-size: 1.6rem; + margin: 2.2rem 0 1.4rem; + padding: 0; +} +.tippy-box[data-theme~="tooltip"] { + -webkit-backdrop-filter: var(--tooltip-backdrop-filter); + backdrop-filter: var(--tooltip-backdrop-filter); + background: color-mix(in sRGB, var(--background) 85%, transparent); + border-radius: 0.66rem; + box-shadow: var(--tooltip-box-shadow); + color: var(--tooltip-color); + font-size: 0.75rem; + font-weight: 500; + line-height: 1.6; + max-width: min(50vw, 1000px) !important; + padding: 0.45rem 0.8rem; + white-space: pre-line; + z-index: 0; +} +.tippy-box[data-theme~="tooltip"] .tippy-content { + padding: 0; +} +.tippy-box[data-theme~="tooltip"] .jenkins-tooltip--table-wrapper { + background-color: rgba(0, 0, 0, 0.05); + border-radius: 0.6rem; + margin: -0.45rem -0.8rem; +} +.tippy-box[data-theme~="tooltip"] .jenkins-table { + --table-background: transparent; + --table-border-radius: 8px; + margin: 0; + width: 450px; +} +.tippy-box[data-theme~="tooltip"] .jenkins-keyboard-shortcut:after { + animation: shortcut-glow-animation 1.25s linear forwards; + border: 0.1rem solid var(--text-color-secondary); + border-radius: 0.375rem; + content: ""; + inset: 0; + -webkit-mask-image: linear-gradient( + -45deg, + transparent 40%, + #fff, + transparent 60% + ); + mask-image: linear-gradient(-45deg, transparent 40%, #fff, transparent 60%); + -webkit-mask-size: 200% 200%; + mask-size: 200% 200%; + opacity: 0.3; + position: absolute; +} +@keyframes shortcut-glow-animation { + 0% { + -webkit-mask-position: 100% 100%; + mask-position: 100% 100%; + opacity: 0; + } + 50% { + opacity: 1; + } + to { + -webkit-mask-position: 0; + mask-position: 0; + opacity: 0; + } +} +.tippy-box[data-animation="tooltip"][data-state="hidden"] { + opacity: 0; + transform: scale(0.995); +} +.tippy-box[data-animation="tooltip"][data-state="hidden"][data-placement^="top"] { + transform: translateY(2px) scale(0.995); + transform-origin: bottom; +} +.tippy-box[data-animation="tooltip"][data-state="hidden"][data-placement^="bottom"] { + transform: translateY(-2px) scale(0.995); + transform-origin: top; +} +.jenkins-table .healthReportDetails { + display: none !important; +} +.jenkins-keyboard-shortcut { + align-items: center; + display: inline-flex; + justify-content: center; + min-height: 1.7em; + min-width: 1.7em; + padding-inline: 0.55ch; + position: relative; +} +.jenkins-keyboard-shortcut:before { + border: 0.1rem solid var(--text-color-secondary); + border-radius: 0.375rem; + content: ""; + inset: 0; + opacity: 0.3; + position: absolute; +} +.jenkins-keyboard-shortcut svg { + height: 1em; + width: 1em; +} +.jenkins-keyboard-shortcut__tooltip { + align-items: center; + display: inline-flex; + gap: 0.6ch; + justify-content: center; + position: relative; +} +.jenkins-checkbox-help-wrapper { + align-items: center; + display: flex; + justify-content: flex-start; +} +.jenkins-checkbox + a.jenkins-help-button { + vertical-align: top; +} +.jenkins-checkbox { + display: inline-flex; + position: relative; +} +.jenkins-checkbox input { + height: 1px; + margin: 0; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; + clip: rect(0 0 0 0); + clip-path: inset(50%); +} +.jenkins-checkbox input:not(:disabled):active + label:before, +.jenkins-checkbox input:not(:disabled):focus + label:before { + box-shadow: 0 0 0 5px var(--focus-input-glow), + inset 0 0 0 5px var(--focus-input-border); +} +.jenkins-checkbox input:checked + label:active:before, +.jenkins-checkbox input:checked + label:focus:before, +.jenkins-checkbox input:checked:active + label:before, +.jenkins-checkbox input:checked:focus + label:before, +.jenkins-checkbox input:not(:disabled):checked:active + label:before, +.jenkins-checkbox input:not(:disabled):checked:focus + label:before { + box-shadow: 0 0 0 5px var(--focus-input-glow), + inset 0 0 0 12px var(--focus-input-border); +} +.jenkins-checkbox input:checked + label:before { + box-shadow: 0 0 0 10px transparent, inset 0 0 0 12px var(--focus-input-border); +} +.jenkins-checkbox input:checked + label:after { + transform: scale(1); +} +.jenkins-checkbox input:disabled + label { + cursor: not-allowed; +} +.jenkins-checkbox input:disabled + label:before { + box-shadow: 0 0 0 10px transparent, inset 0 0 0 2px var(--input-border) !important; + opacity: 0.35 !important; +} +.jenkins-checkbox input:disabled:checked + label:before { + box-shadow: 0 0 0 10px transparent, inset 0 0 0 12px var(--focus-input-border) !important; +} +.jenkins-checkbox input:disabled:checked + label:after { + transform: scale(1) !important; +} +.jenkins-checkbox label { + align-items: flex-start; + cursor: pointer; + display: inline-flex; + font-weight: var(--form-label-font-weight); + justify-content: flex-start; + line-height: 22px; + margin: 0; + position: relative; +} +.jenkins-checkbox label:before { + background: var(--input-color); + border-radius: 6px; + box-shadow: 0 0 0 10px transparent, inset 0 0 0 2px var(--input-border); + content: ""; + display: inline-block; + margin-right: 11px; + min-height: 22px; + min-width: 22px; + position: relative; + transition: var(--standard-transition); +} +.jenkins-checkbox label:after { + align-items: center; + background: var(--background); + content: ""; + display: flex; + height: 22px; + justify-content: center; + left: 0; + -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='UTF-8'?%3e%3csvg width='384px' height='320px' viewBox='0 0 384 320' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePath%3c/title%3e%3cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3e%3cpath d='M327.917546,10.9278525 C339.555371,-2.37251966 359.771775,-3.72027991 373.072147,7.91754577 C386.239516,19.4389932 387.692129,39.368305 376.427694,52.671077 L376.082454,53.0721475 L152.082454,309.072147 C140.014868,322.863675 118.889432,323.700972 105.767743,311.015951 L105.372583,310.627417 L9.372583,214.627417 C-3.12419433,202.13064 -3.12419433,181.86936 9.372583,169.372583 C21.7443926,157.000773 41.7261905,156.877055 54.2501999,169.001429 L54.627417,169.372583 L126.441,241.186 L327.917546,10.9278525 Z' id='Path' fill='%23FF0000' fill-rule='nonzero'%3e%3c/path%3e%3c/g%3e%3c/svg%3e"); + mask-image: url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='UTF-8'?%3e%3csvg width='384px' height='320px' viewBox='0 0 384 320' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePath%3c/title%3e%3cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3e%3cpath d='M327.917546,10.9278525 C339.555371,-2.37251966 359.771775,-3.72027991 373.072147,7.91754577 C386.239516,19.4389932 387.692129,39.368305 376.427694,52.671077 L376.082454,53.0721475 L152.082454,309.072147 C140.014868,322.863675 118.889432,323.700972 105.767743,311.015951 L105.372583,310.627417 L9.372583,214.627417 C-3.12419433,202.13064 -3.12419433,181.86936 9.372583,169.372583 C21.7443926,157.000773 41.7261905,156.877055 54.2501999,169.001429 L54.627417,169.372583 L126.441,241.186 L327.917546,10.9278525 Z' id='Path' fill='%23FF0000' fill-rule='nonzero'%3e%3c/path%3e%3c/g%3e%3c/svg%3e"); + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: 10px 10px; + mask-size: 10px 10px; + position: absolute; + top: 0; + transform: scale(0); + transition: var(--elastic-transition); + width: 22px; +} +.jenkins-checkbox label:empty:before { + margin-right: 0; +} +.jenkins-checkbox label:hover:before { + box-shadow: 0 0 0 10px transparent, inset 0 0 0 5px var(--input-border-hover); +} +.jenkins-checkbox label:active:before, +.jenkins-checkbox label:focus:before { + box-shadow: 0 0 0 5px var(--focus-input-glow), + inset 0 0 0 5px var(--focus-input-border); +} +.jenkins-checkbox__description { + color: var(--text-color-secondary); + line-height: 1.66; + margin-left: 34px; +} +.CodeMirror { + background: var(--input-color); + border: 2px solid var(--input-border); + border-radius: var(--form-input-border-radius); + box-shadow: var(--form-input-glow); + cursor: text; + display: block; + margin-bottom: var(--section-padding); + transition: var(--standard-transition), height 0s; + width: 100%; +} +.CodeMirror pre { + font-family: var(--font-family-mono) !important; + font-weight: 500 !important; + line-height: 1.66 !important; +} +.CodeMirror:hover { + border-color: var(--input-border-hover); +} +.CodeMirror:active, +.CodeMirror:focus-within { + border-color: var(--focus-input-border); + box-shadow: var(--form-input-glow--focus); + outline: none; +} +.CodeMirror textarea { + background: transparent; + border: none; + outline: none; +} +.CodeMirror .cm-variable { + color: var(--text-color) !important; +} +.CodeMirror .CodeMirror-selected { + background-color: var(--selection-color) !important; +} +.CodeMirror .CodeMirror-lines { + padding: var(--form-input-padding); +} +.CodeMirror .CodeMirror-gutter-text { + color: var(--text-color-secondary); + padding: var(--form-input-padding) calc(var(--form-input-padding) * 0.5) + var(--form-input-padding) var(--form-input-padding); +} +.jenkins-codemirror-resizer { + background: currentColor; + cursor: ns-resize; + height: 10px; + margin: calc(-2rem - 11px) 3px 2rem auto; + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='20px' height='20px' viewBox='0 0 20 20' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cline x1='19' y1='12' x2='12' y2='19' id='Path' stroke='%23979797' stroke-width='2'%3E%3C/line%3E%3Cline x1='1' y1='18' x2='17.9705627' y2='1.02943725' id='Path-2' stroke='%23979797' stroke-width='2'%3E%3C/line%3E%3C/g%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='20px' height='20px' viewBox='0 0 20 20' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cline x1='19' y1='12' x2='12' y2='19' id='Path' stroke='%23979797' stroke-width='2'%3E%3C/line%3E%3Cline x1='1' y1='18' x2='17.9705627' y2='1.02943725' id='Path-2' stroke='%23979797' stroke-width='2'%3E%3C/line%3E%3C/g%3E%3C/svg%3E"); + -webkit-mask-position: 3px 3px; + mask-position: 3px 3px; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: 7px 7px; + mask-size: 7px 7px; + opacity: 0.75; + position: relative; + width: 10px; + z-index: 10; +} +.jenkins-file-upload { + background: transparent; + margin: -10px 0 0 -10px; + outline: none; + padding: 10px 0 10px 10px; + position: relative; + width: 100%; +} +.jenkins-file-upload:before { + background: currentColor; + content: ""; + display: block; + height: 36px; + left: calc(10px + 0.9rem); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M320 367.79h76c55 0 100-29.21 100-83.6s-53-81.47-96-83.6c-8.89-85.06-71-136.8-144-136.8-69 0-113.44 45.79-128 91.2-60 5.7-112 43.88-112 106.4s54 106.4 120 106.4h56' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='40'/%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='40' d='M320 255.79l-64-64-64 64M256 448.21V207.79'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M320 367.79h76c55 0 100-29.21 100-83.6s-53-81.47-96-83.6c-8.89-85.06-71-136.8-144-136.8-69 0-113.44 45.79-128 91.2-60 5.7-112 43.88-112 106.4s54 106.4 120 106.4h56' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='40'/%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='40' d='M320 255.79l-64-64-64 64M256 448.21V207.79'/%3E%3C/svg%3E"); + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + pointer-events: none; + position: absolute; + width: 1rem; +} +.jenkins-file-upload::file-selector-button { + align-items: center; + background: var(--button-background); + border: none; + border-radius: 0.66rem; + box-shadow: 0 0 0 10px transparent; + color: var(--text-color); + cursor: pointer; + display: inline-flex; + font-size: 0.8rem; + font-weight: 500; + justify-content: center; + margin: 0 1rem 0 0; + min-height: 36px; + outline: none; + padding: 0.5rem 0.85rem 0.5rem 2.5rem; + transition: var(--standard-transition); + white-space: nowrap; +} +@supports (-moz-appearance: none) { + .jenkins-file-upload::file-selector-button { + padding: 0.5rem 0.85rem; + } +} +.jenkins-file-upload::file-selector-button:hover { + background: var(--button-background--hover); +} +.jenkins-file-upload::file-selector-button:active { + background: var(--button-background--active); + box-shadow: 0 0 0 5px var(--button-box-shadow--focus); +} +.jenkins-file-upload:focus-visible::file-selector-button { + box-shadow: 0 0 0 0.2rem var(--text-color) !important; +} +.jenkins-input { + background: var(--input-color); + border: 2px solid var(--input-border); + border-radius: var(--form-input-border-radius); + box-shadow: var(--form-input-glow); + display: block; + padding: var(--form-input-padding); + transition: all var(--standard-transition), height 0s, padding 0s; + width: 100%; +} +.jenkins-input:hover { + border-color: var(--input-border-hover); +} +.jenkins-input:active, +.jenkins-input:focus { + border-color: var(--focus-input-border); + box-shadow: var(--form-input-glow--focus); + outline: none; +} +input, +select, +textarea { + background-color: var(--input-color); + color: var(--text-color); + font-family: inherit; +} +.jenkins-form { + max-width: var(--form-item-max-width); +} +.jenkins-fieldset { + border: none; + margin: 0; + padding: 0; +} +.jenkins-fieldset .jenkins-form-item:last-of-type { + margin-bottom: 0; +} +.jenkins-form-item { + margin-bottom: var(--section-padding); + max-width: var(--form-item-max-width); +} +.jenkins-form-item:after { + clear: both; + content: " "; + display: block; + height: 0; + visibility: hidden; +} +.jenkins-form-item--tight + .jenkins-form-item--tight { + margin-top: -0.9rem; +} +.jenkins-form-item--small { + max-width: var(--form-item-max-width--small); +} +.jenkins-form-item--medium { + max-width: var(--form-item-max-width--medium); +} +.jenkins-form-label { + align-items: center; + display: flex; + font-weight: var(--form-label-font-weight); + margin-bottom: 0.5rem; + margin-top: 0; + padding-inline: 0; +} +.jenkins-form-description { + color: var(--text-color-secondary); + display: block; + line-height: 1.66; + margin: -0.2rem 0 0.5rem; +} +.jenkins-quote { + display: flex; + line-height: 38px; + position: relative; +} +.jenkins-quote:before { + background: var(--input-border); + border-radius: 2px; + content: ""; + margin-right: 1rem; + position: relative; + width: 2px; +} +.jenkins-quote--monospace { + font-family: var(--font-family-mono); +} +.jenkins-help-button { + align-items: center; + border-radius: 100%; + color: var(--text-color) !important; + display: inline-flex; + justify-content: center; + margin-left: 1ch; + position: relative; +} +.jenkins-help-button span { + background: var(--text-color); + color: transparent; + display: inline-block; + height: 20px; + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='262px' height='482px' viewBox='0 0 262 482' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M69.9217381,109.622622 L69.9347383,109.509526 L69.9838606,109.158807 L70.0463523,108.766768 C70.2927563,107.286617 70.7336,105.509397 71.3554148,103.600821 C73.4488365,97.1753443 76.974163,91.0239622 81.9750299,85.3670497 C84.5508811,82.453282 87.4853512,79.7201177 90.8001215,77.1662697 C100.73686,69.5111158 114.003751,65.6584363 131.476234,65.4354882 C133.731084,65.4096204 135.996257,65.4453704 138.232058,65.5407008 L139.478148,65.6000218 C140.992957,65.679511 142.536904,65.7906863 144.04662,65.9294921 L145.210323,66.0424992 C145.886163,66.1116384 146.60564,66.1925244 147.313561,66.2795642 L148.414194,66.420922 L149.377674,66.5545415 L150.375686,66.7050246 L151.398071,66.8714663 L152.049055,66.9841252 L152.731845,67.1083183 L153.642724,67.2845248 L154.549432,67.4714994 C155.036905,67.5756456 155.574038,67.6978797 156.090422,67.8232778 L156.917997,68.0311744 C158.666031,68.484436 160.136789,68.9816723 161.141416,69.4394425 C170.146558,73.5618171 177.044937,78.1235016 182.224862,83.4639805 C188.857993,90.3027083 191.999176,97.8308192 191.999176,107.499034 C191.999176,119.466025 188.796962,127.918279 181.370643,136.250976 C181.093904,136.561492 180.816698,136.867422 180.538309,137.169526 L180.089688,137.652102 L179.736214,138.026258 L179.002023,138.784568 L178.579132,139.213445 L178.134441,139.655368 L177.707007,140.071619 L177.021999,140.726828 L176.298991,141.400731 L175.788688,141.867317 L175.318979,142.286805 L174.54297,142.970055 L173.990783,143.446079 L173.448394,143.905722 L172.625948,144.588916 L171.799887,145.262466 L170.811596,146.050172 L169.864089,146.789794 L169.222049,147.28309 L168.549302,147.793886 L167.493519,148.583956 L166.782836,149.108414 L165.65246,149.931951 L164.484527,150.770371 L163.266904,151.632649 L161.555386,152.827104 L160.682666,153.429152 L159.298283,154.375903 L157.864408,155.346877 L155.333592,157.040637 L153.750968,158.088827 L151.524574,159.551762 L148.580787,161.468911 L144.800696,163.908618 C105.775292,188.991858 87.997951,218.376069 87.997951,257.047472 L87.997951,283.286279 L88.0016284,283.748414 C88.3121212,301.66652 103.883328,316 122.998363,316 C142.328557,316 157.998775,301.353568 157.998775,283.286279 L157.998775,257.047472 L158.001383,256.432449 C158.064604,248.820487 159.375708,243.378146 162.208358,238.456376 C165.925109,231.998468 172.860638,225.357973 183.865352,218.206756 L186.747913,216.348707 L189.667785,214.457346 L192.470459,212.628123 L195.158954,210.857753 L197.739048,209.141153 L199.612339,207.881962 L201.424999,206.651521 L203.184757,205.444126 L204.893987,204.257626 L206.014818,203.471391 L207.63679,202.320739 L208.708154,201.551674 L209.751591,200.795045 L210.776652,200.043916 L211.783987,199.29767 L212.774236,198.555696 L213.748026,197.81739 L214.705977,197.082156 L215.983535,196.08689 L217.035512,195.253661 L217.94273,194.524595 L218.836751,193.796023 L219.718133,193.067399 L220.587422,192.33819 L221.445157,191.607874 L222.291869,190.87594 L223.128081,190.141889 L224.349696,189.048475 L225.176062,188.294328 L225.979581,187.549096 L227.15568,186.436436 L227.953672,185.666523 L228.73078,184.904536 L229.501513,184.136777 L230.633743,182.986693 L231.403964,182.189294 L232.15663,181.397931 L232.905389,180.598844 L233.650817,179.791592 L234.393505,178.975725 L235.134055,178.150785 C253.063009,158.033696 262,134.778085 262,107.499034 C262,81.4013251 252.315995,58.3143983 234.08637,39.5197386 C222.737894,27.8195118 209.350637,18.7642961 192.813373,11.0878005 L191.857565,10.6472715 C176.144833,3.48753386 154.016249,-0.255558118 130.568693,0.0135609187 C97.385459,0.43694412 69.212387,9.00946009 46.2762841,26.6791815 C39.5211589,31.8836333 33.4271839,37.5663685 28.0119541,43.6920026 C17.038175,56.105392 9.16079603,69.8997291 4.39056696,84.5413054 C2.80350137,89.4125897 1.62984552,94.1870463 0.865737279,98.781619 L0.782196688,99.2931802 L0.614828552,100.383438 L0.559658337,100.765066 L0.426811303,101.749189 L0.318522027,102.638537 L0.226704214,103.487005 L0.123646908,104.617718 L0.0652556787,105.43714 L0.0342145373,105.994277 C-0.81250758,124.122996 14.1596716,139.394013 33.4714881,140.181654 L33.9656162,140.198367 L34.5332314,140.20872 C53.0445487,140.409453 68.5022596,127.170521 69.8964399,109.989591 L69.9217381,109.622622 Z' fill='currentColor' fill-rule='nonzero'%3E%3C/path%3E%3Ccircle fill='currentColor' cx='123' cy='434' r='48'%3E%3C/circle%3E%3C/g%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='262px' height='482px' viewBox='0 0 262 482' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M69.9217381,109.622622 L69.9347383,109.509526 L69.9838606,109.158807 L70.0463523,108.766768 C70.2927563,107.286617 70.7336,105.509397 71.3554148,103.600821 C73.4488365,97.1753443 76.974163,91.0239622 81.9750299,85.3670497 C84.5508811,82.453282 87.4853512,79.7201177 90.8001215,77.1662697 C100.73686,69.5111158 114.003751,65.6584363 131.476234,65.4354882 C133.731084,65.4096204 135.996257,65.4453704 138.232058,65.5407008 L139.478148,65.6000218 C140.992957,65.679511 142.536904,65.7906863 144.04662,65.9294921 L145.210323,66.0424992 C145.886163,66.1116384 146.60564,66.1925244 147.313561,66.2795642 L148.414194,66.420922 L149.377674,66.5545415 L150.375686,66.7050246 L151.398071,66.8714663 L152.049055,66.9841252 L152.731845,67.1083183 L153.642724,67.2845248 L154.549432,67.4714994 C155.036905,67.5756456 155.574038,67.6978797 156.090422,67.8232778 L156.917997,68.0311744 C158.666031,68.484436 160.136789,68.9816723 161.141416,69.4394425 C170.146558,73.5618171 177.044937,78.1235016 182.224862,83.4639805 C188.857993,90.3027083 191.999176,97.8308192 191.999176,107.499034 C191.999176,119.466025 188.796962,127.918279 181.370643,136.250976 C181.093904,136.561492 180.816698,136.867422 180.538309,137.169526 L180.089688,137.652102 L179.736214,138.026258 L179.002023,138.784568 L178.579132,139.213445 L178.134441,139.655368 L177.707007,140.071619 L177.021999,140.726828 L176.298991,141.400731 L175.788688,141.867317 L175.318979,142.286805 L174.54297,142.970055 L173.990783,143.446079 L173.448394,143.905722 L172.625948,144.588916 L171.799887,145.262466 L170.811596,146.050172 L169.864089,146.789794 L169.222049,147.28309 L168.549302,147.793886 L167.493519,148.583956 L166.782836,149.108414 L165.65246,149.931951 L164.484527,150.770371 L163.266904,151.632649 L161.555386,152.827104 L160.682666,153.429152 L159.298283,154.375903 L157.864408,155.346877 L155.333592,157.040637 L153.750968,158.088827 L151.524574,159.551762 L148.580787,161.468911 L144.800696,163.908618 C105.775292,188.991858 87.997951,218.376069 87.997951,257.047472 L87.997951,283.286279 L88.0016284,283.748414 C88.3121212,301.66652 103.883328,316 122.998363,316 C142.328557,316 157.998775,301.353568 157.998775,283.286279 L157.998775,257.047472 L158.001383,256.432449 C158.064604,248.820487 159.375708,243.378146 162.208358,238.456376 C165.925109,231.998468 172.860638,225.357973 183.865352,218.206756 L186.747913,216.348707 L189.667785,214.457346 L192.470459,212.628123 L195.158954,210.857753 L197.739048,209.141153 L199.612339,207.881962 L201.424999,206.651521 L203.184757,205.444126 L204.893987,204.257626 L206.014818,203.471391 L207.63679,202.320739 L208.708154,201.551674 L209.751591,200.795045 L210.776652,200.043916 L211.783987,199.29767 L212.774236,198.555696 L213.748026,197.81739 L214.705977,197.082156 L215.983535,196.08689 L217.035512,195.253661 L217.94273,194.524595 L218.836751,193.796023 L219.718133,193.067399 L220.587422,192.33819 L221.445157,191.607874 L222.291869,190.87594 L223.128081,190.141889 L224.349696,189.048475 L225.176062,188.294328 L225.979581,187.549096 L227.15568,186.436436 L227.953672,185.666523 L228.73078,184.904536 L229.501513,184.136777 L230.633743,182.986693 L231.403964,182.189294 L232.15663,181.397931 L232.905389,180.598844 L233.650817,179.791592 L234.393505,178.975725 L235.134055,178.150785 C253.063009,158.033696 262,134.778085 262,107.499034 C262,81.4013251 252.315995,58.3143983 234.08637,39.5197386 C222.737894,27.8195118 209.350637,18.7642961 192.813373,11.0878005 L191.857565,10.6472715 C176.144833,3.48753386 154.016249,-0.255558118 130.568693,0.0135609187 C97.385459,0.43694412 69.212387,9.00946009 46.2762841,26.6791815 C39.5211589,31.8836333 33.4271839,37.5663685 28.0119541,43.6920026 C17.038175,56.105392 9.16079603,69.8997291 4.39056696,84.5413054 C2.80350137,89.4125897 1.62984552,94.1870463 0.865737279,98.781619 L0.782196688,99.2931802 L0.614828552,100.383438 L0.559658337,100.765066 L0.426811303,101.749189 L0.318522027,102.638537 L0.226704214,103.487005 L0.123646908,104.617718 L0.0652556787,105.43714 L0.0342145373,105.994277 C-0.81250758,124.122996 14.1596716,139.394013 33.4714881,140.181654 L33.9656162,140.198367 L34.5332314,140.20872 C53.0445487,140.409453 68.5022596,127.170521 69.8964399,109.989591 L69.9217381,109.622622 Z' fill='currentColor' fill-rule='nonzero'%3E%3C/path%3E%3Ccircle fill='currentColor' cx='123' cy='434' r='48'%3E%3C/circle%3E%3C/g%3E%3C/svg%3E"); + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: 45% 45%; + mask-size: 45% 45%; + min-height: 20px; + min-width: 20px; + width: 20px; +} +.jenkins-help-button:before { + background: var(--text-color-secondary); + border-radius: inherit; +} +.jenkins-help-button:after, +.jenkins-help-button:before { + content: ""; + inset: 0; + opacity: 0.1; + position: absolute; + transition: var(--standard-transition); +} +.jenkins-help-button:after { + border: 1px solid color-mix(in sRGB, var(--text-color-secondary), transparent); + border-radius: inherit; + box-shadow: var(--form-input-glow); +} +.jenkins-help-button:hover:before { + opacity: 0.2; +} +.jenkins-help-button:active, +.jenkins-help-button:focus { + outline: none; +} +.jenkins-help-button:active:before, +.jenkins-help-button:focus:before { + opacity: 0.3; +} +.jenkins-help-button:active:after, +.jenkins-help-button:focus:after { + box-shadow: 0 0 0 5px var(--text-color); +} +.jenkins-select-help { + position: relative; +} +.jenkins-select-help a.jenkins-help-button { + position: absolute; + right: -2rem; + top: -3.7rem; +} +.jenkins-edited-section-label { + align-items: center; + color: var(--text-color-secondary); + cursor: default; + display: inline-flex; + font-size: 0.8rem; + font-weight: 500; + gap: 0.45rem; + margin-left: 0.4rem; +} +.jenkins-edited-section-label svg { + height: 1rem; + width: 1rem; +} +.jenkins-radio-help-wrapper { + align-items: center; + display: flex; + justify-content: flex-start; +} +.jenkins-radio:not(:last-of-type) { + margin-bottom: 0.875rem; +} +.jenkins-radio__input { + margin-top: 0.625rem; + opacity: 0; + position: absolute; +} +.jenkins-radio__input:not(:checked):hover + label:before { + box-shadow: 0 0 0 0.625rem transparent, + inset 0 0 0 0.3125rem var(--input-border-hover); +} +.jenkins-radio__input:not(:checked):active + label:before, +.jenkins-radio__input:not(:checked):focus + label:before, +.jenkins-radio__input:not(:checked):focus-visible + label:before { + box-shadow: 0 0 0 0.3125rem var(--focus-input-glow), + inset 0 0 0 0.5rem var(--focus-input-border); +} +.jenkins-radio__input:checked + label { + cursor: default; +} +.jenkins-radio__input:checked + label:before { + box-shadow: 0 0 0 0.625rem transparent, + inset 0 0 0 0.4rem var(--focus-input-border); +} +.jenkins-radio__input:checked:not(:disabled):active + label:before, +.jenkins-radio__input:checked:not(:disabled):focus + label:before, +.jenkins-radio__input:checked:not(:disabled):focus-visible + label:before { + box-shadow: 0 0 0 0.3125rem var(--focus-input-glow), + inset 0 0 0 0.5rem var(--focus-input-border); +} +.jenkins-radio__input:disabled + label { + cursor: not-allowed; +} +.jenkins-radio__input:disabled + label:before { + opacity: 0.35; +} +.jenkins-radio__label { + cursor: pointer; + display: inline-block; + font-weight: var(--form-label-font-weight); + margin-bottom: 0; + padding: 0 0 0 2rem; + position: relative; + touch-action: manipulation; +} +.jenkins-radio__label:before { + background: var(--input-color); + border-radius: 50%; + box-shadow: 0 0 0 0.625rem transparent, + inset 0 0 0 0.125rem var(--input-border); + box-sizing: border-box; + content: ""; + height: 1.375rem; + left: 0; + position: absolute; + top: 0; + transition: box-shadow var(--standard-transition); + width: 1.375rem; +} +.jenkins-radio__description { + color: var(--text-color-secondary); + line-height: 1.66; + margin: 0 0 0 2rem; +} +.jenkins-radio__input:not(:checked) + + .jenkins-radio__label + + .jenkins-radio__children { + display: none; +} +.repeated-chunk { + border: 2px dashed var(--input-border); + border-radius: 10px; + margin-bottom: 1rem; + margin-top: 1rem; + padding: 1rem; + position: relative; + transition: opacity 0.2s ease-in, max-height 0.2s ease-in; +} +.repeated-chunk.fade-in, +.repeated-chunk.fade-out { + opacity: 0; +} +.repeated-chunk .show-if-last { + visibility: hidden; +} +.repeated-chunk .show-if-not-last, +.repeated-chunk.last .show-if-last { + visibility: visible; +} +.repeated-chunk.last .show-if-not-last { + visibility: hidden; +} +.repeated-chunk .show-if-not-only { + visibility: visible; +} +.repeated-chunk .repeated-chunk .show-if-last, +.repeated-chunk.first.last .show-if-not-only { + visibility: hidden; +} +.repeated-chunk .repeated-chunk .show-if-not-last, +.repeated-chunk .repeated-chunk.last .show-if-last { + visibility: visible; +} +.repeated-chunk .repeated-chunk.last .show-if-not-last { + visibility: hidden; +} +.repeated-chunk .repeated-chunk .show-if-not-only { + visibility: visible; +} +.repeated-chunk .repeated-chunk .repeated-chunk .show-if-last, +.repeated-chunk .repeated-chunk.first.last .show-if-not-only { + visibility: hidden; +} +.repeated-chunk .repeated-chunk .repeated-chunk .show-if-not-last, +.repeated-chunk .repeated-chunk .repeated-chunk.last .show-if-last { + visibility: visible; +} +.repeated-chunk .repeated-chunk .repeated-chunk.last .show-if-not-last { + visibility: hidden; +} +.repeated-chunk .repeated-chunk .repeated-chunk .show-if-not-only { + visibility: visible; +} +.repeated-chunk .repeated-chunk .repeated-chunk.first.last .show-if-not-only { + visibility: hidden; +} +div.to-be-removed { + display: none; +} +.hetero-list-container.with-drag-drop .repeated-chunk, +.repeated-container.with-drag-drop .repeated-chunk { + margin-bottom: 1rem; +} +.repeated-chunk--sortable-ghost { + height: 100px; + overflow: hidden; + width: 100%; +} +.repeated-chunk--sortable-chosen { + background-color: transparent; + border: 2px solid var(--accent-color); + height: 100px; + width: 100%; +} +.repeated-chunk--sortable-chosen > * { + display: none; +} +.repeated-chunk > div > :last-of-type { + margin-bottom: 0; +} +.repeated-chunk__header { + align-items: center; + display: flex; + font-weight: 700; + justify-content: flex-start; + margin-bottom: 0.75rem; + margin-top: -0.4rem; +} +.repeated-chunk__header .dd-handle { + cursor: move; + height: 30px; + margin-left: -6px; + margin-right: 0.75rem; + overflow: hidden; + position: relative; + width: 30px; +} +.repeated-chunk__header .dd-handle:before { + background: var(--text-color); + border-radius: var(--form-input-border-radius); + content: ""; + inset: 0; + opacity: 0; + position: absolute; + transition: var(--standard-transition); +} +.repeated-chunk__header .dd-handle:after { + background-color: var(--text-color); + content: ""; + inset: 0 4px; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EReorder Three%3C/title%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='32' d='M96 256h320M96 176h320M96 336h320'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EReorder Three%3C/title%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='32' d='M96 256h320M96 176h320M96 336h320'/%3E%3C/svg%3E"); + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + position: absolute; +} +.repeated-chunk__header .dd-handle:hover:before { + opacity: 0.1; +} +.repeated-chunk .repeatable-delete { + align-items: center; + background: transparent; + border: none; + color: var(--red); + cursor: pointer; + display: flex; + height: 28px; + justify-content: center; + margin-left: auto; + outline: none; + position: absolute; + right: 0.6rem; + top: 0.6rem; + width: 28px; + z-index: 0; +} +.repeated-chunk .repeatable-delete:before { + background: currentColor; +} +.repeated-chunk .repeatable-delete:after, +.repeated-chunk .repeatable-delete:before { + border-radius: 100px; + content: ""; + inset: 0; + opacity: 0.075; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +.repeated-chunk .repeatable-delete:after { + box-shadow: 0 0 0 10px transparent; +} +.repeated-chunk .repeatable-delete svg { + height: 18px; + width: 18px; +} +.repeated-chunk .repeatable-delete:hover:before { + opacity: 0.1; +} +.repeated-chunk .repeatable-delete:active:before, +.repeated-chunk .repeatable-delete:focus:before { + opacity: 0.15; +} +.repeated-chunk .repeatable-delete:active:after, +.repeated-chunk .repeatable-delete:focus:after { + box-shadow: 0 0 0 5px var(--red); +} +.jenkins-search, +.jenkins-search-container { + position: relative; +} +.jenkins-search { + --search-bar-height: 2.375rem; +} +.jenkins-search__input { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background: var(--item-background--hover); + border: none; + border-radius: 0.625rem; + box-shadow: 0 0 0 2px transparent, 0 0 0 12px transparent; + height: var(--search-bar-height); + line-height: 1; + margin: 0; + outline: none; + padding: 0 0.5rem 0 var(--search-bar-height); + transition: var(--standard-transition); + width: 100%; +} +.jenkins-search__input::-moz-placeholder { + color: var(--text-color-secondary); +} +.jenkins-search__input::placeholder { + color: var(--text-color-secondary); +} +.jenkins-search__input::-webkit-search-decoration { + -webkit-appearance: none; +} +.jenkins-search__input::-webkit-search-cancel-button { + -webkit-appearance: none; + aspect-ratio: 1; + background: var(--text-color-secondary); + cursor: pointer; + height: 45%; + margin-right: 0.2rem; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm75.31 260.69a16 16 0 11-22.62 22.62L256 278.63l-52.69 52.68a16 16 0 01-22.62-22.62L233.37 256l-52.68-52.69a16 16 0 0122.62-22.62L256 233.37l52.69-52.68a16 16 0 0122.62 22.62L278.63 256z'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm75.31 260.69a16 16 0 11-22.62 22.62L256 278.63l-52.69 52.68a16 16 0 01-22.62-22.62L233.37 256l-52.68-52.69a16 16 0 0122.62-22.62L256 233.37l52.69-52.68a16 16 0 0122.62 22.62L278.63 256z'/%3E%3C/svg%3E"); + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + min-height: 1.1rem; + opacity: 0; + pointer-events: none; + transform: scale(0.8); + -webkit-transition: var(--standard-transition); + transition: var(--standard-transition); +} +.jenkins-search__input::-webkit-search-cancel-button:hover { + opacity: 0.85 !important; +} +.jenkins-search__input::-webkit-search-cancel-button:active { + opacity: 0.7 !important; +} +.jenkins-search__input:not(:disabled):hover { + background: var(--item-background--active); +} +.jenkins-search__input:not(:disabled):active, +.jenkins-search__input:not(:disabled):focus { + background: var(--item-background--active); + box-shadow: 0 0 0 2px var(--focus-input-border), + 0 0 0 7px var(--focus-input-glow); + outline: none; +} +.jenkins-search__input:not(:disabled):active::-webkit-search-cancel-button, +.jenkins-search__input:not(:disabled):focus::-webkit-search-cancel-button { + opacity: 0.5; + pointer-events: all; + transform: scale(1); +} +.jenkins-search__input:active, +.jenkins-search__input:focus { + background: var(--item-background--active); + box-shadow: 0 0 0 2px var(--focus-input-border), + 0 0 0 7px var(--focus-input-glow); + outline: none; +} +.jenkins-search__input:active::-webkit-search-cancel-button, +.jenkins-search__input:focus::-webkit-search-cancel-button { + opacity: 1; + pointer-events: all; + transform: scale(1); +} +.jenkins-search__input:disabled { + cursor: not-allowed; +} +.jenkins-search__icon { + aspect-ratio: 1/1; + bottom: 0; + display: grid; + left: 0; + pointer-events: none; + position: absolute; + top: 0; +} +.jenkins-search__icon svg { + place-self: center center; +} +.jenkins-search__icon svg, +.jenkins-search__icon:after, +.jenkins-search__icon:before { + grid-column-start: 1; + grid-row-start: 1; + height: 45%; + max-height: 1.1rem; + max-width: 1.1rem; + transition: var(--standard-transition); + width: 45%; +} +.jenkins-search__icon:after, +.jenkins-search__icon:before { + border: 0.125rem solid var(--text-color-secondary); + border-radius: 100%; + content: ""; + filter: blur(2.5px); + opacity: 0; + place-self: center center; + scale: 0; +} +.jenkins-search__icon:after { + animation: loading-spinner 1s linear infinite; + border-color: currentColor; + clip-path: inset(0 0 50% 50%); +} +@media (prefers-reduced-motion) { + .jenkins-search__icon:after { + animation-duration: 2s; + } +} +.jenkins-search .jenkins-keyboard-shortcut { + color: var(--text-color-secondary); + min-height: 1.375rem; + min-width: 1.375rem; + padding: 0; + position: absolute; + right: 0.5rem; + top: calc(50% - 0.6875rem); +} +.jenkins-search--loading .jenkins-search__icon svg { + filter: blur(5px); + opacity: 0; + scale: 0; +} +.jenkins-search--loading .jenkins-search__icon:before { + filter: blur(0); + opacity: 0.5; + scale: 1; +} +.jenkins-search--loading .jenkins-search__icon:after { + filter: blur(0); + opacity: 1; + scale: 1; +} +.jenkins-search--app-bar { + --search-bar-height: 3rem; + margin-block: -6px; + max-width: 50vw; +} +.jenkins-search--app-bar .jenkins-keyboard-shortcut { + right: 0.8125rem; +} +.jenkins-search--app-bar:before { + -webkit-backdrop-filter: blur(20px); + backdrop-filter: blur(20px); + border-radius: 10px; + box-shadow: 0 0 var(--section-padding) var(--background); + content: ""; + inset: 0; + position: absolute; + z-index: -1; +} +@supports not ( + (-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px)) +) { + .jenkins-search--app-bar:before { + background: var(--background); + } +} +.jenkins-search:focus-within .jenkins-search__icon { + fill: var(--focus-input-border); +} +.jenkins-search:focus-within .jenkins-keyboard-shortcut { + opacity: 0; + pointer-events: none; + transform: scale(0.9); +} +.jenkins-search--disabled { + color: var(--text-color-secondary); + opacity: 0.5; +} +.jenkins-search--disabled .jenkins-keyboard-shortcut { + display: none; +} +.jenkins-search__results-container { + -webkit-backdrop-filter: var(--dropdown-backdrop-filter); + backdrop-filter: var(--dropdown-backdrop-filter); + border-radius: 1rem; + box-shadow: var(--dropdown-box-shadow); + height: 1px; + opacity: 0; + overflow: hidden; + position: absolute; + scale: 95%; + transition: var(--standard-transition); + translate: 0 -0.3125rem; + visibility: collapse; + width: 100%; + will-change: height, scale, opacity; + z-index: 10; +} +.jenkins-search__results-container--visible { + opacity: 1; + scale: 100%; + translate: 0 0.3125rem; + visibility: visible; +} +.jenkins-search__results-container a { + align-items: center; + border-radius: 10px; + color: var(--text-color); + display: flex; + font-size: 0.875rem; + font-weight: 500; + gap: 0.7rem; + line-height: 1; + min-height: 2.25rem; + padding: 0.5rem 0.7rem; + position: relative; + text-decoration: none; + transition: background var(--standard-transition); + z-index: 0; +} +.jenkins-search__results-container a div { + align-items: center; + display: flex; + height: 1.125rem; + justify-content: center; + width: 1.125rem; +} +.jenkins-search__results-container a div img, +.jenkins-search__results-container a div svg { + height: 100%; + width: 100%; +} +.jenkins-search__results-container a:after, +.jenkins-search__results-container a:before { + border-radius: 10px; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +.jenkins-search__results-container a:before { + background-color: transparent; +} +.jenkins-search__results-container a:after { + box-shadow: 0 0 0 0.66rem transparent; +} +.jenkins-search__results-container a:focus:before, +.jenkins-search__results-container a:hover:before { + background-color: var(--item-background--hover); +} +.jenkins-search__results-container a:active, +.jenkins-search__results-container a:focus { + outline: none !important; + z-index: 1; +} +.jenkins-search__results-container a:active:before, +.jenkins-search__results-container a:focus:before { + background-color: var(--item-background--active); +} +.jenkins-search__results-container a:active:after, +.jenkins-search__results-container a:focus:after { + box-shadow: 0 0 0 0.33rem var(--item-box-shadow--focus); +} +.jenkins-search__results-container a:focus-visible:after { + box-shadow: 0 0 0 0.33rem var(--text-color); +} +.jenkins-search__results-container .jenkins-search__results { + display: flex; + flex-direction: column; + gap: 0.2rem; + justify-content: flex-start; + padding: 0.4rem; + position: relative; +} +.jenkins-search__results-container .jenkins-search__results > div { + margin-top: -0.25rem; + position: relative; +} +.jenkins-search__results-container .jenkins-search__results > div a { + color: var(--text-color-secondary); + padding-left: 2.6rem; +} +.jenkins-search__results-container .jenkins-search__results > div:before { + background: currentColor; + border-radius: 100vmax; + bottom: 0.3rem; + content: ""; + left: 1.725rem; + opacity: 0.05; + position: absolute; + top: 0.4rem; + width: 0.125rem; +} +.jenkins-search__results-container .jenkins-search__results > div:empty { + display: none; +} +.jenkins-search__results-container:hover + .jenkins-search__results-item--selected { + background: transparent; +} +.jenkins-search__results-item--selected { + animation: pulse 1s ease-in-out forwards; + background: var(--item-background--hover); +} +@keyframes pulse { + 50% { + background: var(--item-background--active); + } +} +.jenkins-search__results__no-results-label { + color: var(--text-color-secondary); + font-weight: 500; + margin: 2rem; + padding: 0; + text-align: center; +} +.jenkins-select { + position: relative; + width: 100%; +} +.jenkins-select:after { + background-color: currentColor; + bottom: 0; + content: ""; + -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='UTF-8'?%3e%3csvg width='336px' height='192px' viewBox='0 0 336 192' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePath%3c/title%3e%3cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3e%3cg id='arrow' transform='translate(0.000000, 0.000000)' fill='%23FF0000' fill-rule='nonzero'%3e%3cpath d='M7.02943725,7.02943725 C16.3053957,-2.24652118 31.2852799,-2.34214962 40.6788451,6.74255194 L40.9705627,7.02943725 L168,134.059 L295.029437,7.02943725 C304.305396,-2.24652118 319.28528,-2.34214962 328.678845,6.74255194 L328.970563,7.02943725 C338.246521,16.3053957 338.34215,31.2852799 329.257448,40.6788451 L328.970563,40.9705627 L184.970563,184.970563 C175.694604,194.246521 160.71472,194.34215 151.321155,185.257448 L151.029437,184.970563 L7.02943725,40.9705627 C-2.34314575,31.5979797 -2.34314575,16.4020203 7.02943725,7.02943725 Z' id='Path'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e"); + mask-image: url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='UTF-8'?%3e%3csvg width='336px' height='192px' viewBox='0 0 336 192' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePath%3c/title%3e%3cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3e%3cg id='arrow' transform='translate(0.000000, 0.000000)' fill='%23FF0000' fill-rule='nonzero'%3e%3cpath d='M7.02943725,7.02943725 C16.3053957,-2.24652118 31.2852799,-2.34214962 40.6788451,6.74255194 L40.9705627,7.02943725 L168,134.059 L295.029437,7.02943725 C304.305396,-2.24652118 319.28528,-2.34214962 328.678845,6.74255194 L328.970563,7.02943725 C338.246521,16.3053957 338.34215,31.2852799 329.257448,40.6788451 L328.970563,40.9705627 L184.970563,184.970563 C175.694604,194.246521 160.71472,194.34215 151.321155,185.257448 L151.029437,184.970563 L7.02943725,40.9705627 C-2.34314575,31.5979797 -2.34314575,16.4020203 7.02943725,7.02943725 Z' id='Path'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e"); + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + pointer-events: none; + position: absolute; + right: 13px; + top: 0; + width: 12px; +} +.jenkins-select__input { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border: 2px solid var(--input-border); + border-radius: var(--form-input-border-radius); + box-shadow: 0 0 0 10px transparent; + display: block; + max-width: 100% !important; + min-height: 38px; + padding: var(--form-input-padding); + transition: var(--standard-transition); + width: 100% !important; +} +.jenkins-select__input:hover { + border-color: var(--input-border-hover); +} +.jenkins-select__input:active, +.jenkins-select__input:focus { + border-color: var(--focus-input-border); + box-shadow: 0 0 0 5px var(--focus-input-glow); + outline: none; +} +.jenkins-select__input:disabled { + pointer-events: none; +} +.jenkins-multi-select { + border: 2px solid var(--input-border); + border-radius: var(--form-input-border-radius); + box-shadow: 0 0 0 10px transparent; + outline: none; + position: relative; + transition: var(--standard-transition); + width: 100%; +} +.jenkins-multi-select:focus { + border-color: var(--focus-input-border); + box-shadow: 0 0 0 5px var(--focus-input-glow); +} +.jenkins-multi-select:disabled { + pointer-events: none; +} +.textarea-preview-container { + color: var(--text-color-secondary); + display: flex; + gap: 0.5rem; + margin-top: 0.5rem; +} +.textarea-preview { + background-color: var(--very-light-grey); + border-radius: 10px; + margin-top: 0.5rem; + padding: var(--form-input-padding); +} +.jenkins-toggle-switch { + display: inline-block; + position: relative; +} +.jenkins-toggle-switch--invert-label input:checked + label:after { + left: unset !important; + right: 5px !important; +} +.jenkins-toggle-switch--invert-label label { + flex-direction: row-reverse; +} +.jenkins-toggle-switch--invert-label label:before { + margin-left: 1rem; + margin-right: 0 !important; +} +.jenkins-toggle-switch--invert-label label:after { + left: unset !important; + right: 25px; +} +.jenkins-toggle-switch--invert-label label:active:after, +.jenkins-toggle-switch--invert-label label:focus:after { + right: 20px !important; +} +.jenkins-toggle-switch--invert-label + label + .jenkins-toggle-switch__label__checked-title, +.jenkins-toggle-switch--invert-label + label + .jenkins-toggle-switch__label__unchecked-title { + left: unset !important; + right: calc(50px + 1rem) !important; +} +.jenkins-toggle-switch input { + height: 1px; + margin: 0; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; + clip: rect(0 0 0 0); + clip-path: inset(50%); +} +.jenkins-toggle-switch input:checked + label:before { + background-color: var(--focus-input-border); +} +.jenkins-toggle-switch input:checked + label:after { + left: 25px; + -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='66px' height='66px' viewBox='0 0 66 66' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M66,0 L66,66 L0,66 L0,0 L66,0 Z M37.7154094,29.2061836 C37.3690459,28.9031155 36.8425777,28.9382134 36.5395097,29.2845769 L36.5395097,29.2845769 L31.2924962,35.2799905 L29.4225874,33.410737 L29.3440813,33.3414133 C29.0171724,33.0872262 28.5444804,33.1103341 28.2440774,33.410737 C27.9186409,33.7361736 27.9186409,34.2638104 28.2440774,34.589247 L28.2440774,34.589247 L30.7440745,37.0892441 L30.8202748,37.15679 C31.1634387,37.4256962 31.6657159,37.3856111 31.9604761,37.0487424 L31.9604761,37.0487424 L37.7938027,30.3820833 L37.8577508,30.2991398 C38.0896293,29.9560466 38.0351295,29.4859387 37.7154094,29.2061836 Z' fill='%23000000'%3E%3C/path%3E%3C/g%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='66px' height='66px' viewBox='0 0 66 66' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M66,0 L66,66 L0,66 L0,0 L66,0 Z M37.7154094,29.2061836 C37.3690459,28.9031155 36.8425777,28.9382134 36.5395097,29.2845769 L36.5395097,29.2845769 L31.2924962,35.2799905 L29.4225874,33.410737 L29.3440813,33.3414133 C29.0171724,33.0872262 28.5444804,33.1103341 28.2440774,33.410737 C27.9186409,33.7361736 27.9186409,34.2638104 28.2440774,34.589247 L28.2440774,34.589247 L30.7440745,37.0892441 L30.8202748,37.15679 C31.1634387,37.4256962 31.6657159,37.3856111 31.9604761,37.0487424 L31.9604761,37.0487424 L37.7938027,30.3820833 L37.8577508,30.2991398 C38.0896293,29.9560466 38.0351295,29.4859387 37.7154094,29.2061836 Z' fill='%23000000'%3E%3C/path%3E%3C/g%3E%3C/svg%3E"); +} +.jenkins-toggle-switch input:checked + label:active:after, +.jenkins-toggle-switch input:checked + label:focus:after { + left: 20px; + width: 25px; +} +.jenkins-toggle-switch + input:checked + + label + .jenkins-toggle-switch__label__checked-title { + opacity: 1; +} +.jenkins-toggle-switch + input:checked + + label + .jenkins-toggle-switch__label__unchecked-title { + opacity: 0; +} +.jenkins-toggle-switch input:disabled + label { + cursor: not-allowed; +} +.jenkins-toggle-switch label { + align-items: flex-start; + cursor: pointer; + display: flex; + font-weight: var(--form-label-font-weight); + justify-content: flex-start; + line-height: 30px; + margin: 0; + position: relative; +} +.jenkins-toggle-switch label:before { + background: var(--input-border); + border-radius: 19px; + box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05), 0 0 0 10px transparent; + content: ""; + display: inline-block; + margin-right: 1rem; + min-height: 30px; + min-width: 50px; + position: relative; + transition: var(--standard-transition); +} +.jenkins-toggle-switch label:after { + align-items: center; + background: var(--background); + border-radius: 100px; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1); + content: ""; + display: flex; + height: 20px; + justify-content: center; + left: 5px; + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-size: 60px 60px; + mask-size: 60px 60px; + position: absolute; + top: 5px; + transition: var(--standard-transition); + width: 20px; +} +.jenkins-toggle-switch label:hover:before { + background-color: var(--input-border-hover); +} +.jenkins-toggle-switch label:active:before, +.jenkins-toggle-switch label:focus:before { + box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05), + 0 0 0 5px var(--focus-input-glow); +} +.jenkins-toggle-switch label:active:after, +.jenkins-toggle-switch label:focus:after { + left: 5px; + width: 25px; +} +.jenkins-toggle-switch label .jenkins-toggle-switch__label__checked-title { + opacity: 0; +} +.jenkins-toggle-switch label .jenkins-toggle-switch__label__checked-title, +.jenkins-toggle-switch label .jenkins-toggle-switch__label__unchecked-title { + left: calc(50px + 1rem); + position: absolute; + transition: opacity 0.4s; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.validation-error-area { + height: 0; + opacity: 0; + overflow: hidden; + transition: var(--standard-transition); +} +.validation-error-area--visible { + margin-top: 0.75rem; + opacity: 1; +} +.validation-error-area--visible > * { + animation: animate-validation-error-area var(--standard-transition); +} +@keyframes animate-validation-error-area { + 0% { + opacity: 0; + } + to { + opacity: 1; + } +} +.error, +.info, +.warning { + font-weight: 500; + padding-left: calc(22px + 0.4rem); + position: relative; +} +.error:before, +.info:before, +.warning:before { + background-color: currentColor; + bottom: 0; + content: ""; + height: 22px; + left: 0; + -webkit-mask-position: top center; + mask-position: top center; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + position: absolute; + top: 0; + width: 22px; +} +.ok { + color: var(--text-color-secondary); +} +.error { + color: var(--red); +} +.error:before { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3E%3Ctitle%3Eionicons-v5-a%3C/title%3E%3Cpath d='M256,48C141.31,48,48,141.31,48,256s93.31,208,208,208,208-93.31,208-208S370.69,48,256,48Zm0,319.91a20,20,0,1,1,20-20A20,20,0,0,1,256,367.91Zm21.72-201.15-5.74,122a16,16,0,0,1-32,0l-5.74-121.94v-.05a21.74,21.74,0,1,1,43.44,0Z'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3E%3Ctitle%3Eionicons-v5-a%3C/title%3E%3Cpath d='M256,48C141.31,48,48,141.31,48,256s93.31,208,208,208,208-93.31,208-208S370.69,48,256,48Zm0,319.91a20,20,0,1,1,20-20A20,20,0,0,1,256,367.91Zm21.72-201.15-5.74,122a16,16,0,0,1-32,0l-5.74-121.94v-.05a21.74,21.74,0,1,1,43.44,0Z'/%3E%3C/svg%3E"); +} +.error-inline { + color: var(--red); + font-weight: 500; +} +.warning { + color: var(--orange); +} +.warning:before { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3E%3Ctitle%3Eionicons-v5-r%3C/title%3E%3Cpath d='M449.07,399.08,278.64,82.58c-12.08-22.44-44.26-22.44-56.35,0L51.87,399.08A32,32,0,0,0,80,446.25H420.89A32,32,0,0,0,449.07,399.08Zm-198.6-1.83a20,20,0,1,1,20-20A20,20,0,0,1,250.47,397.25ZM272.19,196.1l-5.74,122a16,16,0,0,1-32,0l-5.74-121.95v0a21.73,21.73,0,0,1,21.5-22.69h.21a21.74,21.74,0,0,1,21.73,22.7Z'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3E%3Ctitle%3Eionicons-v5-r%3C/title%3E%3Cpath d='M449.07,399.08,278.64,82.58c-12.08-22.44-44.26-22.44-56.35,0L51.87,399.08A32,32,0,0,0,80,446.25H420.89A32,32,0,0,0,449.07,399.08Zm-198.6-1.83a20,20,0,1,1,20-20A20,20,0,0,1,250.47,397.25ZM272.19,196.1l-5.74,122a16,16,0,0,1-32,0l-5.74-121.95v0a21.73,21.73,0,0,1,21.5-22.69h.21a21.74,21.74,0,0,1,21.73,22.7Z'/%3E%3C/svg%3E"); +} +.warning-inline { + color: var(--orange); + font-weight: 500; +} +.info { + color: var(--text-color); +} +.info:before { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EArrow Forward%3C/title%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='32' d='M268 112l144 144-144 144M392 256H100'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Ctitle%3EArrow Forward%3C/title%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='32' d='M268 112l144 144-144 144M392 256H100'/%3E%3C/svg%3E"); +} +.app-about-branding { + align-items: center; + display: flex; + justify-content: center; + margin-bottom: var(--section-padding); + overflow: hidden; + padding: calc(var(--section-padding) * 2); + pointer-events: none; + position: relative; + -webkit-mask-box-image-source: url("data:image/svg+xml,%3Csvg width='45' height='45' viewBox='0 0 45 45' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 22.5C0 15.5109 0 12.0163 1.14181 9.25975C2.66422 5.58433 5.58433 2.66422 9.25975 1.14181C12.0163 0 15.5109 0 22.5 0C29.4891 0 32.9837 0 35.7402 1.14181C39.4157 2.66422 42.3358 5.58433 43.8582 9.25975C45 12.0163 45 15.5109 45 22.5C45 29.4891 45 32.9837 43.8582 35.7402C42.3358 39.4157 39.4157 42.3358 35.7402 43.8582C32.9837 45 29.4891 45 22.5 45C15.5109 45 12.0163 45 9.25975 43.8582C5.58433 42.3358 2.66422 39.4157 1.14181 35.7402C0 32.9837 0 29.4891 0 22.5Z' fill='%23D9D9D9'/%3E%3C/svg%3E%0A"); + mask-border-source: url("data:image/svg+xml,%3Csvg width='45' height='45' viewBox='0 0 45 45' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 22.5C0 15.5109 0 12.0163 1.14181 9.25975C2.66422 5.58433 5.58433 2.66422 9.25975 1.14181C12.0163 0 15.5109 0 22.5 0C29.4891 0 32.9837 0 35.7402 1.14181C39.4157 2.66422 42.3358 5.58433 43.8582 9.25975C45 12.0163 45 15.5109 45 22.5C45 29.4891 45 32.9837 43.8582 35.7402C42.3358 39.4157 39.4157 42.3358 35.7402 43.8582C32.9837 45 29.4891 45 22.5 45C15.5109 45 12.0163 45 9.25975 43.8582C5.58433 42.3358 2.66422 39.4157 1.14181 35.7402C0 32.9837 0 29.4891 0 22.5Z' fill='%23D9D9D9'/%3E%3C/svg%3E%0A"); + -webkit-mask-box-image-slice: 49% fill; + mask-border-slice: 49% fill; +} +.app-about-branding:before { + animation: app-about-starburst 100s linear infinite; + aspect-ratio: 1; + background: repeating-conic-gradient( + var(--background) 0deg, + hsla(0, 0%, 39%, 0.25) 20deg + ); + content: ""; + opacity: 0.25; + position: absolute; + width: 120%; + z-index: 1; +} +.app-about-branding img { + height: 7.5rem; + z-index: 1; +} +.app-about-branding__aurora { + aspect-ratio: 1; + position: absolute; + width: 120%; +} +.app-about-branding__aurora:after, +.app-about-branding__aurora:before { + border-radius: 100%; + content: ""; + inset: 0; + position: absolute; + z-index: -1; +} +.app-about-branding__aurora:before { + animation: app-about-aurora-one 7s linear infinite; + background-color: var(--color); + background-image: radial-gradient(at 40% 20%, #ffb87a 0, transparent 50%), + radial-gradient(at 80% 0, #1fddff 0, transparent 50%), + radial-gradient(at 0 50%, #fcdee1 0, transparent 50%), + radial-gradient(at 80% 50%, #c72326 0, transparent 50%), + radial-gradient(at 0 100%, #ffb58a 0, transparent 50%), + radial-gradient(at 80% 100%, #6b66ff 0, transparent 50%), + radial-gradient(at 0 0, #ff85a7 0, transparent 50%); + opacity: 0.4; +} +.app-about-branding__aurora:after { + animation: app-about-aurora-two 14s linear infinite; + background-image: radial-gradient(at 40% 20%, #7ab8ff 0, transparent 50%), + radial-gradient(at 80% 0, #ff4f1f 0, transparent 50%), + radial-gradient(at 0 50%, #defcfc 0, transparent 50%), + radial-gradient(at 80% 50%, #85ffde 0, transparent 50%), + radial-gradient(at 0 100%, #8accff 0, transparent 50%), + radial-gradient(at 80% 100%, #f0ff66 0, transparent 50%), + radial-gradient(at 0 0, #85ffe4 0, transparent 50%); + opacity: 0.2; +} +@keyframes app-about-aurora-one { + 0% { + opacity: 0.4; + } + 50% { + opacity: 0.2; + transform: rotate(-180deg); + } + to { + opacity: 0.4; + transform: rotate(-1turn); + } +} +@keyframes app-about-aurora-two { + 0% { + opacity: 0.2; + } + 50% { + opacity: 0.55; + transform: rotate(180deg); + } + to { + opacity: 0.2; + transform: rotate(1turn); + } +} +@keyframes app-about-starburst { + to { + transform: rotate(1turn); + } +} +.app-about-heading { + font-family: Georgia, serif; + font-size: 1.6rem; + font-weight: 600; + margin-bottom: 0.5rem !important; +} +.app-about-version { + color: var(--text-color-secondary); + font-weight: 500; + margin: 0; +} +.app-about-paragraph { + font-size: 1.125rem; + font-weight: 500; + margin-bottom: var(--section-padding); +} +.build-caption-progress-container { + align-items: center; + display: flex; + flex-wrap: nowrap; + gap: 10px; + justify-content: center; +} +.jenkins-icon-size { + align-items: center; + display: flex; + justify-content: space-between; + margin: var(--section-padding) 0; +} +.jenkins-icon-size__items { + align-items: center; + display: flex; + gap: 0.5rem; +} +.jenkins-icon-size__items ol { + align-items: center; + display: flex; + gap: 0.25rem; + list-style-type: none; + margin: 0; + padding: 0; + position: relative; +} +.jenkins-icon-size__items ol:before { + background: var(--button-background); + border-radius: 0.8rem; + content: ""; + inset: 0; + opacity: 0; + position: absolute; + transition: var(--standard-transition); +} +.jenkins-icon-size__items ol:hover:before { + inset: -0.2rem; + opacity: 1; +} +.jenkins-icon-size__items li .jenkins-button { + aspect-ratio: 1; + height: 36px; + margin: 0 !important; + min-width: 0 !important; + padding: 0 !important; +} +.jenkins-icon-size__items .jenkins-icon-size__items-item { + align-items: center; + aspect-ratio: 1; + background: var(--button-background--hover); + border-radius: 10px; + cursor: default; + display: flex; + font-size: var(--btn-font-size); + font-weight: var(--btn-link-font-weight); + height: 36px; + justify-content: center; + position: relative; +} +.jenkins-jobs-list { + display: flex; + flex-direction: column; + gap: 1rem; +} +.jenkins-jobs-list__item { + align-items: center; + background: var(--card-background); + border: var(--card-border-width) solid var(--card-border-color); + border-radius: 0.66rem; + border-radius: 1rem; + display: grid; + gap: 1rem; + grid-template-columns: 1fr auto; + padding: calc(1rem - var(--card-border-width, 0)); + position: relative; + text-decoration: none !important; + transition: var(--standard-transition); + z-index: 0; +} +.jenkins-jobs-list__item:after, +.jenkins-jobs-list__item:before { + border-radius: inherit; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +.jenkins-jobs-list__item:before { + background-color: transparent; +} +.jenkins-jobs-list__item:after { + box-shadow: 0 0 0 0.66rem transparent; +} +.jenkins-jobs-list__item:focus-visible { + outline: none; +} +.jenkins-jobs-list__item:not(:disabled):focus-visible:before, +.jenkins-jobs-list__item:not(:disabled):hover:before { + background-color: var(--item-background--hover); +} +.jenkins-jobs-list__item:not(:disabled):active { + outline: none !important; + z-index: 1; +} +.jenkins-jobs-list__item:not(:disabled):active:before { + background-color: var(--item-background--active); +} +.jenkins-jobs-list__item:not(:disabled):active:after { + box-shadow: 0 0 0 0.33rem var(--item-box-shadow--focus); +} +.jenkins-jobs-list__item:not(:disabled):focus-visible:after { + box-shadow: 0 0 0 0.2rem var(--text-color) !important; + opacity: 1 !important; +} +.jenkins-jobs-list__item:before { + content: none; +} +.jenkins-jobs-list__item__icons { + color: var(--text-color); + pointer-events: none; +} +.jenkins-jobs-list__item__details { + display: grid; + gap: 1rem; + grid-template-columns: auto 1fr; + overflow: hidden; + text-decoration: none !important; +} +.jenkins-jobs-list__item__details__text { + display: flex; + flex-direction: column; + gap: 0.5rem; + overflow: hidden; +} +.jenkins-jobs-list__item__actions { + display: flex; + flex-direction: column; + gap: 0.5rem; + margin-right: 0.5rem; +} +.jenkins-jobs-list__item__actions:empty { + display: none; +} +.jenkins-jobs-list__item__label { + color: var(--link-color); + font-size: 1rem; + font-weight: 500; + margin: 0; +} +.jenkins-jobs-list__item__description { + align-items: center; + color: var(--text-color-secondary); + display: flex; + font-size: 1rem; + gap: 1rem; + margin: 0; + -webkit-mask-image: linear-gradient( + 90deg, + #000 calc(100% - 1rem), + transparent + ); + mask-image: linear-gradient(90deg, #000 calc(100% - 1rem), transparent); + white-space: nowrap; +} +.jenkins-jobs-list__item__description svg { + height: 1rem; + width: 1rem; +} +.jenkins-jobs-list__item__description:empty { + display: none; +} +.jenkins-jobs-list__item__compact-column { + align-items: center; + display: inline-flex; + gap: 0.5rem; + justify-content: center; +} +.jenkins-jobs-list__item:hover { + --link-color: var(--link-color--hover); + background: var(--card-background--hover); + border-color: var(--card-border-color--hover); +} +.jenkins-jobs-list__item:active, +.jenkins-jobs-list__item:focus { + --link-color: var(--link-color--active); + background: var(--card-background--active); + border-color: var(--card-border-color--active); +} +.build-status-link { + align-items: center; + display: inline-flex; + justify-content: center; +} +.build-status-link svg { + height: 1rem; + width: 1rem; +} +div.listview-jobs { + display: flex; + flex-direction: column; + gap: 0.3rem; +} +div.listview-jobs--nested { + border-left: 2px solid color-mix(in sRGB, var(--input-border), transparent); + display: flex; + flex-direction: column; + margin-left: 10px; + padding-left: 22px; +} +.app-icon-legend { + align-items: center; + display: grid; + gap: 1rem; + grid-template-columns: auto 1fr; + margin: 0; + padding: 0; +} +.app-icon-legend:not(:last-of-type) { + margin-bottom: var(--section-padding); +} +.app-icon-legend dt { + display: flex; + place-items: center center; +} +.app-icon-legend dt svg { + height: 2rem; + width: 2rem; +} +.app-icon-legend dd { + font-size: 0.9375rem; + font-weight: 500; + line-height: 1.6; + margin: 0; + padding: 0; +} +#buildHistoryPage { + margin: 10px 0 10px 10px; +} +#buildHistoryPage .jenkins-search { + margin-inline: -0.25rem; + margin-bottom: 5px; +} +.app-builds-container { + transition: opacity var(--standard-transition); +} +.app-builds-container__items { + margin-bottom: -0.5rem; +} +.app-builds-container__placeholder { + align-items: center; + animation: fade-in-builds-placeholder var(--standard-transition); + display: flex; + justify-content: center; + padding: 3rem; + text-align: center; +} +@keyframes fade-in-builds-placeholder { + 0% { + opacity: 0; + } +} +.app-builds-container__heading { + color: var(--text-color-secondary); + display: flex; + font-size: 0.75rem; + font-weight: 450; + margin-bottom: 4px; + margin-top: 10px; +} +.app-builds-container__controls { + display: grid; + gap: 15px; + grid-template-columns: 1fr 1fr; + margin: 1rem -0.35rem -0.5rem; +} +.app-builds-container__controls .jenkins-button { + padding: 10px; +} +.app-builds-container__controls .jenkins-button svg { + transition: translate var(--standard-transition); +} +.app-builds-container__controls .jenkins-button:first-of-type { + justify-content: start; +} +.app-builds-container__controls .jenkins-button:first-of-type:hover { + translate: -2px 0; +} +.app-builds-container__controls .jenkins-button:first-of-type:hover svg { + translate: -4px 0; +} +.app-builds-container__controls .jenkins-button:last-of-type { + justify-content: end; +} +.app-builds-container__controls .jenkins-button:last-of-type:hover { + translate: 2px 0; +} +.app-builds-container__controls .jenkins-button:last-of-type:hover svg { + translate: 4px 0; +} +.app-builds-container__controls .app-builds-container__button--disabled { + color: var(--text-color-secondary) !important; + opacity: 0.25; + pointer-events: none; +} +.app-builds-container--loading { + filter: blur(0.5px); + opacity: 0.4; +} +.app-builds-container__item { + border-radius: 0.66rem; + display: grid; + font-size: 0.8125rem !important; + gap: 0.5rem 0.65rem; + grid-template-columns: auto 1fr auto; + margin: 0 -0.5rem; + min-height: 2rem; + padding: 0 0 0.25rem; + position: relative; + text-decoration: none !important; + z-index: 0; +} +.app-builds-container__item:after, +.app-builds-container__item:before { + border-radius: inherit; + content: ""; + inset: 0; + pointer-events: none; + position: absolute; + transition: var(--standard-transition); + z-index: -1; +} +.app-builds-container__item:before { + background-color: transparent; +} +.app-builds-container__item:after { + box-shadow: 0 0 0 0.66rem transparent; +} +.app-builds-container__item:focus-visible { + outline: none; +} +.app-builds-container__item:not(:disabled):focus-visible:before, +.app-builds-container__item:not(:disabled):hover:before { + background-color: var(--item-background--hover); +} +.app-builds-container__item:not(:disabled):active { + outline: none !important; + z-index: 1; +} +.app-builds-container__item:not(:disabled):active:before { + background-color: var(--item-background--active); +} +.app-builds-container__item:not(:disabled):active:after { + box-shadow: 0 0 0 0.33rem var(--item-box-shadow--focus); +} +.app-builds-container__item:not(:disabled):focus-visible:after { + box-shadow: 0 0 0 0.2rem var(--text-color) !important; + opacity: 1 !important; +} +.app-builds-container__item__icon { + display: inline-flex; + justify-content: center; + margin-top: 0.385rem; + padding: 0 0 0 0.5rem; +} +.app-builds-container__item__icon svg { + height: 1.25rem; + width: 1.25rem; +} +.app-builds-container__item .app-builds-container__item__inner { + align-items: stretch; + display: flex; + flex-wrap: wrap; +} +.app-builds-container__item .app-builds-container__item__inner__link { + color: var(--text-color); + display: flex; + flex-grow: 1; + font-weight: 450; + gap: 0.5rem; + overflow-wrap: anywhere; + padding: 0.45rem 0 0; + text-decoration: none; + word-break: normal; +} +.app-builds-container__item + .app-builds-container__item__inner__link + .app-builds-container__item__time { + color: var(--text-color-secondary); + white-space: nowrap; +} +.app-builds-container__item .app-builds-container__item__inner__controls { + align-items: center; + display: flex; + flex-wrap: wrap; + gap: 0.5rem; + justify-content: start; + margin-top: 0.3rem; +} +.app-builds-container__item--not-interactable { + cursor: default; +} +.app-builds-container__item--not-interactable:after, +.app-builds-container__item--not-interactable:before { + display: none; +} +.app-builds-container__item--not-interactable + .app-builds-container__item__description { + margin-bottom: 0; +} +.app-builds-container__item .jenkins-jumplist-link { + margin-top: 0.2rem; + padding-right: 0.8rem; +} +.app-builds-container__item__description { + color: var(--text-color-secondary); + grid-column: 1 / span 2; + margin-top: -2px; + overflow-wrap: anywhere; + padding-left: 2.25rem; + word-break: normal; +} +.app-builds-container__item__description:before { + background: var(--text-color-secondary); + border-radius: 10px; + bottom: 6px; + content: ""; + left: 17px; + opacity: 0.3; + position: absolute; + top: 34px; + width: 2px; +} +.manage-messages a, +.manage-messages a:visited { + color: inherit !important; + text-decoration: none; +} +.manage-messages a:focus, +.manage-messages a:hover { + text-decoration: underline; +} +.manage-messages dl dt:first-child, +.manage-messages dl:first-child { + margin-top: 0; +} +.manage-messages dl dt { + font-weight: 400; + margin-top: 10px; +} +.manage-messages dl dd { + margin-left: 15px; +} +.manage-messages dl:last-child { + margin-bottom: 0; +} +.manage-messages dl dt:after { + content: ": "; +} +.manage-messages .alert:last-of-type, +.manage-messages .jenkins-alert:last-of-type { + margin-bottom: 30px; +} +.manage-messages .alert a, +.manage-messages .jenkins-alert a { + text-decoration: underline; +} +.manage-messages .alert form, +.manage-messages .jenkins-alert form { + display: flex; + float: right; + gap: 0.5rem; + margin: -6px 0 0 !important; + position: relative; +} +.manage-messages .alert form > div, +.manage-messages .jenkins-alert form > div { + display: contents; +} +.manage-messages .alert form span, +.manage-messages .jenkins-alert form span { + margin: 0 0 0 4px !important; +} +#plugins .app-plugin-manager__categories { + margin: 0.5rem 0; +} +#plugins .app-plugin-manager__categories a { + font-size: 0.75rem; + margin: 0 1.25rem 0 0 !important; +} +#plugins tr.already-upgraded { + background-color: var(--plugin-manager-bg-color-already-upgraded); +} +#plugins tr.all-dependents-disabled .enable .jenkins-toggle-switch label, +#plugins tr.all-dependents-disabled .enable button, +#plugins tr.all-dependents-disabled .enable input { + opacity: 1 !important; + pointer-events: auto !important; + visibility: visible; +} +#plugins tr.has-dependents .enable .jenkins-toggle-switch label, +#plugins tr.has-dependents .enable button, +#plugins tr.has-dependents button, +#plugins tr.has-dependents input, +#plugins tr.has-disabled-dependency .enable .jenkins-toggle-switch label, +#plugins tr.has-disabled-dependency .enable input { + opacity: 0.25; + pointer-events: none; +} +#plugins tr.has-dependents-but-disabled .enable .jenkins-toggle-switch label, +#plugins tr.has-dependents-but-disabled .enable button, +#plugins tr.has-dependents-but-disabled .enable input { + opacity: 1; + pointer-events: auto; + visibility: visible; +} +#plugins tr.has-disabled-dependency .enable .jenkins-toggle-switch label, +#plugins tr.has-disabled-dependency .enable button, +#plugins tr.has-disabled-dependency .enable input { + opacity: 0.4; +} +#plugins tr.deleted .jenkins-toggle-switch label, +#plugins tr.deleted button, +#plugins tr.deleted input { + visibility: hidden !important; +} +#plugins .dependency-list, +#plugins .dependent-list { + display: none; +} +#plugins .enable-state-info, +#plugins .uninstall-state-info { + border: 1px solid var(--warning-color); + border-radius: 3px; + max-width: 70%; + padding: 5px 20px; + text-align: center; +} +#plugins .enable-state-info { + float: left; +} +#plugins .uninstall-state-info { + float: right; +} +#plugins .plugin-dependency-info .subtitle, +#plugins .plugin-dependency-info .title { + opacity: 0.7; +} +#plugins .plugin-dependency-info .title { + font-size: larger; + font-weight: bolder; + margin-bottom: 5px; +} +#plugins .plugin-dependency-info span { + background-color: var(--accent-color); + border-radius: 0.25em; + color: var(--white); + display: inline-block; + font-size: var(--font-size-xs); + font-weight: 700; + line-height: 1; + margin: 5px 5px 0 0; + padding: 0.2em 0.6em 0.3em; + text-align: center; + vertical-align: baseline; + white-space: nowrap; +} +.app-plugin-manager__sidebar { + position: sticky; + top: calc(40px + 1.6rem); +} +.app-plugin-manager__sidebar h1 { + margin-bottom: 0.1rem !important; + margin-top: 1rem !important; +} +.create-admin-user { + margin: 8px; + padding: 20px 100px; +} +.create-admin-user form > div { + margin: 0 !important; +} +.create-admin-user h1 { + font-size: 48px; + font-weight: 500; + line-height: 48px; + margin-top: 30px; +} +.create-admin-user tr td { + padding-bottom: 2px; +} +.create-admin-user, +.create-admin-user tr td { + line-height: 25px; + margin-bottom: 6px; +} +.configure-instance { + margin: 8px; + padding: 20px 100px; +} +.configure-instance form > div { + margin: 0 !important; +} +.configure-instance h1 { + font-size: 48px; + font-weight: 500; +} +.configure-instance tr td { + line-height: 25px; + margin-bottom: 6px; + padding-bottom: 2px; +} +.configure-instance tr.has-error label { + color: #c00; +} +.configure-instance tr.has-error td input[type="password"], +.configure-instance tr.has-error td input[type="text"], +.configure-instance tr.has-error td textarea { + border: 1px solid; + border-color: var(--danger-color, #c4000a); +} +.configure-instance tr td .help-text { + color: #999; + font-size: 12px; +} +.configure-instance tr td .error-panel { + display: none; +} +.configure-instance tr.has-error td .error-panel { + display: block; +} +/*# sourceMappingURL=styles.css.map*/ From 3ffbc97973910da654ab021f87137d6b071ad2dd Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Thu, 26 Dec 2024 11:14:43 +0100 Subject: [PATCH 064/137] skipInvalidColor test --- .../cssparser/parser/CSS3ParserTest.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 1b76689..c607b4b 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -3057,6 +3057,37 @@ public void skipJBossIssue() throws Exception { * @throws Exception if any error occurs */ @Test + public void skipInvalidColor() throws Exception { + final String css = ".test {\n" + + " display: block;" + + " color: rgb(10; 20, 30);';" + + " align: left;" + + "}\n" + + ".another { display: none };"; + + final InputSource source = new InputSource(new StringReader(css)); + final CSSOMParser parser = new CSSOMParser(); + + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(source, null); + + assertEquals(3, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getFatalErrorCount()); + assertEquals(2, errorHandler.getWarningCount()); + + final CSSRuleListImpl rules = sheet.getCssRules(); + + assertEquals(2, rules.getLength()); + + assertEquals("*.test { display: block; }", rules.getRules().get(0).getCssText()); + assertEquals("*.another { display: none; }", rules.getRules().get(1).getCssText()); + } +/** + * @throws Exception if any error occurs + */ + @Test public void dimensionPercent() throws Exception { final CSSValueImpl value = dimension("2%"); assertEquals(CSSPrimitiveValueType.CSS_PERCENTAGE, value.getPrimitiveType()); From 5fa7c933aa3a192fbd3ce054c9565aa72edbea05 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Thu, 26 Dec 2024 11:45:44 +0100 Subject: [PATCH 065/137] improve identifier handling --- src/main/javacc/CSS3Parser.jj | 5371 +++++++++++++++++---------------- 1 file changed, 2698 insertions(+), 2673 deletions(-) diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 243480a..54ca427 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1,2673 +1,2698 @@ -/* - * Copyright (c) 2019-2024 Ronald Brill. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -options { - IGNORE_CASE = true; - - UNICODE_INPUT = true; - USER_CHAR_STREAM = true; - -// DEBUG_TOKEN_MANAGER = true; -// DEBUG_PARSER = true; - - JDK_VERSION = "1.8"; -// JAVA_TEMPLATE_TYPE = "modern" -} - -PARSER_BEGIN(CSS3Parser) - -package org.htmlunit.cssparser.parser.javacc; - -import java.util.LinkedList; -import java.util.Locale; - -import org.htmlunit.cssparser.dom.CSSValueImpl; -import org.htmlunit.cssparser.dom.Property; -import org.htmlunit.cssparser.parser.AbstractCSSParser; -import org.htmlunit.cssparser.parser.CSSParseException; -import org.htmlunit.cssparser.parser.LexicalUnit; -import org.htmlunit.cssparser.parser.LexicalUnitImpl; -import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; -import org.htmlunit.cssparser.parser.Locatable; -import org.htmlunit.cssparser.parser.Locator; -import org.htmlunit.cssparser.parser.condition.AttributeCondition; -import org.htmlunit.cssparser.parser.condition.BeginHyphenAttributeCondition; -import org.htmlunit.cssparser.parser.condition.ClassCondition; -import org.htmlunit.cssparser.parser.condition.Condition; -import org.htmlunit.cssparser.parser.condition.IdCondition; -import org.htmlunit.cssparser.parser.condition.LangCondition; -import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; -import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; -import org.htmlunit.cssparser.parser.condition.PseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; -import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; -import org.htmlunit.cssparser.parser.media.MediaQuery; -import org.htmlunit.cssparser.parser.media.MediaQueryList; -import org.htmlunit.cssparser.parser.selector.ChildSelector; -import org.htmlunit.cssparser.parser.selector.DescendantSelector; -import org.htmlunit.cssparser.parser.selector.DirectAdjacentSelector; -import org.htmlunit.cssparser.parser.selector.ElementSelector; -import org.htmlunit.cssparser.parser.selector.GeneralAdjacentSelector; -import org.htmlunit.cssparser.parser.selector.PseudoElementSelector; -import org.htmlunit.cssparser.parser.selector.Selector; -import org.htmlunit.cssparser.parser.selector.SelectorList; -import org.htmlunit.cssparser.parser.selector.SelectorListImpl; -import org.htmlunit.cssparser.parser.selector.SimpleSelector; -import org.htmlunit.cssparser.util.ParserUtils; - -/** - * @author David Schweinsberg - * @author waldbaer - * @author Ahmed Ashour - * @author Ronald Brill - */ -public class CSS3Parser extends AbstractCSSParser { - - public CSS3Parser() { - this((CharStream) null); - } - - @Override - public String getParserVersion() { - return "http://www.w3.org/Style/CSS/"; - } - - protected String getGrammarUri() - { - return "http://www.w3.org/TR/WD-css3-syntax-20030813"; - } -} - -PARSER_END(CSS3Parser) - -TOKEN_MGR_DECLS : -{ -} - - TOKEN : -{ -// s [ \t\r\n\f]+ -// {s} {return S;} - < S: ( " "|"\t"|"\r"|"\n"|"\f" )+ > -// w {s}? -// | < W: ( )? > -} - - MORE : -{ - < "/*" > : COMMENT -} - - SKIP : -{ - < "*/" > : DEFAULT -} - - MORE : -{ - < ~[] > : COMMENT -} - - TOKEN : -{ -// h [0-9a-f] - < #H: ["0"-"9","a"-"f"] > -| < #HNUM: | | | | | > - -// nonascii [\200-\377] -// The two occurrences of "\377" represent the highest character number that -// current versions of Flex can deal with (decimal 255). They should be read as -// "\4177777" (decimal 1114111), which is the highest possible code point in -// Unicode/ISO-10646. -// Limitation: This parser can only handle Unicode characters up to \uFFFF -// (decimal 65535). -| < #NONASCII: ["\u0080"-"\uFFFF"] > - -// unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? -| < #UNICODE: "\\" ( "\r\n" | [" ","\t","\r","\n","\f"] )? > - -// escape {unicode}|\\[^\r\n\f0-9a-f] -| < #ESCAPE: | ( "\\" ~["\r","\n","\f","0"-"9","a"-"f"] ) > - -// nmstart [_a-z]|{nonascii}|{escape} -| < #NMSTART: ["_","a"-"z"] | | > - -// nmchar [_a-z0-9-]|{nonascii}|{escape} -| < #NMCHAR: ["_","a"-"z","0"-"9","-"] | | > - -// nl \n|\r\n|\r|\f -| < #NL: "\n" | "\r\n" | "\r" | "\f" > - -// string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\" -| < #STRING1: ( ~["\n","\r","\f","\\","\""] | "\\" | )* > - -// string2 \'([^\n\r\f\\']|\\{nl}|{escape})*\' -| < #STRING2: ( ~["\n","\r","\f","\\","\'"] | "\\" | )* > - -// comment \/\*[^*]*\*+([^/*][^*]*\*+)*\/ -| < #COMMENT_: "/" "*" ( ~["*"] )* ("*")+ ( ~["/","*"] ( ~["*"] )* ( "*" )+ )* "/"> - -| < AND: "and" > -| < NOT: "not" > -| < ONLY: "only" > - -// {num} {return NUMBER;} -| < NUMBER: > - -| < INHERIT: "inherit" > -| < NONE: "none" > - -// ident -?{nmstart}{nmchar}* -// {ident} {return IDENT;} -| < IDENT: (< MINUS >)? ( )* > - -// name {nmchar}+ -| < #NAME: ( )+ > - -// num [0-9]+|[0-9]*"."[0-9]+ -| < NUM: ( ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ ) (["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+)? > - -// string {string1}|{string2} -// {string} {return STRING;} -| < STRING: ( "\"" "\"" ) | ( "\'" "\'" ) > { matchedToken.image = ParserUtils.trimBy(image, 1, 1); } - -// url ([!#$%&*-~]|{nonascii}|{escape})* -| < #URL: ( ["!","#","$","%","&","*"-"[","]"-"~"] | | )* > - -// A a|\\0{0,4}(41|61)(\r\n|[ \t\r\n\f])? -| < #A_LETTER: "a" | "\\" ("0")? ("0")? ("0")? ("0")? ( "41" | "61" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// C c|\\0{0,4}(43|63)(\r\n|[ \t\r\n\f])? -| < #C_LETTER: "c" | "\\" ("0")? ("0")? ("0")? ("0")? ( "43" | "63" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// D d|\\0{0,4}(44|64)(\r\n|[ \t\r\n\f])? -| < #D_LETTER: "d" | "\\" ("0")? ("0")? ("0")? ("0")? ( "44" | "64" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// E e|\\0{0,4}(45|65)(\r\n|[ \t\r\n\f])? -| < #E_LETTER: "e" | "\\" ("0")? ("0")? ("0")? ("0")? ( "45" | "65" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// F f|\\0{0,4}(46|66)(\r\n|[ \t\r\n\f])? -| < #F_LETTER: "f" | "\\" ("0")? ("0")? ("0")? ("0")? ( "46" | "66" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// G g|\\0{0,4}(47|67)(\r\n|[ \t\r\n\f])?|\\g -| < #G_LETTER: "g" | "\\" ("0")? ("0")? ("0")? ("0")? ( "47" | "67" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "g" > - -// H h|\\0{0,4}(48|68)(\r\n|[ \t\r\n\f])?|\\h -| < #H_LETTER: "h" | "\\" ("0")? ("0")? ("0")? ("0")? ( "48" | "68" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "h" > - -// I i|\\0{0,4}(49|69)(\r\n|[ \t\r\n\f])?|\\i -| < #I_LETTER: "i" | "\\" ("0")? ("0")? ("0")? ("0")? ( "49" | "69" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "i" > - -// K k|\\0{0,4}(4b|6b)(\r\n|[ \t\r\n\f])?|\\k -| < #K_LETTER: "k" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4b" | "6b" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "k" > - -// L l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l -| < #L_LETTER: "l" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4c" | "6c" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "l" > - -// M m|\\0{0,4}(4d|6d)(\r\n|[ \t\r\n\f])?|\\m -| < #M_LETTER: "m" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4d" | "6d" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "m" > - -// N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n -| < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > - -// O o|\\0{0,4}(51|71)(\r\n|[ \t\r\n\f])?|\\o -| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "51" | "71" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > - -// P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p -| < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > - -// R r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r -| < #R_LETTER: "r" | "\\" ("0")? ("0")? ("0")? ("0")? ( "52" | "72" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "r" > - -// S s|\\0{0,4}(53|73)(\r\n|[ \t\r\n\f])?|\\s -| < #S_LETTER: "s" | "\\" ("0")? ("0")? ("0")? ("0")? ( "53" | "73" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "s" > - -// T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t -| < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > - -// U v|\\0{0,4}(55|76)(\r\n|[ \t\r\n\f])?|\\v -| < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > - -// X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x -| < #X_LETTER: "x" | "\\" ("0")? ("0")? ("0")? ("0")? ( "58" | "78" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "x" > - -// Z z|\\0{0,4}(5a|7a)(\r\n|[ \t\r\n\f])?|\\z -| < #Z_LETTER: "z" | "\\" ("0")? ("0")? ("0")? ("0")? ( "5a" | "7a" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "z" > - -// "" {return CDC;} -| < CDC: "-->" > - -// "~=" {return INCLUDES;} -| < INCLUDES: "~=" > - -// "|=" {return DASHMATCH;} -| < DASHMATCH: "|=" > - -// "^=" {return PREFIXMATCH;} -| < PREFIXMATCH: "^=" > - -// "$=" {return SUFFIXMATCH;} -| < SUFFIXMATCH: "$=" > - -// "*=" {return SUBSTRINGMATCH;} -| < SUBSTRINGMATCH: "*=" > - -// {w}"{" {return LBRACE;} -| < LBRACE: "{" > -| < RBRACE: "}" > - -| < LROUND: "(" > -| < RROUND: ")" > - -| < DOT: "." > -| < SEMICOLON: ";" > -| < COLON: ":" > -| < ASTERISK: "*" > -| < SLASH: "/" > -| < MINUS: "-" > -| < EQUALS: "=" > -| < LSQUARE: "[" > -| < RSQUARE: "]" > - -// {w}"+" {return PLUS;} -| < PLUS: "+" > - -// {w}">" {return GREATER;} -| < GREATER: ">" > - -// {w}"~" {return TILDE;} -| < TILDE: "~" > - -// {w}"," {return COMMA;} -| < COMMA: "," > - -// "#"{name} {return HASH;} -| < HASH: "#" > - -// @{I}{M}{P}{O}{R}{T} {return IMPORT_SYM;} -| < IMPORT_SYM: "@" > - -// @{P}{A}{G}{E} {return PAGE_SYM;} -| < PAGE_SYM: "@" > - -// @{M}{E}{D}{I}{A} {return MEDIA_SYM;} -| < MEDIA_SYM: "@" > - -// "@{F}{O}{N}{T}-{F}{A}{C}{E}" {return FONT_FACE_SYM;} -| < FONT_FACE_SYM: "@" < MINUS > > - -// @{C}{H}{A}{R}{S}{E}{T} {return CHARSET_SYM;} -| < CHARSET_SYM: "@" > - -// "!"({w}|{comment})*{I}{M}{P}{O}{R}{T}{A}{N}{T} {return IMPORTANT_SYM;} -| < IMPORTANT_SYM: "!" ( | )* > - -// {num}{E}{M} {return EMS;} -| < EMS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{R}{E}{M} {return REM;} -| < REM: "rem" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{E}{X} {return EXS;} -| < EXS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{C}{H} {return CH;} -| < CH: "ch" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{W} {return VW;} -| < VW: "vw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{H} {return VH;} -| < VH: "vh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{M}{I}{N} {return VMIN;} -| < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{V}{M}{I}{N} {return VMAX;} -| < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{P}{X} {return LENGTH;} -| < LENGTH_PX: "px" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{C}{M} {return LENGTH;} -| < LENGTH_CM: "cm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{M}{M} {return LENGTH;} -| < LENGTH_MM: "mm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{I}{N} {return LENGTH;} -| < LENGTH_IN: "in" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{P}{T} {return LENGTH;} -| < LENGTH_PT: "pt" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{P}{C} {return LENGTH;} -| < LENGTH_PC: "pc" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{Q} {return LENGTH;} -| < LENGTH_Q: "Q" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{D}{E}{G} {return ANGLE;} -| < ANGLE_DEG: "deg" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{R}{A}{D} {return ANGLE;} -| < ANGLE_RAD: "rad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{G}{R}{A}{D} {return ANGLE;} -| < ANGLE_GRAD: "grad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{T}{U}{R}{N} {return ANGLE;} -| < ANGLE_TURN: "turn" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{M}{S} {return TIME;} -| < TIME_MS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{S} {return TIME;} -| < TIME_S: > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{H}{Z} {return FREQ;} -| < FREQ_HZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{K}{H}{Z} {return FREQ;} -| < FREQ_KHZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{D}{P}{I} {return RESOLUTION;} -| < RESOLUTION_DPI: "dpi" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{D}{P}{C}{M} {return RESOLUTION;} -| < RESOLUTION_DPCM: "dpcm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}% {return PERCENTAGE;} -| < PERCENTAGE: "%" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{ident} {return DIMENSION;} -| < DIMENSION: ( ["a"-"z","0"-"9"] | | )* > - -| < #H_PLACEHOLDER: ( | "?"){1,6} > -| < UNICODE_RANGE: "u+" (< MINUS > < H_PLACEHOLDER >)? > - -// "url("{w}{string}{w}")" {return URI;} -// "url("{w}{url}{w}")" {return URI;} -| < URI: "url" ( )* ( | ) ( )* > { matchedToken.image = ParserUtils.trimUrl(image); } - -// {N}{O}{T} "(" {return FUNCTION_NOT;} -| < FUNCTION_NOT: "not" > - -// {L}{A}{N}{G} "(" {return FUNCTION_LANG;} -| < FUNCTION_LANG: "lang" > - -// {C}{A}{L}{C} "(" {return FUNCTION_CALC;} -| < FUNCTION_CALC: "calc" > - -// {V}{A}{R} "(" {return FUNCTION_VAR;} -| < FUNCTION_VAR: "var" > - -| < FUNCTION_RGB: "rgb" ("a")? > -| < FUNCTION_HSL: "hsl" ("a")? > -| < FUNCTION_HWB: "hwb" > -| < FUNCTION_LAB: ("ok")? "lab" > -| < FUNCTION_LCH: ("ok")? "lch" > - -| < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > - -// {ident} "(" {return FUNCTION;} -| < FUNCTION: > - -| < ATKEYWORD: "@" > -} - -<*> TOKEN: -{ - < UNKNOWN: ~[] > - { - // System.err.println("Illegal character : " + image.toString()); - } -} - -// -// stylesheet -// : [ CHARSET_SYM STRING ';' ]? -// [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* -// [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* -// ; -// -void styleSheet() : -{ -} -{ - try - { - { handleStartDocument(); } - styleSheetRuleList() - - } - finally - { - handleEndDocument(); - } -} - -void styleSheetRuleList() : -{ - boolean ruleFound = false; -} -{ - ( | | )* - ( - charsetRule() - ( | | )* - )? - ( - ( - ( - importRule(ruleFound) - | - ( - styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() - ) - { - ruleFound = true; - } - ) - | - ( - // skip until the next RBRACE - { ParseException e = generateParseException(); } - invalidRule() - { - Token t = getNextToken(); - - boolean charsetProcessed = false; - if (t.kind == CHARSET_SYM) { - t = getNextToken(); - if (t.kind == S) { - t = getNextToken(); - if (t.kind == STRING) { - t = getNextToken(); - if (t.kind == SEMICOLON) { - getNextToken(); - charsetProcessed = true; - } - } - } - CSSParseException cpe = toCSSParseException("misplacedCharsetRule", e); - getErrorHandler().error(cpe); - getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - } - - if (!charsetProcessed) { - if (t.kind == EOF) { - return; - } - - CSSParseException cpe = toCSSParseException("invalidRule", e); - getErrorHandler().error(cpe); - getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - while (t.kind != RBRACE && t.kind != EOF ) { - t = getNextToken(); - } - if (t.kind == EOF) { - return; - } - } - } - ) - ) - ( | | )* - )* -} - -JAVACODE -void invalidRule() -{ -} - -// -// This is used by ASTStyleSheet.insertRule to parse a single rule -// -void styleSheetRuleSingle() : -{ -} -{ - ( )* - ( charsetRule() | importRule(false) | styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() ) - ( )* -} - -void charsetRule() : -{ - Token t; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - - t = - - { - handleCharset(t.toString(), locator); - } - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidCharsetRule", e)); - } -} - -void unknownAtRule() : -{ - String s; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - s = skip(); - handleIgnorableAtRule(s, locator); - } - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidUnknownRule", generateParseException())); - } -} - -// -// import -// : IMPORT_SYM S* -// [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S* -// ; -// -void importRule(final boolean nonImportRuleFoundBefore) : -{ - Token t; - MediaQueryList ml = new MediaQueryList(); - Locator locator; -} -{ - try - { - { - ParseException e = null; - if (nonImportRuleFoundBefore) - { - e = generateParseException(); - } - } - - { - locator = createLocator(token); - } - ( )* - ( t = | t = ) ( )* - ( mediaList(ml) )? - - { - if (nonImportRuleFoundBefore) - { - getErrorHandler().error(toCSSParseException("invalidImportRuleIgnored2", e)); - } - else - { - handleImportStyle(unescape(t.image, false), ml, null, locator); - } - } - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipAtRule(); - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidImportRule", e)); - error_skipAtRule(); - } -} - -// -// media -// : MEDIA_SYM S* medium [ COMMA S* medium ]* '{' S* ruleset* '}' S* -// ; -// -void mediaRule() : -{ - boolean start = false; - MediaQueryList ml = new MediaQueryList(); - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - ( )* - mediaList(ml) - { - start = true; - handleStartMedia(ml, locator); - } - ( )* - ( mediaRuleList() )? - - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidMediaRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringRule", cpe); - } - finally - { - if (start) { - handleEndMedia(ml); - } - } -} - -void mediaList(MediaQueryList ml) : -{ - MediaQuery mq; -} -{ - try - { - mq = mediaQuery() - { - ml.setLocator(createLocator(token)); - } - ( ( )* { ml.add(mq); } mq = mediaQuery() )* - { ml.add(mq); } - } - catch(ParseException e) - { - throw toCSSParseException("invalidMediaList", e); - } -} - -// -// media_query -// : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* -// | expression [ AND S* expression ]* -// ; -// -MediaQuery mediaQuery() : -{ - String s; - MediaQuery mq; - Property p; - boolean only = false; - boolean not = false; -} -{ - ( - ( - ( - ( - { only = true; } - | - { not = true; } - ) ( )* - )? - s = medium() - { mq = new MediaQuery(s, only, not); mq.setLocator(createLocator(token)); } - ( - ( )* - p = mediaExpression() - { - mq.addMediaProperty(p); - } - )* - ) - | - ( - p = mediaExpression() - { - mq = new MediaQuery(null, only, not); - mq.setLocator(createLocator(token)); - mq.addMediaProperty(p); - } - ( - ( )* - p = mediaExpression() - { - mq.addMediaProperty(p); - } - )* - ) - ) - { return mq; } -} - -// -// expression -// : '(' S* media_feature S* [ ':' S* expr ]? ')' S* -// ; -// -Property mediaExpression() : -{ - String p; - LexicalUnit e = null; - Property prop; - Token t; -} -{ - - ( )* - ( - t = ( )* { p = unescape(t.image, false); } - | t = ( )* { p = unescape(t.image, false); } - ) - ( - ( )* - e = expr() - )? - - ( )* - { - if(e==null) - { - prop = new Property(p, null, false); - } - else - { - prop = new Property(p, new CSSValueImpl(e), false); - } - return prop; - } -} - -void mediaRuleList() : -{ -} -{ - ( ( styleRule() | mediaRule() | pageRule() | importRule(true) | unknownAtRule() ) ( )* )+ -} - -// -// medium -// : IDENT S* -// ; -// -String medium() : -{ - Token t; -} -{ - t = ( )* - { - return unescape(t.image, false); - } -} - -// -// page -// : PAGE_SYM S* pseudo_page? S* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void pageRule() : -{ - String sel = null; - boolean start = false; - Locator locator; -} -{ - try { - - { - locator = createLocator(token); - } - ( )* - - ( sel = pageSelectorList() )? - - ( )* - { - start = true; - handleStartPage(null, sel, locator); - } - - styleDeclaration() - - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidPageRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringRule", cpe); - } - finally { - if (start) { - handleEndPage(null, sel); - } - } -} - -// -// pageSelectorList -// : [ pageSelector S* [ ',' pageSelector S* ]* ]? -// ; -// -String pageSelectorList() : -{ - String sel; - LinkedList selectors = new LinkedList<>(); -} -{ - sel = pageSelector() { selectors.add(sel); } - ( - ( )* sel = pageSelector() { selectors.add(sel); } - )* - - { return String.join(", ", selectors); } -} - -// -// pageSelector -// : pseudoPage+ | IDENT pseudoPage* -// ; -// -String pageSelector() : -{ - StringBuilder pseudos = new StringBuilder(); - String pseudo; - Token ident; -} -{ - ( - pseudo = pseudoPage() { pseudos.append(pseudo); } - | - ident = { pseudos.append(unescape(ident.image, false)); } - ) - ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* - ( )* - - { return pseudos.toString(); } -} - -// -// pseudoPage -// : ':' IDENT -// ; -// -String pseudoPage() : -{ - Token t; -} -{ - t = { return ":" + normalizeAndValidatePagePseudoClass(t); } -} - -// -// font_face -// : FONT_FACE_SYM S* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void fontFaceRule() : -{ - boolean start = false; - Locator locator; -} -{ - try { - - { - locator = createLocator(token); - } - ( )* - ( )* { start = true; handleStartFontFace(locator); } - styleDeclaration() - - } - catch(ParseException e) - { - throw toCSSParseException("invalidFontFaceRule", e); - } - finally { - if (start) { - handleEndFontFace(); - } - } -} - -// -// operator -// : '/' S* | COMMA S* | /* empty */ -// ; -// -LexicalUnit operator(LexicalUnit prev) : -{ -} -{ - ( )* { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_SLASH); } - | ( )* { return LexicalUnitImpl.createComma(prev); } -} - -// -// combinator -// : PLUS S* -// | GREATER S* -// | S -// ; -// -char combinator() : -{ - char c = ' '; -} -{ - ( - { c='+'; } ( )* - | { c='>'; } ( )* - | { c='~'; } ( )* - | ( ( { c='+'; } | { c='>'; } | { c='~'; } ) ( )* )? - ) - { return c; } -} - -// -// unary_operator -// : '-' | PLUS -// ; -// -char unaryOperator() : -{ -} -{ - ( { return '-'; } | { return '+'; } ) -} - - -// -// ruleset -// : selector [ COMMA S* selector ]* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void styleRule() : -{ - SelectorList selList = null; - boolean start = false; - Token t; -} -{ - try { - { - t = token; - } - selList = selectorList() - ( )* - { - start = true; - handleStartSelector(selList, createLocator(t.next)); - } - styleDeclaration() - ( | ) - } - catch(CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidStyleRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringFollowingDeclarations", cpe); - } - finally { - if (start) { - handleEndSelector(selList); - } - } -} - -SelectorList parseSelectorsInternal() : -{ - SelectorList selectors; -} -{ - ( )* - selectors = selectorList() - - { - return selectors; - } -} - -SelectorList selectorList() : -{ - SelectorListImpl selList = new SelectorListImpl(); - Selector sel; -} -{ - sel = selector() { selList.setLocator(sel.getLocator()); } - ( ( )* - { selList.add(sel); } - sel = selector() { selList.setLocator(sel.getLocator()); } - )* - { - selList.add(sel); - return selList; - } -} - -// -// selector -// : simple_selector_sequence [ combinator simple_selector_sequence ]* -// ; -// -Selector selector() : -{ - Selector sel; - char comb; -} -{ - try { - sel = simpleSelector(null, ' ') - ( LOOKAHEAD(2) comb = combinator() sel = simpleSelector(sel, comb) )* ( )* - { - return sel; - } - } catch (ParseException e) { - throw toCSSParseException("invalidSelector", e); - } -} - -// -// simple_selector -// : element_name [ HASH | class | attrib | pseudo ]* -// | [ HASH | class | attrib | pseudo ]+ -// ; -// -Selector simpleSelector(Selector sel, char comb) : -{ - ElementSelector elemSel = null; - SimpleSelector simpleSel = null; - Condition c = null; - SimpleSelector pseudoElementSel = null; - Object o = null; -} -{ - try - { - ( - ( elemSel = elementName() - ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } - | ( - o = pseudo(null != pseudoElementSel) - { if (o instanceof Condition) - { elemSel.addCondition((Condition) o); - } else { - pseudoElementSel = (SimpleSelector) o; - } - } - ) - )* - ) - | - ( { elemSel = new ElementSelector(null, createLocator(token)); } - ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } - | ( - o = pseudo(null != pseudoElementSel) - { if (o instanceof Condition) - { elemSel.addCondition((Condition) o); - } else { - pseudoElementSel = (SimpleSelector) o; - } - } - ) - )+ - ) - ) - - { - simpleSel = elemSel; - if (sel == null) { - sel = simpleSel; - } else { - switch (comb) { - case ' ': - sel = new DescendantSelector(sel, simpleSel); - break; - case '+': - sel = new DirectAdjacentSelector(sel, simpleSel); - break; - case '>': - sel = new ChildSelector(sel, simpleSel); - break; - case '~': - sel = new GeneralAdjacentSelector(sel, simpleSel); - break; - } - } - if (pseudoElementSel != null) - { - sel = new DescendantSelector(sel, pseudoElementSel); - } - - return sel; - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidSimpleSelector", e); - } -} - -// -// class -// : '.' IDENT -// ; -// -Condition _class(boolean pseudoElementFound) : -{ - Token t; - Locator locator; - ParseException pe = null; -} -{ - try - { - { if (pseudoElementFound) { pe = generateParseException(); } } - - { - locator = createLocator(token); - } - - ( t = | t = | t = | t = ) - { - if (pseudoElementFound) { throw pe; } - return new ClassCondition(unescape(t.image, false), locator); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidClassSelector", e); - } -} - -// -// element_name -// : IDENT | '*' -// ; -// -ElementSelector elementName() : -{ - Token t; -} -{ - try - { - t = - { - return new ElementSelector(unescape(t.image, false), createLocator(t)); - } - | - { - return new ElementSelector(null, createLocator(token)); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidElementName", e); - } -} - -// -// attrib -// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH | PREFIXMATCH | SUFFIXMATCH | SUBSTRINGMATCH ] S* -// [ IDENT | STRING ] S* ]? ']' -// ; -// -Condition attrib(boolean pseudoElementFound) : -{ - Token t; - String name = null; - String value = null; - Boolean insensitive = null; - int type = 0; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - ( )* - { if (pseudoElementFound) { throw generateParseException(); } } - - t = { name = unescape(t.image, false); } - ( )* - ( - ( - { type = 4; } - | - { type = 5; } - | - { type = 6; } - | - "=" { type = 1; } // don't use because of the leading whitespace - | - { type = 2; } - | - { type = 3; } - ) - ( )* - ( - ( - t = { value = unescape(t.image, false); } - | - t = { value = unescape(t.image, false); } - ) - - ( )* - ) - ( - t = { insensitive = handleCaseInSensitive(t); } - ( )* - )? - )? - - { - Condition c = null; - switch (type) { - case 0: - c = new AttributeCondition(name, null, insensitive); - break; - case 1: - c = new AttributeCondition(name, value, insensitive); - break; - case 2: - c = new OneOfAttributeCondition(name, value, insensitive); - break; - case 3: - c = new BeginHyphenAttributeCondition(name, value, insensitive); - break; - case 4: - c = new PrefixAttributeCondition(name, value, insensitive); - break; - case 5: - c = new SuffixAttributeCondition(name, value, insensitive); - break; - case 6: - c = new SubstringAttributeCondition(name, value, insensitive); - break; - } - c.setLocator(locator); - return c; - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidAttrib", e); - } -} - -// -// pseudo -// : ':' (':')? -// [ IDENT -// | FUNCTION_NOT S* selector() S* ')' -// | FUNCTION_LANG S* IDENT S* ')' -// | FUNCTION S* ((PLUS | MINUS | DIMENSION | NUMBER | STRING | IDENT)? S*)+ ')' -// ] -// ; -// -Object pseudo(boolean pseudoElementFound) : -{ - Token t; - String function; - boolean doubleColon = false; - SelectorList selectorList; - Locator locator; -} -{ - try - { - { locator = createLocator(token); } - ( { doubleColon = true; } )? - - ( - t = - { - String s = unescape(t.image, false); - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } - if ("first-line".equals(s) - || "first-letter".equals(s) - || "before".equals(s) - || "after".equals(s)) - { - return new PseudoElementSelector(s, locator, doubleColon); - } - return new PseudoClassCondition(s, locator, doubleColon); - } - | - ( - t = { function = unescape(t.image, false); } - ( )* - selectorList = selectorList() - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } - return new NotPseudoClassCondition(selectorList, locator, doubleColon); - } - ) - | - ( - t = { function = unescape(t.image, false); } - ( )* - t = { String lang = unescape(t.image, false); } - ( )* - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { "lang(" + lang + ")" }, locator); } - return new LangCondition(lang, locator); - } - ) - | - ( - t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } - ( )* - ( - (t = | t = | t = | t = | t = | t = ) - { args.append(unescape(t.image, false)); } - ( t = - { args.append(unescape(t.image, false)); } - )* - )+ - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + args.toString().trim() + ")" }, locator); } - return new PseudoClassCondition(function + args.toString().trim() + ")", locator, doubleColon); - } - ) - ) - } - catch (ParseException e) - { - throw toCSSParseException("invalidPseudo", e); - } -} - -Condition hash(boolean pseudoElementFound) : -{ - Token t; - ParseException pe = null; -} -{ - try - { - { if (pseudoElementFound) { pe = generateParseException(); } } - t = - { - if (pseudoElementFound) { throw pe; } - return new IdCondition(unescape(t.image.substring(1), false), createLocator(t)); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidHash", e); - } -} - -void styleDeclaration() : -{ -} -{ - ( declaration() )? - ( ( )* ( declaration() )? )* -} - -// -// declaration -// : property ':' S* expr prio? -// | -// ; -// -void declaration() : -{ - String p; - LexicalUnit e = null; - Token t; - boolean priority = false; - Locator starHack = null; - Locator locator = null; -} -{ - try - { - // at the moment i have no better idea how to handle the - // infamous css-star-hack (http://en.wikipedia.org/wiki/CSS_filter#Star_hack) - // smart (means: ignoring only one decl) - ( { starHack = createLocator(token); } )? - ( - ( - ( t = { p = unescape(t.image, false); locator = createLocator(t); } - | t = { p = unescape(t.image, false); locator = createLocator(t); } - | t = { p = unescape(t.image, false); locator = createLocator(t); } - | t = { p = unescape(t.image, false); locator = createLocator(t); } - ) - ( )* - ( )* - e = expr() - ) - | - ( - t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } - ( )* - ( e = expr() )? - ) - ) - - ( priority = prio() )? - - // maybe there are strange characters at the end - create error and skip - ( t = - { - locator = createLocator(t); - CSSParseException cpe = toCSSParseException("invalidDeclarationInvalidChar", new String[] {t.image}, locator); - getErrorHandler().error(cpe); - error_skipdecl(); - } - )? - - { - if (starHack != null) - { - CSSParseException cpe = toCSSParseException("invalidDeclarationStarHack", new Object[0], starHack); - getErrorHandler().error(cpe); - return; - } - handleProperty(p, e, priority, locator); - } - } - catch (CSSParseException ex) - { - getErrorHandler().error(ex); - error_skipdecl(); - } - catch (ParseException ex) - { - CSSParseException cpe = toCSSParseException("invalidDeclaration", ex); - getErrorHandler().error(cpe); - error_skipdecl(); - } -} - -// -// prio -// : IMPORTANT_SYM S* -// ; -boolean prio() : -{ -} -{ - ( )* - { return true; } -} - -// -// expr -// : term [ operator term ]* -// ; -LexicalUnit expr() : -{ - LexicalUnit head; - LexicalUnit body; -} -{ - try - { - head = term(null) { body = head; } - ( - ( body = operator(body) )? - body = term(body) - )* - { return head; } - } - catch (ParseException ex) - { - throw toCSSParseException("invalidExpr", ex); - } -} - -// -// term -// : unary_operator? -// [ NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | function ] -// | STRING | IDENT | URI | hexcolor | DIMENSION -// S* -// ; -// -LexicalUnit term(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit value = null; - Locator locator = null; -} -{ - ( op = unaryOperator() )? { if (op != ' ') { locator = createLocator(token); } } - ( - ( value = number(prev, op) - | value = dimension(prev, op) - | value = percentage(prev, op) - | value = function(prev) - | value = rgbColor(prev) - | value = hslColor(prev) - | value = hwbColor(prev) - | value = labColor(prev) - | value = lchColor(prev) - | value = calc(prev) - | value = var(prev) - ) - | t = { value = LexicalUnitImpl.createString(prev, unescape(t.image, false)); } - | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } - | - ( - t = - ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? - ) - { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - | t = { value = LexicalUnitImpl.createURI(prev, unescape(t.image, true)); } - | value = unicodeRange(prev) - | value = hexcolor(prev) - | t = - { - int n = getLastNumPos(t.image); - value = LexicalUnitImpl.createDimension( - prev, - doubleValue(op, t.image.substring(0, n+1)), - t.image.substring(n+1)); - } - | t = { value = LexicalUnitImpl.createInherit(prev); } - | t = { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - | t = { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - ) - { - if (locator == null) - { - locator = createLocator(token); - } - } - ( )* - { - if(value != null) - { - value.setLocator(locator); - } - return value; - } -} - -// -// function -// : FUNCTION S* ((EQUALS | COMMA | (unaryOperator? NUMBER) | STRING | IDENT | URI)? S*)+ ')' S* -// ; -// -LexicalUnit function(LexicalUnit prev) : -{ - Token t; - LexicalUnit param = null; - LexicalUnit body = null; - String funct = ""; -} -{ - t = { funct = funct + unescape(t.image, false); } - ( )* - ( - param = term(null) { body = param; } - ( - ( - ( - t = { body = LexicalUnitImpl.createComma(body); } - | t = { body = LexicalUnitImpl.createIdent(body, t.image); } - ) - ( )* - )? - body = term(body) - )* - )? - - { - return functionInternal(prev, funct, param); - } -} - -// -// calc() -// https://www.w3.org/TR/css3-values/#calc-syntax -// = calc( ) -// -LexicalUnit calc(LexicalUnit prev) : -{ - Token t; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); - String funct = ""; -} -{ - t = { funct = unescape(t.image, false); } - ( )* - calcSum(head) - - { - return functionInternal(prev, funct, head.getNextLexicalUnit()); - } -} - -// -// calcSum() -// = [ [ '+' | '-' ] ]* -// -LexicalUnit calcSum(LexicalUnit prev) : -{ -} -{ - ( - prev = calcProduct(prev) - ( - ( - { prev = LexicalUnitImpl.createPlus(prev); } - | { prev = LexicalUnitImpl.createMinus(prev); } - ) - ( )* - prev = calcProduct(prev) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcProduct() -// = [ '*' | '/' ]* -// -LexicalUnit calcProduct(LexicalUnit prev) : -{ -} -{ - ( - prev = calcValue(prev) - ( - ( - { prev = LexicalUnitImpl.createMultiply(prev); } - ( )* - prev = calcValue(prev) - ) - | - ( - { prev = LexicalUnitImpl.createDivide(prev); } - ( )* - prev = calcNumberValue(prev) - ) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcValue() -// = | | | ( ) -// -LexicalUnit calcValue(LexicalUnit prev) : -{ - char op = ' '; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); -} -{ - ( - ( - ( - (op = unaryOperator() )? - ( - prev = number(prev, op) - | prev = dimension(prev, op) - | prev = percentage(prev, op) - ) - ) - | prev = var(prev) - | - ( - ( | ) - calcSum(head) - - ) - { - // use an empty function as block scope - prev = functionInternal(prev, "(", head.getNextLexicalUnit()); - } - ) - ( )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberSum() -// = [ [ '+' | '-' ] ]* -// -LexicalUnit calcNumberSum(LexicalUnit prev) : -{ -} -{ - ( - prev = calcNumberProduct(prev) - ( - ( - { prev = LexicalUnitImpl.createPlus(prev); } - | { prev = LexicalUnitImpl.createMinus(prev); } - ) - ( )* - prev = calcNumberProduct(prev) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberProduct() -// = [ '*' | '/' ]* -// -LexicalUnit calcNumberProduct(LexicalUnit prev) : -{ -} -{ - ( - prev = calcNumberValue(prev) - ( - ( - { prev = LexicalUnitImpl.createMultiply(prev); } - ( )* - prev = calcNumberValue(prev) - ) - | - ( - { prev = LexicalUnitImpl.createDivide(prev); } - ( )* - prev = calcNumberValue(prev) - ) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberValue() -// = | ( ) -// -LexicalUnit calcNumberValue(LexicalUnit prev) : -{ - Token t; - char op = ' '; - String funct = "("; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); -} -{ - ( - ( - ( - (op = unaryOperator() )? - prev = number(prev, op) - ) - | prev = var(prev) - | - ( - ( - t = { funct = unescape(t.image, false); } - | t = { funct = unescape(t.image, false); } - ) - calcNumberSum(head) - - ) - { - // use an empty function as block scope - prev = functionInternal(prev, funct, head.getNextLexicalUnit()); - } - ) - ( )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// var() -// https://developer.mozilla.org/en-US/docs/Web/CSS/var -// var( , ? ) -// -LexicalUnit var(LexicalUnit prev) : -{ - Token t; - LexicalUnit current, propertyName; - String funct = ""; -} -{ - t = { funct = unescape(t.image, false); } - ( )* - t = { current = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); propertyName = current; } - ( )* - ( - { current = LexicalUnitImpl.createComma(current); } - ( )* - ( current = term(current) )? - )* - - { - return functionInternal(prev, funct, propertyName); - } -} - - -// rgb() / rgba() -// -LexicalUnit rgbColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - ) - ) - { op = ' '; next = param; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - ( - ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } - ) - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - - ( )* - )? - - - { - return rgbColorInternal(prev, funct, param); - } -} - - -// hsl() / hsla() -// -LexicalUnit hslColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } - ) - ) - { op = ' '; next = param; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - ( - ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } - ) - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - - ( )* - )? - - - { - return hslColorInternal(prev, funct, param); - } -} - - -// hwb() -// -LexicalUnit hwbColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - - ( )* - )? - - - { - return hwbColorInternal(prev, funct, param); - } -} - - -// lab() -// -LexicalUnit labColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - - ( )* - )? - - - { - return labColorInternal(prev, funct, param); - } -} - - -// lch() -// -LexicalUnit lchColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | t = { next = LexicalUnitImpl.createDegree(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - - ( )* - )? - - - { - return lchColorInternal(prev, funct, param); - } -} - - -// -// number() -// -LexicalUnit number(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = - ) - { - try - { - value = LexicalUnitImpl.createNumber(prev, intValue(op, t.image)); - } - catch (NumberFormatException e) - { - value = LexicalUnitImpl.createNumber(prev, doubleValue(op, t.image)); - } - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// percentage() -// -LexicalUnit percentage(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createPercentage(prev, doubleValue(op, t.image)); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// dimension() -// -LexicalUnit dimension(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createPixel(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createCentimeter(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createMillimeter(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createInch(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createPoint(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createPica(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createQuater(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createEm(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRem(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createEx(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createCh(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVw(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVh(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVMin(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVMax(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createMillisecond(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createSecond(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createHertz(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createKiloHertz(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpi"); } - | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpcm"); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// unicodeRange -// -LexicalUnit unicodeRange(LexicalUnit prev) : -{ - Token t; - StringBuilder range = new StringBuilder(); -} -{ - t = { range.append(unescape(t.image, false)); } - { - return LexicalUnitImpl.createIdent(prev, range.toString().toUpperCase(Locale.ROOT)); - } -} - -// -// hexcolor -// : HASH S* -// ; -// -LexicalUnit hexcolor(LexicalUnit prev) : -{ - Token t; -} -{ - t = - { - return hexColorInternal(prev, t); - } -} - -JAVACODE -String skip() { - StringBuilder sb = new StringBuilder(); - int nesting = 0; - Token t = getToken(0); - if (t.image != null) { - sb.append(t.image); - } - - do { - t = getNextToken(); - if (t.kind == EOF) { - break; - } - sb.append(t.image); - appendUnit(t, sb); - - if (t.kind == LBRACE) { - nesting++; - } - else if (t.kind == RBRACE) { - nesting--; - } - } - while ((t.kind != RBRACE && t.kind != SEMICOLON) || nesting > 0); - - return sb.toString(); -} - -JAVACODE -String skipUnit() { - StringBuilder sb = new StringBuilder(); - - Token t = token; - Token oldToken = null; - while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { - oldToken = t; - sb.append(oldToken.image); - appendUnit(t, sb); - - t = getNextToken(); - } - if (t.kind != EOF) { - token = oldToken; - } - - return sb.toString(); -} - -JAVACODE -void appendUnit(Token t, StringBuilder sb) { - if (t.kind == EMS) { - sb.append("em"); - return; - } - if (t.kind == REM) { - sb.append("rem"); - return; - } - if (t.kind == EXS) { - sb.append("ex"); - return; - } - if (t.kind == CH) { - sb.append("ch"); - return; - } - if (t.kind == VW) { - sb.append("vw"); - return; - } - if (t.kind == VH) { - sb.append("vh"); - return; - } - if (t.kind == VMIN) { - sb.append("vmin"); - return; - } - if (t.kind == VMAX) { - sb.append("vmax"); - return; - } - if (t.kind == LENGTH_PX) { - sb.append("px"); - return; - } - if (t.kind == LENGTH_CM) { - sb.append("cm"); - return; - } - if (t.kind == LENGTH_MM) { - sb.append("mm"); - return; - } - if (t.kind == LENGTH_IN) { - sb.append("in"); - return; - } - if (t.kind == LENGTH_PT) { - sb.append("pt"); - return; - } - if (t.kind == LENGTH_PC) { - sb.append("pc"); - return; - } - if (t.kind == LENGTH_Q) { - sb.append("Q"); - return; - } - if (t.kind == ANGLE_DEG) { - sb.append("deg"); - return; - } - if (t.kind == ANGLE_RAD) { - sb.append("rad"); - return; - } - if (t.kind == ANGLE_GRAD) { - sb.append("grad"); - return; - } - if (t.kind == ANGLE_TURN) { - sb.append("turn"); - return; - } - if (t.kind == TIME_MS) { - sb.append("ms"); - return; - } - if (t.kind == TIME_S) { - sb.append('s'); - return; - } - if (t.kind == FREQ_HZ) { - sb.append("hz"); - return; - } - if (t.kind == FREQ_KHZ) { - sb.append("khz"); - return; - } - if (t.kind == RESOLUTION_DPI) { - sb.append("dpi"); - return; - } - if (t.kind == RESOLUTION_DPCM) { - sb.append("dpcm"); - return; - } - if (t.kind == PERCENTAGE) { - sb.append('%'); - return; - } -} - -JAVACODE -void error_skipblock(String msgKey, CSSParseException e) -{ - if (msgKey != null) { - getErrorHandler().warning(createSkipWarning(msgKey, e)); - } - - Token t; - int nesting = 0; - do { - t = getNextToken(); - if (t.kind == LBRACE) { - nesting++; - } - else if (t.kind == RBRACE) { - nesting--; - } - } - while (t.kind != EOF && (t.kind != RBRACE || nesting > 0)); -} - -JAVACODE -void error_skipdecl() -{ - Token t = getToken(1); - if (t.kind == LBRACE) { - error_skipblock(null, null); - return; - } - if (t.kind == RBRACE) { - // next will be RBRACE so we are finished - return; - } - - Token oldToken = token; - while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF) { - oldToken = t; - t = getNextToken(); - } - if (t.kind != EOF) { - token = oldToken; - } -} - -JAVACODE -void error_skipAtRule() -{ - Token t = null; - do { - t = getNextToken(); - } - while (t.kind != SEMICOLON && t.kind != EOF); -} - -JAVACODE -Boolean handleCaseInSensitive(Token t) -{ - String s = unescape(t.image, false); - if ("i".equalsIgnoreCase(s)) { - return Boolean.TRUE; - } - if ("s".equalsIgnoreCase(s)) { - return Boolean.FALSE; - } - - throw toCSSParseException("invalidCaseInSensitivelyIdentifier", new String[] { s }, createLocator(t)); -} +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +options { + IGNORE_CASE = true; + + UNICODE_INPUT = true; + USER_CHAR_STREAM = true; + +// DEBUG_TOKEN_MANAGER = true; +// DEBUG_PARSER = true; + + JDK_VERSION = "1.8"; +// JAVA_TEMPLATE_TYPE = "modern" +} + +PARSER_BEGIN(CSS3Parser) + +package org.htmlunit.cssparser.parser.javacc; + +import java.util.LinkedList; +import java.util.Locale; + +import org.htmlunit.cssparser.dom.CSSValueImpl; +import org.htmlunit.cssparser.dom.Property; +import org.htmlunit.cssparser.parser.AbstractCSSParser; +import org.htmlunit.cssparser.parser.CSSParseException; +import org.htmlunit.cssparser.parser.LexicalUnit; +import org.htmlunit.cssparser.parser.LexicalUnitImpl; +import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; +import org.htmlunit.cssparser.parser.Locatable; +import org.htmlunit.cssparser.parser.Locator; +import org.htmlunit.cssparser.parser.condition.AttributeCondition; +import org.htmlunit.cssparser.parser.condition.BeginHyphenAttributeCondition; +import org.htmlunit.cssparser.parser.condition.ClassCondition; +import org.htmlunit.cssparser.parser.condition.Condition; +import org.htmlunit.cssparser.parser.condition.IdCondition; +import org.htmlunit.cssparser.parser.condition.LangCondition; +import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; +import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; +import org.htmlunit.cssparser.parser.condition.PseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; +import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; +import org.htmlunit.cssparser.parser.media.MediaQuery; +import org.htmlunit.cssparser.parser.media.MediaQueryList; +import org.htmlunit.cssparser.parser.selector.ChildSelector; +import org.htmlunit.cssparser.parser.selector.DescendantSelector; +import org.htmlunit.cssparser.parser.selector.DirectAdjacentSelector; +import org.htmlunit.cssparser.parser.selector.ElementSelector; +import org.htmlunit.cssparser.parser.selector.GeneralAdjacentSelector; +import org.htmlunit.cssparser.parser.selector.PseudoElementSelector; +import org.htmlunit.cssparser.parser.selector.Selector; +import org.htmlunit.cssparser.parser.selector.SelectorList; +import org.htmlunit.cssparser.parser.selector.SelectorListImpl; +import org.htmlunit.cssparser.parser.selector.SimpleSelector; +import org.htmlunit.cssparser.util.ParserUtils; + +/** + * @author David Schweinsberg + * @author waldbaer + * @author Ahmed Ashour + * @author Ronald Brill + */ +public class CSS3Parser extends AbstractCSSParser { + + public CSS3Parser() { + this((CharStream) null); + } + + @Override + public String getParserVersion() { + return "http://www.w3.org/Style/CSS/"; + } + + protected String getGrammarUri() + { + return "http://www.w3.org/TR/WD-css3-syntax-20030813"; + } +} + +PARSER_END(CSS3Parser) + +TOKEN_MGR_DECLS : +{ +} + + TOKEN : +{ +// s [ \t\r\n\f]+ +// {s} {return S;} + < S: ( " "|"\t"|"\r"|"\n"|"\f" )+ > +// w {s}? +// | < W: ( )? > +} + + MORE : +{ + < "/*" > : COMMENT +} + + SKIP : +{ + < "*/" > : DEFAULT +} + + MORE : +{ + < ~[] > : COMMENT +} + + TOKEN : +{ +// h [0-9a-f] + < #H: ["0"-"9","a"-"f"] > +| < #HNUM: | | | | | > + +// nonascii [\200-\377] +// The two occurrences of "\377" represent the highest character number that +// current versions of Flex can deal with (decimal 255). They should be read as +// "\4177777" (decimal 1114111), which is the highest possible code point in +// Unicode/ISO-10646. +// Limitation: This parser can only handle Unicode characters up to \uFFFF +// (decimal 65535). +| < #NONASCII: ["\u0080"-"\uFFFF"] > + +// unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? +| < #UNICODE: "\\" ( "\r\n" | [" ","\t","\r","\n","\f"] )? > + +// escape {unicode}|\\[^\r\n\f0-9a-f] +| < #ESCAPE: | ( "\\" ~["\r","\n","\f","0"-"9","a"-"f"] ) > + +// nmstart [_a-z]|{nonascii}|{escape} +| < #NMSTART: ["_","a"-"z"] | | > + +// nmchar [_a-z0-9-]|{nonascii}|{escape} +| < #NMCHAR: ["_","a"-"z","0"-"9","-"] | | > + +// nl \n|\r\n|\r|\f +| < #NL: "\n" | "\r\n" | "\r" | "\f" > + +// string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\" +| < #STRING1: ( ~["\n","\r","\f","\\","\""] | "\\" | )* > + +// string2 \'([^\n\r\f\\']|\\{nl}|{escape})*\' +| < #STRING2: ( ~["\n","\r","\f","\\","\'"] | "\\" | )* > + +// comment \/\*[^*]*\*+([^/*][^*]*\*+)*\/ +| < #COMMENT_: "/" "*" ( ~["*"] )* ("*")+ ( ~["/","*"] ( ~["*"] )* ( "*" )+ )* "/"> + +| < AND: "and" > +| < NOT: "not" > +| < ONLY: "only" > + +// {num} {return NUMBER;} +| < NUMBER: > + +| < INHERIT: "inherit" > +| < NONE: "none" > + +// ident -?{nmstart}{nmchar}* +// {ident} {return IDENT;} +| < IDENT: (< MINUS >)? ( )* > + +// name {nmchar}+ +| < #NAME: ( )+ > + +// num [0-9]+|[0-9]*"."[0-9]+ +| < NUM: ( ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ ) (["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+)? > + +// string {string1}|{string2} +// {string} {return STRING;} +| < STRING: ( "\"" "\"" ) | ( "\'" "\'" ) > { matchedToken.image = ParserUtils.trimBy(image, 1, 1); } + +// url ([!#$%&*-~]|{nonascii}|{escape})* +| < #URL: ( ["!","#","$","%","&","*"-"[","]"-"~"] | | )* > + +// A a|\\0{0,4}(41|61)(\r\n|[ \t\r\n\f])? +| < #A_LETTER: "a" | "\\" ("0")? ("0")? ("0")? ("0")? ( "41" | "61" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// C c|\\0{0,4}(43|63)(\r\n|[ \t\r\n\f])? +| < #C_LETTER: "c" | "\\" ("0")? ("0")? ("0")? ("0")? ( "43" | "63" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// D d|\\0{0,4}(44|64)(\r\n|[ \t\r\n\f])? +| < #D_LETTER: "d" | "\\" ("0")? ("0")? ("0")? ("0")? ( "44" | "64" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// E e|\\0{0,4}(45|65)(\r\n|[ \t\r\n\f])? +| < #E_LETTER: "e" | "\\" ("0")? ("0")? ("0")? ("0")? ( "45" | "65" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// F f|\\0{0,4}(46|66)(\r\n|[ \t\r\n\f])? +| < #F_LETTER: "f" | "\\" ("0")? ("0")? ("0")? ("0")? ( "46" | "66" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// G g|\\0{0,4}(47|67)(\r\n|[ \t\r\n\f])?|\\g +| < #G_LETTER: "g" | "\\" ("0")? ("0")? ("0")? ("0")? ( "47" | "67" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "g" > + +// H h|\\0{0,4}(48|68)(\r\n|[ \t\r\n\f])?|\\h +| < #H_LETTER: "h" | "\\" ("0")? ("0")? ("0")? ("0")? ( "48" | "68" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "h" > + +// I i|\\0{0,4}(49|69)(\r\n|[ \t\r\n\f])?|\\i +| < #I_LETTER: "i" | "\\" ("0")? ("0")? ("0")? ("0")? ( "49" | "69" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "i" > + +// K k|\\0{0,4}(4b|6b)(\r\n|[ \t\r\n\f])?|\\k +| < #K_LETTER: "k" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4b" | "6b" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "k" > + +// L l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l +| < #L_LETTER: "l" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4c" | "6c" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "l" > + +// M m|\\0{0,4}(4d|6d)(\r\n|[ \t\r\n\f])?|\\m +| < #M_LETTER: "m" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4d" | "6d" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "m" > + +// N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n +| < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > + +// O o|\\0{0,4}(51|71)(\r\n|[ \t\r\n\f])?|\\o +| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "51" | "71" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > + +// P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p +| < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > + +// R r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r +| < #R_LETTER: "r" | "\\" ("0")? ("0")? ("0")? ("0")? ( "52" | "72" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "r" > + +// S s|\\0{0,4}(53|73)(\r\n|[ \t\r\n\f])?|\\s +| < #S_LETTER: "s" | "\\" ("0")? ("0")? ("0")? ("0")? ( "53" | "73" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "s" > + +// T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t +| < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > + +// U v|\\0{0,4}(55|76)(\r\n|[ \t\r\n\f])?|\\v +| < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > + +// X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x +| < #X_LETTER: "x" | "\\" ("0")? ("0")? ("0")? ("0")? ( "58" | "78" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "x" > + +// Z z|\\0{0,4}(5a|7a)(\r\n|[ \t\r\n\f])?|\\z +| < #Z_LETTER: "z" | "\\" ("0")? ("0")? ("0")? ("0")? ( "5a" | "7a" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "z" > + +// "" {return CDC;} +| < CDC: "-->" > + +// "~=" {return INCLUDES;} +| < INCLUDES: "~=" > + +// "|=" {return DASHMATCH;} +| < DASHMATCH: "|=" > + +// "^=" {return PREFIXMATCH;} +| < PREFIXMATCH: "^=" > + +// "$=" {return SUFFIXMATCH;} +| < SUFFIXMATCH: "$=" > + +// "*=" {return SUBSTRINGMATCH;} +| < SUBSTRINGMATCH: "*=" > + +// {w}"{" {return LBRACE;} +| < LBRACE: "{" > +| < RBRACE: "}" > + +| < LROUND: "(" > +| < RROUND: ")" > + +| < DOT: "." > +| < SEMICOLON: ";" > +| < COLON: ":" > +| < ASTERISK: "*" > +| < SLASH: "/" > +| < MINUS: "-" > +| < EQUALS: "=" > +| < LSQUARE: "[" > +| < RSQUARE: "]" > + +// {w}"+" {return PLUS;} +| < PLUS: "+" > + +// {w}">" {return GREATER;} +| < GREATER: ">" > + +// {w}"~" {return TILDE;} +| < TILDE: "~" > + +// {w}"," {return COMMA;} +| < COMMA: "," > + +// "#"{name} {return HASH;} +| < HASH: "#" > + +// @{I}{M}{P}{O}{R}{T} {return IMPORT_SYM;} +| < IMPORT_SYM: "@" > + +// @{P}{A}{G}{E} {return PAGE_SYM;} +| < PAGE_SYM: "@" > + +// @{M}{E}{D}{I}{A} {return MEDIA_SYM;} +| < MEDIA_SYM: "@" > + +// "@{F}{O}{N}{T}-{F}{A}{C}{E}" {return FONT_FACE_SYM;} +| < FONT_FACE_SYM: "@" < MINUS > > + +// @{C}{H}{A}{R}{S}{E}{T} {return CHARSET_SYM;} +| < CHARSET_SYM: "@" > + +// "!"({w}|{comment})*{I}{M}{P}{O}{R}{T}{A}{N}{T} {return IMPORTANT_SYM;} +| < IMPORTANT_SYM: "!" ( | )* > + +// {num}{E}{M} {return EMS;} +| < EMS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{R}{E}{M} {return REM;} +| < REM: "rem" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{E}{X} {return EXS;} +| < EXS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{C}{H} {return CH;} +| < CH: "ch" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{W} {return VW;} +| < VW: "vw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{H} {return VH;} +| < VH: "vh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{M}{I}{N} {return VMIN;} +| < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{V}{M}{I}{N} {return VMAX;} +| < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{P}{X} {return LENGTH;} +| < LENGTH_PX: "px" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{C}{M} {return LENGTH;} +| < LENGTH_CM: "cm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{M}{M} {return LENGTH;} +| < LENGTH_MM: "mm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{I}{N} {return LENGTH;} +| < LENGTH_IN: "in" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{P}{T} {return LENGTH;} +| < LENGTH_PT: "pt" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{P}{C} {return LENGTH;} +| < LENGTH_PC: "pc" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{Q} {return LENGTH;} +| < LENGTH_Q: "Q" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{D}{E}{G} {return ANGLE;} +| < ANGLE_DEG: "deg" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{R}{A}{D} {return ANGLE;} +| < ANGLE_RAD: "rad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{G}{R}{A}{D} {return ANGLE;} +| < ANGLE_GRAD: "grad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{T}{U}{R}{N} {return ANGLE;} +| < ANGLE_TURN: "turn" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{M}{S} {return TIME;} +| < TIME_MS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{S} {return TIME;} +| < TIME_S: > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{H}{Z} {return FREQ;} +| < FREQ_HZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{K}{H}{Z} {return FREQ;} +| < FREQ_KHZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{D}{P}{I} {return RESOLUTION;} +| < RESOLUTION_DPI: "dpi" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{D}{P}{C}{M} {return RESOLUTION;} +| < RESOLUTION_DPCM: "dpcm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}% {return PERCENTAGE;} +| < PERCENTAGE: "%" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{ident} {return DIMENSION;} +| < DIMENSION: ( ["a"-"z","0"-"9"] | | )* > + +| < #H_PLACEHOLDER: ( | "?"){1,6} > +| < UNICODE_RANGE: "u+" (< MINUS > < H_PLACEHOLDER >)? > + +// "url("{w}{string}{w}")" {return URI;} +// "url("{w}{url}{w}")" {return URI;} +| < URI: "url" ( )* ( | ) ( )* > { matchedToken.image = ParserUtils.trimUrl(image); } + +// {N}{O}{T} "(" {return FUNCTION_NOT;} +| < FUNCTION_NOT: "not" > + +// {L}{A}{N}{G} "(" {return FUNCTION_LANG;} +| < FUNCTION_LANG: "lang" > + +// {C}{A}{L}{C} "(" {return FUNCTION_CALC;} +| < FUNCTION_CALC: "calc" > + +// {V}{A}{R} "(" {return FUNCTION_VAR;} +| < FUNCTION_VAR: "var" > + +| < FUNCTION_RGB: "rgb" ("a")? > +| < FUNCTION_HSL: "hsl" ("a")? > +| < FUNCTION_HWB: "hwb" > +| < FUNCTION_LAB: ("ok")? "lab" > +| < FUNCTION_LCH: ("ok")? "lch" > + +| < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > + +// {ident} "(" {return FUNCTION;} +| < FUNCTION: > + +| < ATKEYWORD: "@" > +} + +<*> TOKEN: +{ + < UNKNOWN: ~[] > + { + // System.err.println("Illegal character : " + image.toString()); + } +} + +// +// stylesheet +// : [ CHARSET_SYM STRING ';' ]? +// [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* +// [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* +// ; +// +void styleSheet() : +{ +} +{ + try + { + { handleStartDocument(); } + styleSheetRuleList() + + } + finally + { + handleEndDocument(); + } +} + +void styleSheetRuleList() : +{ + boolean ruleFound = false; +} +{ + ( | | )* + ( + charsetRule() + ( | | )* + )? + ( + ( + ( + importRule(ruleFound) + | + ( + styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() + ) + { + ruleFound = true; + } + ) + | + ( + // skip until the next RBRACE + { ParseException e = generateParseException(); } + invalidRule() + { + Token t = getNextToken(); + + boolean charsetProcessed = false; + if (t.kind == CHARSET_SYM) { + t = getNextToken(); + if (t.kind == S) { + t = getNextToken(); + if (t.kind == STRING) { + t = getNextToken(); + if (t.kind == SEMICOLON) { + getNextToken(); + charsetProcessed = true; + } + } + } + CSSParseException cpe = toCSSParseException("misplacedCharsetRule", e); + getErrorHandler().error(cpe); + getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); + } + + if (!charsetProcessed) { + if (t.kind == EOF) { + return; + } + + CSSParseException cpe = toCSSParseException("invalidRule", e); + getErrorHandler().error(cpe); + getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); + while (t.kind != RBRACE && t.kind != EOF ) { + t = getNextToken(); + } + if (t.kind == EOF) { + return; + } + } + } + ) + ) + ( | | )* + )* +} + +JAVACODE +void invalidRule() +{ +} + +// +// This is used by ASTStyleSheet.insertRule to parse a single rule +// +void styleSheetRuleSingle() : +{ +} +{ + ( )* + ( charsetRule() | importRule(false) | styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() ) + ( )* +} + +void charsetRule() : +{ + Token t; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + + t = + + { + handleCharset(t.toString(), locator); + } + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidCharsetRule", e)); + } +} + +void unknownAtRule() : +{ + String s; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + s = skip(); + handleIgnorableAtRule(s, locator); + } + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidUnknownRule", generateParseException())); + } +} + +// +// import +// : IMPORT_SYM S* +// [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S* +// ; +// +void importRule(final boolean nonImportRuleFoundBefore) : +{ + Token t; + MediaQueryList ml = new MediaQueryList(); + Locator locator; +} +{ + try + { + { + ParseException e = null; + if (nonImportRuleFoundBefore) + { + e = generateParseException(); + } + } + + { + locator = createLocator(token); + } + ( )* + ( t = | t = ) ( )* + ( mediaList(ml) )? + + { + if (nonImportRuleFoundBefore) + { + getErrorHandler().error(toCSSParseException("invalidImportRuleIgnored2", e)); + } + else + { + handleImportStyle(unescape(t.image, false), ml, null, locator); + } + } + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipAtRule(); + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidImportRule", e)); + error_skipAtRule(); + } +} + +// +// media +// : MEDIA_SYM S* medium [ COMMA S* medium ]* '{' S* ruleset* '}' S* +// ; +// +void mediaRule() : +{ + boolean start = false; + MediaQueryList ml = new MediaQueryList(); + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + ( )* + mediaList(ml) + { + start = true; + handleStartMedia(ml, locator); + } + ( )* + ( mediaRuleList() )? + + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidMediaRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringRule", cpe); + } + finally + { + if (start) { + handleEndMedia(ml); + } + } +} + +void mediaList(MediaQueryList ml) : +{ + MediaQuery mq; +} +{ + try + { + mq = mediaQuery() + { + ml.setLocator(createLocator(token)); + } + ( ( )* { ml.add(mq); } mq = mediaQuery() )* + { ml.add(mq); } + } + catch(ParseException e) + { + throw toCSSParseException("invalidMediaList", e); + } +} + +// +// media_query +// : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* +// | expression [ AND S* expression ]* +// ; +// +MediaQuery mediaQuery() : +{ + String s; + MediaQuery mq; + Property p; + boolean only = false; + boolean not = false; +} +{ + ( + ( + ( + ( + { only = true; } + | + { not = true; } + ) ( )* + )? + s = medium() + { mq = new MediaQuery(s, only, not); mq.setLocator(createLocator(token)); } + ( + ( )* + p = mediaExpression() + { + mq.addMediaProperty(p); + } + )* + ) + | + ( + p = mediaExpression() + { + mq = new MediaQuery(null, only, not); + mq.setLocator(createLocator(token)); + mq.addMediaProperty(p); + } + ( + ( )* + p = mediaExpression() + { + mq.addMediaProperty(p); + } + )* + ) + ) + { return mq; } +} + +// +// expression +// : '(' S* media_feature S* [ ':' S* expr ]? ')' S* +// ; +// +Property mediaExpression() : +{ + String p; + LexicalUnit e = null; + Property prop; + Token t; +} +{ + + ( )* + ( + t = ( )* { p = unescape(t.image, false); } + | t = ( )* { p = unescape(t.image, false); } + ) + ( + ( )* + e = expr() + )? + + ( )* + { + if(e==null) + { + prop = new Property(p, null, false); + } + else + { + prop = new Property(p, new CSSValueImpl(e), false); + } + return prop; + } +} + +void mediaRuleList() : +{ +} +{ + ( ( styleRule() | mediaRule() | pageRule() | importRule(true) | unknownAtRule() ) ( )* )+ +} + +// +// medium +// : IDENT S* +// ; +// +String medium() : +{ + Token t; +} +{ + t = ( )* + { + return unescape(t.image, false); + } +} + +// +// page +// : PAGE_SYM S* pseudo_page? S* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void pageRule() : +{ + String sel = null; + boolean start = false; + Locator locator; +} +{ + try { + + { + locator = createLocator(token); + } + ( )* + + ( sel = pageSelectorList() )? + + ( )* + { + start = true; + handleStartPage(null, sel, locator); + } + + styleDeclaration() + + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidPageRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringRule", cpe); + } + finally { + if (start) { + handleEndPage(null, sel); + } + } +} + +// +// pageSelectorList +// : [ pageSelector S* [ ',' pageSelector S* ]* ]? +// ; +// +String pageSelectorList() : +{ + String sel; + LinkedList selectors = new LinkedList<>(); +} +{ + sel = pageSelector() { selectors.add(sel); } + ( + ( )* sel = pageSelector() { selectors.add(sel); } + )* + + { return String.join(", ", selectors); } +} + +// +// pageSelector +// : pseudoPage+ | IDENT pseudoPage* +// ; +// +String pageSelector() : +{ + StringBuilder pseudos = new StringBuilder(); + String pseudo; + Token ident; +} +{ + ( + pseudo = pseudoPage() { pseudos.append(pseudo); } + | + ident = { pseudos.append(unescape(ident.image, false)); } + ) + ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* + ( )* + + { return pseudos.toString(); } +} + +// +// pseudoPage +// : ':' IDENT +// ; +// +String pseudoPage() : +{ + Token t; +} +{ + t = { return ":" + normalizeAndValidatePagePseudoClass(t); } +} + +// +// font_face +// : FONT_FACE_SYM S* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void fontFaceRule() : +{ + boolean start = false; + Locator locator; +} +{ + try { + + { + locator = createLocator(token); + } + ( )* + ( )* { start = true; handleStartFontFace(locator); } + styleDeclaration() + + } + catch(ParseException e) + { + throw toCSSParseException("invalidFontFaceRule", e); + } + finally { + if (start) { + handleEndFontFace(); + } + } +} + +// +// operator +// : '/' S* | COMMA S* | /* empty */ +// ; +// +LexicalUnit operator(LexicalUnit prev) : +{ +} +{ + ( )* { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_SLASH); } + | ( )* { return LexicalUnitImpl.createComma(prev); } +} + +// +// combinator +// : PLUS S* +// | GREATER S* +// | S +// ; +// +char combinator() : +{ + char c = ' '; +} +{ + ( + { c='+'; } ( )* + | { c='>'; } ( )* + | { c='~'; } ( )* + | ( ( { c='+'; } | { c='>'; } | { c='~'; } ) ( )* )? + ) + { return c; } +} + +// +// unary_operator +// : '-' | PLUS +// ; +// +char unaryOperator() : +{ +} +{ + ( { return '-'; } | { return '+'; } ) +} + + +// +// ruleset +// : selector [ COMMA S* selector ]* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void styleRule() : +{ + SelectorList selList = null; + boolean start = false; + Token t; +} +{ + try { + { + t = token; + } + selList = selectorList() + ( )* + { + start = true; + handleStartSelector(selList, createLocator(t.next)); + } + styleDeclaration() + ( | ) + } + catch(CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidStyleRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringFollowingDeclarations", cpe); + } + finally { + if (start) { + handleEndSelector(selList); + } + } +} + +SelectorList parseSelectorsInternal() : +{ + SelectorList selectors; +} +{ + ( )* + selectors = selectorList() + + { + return selectors; + } +} + +SelectorList selectorList() : +{ + SelectorListImpl selList = new SelectorListImpl(); + Selector sel; +} +{ + sel = selector() { selList.setLocator(sel.getLocator()); } + ( ( )* + { selList.add(sel); } + sel = selector() { selList.setLocator(sel.getLocator()); } + )* + { + selList.add(sel); + return selList; + } +} + +// +// selector +// : simple_selector_sequence [ combinator simple_selector_sequence ]* +// ; +// +Selector selector() : +{ + Selector sel; + char comb; +} +{ + try { + sel = simpleSelector(null, ' ') + ( LOOKAHEAD(2) comb = combinator() sel = simpleSelector(sel, comb) )* ( )* + { + return sel; + } + } catch (ParseException e) { + throw toCSSParseException("invalidSelector", e); + } +} + +// +// simple_selector +// : element_name [ HASH | class | attrib | pseudo ]* +// | [ HASH | class | attrib | pseudo ]+ +// ; +// +Selector simpleSelector(Selector sel, char comb) : +{ + ElementSelector elemSel = null; + SimpleSelector simpleSel = null; + Condition c = null; + SimpleSelector pseudoElementSel = null; + Object o = null; +} +{ + try + { + ( + ( elemSel = elementName() + ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } + | ( + o = pseudo(null != pseudoElementSel) + { if (o instanceof Condition) + { elemSel.addCondition((Condition) o); + } else { + pseudoElementSel = (SimpleSelector) o; + } + } + ) + )* + ) + | + ( { elemSel = new ElementSelector(null, createLocator(token)); } + ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } + | ( + o = pseudo(null != pseudoElementSel) + { if (o instanceof Condition) + { elemSel.addCondition((Condition) o); + } else { + pseudoElementSel = (SimpleSelector) o; + } + } + ) + )+ + ) + ) + + { + simpleSel = elemSel; + if (sel == null) { + sel = simpleSel; + } else { + switch (comb) { + case ' ': + sel = new DescendantSelector(sel, simpleSel); + break; + case '+': + sel = new DirectAdjacentSelector(sel, simpleSel); + break; + case '>': + sel = new ChildSelector(sel, simpleSel); + break; + case '~': + sel = new GeneralAdjacentSelector(sel, simpleSel); + break; + } + } + if (pseudoElementSel != null) + { + sel = new DescendantSelector(sel, pseudoElementSel); + } + + return sel; + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidSimpleSelector", e); + } +} + +// +// class +// : '.' IDENT +// ; +// +Condition _class(boolean pseudoElementFound) : +{ + Token t; + Locator locator; + ParseException pe = null; +} +{ + try + { + { if (pseudoElementFound) { pe = generateParseException(); } } + + { + locator = createLocator(token); + } + + t = ident() + { + if (pseudoElementFound) { throw pe; } + return new ClassCondition(unescape(t.image, false), locator); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidClassSelector", e); + } +} + +// +// element_name +// : IDENT | '*' +// ; +// +ElementSelector elementName() : +{ + Token t; +} +{ + try + { + t = + { + return new ElementSelector(unescape(t.image, false), createLocator(t)); + } + | + { + return new ElementSelector(null, createLocator(token)); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidElementName", e); + } +} + +// +// attrib +// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH | PREFIXMATCH | SUFFIXMATCH | SUBSTRINGMATCH ] S* +// [ IDENT | STRING ] S* ]? ']' +// ; +// +Condition attrib(boolean pseudoElementFound) : +{ + Token t; + String name = null; + String value = null; + Boolean insensitive = null; + int type = 0; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + ( )* + { if (pseudoElementFound) { throw generateParseException(); } } + + t = { name = unescape(t.image, false); } + ( )* + ( + ( + { type = 4; } + | + { type = 5; } + | + { type = 6; } + | + "=" { type = 1; } // don't use because of the leading whitespace + | + { type = 2; } + | + { type = 3; } + ) + ( )* + ( + ( + t = { value = unescape(t.image, false); } + | + t = { value = unescape(t.image, false); } + ) + + ( )* + ) + ( + t = { insensitive = handleCaseInSensitive(t); } + ( )* + )? + )? + + { + Condition c = null; + switch (type) { + case 0: + c = new AttributeCondition(name, null, insensitive); + break; + case 1: + c = new AttributeCondition(name, value, insensitive); + break; + case 2: + c = new OneOfAttributeCondition(name, value, insensitive); + break; + case 3: + c = new BeginHyphenAttributeCondition(name, value, insensitive); + break; + case 4: + c = new PrefixAttributeCondition(name, value, insensitive); + break; + case 5: + c = new SuffixAttributeCondition(name, value, insensitive); + break; + case 6: + c = new SubstringAttributeCondition(name, value, insensitive); + break; + } + c.setLocator(locator); + return c; + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidAttrib", e); + } +} + +// +// pseudo +// : ':' (':')? +// [ IDENT +// | FUNCTION_NOT S* selector() S* ')' +// | FUNCTION_LANG S* IDENT S* ')' +// | FUNCTION S* ((PLUS | MINUS | DIMENSION | NUMBER | STRING | IDENT)? S*)+ ')' +// ] +// ; +// +Object pseudo(boolean pseudoElementFound) : +{ + Token t; + String function; + boolean doubleColon = false; + SelectorList selectorList; + Locator locator; +} +{ + try + { + { locator = createLocator(token); } + ( { doubleColon = true; } )? + + ( + t = + { + String s = unescape(t.image, false); + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } + if ("first-line".equals(s) + || "first-letter".equals(s) + || "before".equals(s) + || "after".equals(s)) + { + return new PseudoElementSelector(s, locator, doubleColon); + } + return new PseudoClassCondition(s, locator, doubleColon); + } + | + ( + t = { function = unescape(t.image, false); } + ( )* + selectorList = selectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } + return new NotPseudoClassCondition(selectorList, locator, doubleColon); + } + ) + | + ( + t = { function = unescape(t.image, false); } + ( )* + t = { String lang = unescape(t.image, false); } + ( )* + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { "lang(" + lang + ")" }, locator); } + return new LangCondition(lang, locator); + } + ) + | + ( + t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } + ( )* + ( + (t = | t = | t = | t = | t = | t = ) + { args.append(unescape(t.image, false)); } + ( t = + { args.append(unescape(t.image, false)); } + )* + )+ + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + args.toString().trim() + ")" }, locator); } + return new PseudoClassCondition(function + args.toString().trim() + ")", locator, doubleColon); + } + ) + ) + } + catch (ParseException e) + { + throw toCSSParseException("invalidPseudo", e); + } +} + +Condition hash(boolean pseudoElementFound) : +{ + Token t; + ParseException pe = null; +} +{ + try + { + { if (pseudoElementFound) { pe = generateParseException(); } } + t = + { + if (pseudoElementFound) { throw pe; } + return new IdCondition(unescape(t.image.substring(1), false), createLocator(t)); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidHash", e); + } +} + +void styleDeclaration() : +{ +} +{ + ( declaration() )? + ( ( )* ( declaration() )? )* +} + +// +// declaration +// : property ':' S* expr prio? +// | +// ; +// +void declaration() : +{ + String p; + LexicalUnit e = null; + Token t; + boolean priority = false; + Locator starHack = null; + Locator locator = null; +} +{ + try + { + // at the moment i have no better idea how to handle the + // infamous css-star-hack (http://en.wikipedia.org/wiki/CSS_filter#Star_hack) + // smart (means: ignoring only one decl) + ( { starHack = createLocator(token); } )? + ( + ( + t = ident() { p = unescape(t.image, false); locator = createLocator(t); } + ( )* + ( )* + e = expr() + ) + | + ( + t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } + ( )* + ( e = expr() )? + ) + ) + + ( priority = prio() )? + + // maybe there are strange characters at the end - create error and skip + ( t = + { + locator = createLocator(t); + CSSParseException cpe = toCSSParseException("invalidDeclarationInvalidChar", new String[] {t.image}, locator); + getErrorHandler().error(cpe); + error_skipdecl(); + } + )? + + { + if (starHack != null) + { + CSSParseException cpe = toCSSParseException("invalidDeclarationStarHack", new Object[0], starHack); + getErrorHandler().error(cpe); + return; + } + handleProperty(p, e, priority, locator); + } + } + catch (CSSParseException ex) + { + getErrorHandler().error(ex); + error_skipdecl(); + } + catch (ParseException ex) + { + CSSParseException cpe = toCSSParseException("invalidDeclaration", ex); + getErrorHandler().error(cpe); + error_skipdecl(); + } +} + +// +// prio +// : IMPORTANT_SYM S* +// ; +boolean prio() : +{ +} +{ + ( )* + { return true; } +} + +// +// expr +// : term [ operator term ]* +// ; +LexicalUnit expr() : +{ + LexicalUnit head; + LexicalUnit body; +} +{ + try + { + head = term(null) { body = head; } + ( + ( body = operator(body) )? + body = term(body) + )* + { return head; } + } + catch (ParseException ex) + { + throw toCSSParseException("invalidExpr", ex); + } +} + +// +// term +// : unary_operator? +// [ NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | function ] +// | STRING | IDENT | URI | hexcolor | DIMENSION +// S* +// ; +// +LexicalUnit term(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit value = null; + Locator locator = null; +} +{ + ( op = unaryOperator() )? { if (op != ' ') { locator = createLocator(token); } } + ( + ( value = number(prev, op) + | value = dimension(prev, op) + | value = percentage(prev, op) + | value = function(prev) + | value = rgbColor(prev) + | value = hslColor(prev) + | value = hwbColor(prev) + | value = labColor(prev) + | value = lchColor(prev) + | value = calc(prev) + | value = var(prev) + ) + | t = { value = LexicalUnitImpl.createString(prev, unescape(t.image, false)); } + | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } + | + ( + t = + ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? + ) + { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + | t = { value = LexicalUnitImpl.createURI(prev, unescape(t.image, true)); } + | value = unicodeRange(prev) + | value = hexcolor(prev) + | t = + { + int n = getLastNumPos(t.image); + value = LexicalUnitImpl.createDimension( + prev, + doubleValue(op, t.image.substring(0, n+1)), + t.image.substring(n+1)); + } + | t = { value = LexicalUnitImpl.createInherit(prev); } + | t = { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + | t = { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + ) + { + if (locator == null) + { + locator = createLocator(token); + } + } + ( )* + { + if(value != null) + { + value.setLocator(locator); + } + return value; + } +} + +// +// function +// : FUNCTION S* ((EQUALS | COMMA | (unaryOperator? NUMBER) | STRING | IDENT | URI)? S*)+ ')' S* +// ; +// +LexicalUnit function(LexicalUnit prev) : +{ + Token t; + LexicalUnit param = null; + LexicalUnit body = null; + String funct = ""; +} +{ + t = { funct = funct + unescape(t.image, false); } + ( )* + ( + param = term(null) { body = param; } + ( + ( + ( + t = { body = LexicalUnitImpl.createComma(body); } + | t = { body = LexicalUnitImpl.createIdent(body, t.image); } + ) + ( )* + )? + body = term(body) + )* + )? + + { + return functionInternal(prev, funct, param); + } +} + +// +// calc() +// https://www.w3.org/TR/css3-values/#calc-syntax +// = calc( ) +// +LexicalUnit calc(LexicalUnit prev) : +{ + Token t; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); + String funct = ""; +} +{ + t = { funct = unescape(t.image, false); } + ( )* + calcSum(head) + + { + return functionInternal(prev, funct, head.getNextLexicalUnit()); + } +} + +// +// calcSum() +// = [ [ '+' | '-' ] ]* +// +LexicalUnit calcSum(LexicalUnit prev) : +{ +} +{ + ( + prev = calcProduct(prev) + ( + ( + { prev = LexicalUnitImpl.createPlus(prev); } + | { prev = LexicalUnitImpl.createMinus(prev); } + ) + ( )* + prev = calcProduct(prev) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcProduct() +// = [ '*' | '/' ]* +// +LexicalUnit calcProduct(LexicalUnit prev) : +{ +} +{ + ( + prev = calcValue(prev) + ( + ( + { prev = LexicalUnitImpl.createMultiply(prev); } + ( )* + prev = calcValue(prev) + ) + | + ( + { prev = LexicalUnitImpl.createDivide(prev); } + ( )* + prev = calcNumberValue(prev) + ) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcValue() +// = | | | ( ) +// +LexicalUnit calcValue(LexicalUnit prev) : +{ + char op = ' '; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); +} +{ + ( + ( + ( + (op = unaryOperator() )? + ( + prev = number(prev, op) + | prev = dimension(prev, op) + | prev = percentage(prev, op) + ) + ) + | prev = var(prev) + | + ( + ( | ) + calcSum(head) + + ) + { + // use an empty function as block scope + prev = functionInternal(prev, "(", head.getNextLexicalUnit()); + } + ) + ( )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberSum() +// = [ [ '+' | '-' ] ]* +// +LexicalUnit calcNumberSum(LexicalUnit prev) : +{ +} +{ + ( + prev = calcNumberProduct(prev) + ( + ( + { prev = LexicalUnitImpl.createPlus(prev); } + | { prev = LexicalUnitImpl.createMinus(prev); } + ) + ( )* + prev = calcNumberProduct(prev) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberProduct() +// = [ '*' | '/' ]* +// +LexicalUnit calcNumberProduct(LexicalUnit prev) : +{ +} +{ + ( + prev = calcNumberValue(prev) + ( + ( + { prev = LexicalUnitImpl.createMultiply(prev); } + ( )* + prev = calcNumberValue(prev) + ) + | + ( + { prev = LexicalUnitImpl.createDivide(prev); } + ( )* + prev = calcNumberValue(prev) + ) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberValue() +// = | ( ) +// +LexicalUnit calcNumberValue(LexicalUnit prev) : +{ + Token t; + char op = ' '; + String funct = "("; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); +} +{ + ( + ( + ( + (op = unaryOperator() )? + prev = number(prev, op) + ) + | prev = var(prev) + | + ( + ( + t = { funct = unescape(t.image, false); } + | t = { funct = unescape(t.image, false); } + ) + calcNumberSum(head) + + ) + { + // use an empty function as block scope + prev = functionInternal(prev, funct, head.getNextLexicalUnit()); + } + ) + ( )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// var() +// https://developer.mozilla.org/en-US/docs/Web/CSS/var +// var( , ? ) +// +LexicalUnit var(LexicalUnit prev) : +{ + Token t; + LexicalUnit current, propertyName; + String funct = ""; +} +{ + t = { funct = unescape(t.image, false); } + ( )* + t = { current = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); propertyName = current; } + ( )* + ( + { current = LexicalUnitImpl.createComma(current); } + ( )* + ( current = term(current) )? + )* + + { + return functionInternal(prev, funct, propertyName); + } +} + + +// rgb() / rgba() +// +LexicalUnit rgbColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return rgbColorInternal(prev, funct, param); + } +} + + +// hsl() / hsla() +// +LexicalUnit hslColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return hslColorInternal(prev, funct, param); + } +} + + +// hwb() +// +LexicalUnit hwbColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return hwbColorInternal(prev, funct, param); + } +} + + +// lab() +// +LexicalUnit labColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return labColorInternal(prev, funct, param); + } +} + + +// lch() +// +LexicalUnit lchColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | t = { next = LexicalUnitImpl.createDegree(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return lchColorInternal(prev, funct, param); + } +} + + +// +// Helper to process various keywords as IDENT +// +Token ident() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + + +// +// number() +// +LexicalUnit number(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = + ) + { + try + { + value = LexicalUnitImpl.createNumber(prev, intValue(op, t.image)); + } + catch (NumberFormatException e) + { + value = LexicalUnitImpl.createNumber(prev, doubleValue(op, t.image)); + } + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// percentage() +// +LexicalUnit percentage(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createPercentage(prev, doubleValue(op, t.image)); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// dimension() +// +LexicalUnit dimension(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createPixel(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createCentimeter(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createMillimeter(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createInch(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createPoint(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createPica(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createQuater(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createEm(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRem(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createEx(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createCh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVw(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVMin(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVMax(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createMillisecond(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createSecond(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createHertz(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createKiloHertz(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpi"); } + | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpcm"); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// unicodeRange +// +LexicalUnit unicodeRange(LexicalUnit prev) : +{ + Token t; + StringBuilder range = new StringBuilder(); +} +{ + t = { range.append(unescape(t.image, false)); } + { + return LexicalUnitImpl.createIdent(prev, range.toString().toUpperCase(Locale.ROOT)); + } +} + +// +// hexcolor +// : HASH S* +// ; +// +LexicalUnit hexcolor(LexicalUnit prev) : +{ + Token t; +} +{ + t = + { + return hexColorInternal(prev, t); + } +} + +JAVACODE +String skip() { + StringBuilder sb = new StringBuilder(); + int nesting = 0; + Token t = getToken(0); + if (t.image != null) { + sb.append(t.image); + } + + do { + t = getNextToken(); + if (t.kind == EOF) { + break; + } + sb.append(t.image); + appendUnit(t, sb); + + if (t.kind == LBRACE) { + nesting++; + } + else if (t.kind == RBRACE) { + nesting--; + } + } + while ((t.kind != RBRACE && t.kind != SEMICOLON) || nesting > 0); + + return sb.toString(); +} + +JAVACODE +String skipUnit() { + StringBuilder sb = new StringBuilder(); + + Token t = token; + Token oldToken = null; + while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { + oldToken = t; + sb.append(oldToken.image); + appendUnit(t, sb); + + t = getNextToken(); + } + if (t.kind != EOF) { + token = oldToken; + } + + return sb.toString(); +} + +JAVACODE +void appendUnit(Token t, StringBuilder sb) { + if (t.kind == EMS) { + sb.append("em"); + return; + } + if (t.kind == REM) { + sb.append("rem"); + return; + } + if (t.kind == EXS) { + sb.append("ex"); + return; + } + if (t.kind == CH) { + sb.append("ch"); + return; + } + if (t.kind == VW) { + sb.append("vw"); + return; + } + if (t.kind == VH) { + sb.append("vh"); + return; + } + if (t.kind == VMIN) { + sb.append("vmin"); + return; + } + if (t.kind == VMAX) { + sb.append("vmax"); + return; + } + if (t.kind == LENGTH_PX) { + sb.append("px"); + return; + } + if (t.kind == LENGTH_CM) { + sb.append("cm"); + return; + } + if (t.kind == LENGTH_MM) { + sb.append("mm"); + return; + } + if (t.kind == LENGTH_IN) { + sb.append("in"); + return; + } + if (t.kind == LENGTH_PT) { + sb.append("pt"); + return; + } + if (t.kind == LENGTH_PC) { + sb.append("pc"); + return; + } + if (t.kind == LENGTH_Q) { + sb.append("Q"); + return; + } + if (t.kind == ANGLE_DEG) { + sb.append("deg"); + return; + } + if (t.kind == ANGLE_RAD) { + sb.append("rad"); + return; + } + if (t.kind == ANGLE_GRAD) { + sb.append("grad"); + return; + } + if (t.kind == ANGLE_TURN) { + sb.append("turn"); + return; + } + if (t.kind == TIME_MS) { + sb.append("ms"); + return; + } + if (t.kind == TIME_S) { + sb.append('s'); + return; + } + if (t.kind == FREQ_HZ) { + sb.append("hz"); + return; + } + if (t.kind == FREQ_KHZ) { + sb.append("khz"); + return; + } + if (t.kind == RESOLUTION_DPI) { + sb.append("dpi"); + return; + } + if (t.kind == RESOLUTION_DPCM) { + sb.append("dpcm"); + return; + } + if (t.kind == PERCENTAGE) { + sb.append('%'); + return; + } +} + +JAVACODE +void error_skipblock(String msgKey, CSSParseException e) +{ + if (msgKey != null) { + getErrorHandler().warning(createSkipWarning(msgKey, e)); + } + + Token t; + int nesting = 0; + do { + t = getNextToken(); + if (t.kind == LBRACE) { + nesting++; + } + else if (t.kind == RBRACE) { + nesting--; + } + } + while (t.kind != EOF && (t.kind != RBRACE || nesting > 0)); +} + +JAVACODE +void error_skipdecl() +{ + Token t = getToken(1); + if (t.kind == LBRACE) { + error_skipblock(null, null); + return; + } + if (t.kind == RBRACE) { + // next will be RBRACE so we are finished + return; + } + + Token oldToken = token; + while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF) { + oldToken = t; + t = getNextToken(); + } + if (t.kind != EOF) { + token = oldToken; + } +} + +JAVACODE +void error_skipAtRule() +{ + Token t = null; + do { + t = getNextToken(); + } + while (t.kind != SEMICOLON && t.kind != EOF); +} + +JAVACODE +Boolean handleCaseInSensitive(Token t) +{ + String s = unescape(t.image, false); + if ("i".equalsIgnoreCase(s)) { + return Boolean.TRUE; + } + if ("s".equalsIgnoreCase(s)) { + return Boolean.FALSE; + } + + throw toCSSParseException("invalidCaseInSensitivelyIdentifier", new String[] { s }, createLocator(t)); +} From f2d249ce52a91b32483a59d0b249cc1876913317 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 5 Jan 2025 11:05:41 +0100 Subject: [PATCH 066/137] add missing test cases --- src/main/javacc/CSS3Parser.jj | 20 ++++++++--------- .../cssparser/parser/CSS3ParserTest.java | 22 +++++++++++++++++++ 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 54ca427..10d2bd5 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1969,7 +1969,7 @@ LexicalUnit rgbColor(LexicalUnit prev) : | next = percentage(next, op) ) ) - { op = ' '; } + { op = ' '; } ( )* ( @@ -1985,7 +1985,7 @@ LexicalUnit rgbColor(LexicalUnit prev) : | next = percentage(next, op) ) ) - { op = ' '; } + { op = ' '; } ( )* ( @@ -2054,7 +2054,7 @@ LexicalUnit hslColor(LexicalUnit prev) : | next = percentage(next, op) ) ) - { op = ' '; } + { op = ' '; } ( )* ( @@ -2069,7 +2069,7 @@ LexicalUnit hslColor(LexicalUnit prev) : | next = percentage(next, op) ) ) - { op = ' '; } + { op = ' '; } ( )* ( @@ -2134,7 +2134,7 @@ LexicalUnit hwbColor(LexicalUnit prev) : | next = percentage(next, op) ) ) - { op = ' '; } + { op = ' '; } ( )* @@ -2145,7 +2145,7 @@ LexicalUnit hwbColor(LexicalUnit prev) : | next = percentage(next, op) ) ) - { op = ' '; } + { op = ' '; } ( )* ( @@ -2205,7 +2205,7 @@ LexicalUnit labColor(LexicalUnit prev) : | next = percentage(next, op) ) ) - { op = ' '; } + { op = ' '; } ( )* @@ -2217,7 +2217,7 @@ LexicalUnit labColor(LexicalUnit prev) : | next = percentage(next, op) ) ) - { op = ' '; } + { op = ' '; } ( )* ( @@ -2277,7 +2277,7 @@ LexicalUnit lchColor(LexicalUnit prev) : | next = percentage(next, op) ) ) - { op = ' '; } + { op = ' '; } ( )* @@ -2291,7 +2291,7 @@ LexicalUnit lchColor(LexicalUnit prev) : | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } ) ) - { op = ' '; } + { op = ' '; } ( )* ( diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index c607b4b..4bbc5b1 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -57,6 +57,7 @@ import org.htmlunit.cssparser.parser.selector.Selector; import org.htmlunit.cssparser.parser.selector.Selector.SelectorType; import org.htmlunit.cssparser.parser.selector.SelectorList; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; /** @@ -1271,6 +1272,15 @@ public void hslVariousErrors() throws Exception { color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(10, 20%, none)"); color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(10, 20%, 30%, none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", + "foreground: hsl(-none 20% 30%)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + "foreground: hsl(10 -none 30%)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + "foreground: hsl(10 20% -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: hsl(10 20% 30% / -none)"); + // mixing numbers and percentages is supported by current browsers // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20, 30)"); // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20%, 30)"); @@ -1349,6 +1359,15 @@ public void hwbVariousErrors() throws Exception { color(1, "DOM exception: ''hwb' alpha value must be separated by '/'.'", "foreground: hwb(10 20% 30% 40)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", + "foreground: hwb(-none 20% 30%)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10 -none 30%)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10 20% -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10 20% 30% / -none)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", "foreground: hwb()"); color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", .)", @@ -1693,6 +1712,9 @@ private void color(final int errorCount, final String expected, final String css final CSSStyleDeclarationImpl style = parser.parseStyleDeclaration(cssText); + if (errorCount == 0 && errorHandler.getErrorCount() > 0) { + Assertions.fail("Found errors; First: " + errorHandler.getErrorMessage()); + } assertEquals(errorCount, errorHandler.getErrorCount()); if (errorCount > 0) { assertEquals(expected, errorHandler.getErrorMessage()); From 7bbc5e68e7e6dc8f37266bb1b69919eaf0af28a3 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 5 Jan 2025 14:06:29 +0100 Subject: [PATCH 067/137] more tests --- .../cssparser/parser/CSS3ParserTest.java | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 4bbc5b1..19f74ab 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -901,6 +901,9 @@ public void rgbComma() throws Exception { color("foreground: rgb(255, 0, 153)", "foreground: rgb(2.55e2, 0e0, 1.53e2)"); + color("foreground: rgb(-255, 0, -153)", "foreground: rgb(-255, -0, -153.0)"); + color("foreground: rgb(-100%, 0%, -60%)", "foreground: rgb(-100%,-0%,-60%)"); + // alpha color("foreground: rgb(10, 20, 30, 0.1)", "foreground: rgb(10,20,30,0.1)"); color("foreground: rgb(10, 20, 30, 0.1)", "foreground: rgb( 10, 20, 30, 0.1 )"); @@ -910,6 +913,9 @@ public void rgbComma() throws Exception { color("foreground: rgb(10%, 20%, 30%, 7%)", "foreground: rgb(10%, 20%, 30%, 7%)"); color("foreground: rgb(10%, 20%, 30%, 0.13%)", "foreground: rgb(10%, 20%, 30%, 1.3e-1%)"); color("foreground: rgb(10%, 20%, 30%, 0.5)", "foreground: rgb(10%, 20%, 30%, 0.5)"); + + color("foreground: rgb(-255, -10, -153, -0.5)", "foreground: rgb(-255, -10, -153.0, -0.5)"); + color("foreground: rgb(-100%, -10%, -60%, -7%)", "foreground: rgb(-100%,-10%,-60%,-7%)"); } /** @@ -928,6 +934,9 @@ public void rgbBlank() throws Exception { color("foreground: rgb(255 0 153)", "foreground: rgb(2.55e2 0e0 1.53e2)"); + color("foreground: rgb(-255 0 -153)", "foreground: rgb(-255 -0 -153.0)"); + color("foreground: rgb(-100% 0% -60%)", "foreground: rgb(-100% -0% -60%)"); + // alpha color("foreground: rgb(10 20 30 / 0.1)", "foreground: rgb(10 20 30/0.1)"); color("foreground: rgb(10 20 30 / 0.1)", "foreground: rgb( 10 20 30 / 0.1 )"); @@ -939,6 +948,9 @@ public void rgbBlank() throws Exception { color("foreground: rgb(10% 20% 30% / 0.5)", "foreground: rgb(10% 20% 30% / 0.5)"); color("foreground: rgb(10% 20% 30% / none)", "foreground: rgb(10% 20% 30% / none)"); + + color("foreground: rgb(-255 -10 -153 / -0.5)", "foreground: rgb(-255 -10 -153.0 / -0.5)"); + color("foreground: rgb(-100% -10% -60% / -7%)", "foreground: rgb(-100% -10% -60%/-7%)"); } /** @@ -975,6 +987,9 @@ public void rgbaComma() throws Exception { color("foreground: rgba(255, 0, 153)", "foreground: rgba(2.55e2, 0e0, 1.53e2)"); + color("foreground: rgba(-255, 0, -153)", "foreground: rgba(-255, -0, -153.0)"); + color("foreground: rgba(-100%, 0%, -60%)", "foreground: rgba(-100%,-0%,-60%)"); + // alpha color("foreground: rgba(10, 20, 30, 0.1)", "foreground: rgba(10,20,30,0.1)"); color("foreground: rgba(10, 20, 30, 0.1)", "foreground: rgba( 10, 20, 30, 0.1 )"); @@ -984,6 +999,9 @@ public void rgbaComma() throws Exception { color("foreground: rgba(10%, 20%, 30%, 7%)", "foreground: rgba(10%, 20%, 30%, 7%)"); color("foreground: rgba(10%, 20%, 30%, 0.13%)", "foreground: rgba(10%, 20%, 30%, 1.3e-1%)"); color("foreground: rgba(10%, 20%, 30%, 0.5)", "foreground: rgba(10%, 20%, 30%, 0.5)"); + + color("foreground: rgba(-255, -10, -153, -0.5)", "foreground: rgba(-255, -10, -153.0, -0.5)"); + color("foreground: rgba(-100%, -10%, -60%, -7%)", "foreground: rgba(-100%,-10%,-60%,-7%)"); } /** @@ -1002,6 +1020,9 @@ public void rgbaBlank() throws Exception { color("foreground: rgba(255 0 153)", "foreground: rgba(2.55e2 0e0 1.53e2)"); + color("foreground: rgba(-255 0 -153)", "foreground: rgba(-255 -0 -153.0)"); + color("foreground: rgba(-100% 0% -60%)", "foreground: rgba(-100% -0% -60%)"); + // alpha color("foreground: rgba(10 20 30 / 0.1)", "foreground: rgba(10 20 30/0.1)"); color("foreground: rgba(10 20 30 / 0.1)", "foreground: rgba( 10 20 30 / 0.1 )"); @@ -1013,6 +1034,9 @@ public void rgbaBlank() throws Exception { color("foreground: rgba(10% 20% 30% / 0.5)", "foreground: rgba(10% 20% 30% / 0.5)"); color("foreground: rgba(10% 20% 30% / none)", "foreground: rgba(10% 20% 30% / none)"); + + color("foreground: rgba(-255 -10 -153 / -0.5)", "foreground: rgba(-255 -10 -153.0 / -0.5)"); + color("foreground: rgba(-100% -10% -60% / -7%)", "foreground: rgba(-100% -10% -60%/-7%)"); } /** @@ -1135,10 +1159,6 @@ public void hslComma() throws Exception { color("foreground: hsl(255grad, 0%, 15.37%)", "foreground: hsl(2.55e2grad, 0e0%, 1537e-2%)"); color("foreground: hsl(255turn, 0%, 15.37%)", "foreground: hsl(2.55e2turn, 0e0%, 1537e-2%)"); - color("foreground: hsl(none 0% 60%)", "foreground: hsl(none 0% 60%)"); - color("foreground: hsl(100deg none 60%)", "foreground: hsl(100deg none 60%)"); - color("foreground: hsl(100deg 0% none)", "foreground: hsl(100deg 0% none)"); - // alpha color("foreground: hsl(270, 60%, 70%, 0.1)", "foreground: hsl(270,60%,70%,0.1)"); color("foreground: hsl(-270, 60%, 70%, 0.1)", "foreground: hsl(-270, 60%, 70%, 0.1)"); From 34d8366f72547dce549e9e816f87042266b8205a Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 5 Jan 2025 14:17:08 +0100 Subject: [PATCH 068/137] introduce from keyword --- src/main/javacc/CSS3Parser.jj | 3 +++ .../org/htmlunit/cssparser/parser/CSS3ParserTest.java | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 10d2bd5..6d72686 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -169,6 +169,7 @@ TOKEN_MGR_DECLS : | < INHERIT: "inherit" > | < NONE: "none" > +| < FROM: "from" > // ident -?{nmstart}{nmchar}* // {ident} {return IDENT;} @@ -1623,6 +1624,7 @@ LexicalUnit term(LexicalUnit prev) : | t = { value = LexicalUnitImpl.createInherit(prev); } | t = { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } | t = { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + | t = { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } ) { if (locator == null) @@ -2331,6 +2333,7 @@ Token ident() : t = | t = | t = + | t = ) { Token ident = new Token(IDENT, unescape(t.image, false)); diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 19f74ab..02d92a6 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -112,6 +112,7 @@ public void selector() throws Exception { selectorType(".inherit", SelectorType.ELEMENT_NODE_SELECTOR); selectorType(".only", SelectorType.ELEMENT_NODE_SELECTOR); selectorType(".none", SelectorType.ELEMENT_NODE_SELECTOR); + selectorType(".from", SelectorType.ELEMENT_NODE_SELECTOR); } /** @@ -232,6 +233,7 @@ public void condition() throws Exception { conditionType(".inherit", ConditionType.CLASS_CONDITION); conditionType(".only", ConditionType.CLASS_CONDITION); conditionType(".none", ConditionType.CLASS_CONDITION); + conditionType(".from", ConditionType.CLASS_CONDITION); } /** @@ -2449,7 +2451,7 @@ public void malformedDeclaration() throws Exception { assertEquals(7, errorHandler.getErrorCount()); final String expected = "Error in declaration. (Invalid token \"}\". Was expecting one of: , \":\".)" + " Error in declaration. (Invalid token \";\". Was expecting one of: , \":\".)" - + " Error in expression. (Invalid token \"}\". Was expecting one of: , \"only\", , \"inherit\", \"none\", " + + " Error in expression. (Invalid token \"}\". Was expecting one of: , \"only\", , \"inherit\", \"none\", \"from\", " + ", , \"-\", \"+\", , , , , , " + ", , , , " + ", , , , , , , " @@ -2457,7 +2459,7 @@ public void malformedDeclaration() throws Exception { + ", , , , , , , " + ", , , , , " + ", , , , , , \"progid:\".)" - + " Error in expression. (Invalid token \";\". Was expecting one of: , \"only\", , \"inherit\", \"none\", " + + " Error in expression. (Invalid token \";\". Was expecting one of: , \"only\", , \"inherit\", \"none\", \"from\", " + ", , \"-\", \"+\", , , , , , " + ", , , , " + ", , , , , , , " @@ -2710,7 +2712,7 @@ public void unexpectedEndOfPageRule() throws Exception { assertEquals(1, errorHandler.getErrorCount()); final String expected = "Error in @page rule. " - + "(Invalid token \"\". Was expecting one of: , \"only\", \"inherit\", \"none\", ," + + "(Invalid token \"\". Was expecting one of: , \"only\", \"inherit\", \"none\", \"from\", ," + " \"}\", \";\", \"*\", .)"; assertEquals(expected, errorHandler.getErrorMessage()); assertEquals("1", errorHandler.getErrorLines()); @@ -2755,7 +2757,7 @@ public void unexpectedEndOfString() throws Exception { assertEquals(1, errorHandler.getErrorCount()); final String expected = "Error in expression. " - + "(Invalid token \"\\'\". Was expecting one of: , \"only\", , \"inherit\", \"none\", " + + "(Invalid token \"\\'\". Was expecting one of: , \"only\", , \"inherit\", \"none\", \"from\", " + ", , \"-\", \"+\", , , , , , " + ", , , , " + ", , , , , , , " From 3086b94e6cb9115e17fc71822935c11fe394d14f Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 5 Jan 2025 18:55:46 +0100 Subject: [PATCH 069/137] use ident() at more places --- src/main/javacc/CSS3Parser.jj | 8 ++++---- .../org/htmlunit/cssparser/parser/CSS3ParserTest.java | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 6d72686..e93d857 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1241,7 +1241,7 @@ ElementSelector elementName() : { try { - t = + t = ident() { return new ElementSelector(unescape(t.image, false), createLocator(t)); } @@ -1281,7 +1281,7 @@ Condition attrib(boolean pseudoElementFound) : ( )* { if (pseudoElementFound) { throw generateParseException(); } } - t = { name = unescape(t.image, false); } + t = ident() { name = unescape(t.image, false); } ( )* ( ( @@ -1300,7 +1300,7 @@ Condition attrib(boolean pseudoElementFound) : ( )* ( ( - t = { value = unescape(t.image, false); } + t = ident() { value = unescape(t.image, false); } | t = { value = unescape(t.image, false); } ) @@ -1308,7 +1308,7 @@ Condition attrib(boolean pseudoElementFound) : ( )* ) ( - t = { insensitive = handleCaseInSensitive(t); } + t = ident() { insensitive = handleCaseInSensitive(t); } ( )* )? )? diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 02d92a6..25bffeb 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -4091,8 +4091,8 @@ public void invalid_not() throws Exception { // "Error in pseudo class or element. (Invalid token \"p\". Was expecting one of: , \")\".)"); checkErrorSelector("input:not()", - "Error in simple selector. (Invalid token \")\"." - + " Was expecting one of: , , \".\", \":\", \"*\", \"[\", .)"); + "Error in simple selector. (Invalid token \")\". " + + "Was expecting one of: , \"only\", \"inherit\", \"none\", \"from\", , \".\", \":\", \"*\", \"[\", .)"); // checkErrorSelector("input:not(*.home)", // "Error in pseudo class or element. (Invalid token \".\"." From 1bb280ad97ef2feb961ddee1e2dc62fc5de3bce1 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 5 Jan 2025 19:04:40 +0100 Subject: [PATCH 070/137] use ident() at more places --- src/main/javacc/CSS3Parser.jj | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index e93d857..7d6fa82 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1606,7 +1606,7 @@ LexicalUnit term(LexicalUnit prev) : | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } | ( - t = + t = identExcludingInherit() ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? ) { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } @@ -1622,9 +1622,6 @@ LexicalUnit term(LexicalUnit prev) : t.image.substring(n+1)); } | t = { value = LexicalUnitImpl.createInherit(prev); } - | t = { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - | t = { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - | t = { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } ) { if (locator == null) @@ -2348,6 +2345,31 @@ Token ident() : } } +Token identExcludingInherit() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + // // number() From fc1a86693ada2a5ea47b904180985817d265e950 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 5 Jan 2025 19:15:44 +0100 Subject: [PATCH 071/137] use ident() at more places --- src/main/javacc/CSS3Parser.jj | 39 +++++++++++++++---- .../cssparser/parser/CSS3ParserTest.java | 3 +- 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 7d6fa82..0040071 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -787,7 +787,7 @@ Property mediaExpression() : ( )* ( - t = ( )* { p = unescape(t.image, false); } + t = identExcludingOnly() ( )* { p = unescape(t.image, false); } | t = ( )* { p = unescape(t.image, false); } ) ( @@ -826,7 +826,7 @@ String medium() : Token t; } { - t = ( )* + t = identExcludingOnly() ( )* { return unescape(t.image, false); } @@ -915,7 +915,7 @@ String pageSelector() : ( pseudo = pseudoPage() { pseudos.append(pseudo); } | - ident = { pseudos.append(unescape(ident.image, false)); } + ident = ident() { pseudos.append(unescape(ident.image, false)); } ) ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* ( )* @@ -933,7 +933,7 @@ String pseudoPage() : Token t; } { - t = { return ":" + normalizeAndValidatePagePseudoClass(t); } + t = ident() { return ":" + normalizeAndValidatePagePseudoClass(t); } } // @@ -1373,7 +1373,7 @@ Object pseudo(boolean pseudoElementFound) : ( { doubleColon = true; } )? ( - t = + t = ident() { String s = unescape(t.image, false); if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } @@ -1401,7 +1401,7 @@ Object pseudo(boolean pseudoElementFound) : ( t = { function = unescape(t.image, false); } ( )* - t = { String lang = unescape(t.image, false); } + t = ident() { String lang = unescape(t.image, false); } ( )* { @@ -1414,7 +1414,7 @@ Object pseudo(boolean pseudoElementFound) : t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } ( )* ( - (t = | t = | t = | t = | t = | t = ) + (t = | t = | t = | t = | t = | t = ident()) { args.append(unescape(t.image, false)); } ( t = { args.append(unescape(t.image, false)); } @@ -2370,6 +2370,31 @@ Token identExcludingInherit() : } } +Token identExcludingOnly() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + // // number() diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 25bffeb..be28f8c 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -4140,7 +4140,8 @@ public void pseudoElementsErrors() throws Exception { "Duplicate pseudo class \":foo(ab)\" or pseudo class \":foo(ab)\" not at end."); checkErrorSelector("input:before:", "Error in pseudo class or element. (Invalid token \"\". " - + "Was expecting one of: , \":\", , , .)"); + + "Was expecting one of: \"only\", \"inherit\", \"none\", \"from\", , " + + "\":\", , , .)"); // pseudo element not at end checkErrorSelector("input:before:not(#test)", From 1fbbcc0c0612e2cda8890cd195520e780408671f Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 7 Jan 2025 16:50:30 +0100 Subject: [PATCH 072/137] relative colors (wip) --- .../htmlunit/cssparser/dom/AbstractColor.java | 28 +- .../htmlunit/cssparser/dom/HSLColorImpl.java | 54 +- .../cssparser/parser/LexicalUnit.java | 2 + .../cssparser/parser/LexicalUnitImpl.java | 11 + src/main/javacc/CSS3Parser.jj | 5580 +++++++++-------- .../parser/AbstractCSSParserTest.java | 34 + .../cssparser/parser/CSS3ParserTest.java | 230 - .../cssparser/parser/HSLColorParserTest.java | 232 + 8 files changed, 3168 insertions(+), 3003 deletions(-) create mode 100644 src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java diff --git a/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java b/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java index af5218c..668a65d 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java +++ b/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java @@ -29,6 +29,7 @@ public class AbstractColor implements Serializable { private CSSValueImpl alpha_; + private CSSValueImpl relative_; protected void getNumberPercentagePart(final LexicalUnit next, final Consumer setter) { if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() @@ -44,14 +45,14 @@ protected void getNumberPercentagePart(final LexicalUnit next, final Consumer TOKEN : -{ -// s [ \t\r\n\f]+ -// {s} {return S;} - < S: ( " "|"\t"|"\r"|"\n"|"\f" )+ > -// w {s}? -// | < W: ( )? > -} - - MORE : -{ - < "/*" > : COMMENT -} - - SKIP : -{ - < "*/" > : DEFAULT -} - - MORE : -{ - < ~[] > : COMMENT -} - - TOKEN : -{ -// h [0-9a-f] - < #H: ["0"-"9","a"-"f"] > -| < #HNUM: | | | | | > - -// nonascii [\200-\377] -// The two occurrences of "\377" represent the highest character number that -// current versions of Flex can deal with (decimal 255). They should be read as -// "\4177777" (decimal 1114111), which is the highest possible code point in -// Unicode/ISO-10646. -// Limitation: This parser can only handle Unicode characters up to \uFFFF -// (decimal 65535). -| < #NONASCII: ["\u0080"-"\uFFFF"] > - -// unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? -| < #UNICODE: "\\" ( "\r\n" | [" ","\t","\r","\n","\f"] )? > - -// escape {unicode}|\\[^\r\n\f0-9a-f] -| < #ESCAPE: | ( "\\" ~["\r","\n","\f","0"-"9","a"-"f"] ) > - -// nmstart [_a-z]|{nonascii}|{escape} -| < #NMSTART: ["_","a"-"z"] | | > - -// nmchar [_a-z0-9-]|{nonascii}|{escape} -| < #NMCHAR: ["_","a"-"z","0"-"9","-"] | | > - -// nl \n|\r\n|\r|\f -| < #NL: "\n" | "\r\n" | "\r" | "\f" > - -// string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\" -| < #STRING1: ( ~["\n","\r","\f","\\","\""] | "\\" | )* > - -// string2 \'([^\n\r\f\\']|\\{nl}|{escape})*\' -| < #STRING2: ( ~["\n","\r","\f","\\","\'"] | "\\" | )* > - -// comment \/\*[^*]*\*+([^/*][^*]*\*+)*\/ -| < #COMMENT_: "/" "*" ( ~["*"] )* ("*")+ ( ~["/","*"] ( ~["*"] )* ( "*" )+ )* "/"> - -| < AND: "and" > -| < NOT: "not" > -| < ONLY: "only" > - -// {num} {return NUMBER;} -| < NUMBER: > - -| < INHERIT: "inherit" > -| < NONE: "none" > -| < FROM: "from" > - -// ident -?{nmstart}{nmchar}* -// {ident} {return IDENT;} -| < IDENT: (< MINUS >)? ( )* > - -// name {nmchar}+ -| < #NAME: ( )+ > - -// num [0-9]+|[0-9]*"."[0-9]+ -| < NUM: ( ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ ) (["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+)? > - -// string {string1}|{string2} -// {string} {return STRING;} -| < STRING: ( "\"" "\"" ) | ( "\'" "\'" ) > { matchedToken.image = ParserUtils.trimBy(image, 1, 1); } - -// url ([!#$%&*-~]|{nonascii}|{escape})* -| < #URL: ( ["!","#","$","%","&","*"-"[","]"-"~"] | | )* > - -// A a|\\0{0,4}(41|61)(\r\n|[ \t\r\n\f])? -| < #A_LETTER: "a" | "\\" ("0")? ("0")? ("0")? ("0")? ( "41" | "61" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// C c|\\0{0,4}(43|63)(\r\n|[ \t\r\n\f])? -| < #C_LETTER: "c" | "\\" ("0")? ("0")? ("0")? ("0")? ( "43" | "63" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// D d|\\0{0,4}(44|64)(\r\n|[ \t\r\n\f])? -| < #D_LETTER: "d" | "\\" ("0")? ("0")? ("0")? ("0")? ( "44" | "64" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// E e|\\0{0,4}(45|65)(\r\n|[ \t\r\n\f])? -| < #E_LETTER: "e" | "\\" ("0")? ("0")? ("0")? ("0")? ( "45" | "65" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// F f|\\0{0,4}(46|66)(\r\n|[ \t\r\n\f])? -| < #F_LETTER: "f" | "\\" ("0")? ("0")? ("0")? ("0")? ( "46" | "66" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// G g|\\0{0,4}(47|67)(\r\n|[ \t\r\n\f])?|\\g -| < #G_LETTER: "g" | "\\" ("0")? ("0")? ("0")? ("0")? ( "47" | "67" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "g" > - -// H h|\\0{0,4}(48|68)(\r\n|[ \t\r\n\f])?|\\h -| < #H_LETTER: "h" | "\\" ("0")? ("0")? ("0")? ("0")? ( "48" | "68" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "h" > - -// I i|\\0{0,4}(49|69)(\r\n|[ \t\r\n\f])?|\\i -| < #I_LETTER: "i" | "\\" ("0")? ("0")? ("0")? ("0")? ( "49" | "69" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "i" > - -// K k|\\0{0,4}(4b|6b)(\r\n|[ \t\r\n\f])?|\\k -| < #K_LETTER: "k" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4b" | "6b" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "k" > - -// L l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l -| < #L_LETTER: "l" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4c" | "6c" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "l" > - -// M m|\\0{0,4}(4d|6d)(\r\n|[ \t\r\n\f])?|\\m -| < #M_LETTER: "m" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4d" | "6d" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "m" > - -// N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n -| < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > - -// O o|\\0{0,4}(51|71)(\r\n|[ \t\r\n\f])?|\\o -| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "51" | "71" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > - -// P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p -| < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > - -// R r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r -| < #R_LETTER: "r" | "\\" ("0")? ("0")? ("0")? ("0")? ( "52" | "72" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "r" > - -// S s|\\0{0,4}(53|73)(\r\n|[ \t\r\n\f])?|\\s -| < #S_LETTER: "s" | "\\" ("0")? ("0")? ("0")? ("0")? ( "53" | "73" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "s" > - -// T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t -| < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > - -// U v|\\0{0,4}(55|76)(\r\n|[ \t\r\n\f])?|\\v -| < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > - -// X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x -| < #X_LETTER: "x" | "\\" ("0")? ("0")? ("0")? ("0")? ( "58" | "78" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "x" > - -// Z z|\\0{0,4}(5a|7a)(\r\n|[ \t\r\n\f])?|\\z -| < #Z_LETTER: "z" | "\\" ("0")? ("0")? ("0")? ("0")? ( "5a" | "7a" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "z" > - -// "" {return CDC;} -| < CDC: "-->" > - -// "~=" {return INCLUDES;} -| < INCLUDES: "~=" > - -// "|=" {return DASHMATCH;} -| < DASHMATCH: "|=" > - -// "^=" {return PREFIXMATCH;} -| < PREFIXMATCH: "^=" > - -// "$=" {return SUFFIXMATCH;} -| < SUFFIXMATCH: "$=" > - -// "*=" {return SUBSTRINGMATCH;} -| < SUBSTRINGMATCH: "*=" > - -// {w}"{" {return LBRACE;} -| < LBRACE: "{" > -| < RBRACE: "}" > - -| < LROUND: "(" > -| < RROUND: ")" > - -| < DOT: "." > -| < SEMICOLON: ";" > -| < COLON: ":" > -| < ASTERISK: "*" > -| < SLASH: "/" > -| < MINUS: "-" > -| < EQUALS: "=" > -| < LSQUARE: "[" > -| < RSQUARE: "]" > - -// {w}"+" {return PLUS;} -| < PLUS: "+" > - -// {w}">" {return GREATER;} -| < GREATER: ">" > - -// {w}"~" {return TILDE;} -| < TILDE: "~" > - -// {w}"," {return COMMA;} -| < COMMA: "," > - -// "#"{name} {return HASH;} -| < HASH: "#" > - -// @{I}{M}{P}{O}{R}{T} {return IMPORT_SYM;} -| < IMPORT_SYM: "@" > - -// @{P}{A}{G}{E} {return PAGE_SYM;} -| < PAGE_SYM: "@" > - -// @{M}{E}{D}{I}{A} {return MEDIA_SYM;} -| < MEDIA_SYM: "@" > - -// "@{F}{O}{N}{T}-{F}{A}{C}{E}" {return FONT_FACE_SYM;} -| < FONT_FACE_SYM: "@" < MINUS > > - -// @{C}{H}{A}{R}{S}{E}{T} {return CHARSET_SYM;} -| < CHARSET_SYM: "@" > - -// "!"({w}|{comment})*{I}{M}{P}{O}{R}{T}{A}{N}{T} {return IMPORTANT_SYM;} -| < IMPORTANT_SYM: "!" ( | )* > - -// {num}{E}{M} {return EMS;} -| < EMS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{R}{E}{M} {return REM;} -| < REM: "rem" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{E}{X} {return EXS;} -| < EXS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{C}{H} {return CH;} -| < CH: "ch" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{W} {return VW;} -| < VW: "vw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{H} {return VH;} -| < VH: "vh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{M}{I}{N} {return VMIN;} -| < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{V}{M}{I}{N} {return VMAX;} -| < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{P}{X} {return LENGTH;} -| < LENGTH_PX: "px" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{C}{M} {return LENGTH;} -| < LENGTH_CM: "cm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{M}{M} {return LENGTH;} -| < LENGTH_MM: "mm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{I}{N} {return LENGTH;} -| < LENGTH_IN: "in" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{P}{T} {return LENGTH;} -| < LENGTH_PT: "pt" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{P}{C} {return LENGTH;} -| < LENGTH_PC: "pc" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{Q} {return LENGTH;} -| < LENGTH_Q: "Q" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{D}{E}{G} {return ANGLE;} -| < ANGLE_DEG: "deg" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{R}{A}{D} {return ANGLE;} -| < ANGLE_RAD: "rad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{G}{R}{A}{D} {return ANGLE;} -| < ANGLE_GRAD: "grad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{T}{U}{R}{N} {return ANGLE;} -| < ANGLE_TURN: "turn" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{M}{S} {return TIME;} -| < TIME_MS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{S} {return TIME;} -| < TIME_S: > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{H}{Z} {return FREQ;} -| < FREQ_HZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{K}{H}{Z} {return FREQ;} -| < FREQ_KHZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{D}{P}{I} {return RESOLUTION;} -| < RESOLUTION_DPI: "dpi" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{D}{P}{C}{M} {return RESOLUTION;} -| < RESOLUTION_DPCM: "dpcm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}% {return PERCENTAGE;} -| < PERCENTAGE: "%" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{ident} {return DIMENSION;} -| < DIMENSION: ( ["a"-"z","0"-"9"] | | )* > - -| < #H_PLACEHOLDER: ( | "?"){1,6} > -| < UNICODE_RANGE: "u+" (< MINUS > < H_PLACEHOLDER >)? > - -// "url("{w}{string}{w}")" {return URI;} -// "url("{w}{url}{w}")" {return URI;} -| < URI: "url" ( )* ( | ) ( )* > { matchedToken.image = ParserUtils.trimUrl(image); } - -// {N}{O}{T} "(" {return FUNCTION_NOT;} -| < FUNCTION_NOT: "not" > - -// {L}{A}{N}{G} "(" {return FUNCTION_LANG;} -| < FUNCTION_LANG: "lang" > - -// {C}{A}{L}{C} "(" {return FUNCTION_CALC;} -| < FUNCTION_CALC: "calc" > - -// {V}{A}{R} "(" {return FUNCTION_VAR;} -| < FUNCTION_VAR: "var" > - -| < FUNCTION_RGB: "rgb" ("a")? > -| < FUNCTION_HSL: "hsl" ("a")? > -| < FUNCTION_HWB: "hwb" > -| < FUNCTION_LAB: ("ok")? "lab" > -| < FUNCTION_LCH: ("ok")? "lch" > - -| < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > - -// {ident} "(" {return FUNCTION;} -| < FUNCTION: > - -| < ATKEYWORD: "@" > -} - -<*> TOKEN: -{ - < UNKNOWN: ~[] > - { - // System.err.println("Illegal character : " + image.toString()); - } -} - -// -// stylesheet -// : [ CHARSET_SYM STRING ';' ]? -// [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* -// [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* -// ; -// -void styleSheet() : -{ -} -{ - try - { - { handleStartDocument(); } - styleSheetRuleList() - - } - finally - { - handleEndDocument(); - } -} - -void styleSheetRuleList() : -{ - boolean ruleFound = false; -} -{ - ( | | )* - ( - charsetRule() - ( | | )* - )? - ( - ( - ( - importRule(ruleFound) - | - ( - styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() - ) - { - ruleFound = true; - } - ) - | - ( - // skip until the next RBRACE - { ParseException e = generateParseException(); } - invalidRule() - { - Token t = getNextToken(); - - boolean charsetProcessed = false; - if (t.kind == CHARSET_SYM) { - t = getNextToken(); - if (t.kind == S) { - t = getNextToken(); - if (t.kind == STRING) { - t = getNextToken(); - if (t.kind == SEMICOLON) { - getNextToken(); - charsetProcessed = true; - } - } - } - CSSParseException cpe = toCSSParseException("misplacedCharsetRule", e); - getErrorHandler().error(cpe); - getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - } - - if (!charsetProcessed) { - if (t.kind == EOF) { - return; - } - - CSSParseException cpe = toCSSParseException("invalidRule", e); - getErrorHandler().error(cpe); - getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - while (t.kind != RBRACE && t.kind != EOF ) { - t = getNextToken(); - } - if (t.kind == EOF) { - return; - } - } - } - ) - ) - ( | | )* - )* -} - -JAVACODE -void invalidRule() -{ -} - -// -// This is used by ASTStyleSheet.insertRule to parse a single rule -// -void styleSheetRuleSingle() : -{ -} -{ - ( )* - ( charsetRule() | importRule(false) | styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() ) - ( )* -} - -void charsetRule() : -{ - Token t; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - - t = - - { - handleCharset(t.toString(), locator); - } - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidCharsetRule", e)); - } -} - -void unknownAtRule() : -{ - String s; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - s = skip(); - handleIgnorableAtRule(s, locator); - } - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidUnknownRule", generateParseException())); - } -} - -// -// import -// : IMPORT_SYM S* -// [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S* -// ; -// -void importRule(final boolean nonImportRuleFoundBefore) : -{ - Token t; - MediaQueryList ml = new MediaQueryList(); - Locator locator; -} -{ - try - { - { - ParseException e = null; - if (nonImportRuleFoundBefore) - { - e = generateParseException(); - } - } - - { - locator = createLocator(token); - } - ( )* - ( t = | t = ) ( )* - ( mediaList(ml) )? - - { - if (nonImportRuleFoundBefore) - { - getErrorHandler().error(toCSSParseException("invalidImportRuleIgnored2", e)); - } - else - { - handleImportStyle(unescape(t.image, false), ml, null, locator); - } - } - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipAtRule(); - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidImportRule", e)); - error_skipAtRule(); - } -} - -// -// media -// : MEDIA_SYM S* medium [ COMMA S* medium ]* '{' S* ruleset* '}' S* -// ; -// -void mediaRule() : -{ - boolean start = false; - MediaQueryList ml = new MediaQueryList(); - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - ( )* - mediaList(ml) - { - start = true; - handleStartMedia(ml, locator); - } - ( )* - ( mediaRuleList() )? - - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidMediaRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringRule", cpe); - } - finally - { - if (start) { - handleEndMedia(ml); - } - } -} - -void mediaList(MediaQueryList ml) : -{ - MediaQuery mq; -} -{ - try - { - mq = mediaQuery() - { - ml.setLocator(createLocator(token)); - } - ( ( )* { ml.add(mq); } mq = mediaQuery() )* - { ml.add(mq); } - } - catch(ParseException e) - { - throw toCSSParseException("invalidMediaList", e); - } -} - -// -// media_query -// : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* -// | expression [ AND S* expression ]* -// ; -// -MediaQuery mediaQuery() : -{ - String s; - MediaQuery mq; - Property p; - boolean only = false; - boolean not = false; -} -{ - ( - ( - ( - ( - { only = true; } - | - { not = true; } - ) ( )* - )? - s = medium() - { mq = new MediaQuery(s, only, not); mq.setLocator(createLocator(token)); } - ( - ( )* - p = mediaExpression() - { - mq.addMediaProperty(p); - } - )* - ) - | - ( - p = mediaExpression() - { - mq = new MediaQuery(null, only, not); - mq.setLocator(createLocator(token)); - mq.addMediaProperty(p); - } - ( - ( )* - p = mediaExpression() - { - mq.addMediaProperty(p); - } - )* - ) - ) - { return mq; } -} - -// -// expression -// : '(' S* media_feature S* [ ':' S* expr ]? ')' S* -// ; -// -Property mediaExpression() : -{ - String p; - LexicalUnit e = null; - Property prop; - Token t; -} -{ - - ( )* - ( - t = identExcludingOnly() ( )* { p = unescape(t.image, false); } - | t = ( )* { p = unescape(t.image, false); } - ) - ( - ( )* - e = expr() - )? - - ( )* - { - if(e==null) - { - prop = new Property(p, null, false); - } - else - { - prop = new Property(p, new CSSValueImpl(e), false); - } - return prop; - } -} - -void mediaRuleList() : -{ -} -{ - ( ( styleRule() | mediaRule() | pageRule() | importRule(true) | unknownAtRule() ) ( )* )+ -} - -// -// medium -// : IDENT S* -// ; -// -String medium() : -{ - Token t; -} -{ - t = identExcludingOnly() ( )* - { - return unescape(t.image, false); - } -} - -// -// page -// : PAGE_SYM S* pseudo_page? S* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void pageRule() : -{ - String sel = null; - boolean start = false; - Locator locator; -} -{ - try { - - { - locator = createLocator(token); - } - ( )* - - ( sel = pageSelectorList() )? - - ( )* - { - start = true; - handleStartPage(null, sel, locator); - } - - styleDeclaration() - - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidPageRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringRule", cpe); - } - finally { - if (start) { - handleEndPage(null, sel); - } - } -} - -// -// pageSelectorList -// : [ pageSelector S* [ ',' pageSelector S* ]* ]? -// ; -// -String pageSelectorList() : -{ - String sel; - LinkedList selectors = new LinkedList<>(); -} -{ - sel = pageSelector() { selectors.add(sel); } - ( - ( )* sel = pageSelector() { selectors.add(sel); } - )* - - { return String.join(", ", selectors); } -} - -// -// pageSelector -// : pseudoPage+ | IDENT pseudoPage* -// ; -// -String pageSelector() : -{ - StringBuilder pseudos = new StringBuilder(); - String pseudo; - Token ident; -} -{ - ( - pseudo = pseudoPage() { pseudos.append(pseudo); } - | - ident = ident() { pseudos.append(unescape(ident.image, false)); } - ) - ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* - ( )* - - { return pseudos.toString(); } -} - -// -// pseudoPage -// : ':' IDENT -// ; -// -String pseudoPage() : -{ - Token t; -} -{ - t = ident() { return ":" + normalizeAndValidatePagePseudoClass(t); } -} - -// -// font_face -// : FONT_FACE_SYM S* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void fontFaceRule() : -{ - boolean start = false; - Locator locator; -} -{ - try { - - { - locator = createLocator(token); - } - ( )* - ( )* { start = true; handleStartFontFace(locator); } - styleDeclaration() - - } - catch(ParseException e) - { - throw toCSSParseException("invalidFontFaceRule", e); - } - finally { - if (start) { - handleEndFontFace(); - } - } -} - -// -// operator -// : '/' S* | COMMA S* | /* empty */ -// ; -// -LexicalUnit operator(LexicalUnit prev) : -{ -} -{ - ( )* { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_SLASH); } - | ( )* { return LexicalUnitImpl.createComma(prev); } -} - -// -// combinator -// : PLUS S* -// | GREATER S* -// | S -// ; -// -char combinator() : -{ - char c = ' '; -} -{ - ( - { c='+'; } ( )* - | { c='>'; } ( )* - | { c='~'; } ( )* - | ( ( { c='+'; } | { c='>'; } | { c='~'; } ) ( )* )? - ) - { return c; } -} - -// -// unary_operator -// : '-' | PLUS -// ; -// -char unaryOperator() : -{ -} -{ - ( { return '-'; } | { return '+'; } ) -} - - -// -// ruleset -// : selector [ COMMA S* selector ]* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void styleRule() : -{ - SelectorList selList = null; - boolean start = false; - Token t; -} -{ - try { - { - t = token; - } - selList = selectorList() - ( )* - { - start = true; - handleStartSelector(selList, createLocator(t.next)); - } - styleDeclaration() - ( | ) - } - catch(CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidStyleRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringFollowingDeclarations", cpe); - } - finally { - if (start) { - handleEndSelector(selList); - } - } -} - -SelectorList parseSelectorsInternal() : -{ - SelectorList selectors; -} -{ - ( )* - selectors = selectorList() - - { - return selectors; - } -} - -SelectorList selectorList() : -{ - SelectorListImpl selList = new SelectorListImpl(); - Selector sel; -} -{ - sel = selector() { selList.setLocator(sel.getLocator()); } - ( ( )* - { selList.add(sel); } - sel = selector() { selList.setLocator(sel.getLocator()); } - )* - { - selList.add(sel); - return selList; - } -} - -// -// selector -// : simple_selector_sequence [ combinator simple_selector_sequence ]* -// ; -// -Selector selector() : -{ - Selector sel; - char comb; -} -{ - try { - sel = simpleSelector(null, ' ') - ( LOOKAHEAD(2) comb = combinator() sel = simpleSelector(sel, comb) )* ( )* - { - return sel; - } - } catch (ParseException e) { - throw toCSSParseException("invalidSelector", e); - } -} - -// -// simple_selector -// : element_name [ HASH | class | attrib | pseudo ]* -// | [ HASH | class | attrib | pseudo ]+ -// ; -// -Selector simpleSelector(Selector sel, char comb) : -{ - ElementSelector elemSel = null; - SimpleSelector simpleSel = null; - Condition c = null; - SimpleSelector pseudoElementSel = null; - Object o = null; -} -{ - try - { - ( - ( elemSel = elementName() - ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } - | ( - o = pseudo(null != pseudoElementSel) - { if (o instanceof Condition) - { elemSel.addCondition((Condition) o); - } else { - pseudoElementSel = (SimpleSelector) o; - } - } - ) - )* - ) - | - ( { elemSel = new ElementSelector(null, createLocator(token)); } - ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } - | ( - o = pseudo(null != pseudoElementSel) - { if (o instanceof Condition) - { elemSel.addCondition((Condition) o); - } else { - pseudoElementSel = (SimpleSelector) o; - } - } - ) - )+ - ) - ) - - { - simpleSel = elemSel; - if (sel == null) { - sel = simpleSel; - } else { - switch (comb) { - case ' ': - sel = new DescendantSelector(sel, simpleSel); - break; - case '+': - sel = new DirectAdjacentSelector(sel, simpleSel); - break; - case '>': - sel = new ChildSelector(sel, simpleSel); - break; - case '~': - sel = new GeneralAdjacentSelector(sel, simpleSel); - break; - } - } - if (pseudoElementSel != null) - { - sel = new DescendantSelector(sel, pseudoElementSel); - } - - return sel; - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidSimpleSelector", e); - } -} - -// -// class -// : '.' IDENT -// ; -// -Condition _class(boolean pseudoElementFound) : -{ - Token t; - Locator locator; - ParseException pe = null; -} -{ - try - { - { if (pseudoElementFound) { pe = generateParseException(); } } - - { - locator = createLocator(token); - } - - t = ident() - { - if (pseudoElementFound) { throw pe; } - return new ClassCondition(unescape(t.image, false), locator); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidClassSelector", e); - } -} - -// -// element_name -// : IDENT | '*' -// ; -// -ElementSelector elementName() : -{ - Token t; -} -{ - try - { - t = ident() - { - return new ElementSelector(unescape(t.image, false), createLocator(t)); - } - | - { - return new ElementSelector(null, createLocator(token)); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidElementName", e); - } -} - -// -// attrib -// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH | PREFIXMATCH | SUFFIXMATCH | SUBSTRINGMATCH ] S* -// [ IDENT | STRING ] S* ]? ']' -// ; -// -Condition attrib(boolean pseudoElementFound) : -{ - Token t; - String name = null; - String value = null; - Boolean insensitive = null; - int type = 0; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - ( )* - { if (pseudoElementFound) { throw generateParseException(); } } - - t = ident() { name = unescape(t.image, false); } - ( )* - ( - ( - { type = 4; } - | - { type = 5; } - | - { type = 6; } - | - "=" { type = 1; } // don't use because of the leading whitespace - | - { type = 2; } - | - { type = 3; } - ) - ( )* - ( - ( - t = ident() { value = unescape(t.image, false); } - | - t = { value = unescape(t.image, false); } - ) - - ( )* - ) - ( - t = ident() { insensitive = handleCaseInSensitive(t); } - ( )* - )? - )? - - { - Condition c = null; - switch (type) { - case 0: - c = new AttributeCondition(name, null, insensitive); - break; - case 1: - c = new AttributeCondition(name, value, insensitive); - break; - case 2: - c = new OneOfAttributeCondition(name, value, insensitive); - break; - case 3: - c = new BeginHyphenAttributeCondition(name, value, insensitive); - break; - case 4: - c = new PrefixAttributeCondition(name, value, insensitive); - break; - case 5: - c = new SuffixAttributeCondition(name, value, insensitive); - break; - case 6: - c = new SubstringAttributeCondition(name, value, insensitive); - break; - } - c.setLocator(locator); - return c; - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidAttrib", e); - } -} - -// -// pseudo -// : ':' (':')? -// [ IDENT -// | FUNCTION_NOT S* selector() S* ')' -// | FUNCTION_LANG S* IDENT S* ')' -// | FUNCTION S* ((PLUS | MINUS | DIMENSION | NUMBER | STRING | IDENT)? S*)+ ')' -// ] -// ; -// -Object pseudo(boolean pseudoElementFound) : -{ - Token t; - String function; - boolean doubleColon = false; - SelectorList selectorList; - Locator locator; -} -{ - try - { - { locator = createLocator(token); } - ( { doubleColon = true; } )? - - ( - t = ident() - { - String s = unescape(t.image, false); - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } - if ("first-line".equals(s) - || "first-letter".equals(s) - || "before".equals(s) - || "after".equals(s)) - { - return new PseudoElementSelector(s, locator, doubleColon); - } - return new PseudoClassCondition(s, locator, doubleColon); - } - | - ( - t = { function = unescape(t.image, false); } - ( )* - selectorList = selectorList() - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } - return new NotPseudoClassCondition(selectorList, locator, doubleColon); - } - ) - | - ( - t = { function = unescape(t.image, false); } - ( )* - t = ident() { String lang = unescape(t.image, false); } - ( )* - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { "lang(" + lang + ")" }, locator); } - return new LangCondition(lang, locator); - } - ) - | - ( - t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } - ( )* - ( - (t = | t = | t = | t = | t = | t = ident()) - { args.append(unescape(t.image, false)); } - ( t = - { args.append(unescape(t.image, false)); } - )* - )+ - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + args.toString().trim() + ")" }, locator); } - return new PseudoClassCondition(function + args.toString().trim() + ")", locator, doubleColon); - } - ) - ) - } - catch (ParseException e) - { - throw toCSSParseException("invalidPseudo", e); - } -} - -Condition hash(boolean pseudoElementFound) : -{ - Token t; - ParseException pe = null; -} -{ - try - { - { if (pseudoElementFound) { pe = generateParseException(); } } - t = - { - if (pseudoElementFound) { throw pe; } - return new IdCondition(unescape(t.image.substring(1), false), createLocator(t)); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidHash", e); - } -} - -void styleDeclaration() : -{ -} -{ - ( declaration() )? - ( ( )* ( declaration() )? )* -} - -// -// declaration -// : property ':' S* expr prio? -// | -// ; -// -void declaration() : -{ - String p; - LexicalUnit e = null; - Token t; - boolean priority = false; - Locator starHack = null; - Locator locator = null; -} -{ - try - { - // at the moment i have no better idea how to handle the - // infamous css-star-hack (http://en.wikipedia.org/wiki/CSS_filter#Star_hack) - // smart (means: ignoring only one decl) - ( { starHack = createLocator(token); } )? - ( - ( - t = ident() { p = unescape(t.image, false); locator = createLocator(t); } - ( )* - ( )* - e = expr() - ) - | - ( - t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } - ( )* - ( e = expr() )? - ) - ) - - ( priority = prio() )? - - // maybe there are strange characters at the end - create error and skip - ( t = - { - locator = createLocator(t); - CSSParseException cpe = toCSSParseException("invalidDeclarationInvalidChar", new String[] {t.image}, locator); - getErrorHandler().error(cpe); - error_skipdecl(); - } - )? - - { - if (starHack != null) - { - CSSParseException cpe = toCSSParseException("invalidDeclarationStarHack", new Object[0], starHack); - getErrorHandler().error(cpe); - return; - } - handleProperty(p, e, priority, locator); - } - } - catch (CSSParseException ex) - { - getErrorHandler().error(ex); - error_skipdecl(); - } - catch (ParseException ex) - { - CSSParseException cpe = toCSSParseException("invalidDeclaration", ex); - getErrorHandler().error(cpe); - error_skipdecl(); - } -} - -// -// prio -// : IMPORTANT_SYM S* -// ; -boolean prio() : -{ -} -{ - ( )* - { return true; } -} - -// -// expr -// : term [ operator term ]* -// ; -LexicalUnit expr() : -{ - LexicalUnit head; - LexicalUnit body; -} -{ - try - { - head = term(null) { body = head; } - ( - ( body = operator(body) )? - body = term(body) - )* - { return head; } - } - catch (ParseException ex) - { - throw toCSSParseException("invalidExpr", ex); - } -} - -// -// term -// : unary_operator? -// [ NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | function ] -// | STRING | IDENT | URI | hexcolor | DIMENSION -// S* -// ; -// -LexicalUnit term(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit value = null; - Locator locator = null; -} -{ - ( op = unaryOperator() )? { if (op != ' ') { locator = createLocator(token); } } - ( - ( value = number(prev, op) - | value = dimension(prev, op) - | value = percentage(prev, op) - | value = function(prev) - | value = rgbColor(prev) - | value = hslColor(prev) - | value = hwbColor(prev) - | value = labColor(prev) - | value = lchColor(prev) - | value = calc(prev) - | value = var(prev) - ) - | t = { value = LexicalUnitImpl.createString(prev, unescape(t.image, false)); } - | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } - | - ( - t = identExcludingInherit() - ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? - ) - { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - | t = { value = LexicalUnitImpl.createURI(prev, unescape(t.image, true)); } - | value = unicodeRange(prev) - | value = hexcolor(prev) - | t = - { - int n = getLastNumPos(t.image); - value = LexicalUnitImpl.createDimension( - prev, - doubleValue(op, t.image.substring(0, n+1)), - t.image.substring(n+1)); - } - | t = { value = LexicalUnitImpl.createInherit(prev); } - ) - { - if (locator == null) - { - locator = createLocator(token); - } - } - ( )* - { - if(value != null) - { - value.setLocator(locator); - } - return value; - } -} - -// -// function -// : FUNCTION S* ((EQUALS | COMMA | (unaryOperator? NUMBER) | STRING | IDENT | URI)? S*)+ ')' S* -// ; -// -LexicalUnit function(LexicalUnit prev) : -{ - Token t; - LexicalUnit param = null; - LexicalUnit body = null; - String funct = ""; -} -{ - t = { funct = funct + unescape(t.image, false); } - ( )* - ( - param = term(null) { body = param; } - ( - ( - ( - t = { body = LexicalUnitImpl.createComma(body); } - | t = { body = LexicalUnitImpl.createIdent(body, t.image); } - ) - ( )* - )? - body = term(body) - )* - )? - - { - return functionInternal(prev, funct, param); - } -} - -// -// calc() -// https://www.w3.org/TR/css3-values/#calc-syntax -// = calc( ) -// -LexicalUnit calc(LexicalUnit prev) : -{ - Token t; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); - String funct = ""; -} -{ - t = { funct = unescape(t.image, false); } - ( )* - calcSum(head) - - { - return functionInternal(prev, funct, head.getNextLexicalUnit()); - } -} - -// -// calcSum() -// = [ [ '+' | '-' ] ]* -// -LexicalUnit calcSum(LexicalUnit prev) : -{ -} -{ - ( - prev = calcProduct(prev) - ( - ( - { prev = LexicalUnitImpl.createPlus(prev); } - | { prev = LexicalUnitImpl.createMinus(prev); } - ) - ( )* - prev = calcProduct(prev) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcProduct() -// = [ '*' | '/' ]* -// -LexicalUnit calcProduct(LexicalUnit prev) : -{ -} -{ - ( - prev = calcValue(prev) - ( - ( - { prev = LexicalUnitImpl.createMultiply(prev); } - ( )* - prev = calcValue(prev) - ) - | - ( - { prev = LexicalUnitImpl.createDivide(prev); } - ( )* - prev = calcNumberValue(prev) - ) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcValue() -// = | | | ( ) -// -LexicalUnit calcValue(LexicalUnit prev) : -{ - char op = ' '; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); -} -{ - ( - ( - ( - (op = unaryOperator() )? - ( - prev = number(prev, op) - | prev = dimension(prev, op) - | prev = percentage(prev, op) - ) - ) - | prev = var(prev) - | - ( - ( | ) - calcSum(head) - - ) - { - // use an empty function as block scope - prev = functionInternal(prev, "(", head.getNextLexicalUnit()); - } - ) - ( )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberSum() -// = [ [ '+' | '-' ] ]* -// -LexicalUnit calcNumberSum(LexicalUnit prev) : -{ -} -{ - ( - prev = calcNumberProduct(prev) - ( - ( - { prev = LexicalUnitImpl.createPlus(prev); } - | { prev = LexicalUnitImpl.createMinus(prev); } - ) - ( )* - prev = calcNumberProduct(prev) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberProduct() -// = [ '*' | '/' ]* -// -LexicalUnit calcNumberProduct(LexicalUnit prev) : -{ -} -{ - ( - prev = calcNumberValue(prev) - ( - ( - { prev = LexicalUnitImpl.createMultiply(prev); } - ( )* - prev = calcNumberValue(prev) - ) - | - ( - { prev = LexicalUnitImpl.createDivide(prev); } - ( )* - prev = calcNumberValue(prev) - ) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberValue() -// = | ( ) -// -LexicalUnit calcNumberValue(LexicalUnit prev) : -{ - Token t; - char op = ' '; - String funct = "("; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); -} -{ - ( - ( - ( - (op = unaryOperator() )? - prev = number(prev, op) - ) - | prev = var(prev) - | - ( - ( - t = { funct = unescape(t.image, false); } - | t = { funct = unescape(t.image, false); } - ) - calcNumberSum(head) - - ) - { - // use an empty function as block scope - prev = functionInternal(prev, funct, head.getNextLexicalUnit()); - } - ) - ( )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// var() -// https://developer.mozilla.org/en-US/docs/Web/CSS/var -// var( , ? ) -// -LexicalUnit var(LexicalUnit prev) : -{ - Token t; - LexicalUnit current, propertyName; - String funct = ""; -} -{ - t = { funct = unescape(t.image, false); } - ( )* - t = { current = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); propertyName = current; } - ( )* - ( - { current = LexicalUnitImpl.createComma(current); } - ( )* - ( current = term(current) )? - )* - - { - return functionInternal(prev, funct, propertyName); - } -} - - -// rgb() / rgba() -// -LexicalUnit rgbColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - ) - ) - { op = ' '; next = param; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - ( - ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } - ) - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - - ( )* - )? - - - { - return rgbColorInternal(prev, funct, param); - } -} - - -// hsl() / hsla() -// -LexicalUnit hslColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } - ) - ) - { op = ' '; next = param; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - ( - ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } - ) - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - - ( )* - )? - - - { - return hslColorInternal(prev, funct, param); - } -} - - -// hwb() -// -LexicalUnit hwbColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - - ( )* - )? - - - { - return hwbColorInternal(prev, funct, param); - } -} - - -// lab() -// -LexicalUnit labColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - - ( )* - )? - - - { - return labColorInternal(prev, funct, param); - } -} - - -// lch() -// -LexicalUnit lchColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | t = { next = LexicalUnitImpl.createDegree(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - - ( )* - )? - - - { - return lchColorInternal(prev, funct, param); - } -} - - -// -// Helper to process various keywords as IDENT -// -Token ident() : -{ - Token t; -} -{ - t = { return t; } - | - ( - t = - | t = - | t = - | t = - ) - { - Token ident = new Token(IDENT, unescape(t.image, false)); - ident.beginLine = t.beginLine; - ident.beginColumn = t.endColumn; - ident.endLine = t.beginLine; - ident.endColumn = t.endColumn; - ident.next = t.next; - ident.specialToken = t.specialToken; - return ident; - - } -} - -Token identExcludingInherit() : -{ - Token t; -} -{ - t = { return t; } - | - ( - t = - | t = - | t = - ) - { - Token ident = new Token(IDENT, unescape(t.image, false)); - ident.beginLine = t.beginLine; - ident.beginColumn = t.endColumn; - ident.endLine = t.beginLine; - ident.endColumn = t.endColumn; - ident.next = t.next; - ident.specialToken = t.specialToken; - return ident; - - } -} - -Token identExcludingOnly() : -{ - Token t; -} -{ - t = { return t; } - | - ( - t = - | t = - | t = - ) - { - Token ident = new Token(IDENT, unescape(t.image, false)); - ident.beginLine = t.beginLine; - ident.beginColumn = t.endColumn; - ident.endLine = t.beginLine; - ident.endColumn = t.endColumn; - ident.next = t.next; - ident.specialToken = t.specialToken; - return ident; - - } -} - - -// -// number() -// -LexicalUnit number(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = - ) - { - try - { - value = LexicalUnitImpl.createNumber(prev, intValue(op, t.image)); - } - catch (NumberFormatException e) - { - value = LexicalUnitImpl.createNumber(prev, doubleValue(op, t.image)); - } - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// percentage() -// -LexicalUnit percentage(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createPercentage(prev, doubleValue(op, t.image)); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// dimension() -// -LexicalUnit dimension(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createPixel(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createCentimeter(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createMillimeter(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createInch(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createPoint(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createPica(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createQuater(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createEm(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRem(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createEx(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createCh(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVw(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVh(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVMin(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVMax(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createMillisecond(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createSecond(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createHertz(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createKiloHertz(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpi"); } - | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpcm"); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// unicodeRange -// -LexicalUnit unicodeRange(LexicalUnit prev) : -{ - Token t; - StringBuilder range = new StringBuilder(); -} -{ - t = { range.append(unescape(t.image, false)); } - { - return LexicalUnitImpl.createIdent(prev, range.toString().toUpperCase(Locale.ROOT)); - } -} - -// -// hexcolor -// : HASH S* -// ; -// -LexicalUnit hexcolor(LexicalUnit prev) : -{ - Token t; -} -{ - t = - { - return hexColorInternal(prev, t); - } -} - -JAVACODE -String skip() { - StringBuilder sb = new StringBuilder(); - int nesting = 0; - Token t = getToken(0); - if (t.image != null) { - sb.append(t.image); - } - - do { - t = getNextToken(); - if (t.kind == EOF) { - break; - } - sb.append(t.image); - appendUnit(t, sb); - - if (t.kind == LBRACE) { - nesting++; - } - else if (t.kind == RBRACE) { - nesting--; - } - } - while ((t.kind != RBRACE && t.kind != SEMICOLON) || nesting > 0); - - return sb.toString(); -} - -JAVACODE -String skipUnit() { - StringBuilder sb = new StringBuilder(); - - Token t = token; - Token oldToken = null; - while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { - oldToken = t; - sb.append(oldToken.image); - appendUnit(t, sb); - - t = getNextToken(); - } - if (t.kind != EOF) { - token = oldToken; - } - - return sb.toString(); -} - -JAVACODE -void appendUnit(Token t, StringBuilder sb) { - if (t.kind == EMS) { - sb.append("em"); - return; - } - if (t.kind == REM) { - sb.append("rem"); - return; - } - if (t.kind == EXS) { - sb.append("ex"); - return; - } - if (t.kind == CH) { - sb.append("ch"); - return; - } - if (t.kind == VW) { - sb.append("vw"); - return; - } - if (t.kind == VH) { - sb.append("vh"); - return; - } - if (t.kind == VMIN) { - sb.append("vmin"); - return; - } - if (t.kind == VMAX) { - sb.append("vmax"); - return; - } - if (t.kind == LENGTH_PX) { - sb.append("px"); - return; - } - if (t.kind == LENGTH_CM) { - sb.append("cm"); - return; - } - if (t.kind == LENGTH_MM) { - sb.append("mm"); - return; - } - if (t.kind == LENGTH_IN) { - sb.append("in"); - return; - } - if (t.kind == LENGTH_PT) { - sb.append("pt"); - return; - } - if (t.kind == LENGTH_PC) { - sb.append("pc"); - return; - } - if (t.kind == LENGTH_Q) { - sb.append("Q"); - return; - } - if (t.kind == ANGLE_DEG) { - sb.append("deg"); - return; - } - if (t.kind == ANGLE_RAD) { - sb.append("rad"); - return; - } - if (t.kind == ANGLE_GRAD) { - sb.append("grad"); - return; - } - if (t.kind == ANGLE_TURN) { - sb.append("turn"); - return; - } - if (t.kind == TIME_MS) { - sb.append("ms"); - return; - } - if (t.kind == TIME_S) { - sb.append('s'); - return; - } - if (t.kind == FREQ_HZ) { - sb.append("hz"); - return; - } - if (t.kind == FREQ_KHZ) { - sb.append("khz"); - return; - } - if (t.kind == RESOLUTION_DPI) { - sb.append("dpi"); - return; - } - if (t.kind == RESOLUTION_DPCM) { - sb.append("dpcm"); - return; - } - if (t.kind == PERCENTAGE) { - sb.append('%'); - return; - } -} - -JAVACODE -void error_skipblock(String msgKey, CSSParseException e) -{ - if (msgKey != null) { - getErrorHandler().warning(createSkipWarning(msgKey, e)); - } - - Token t; - int nesting = 0; - do { - t = getNextToken(); - if (t.kind == LBRACE) { - nesting++; - } - else if (t.kind == RBRACE) { - nesting--; - } - } - while (t.kind != EOF && (t.kind != RBRACE || nesting > 0)); -} - -JAVACODE -void error_skipdecl() -{ - Token t = getToken(1); - if (t.kind == LBRACE) { - error_skipblock(null, null); - return; - } - if (t.kind == RBRACE) { - // next will be RBRACE so we are finished - return; - } - - Token oldToken = token; - while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF) { - oldToken = t; - t = getNextToken(); - } - if (t.kind != EOF) { - token = oldToken; - } -} - -JAVACODE -void error_skipAtRule() -{ - Token t = null; - do { - t = getNextToken(); - } - while (t.kind != SEMICOLON && t.kind != EOF); -} - -JAVACODE -Boolean handleCaseInSensitive(Token t) -{ - String s = unescape(t.image, false); - if ("i".equalsIgnoreCase(s)) { - return Boolean.TRUE; - } - if ("s".equalsIgnoreCase(s)) { - return Boolean.FALSE; - } - - throw toCSSParseException("invalidCaseInSensitivelyIdentifier", new String[] { s }, createLocator(t)); -} +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +options { + IGNORE_CASE = true; + + UNICODE_INPUT = true; + USER_CHAR_STREAM = true; + +// DEBUG_TOKEN_MANAGER = true; +// DEBUG_PARSER = true; + + JDK_VERSION = "1.8"; +// JAVA_TEMPLATE_TYPE = "modern" +} + +PARSER_BEGIN(CSS3Parser) + +package org.htmlunit.cssparser.parser.javacc; + +import java.util.LinkedList; +import java.util.Locale; + +import org.htmlunit.cssparser.dom.CSSValueImpl; +import org.htmlunit.cssparser.dom.Property; +import org.htmlunit.cssparser.parser.AbstractCSSParser; +import org.htmlunit.cssparser.parser.CSSParseException; +import org.htmlunit.cssparser.parser.LexicalUnit; +import org.htmlunit.cssparser.parser.LexicalUnitImpl; +import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; +import org.htmlunit.cssparser.parser.Locatable; +import org.htmlunit.cssparser.parser.Locator; +import org.htmlunit.cssparser.parser.condition.AttributeCondition; +import org.htmlunit.cssparser.parser.condition.BeginHyphenAttributeCondition; +import org.htmlunit.cssparser.parser.condition.ClassCondition; +import org.htmlunit.cssparser.parser.condition.Condition; +import org.htmlunit.cssparser.parser.condition.IdCondition; +import org.htmlunit.cssparser.parser.condition.LangCondition; +import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; +import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; +import org.htmlunit.cssparser.parser.condition.PseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; +import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; +import org.htmlunit.cssparser.parser.media.MediaQuery; +import org.htmlunit.cssparser.parser.media.MediaQueryList; +import org.htmlunit.cssparser.parser.selector.ChildSelector; +import org.htmlunit.cssparser.parser.selector.DescendantSelector; +import org.htmlunit.cssparser.parser.selector.DirectAdjacentSelector; +import org.htmlunit.cssparser.parser.selector.ElementSelector; +import org.htmlunit.cssparser.parser.selector.GeneralAdjacentSelector; +import org.htmlunit.cssparser.parser.selector.PseudoElementSelector; +import org.htmlunit.cssparser.parser.selector.Selector; +import org.htmlunit.cssparser.parser.selector.SelectorList; +import org.htmlunit.cssparser.parser.selector.SelectorListImpl; +import org.htmlunit.cssparser.parser.selector.SimpleSelector; +import org.htmlunit.cssparser.util.ParserUtils; + +/** + * @author David Schweinsberg + * @author waldbaer + * @author Ahmed Ashour + * @author Ronald Brill + */ +public class CSS3Parser extends AbstractCSSParser { + + public CSS3Parser() { + this((CharStream) null); + } + + @Override + public String getParserVersion() { + return "http://www.w3.org/Style/CSS/"; + } + + protected String getGrammarUri() + { + return "http://www.w3.org/TR/WD-css3-syntax-20030813"; + } +} + +PARSER_END(CSS3Parser) + +TOKEN_MGR_DECLS : +{ +} + + TOKEN : +{ +// s [ \t\r\n\f]+ +// {s} {return S;} + < S: ( " "|"\t"|"\r"|"\n"|"\f" )+ > +// w {s}? +// | < W: ( )? > +} + + MORE : +{ + < "/*" > : COMMENT +} + + SKIP : +{ + < "*/" > : DEFAULT +} + + MORE : +{ + < ~[] > : COMMENT +} + + TOKEN : +{ +// h [0-9a-f] + < #H: ["0"-"9","a"-"f"] > +| < #HNUM: | | | | | > + +// nonascii [\200-\377] +// The two occurrences of "\377" represent the highest character number that +// current versions of Flex can deal with (decimal 255). They should be read as +// "\4177777" (decimal 1114111), which is the highest possible code point in +// Unicode/ISO-10646. +// Limitation: This parser can only handle Unicode characters up to \uFFFF +// (decimal 65535). +| < #NONASCII: ["\u0080"-"\uFFFF"] > + +// unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? +| < #UNICODE: "\\" ( "\r\n" | [" ","\t","\r","\n","\f"] )? > + +// escape {unicode}|\\[^\r\n\f0-9a-f] +| < #ESCAPE: | ( "\\" ~["\r","\n","\f","0"-"9","a"-"f"] ) > + +// nmstart [_a-z]|{nonascii}|{escape} +| < #NMSTART: ["_","a"-"z"] | | > + +// nmchar [_a-z0-9-]|{nonascii}|{escape} +| < #NMCHAR: ["_","a"-"z","0"-"9","-"] | | > + +// nl \n|\r\n|\r|\f +| < #NL: "\n" | "\r\n" | "\r" | "\f" > + +// string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\" +| < #STRING1: ( ~["\n","\r","\f","\\","\""] | "\\" | )* > + +// string2 \'([^\n\r\f\\']|\\{nl}|{escape})*\' +| < #STRING2: ( ~["\n","\r","\f","\\","\'"] | "\\" | )* > + +// comment \/\*[^*]*\*+([^/*][^*]*\*+)*\/ +| < #COMMENT_: "/" "*" ( ~["*"] )* ("*")+ ( ~["/","*"] ( ~["*"] )* ( "*" )+ )* "/"> + +| < AND: "and" > +| < NOT: "not" > +| < ONLY: "only" > + +// {num} {return NUMBER;} +| < NUMBER: > + +| < INHERIT: "inherit" > +| < NONE: "none" > +| < FROM: "from" > + +// ident -?{nmstart}{nmchar}* +// {ident} {return IDENT;} +| < IDENT: (< MINUS >)? ( )* > + +// name {nmchar}+ +| < #NAME: ( )+ > + +// num [0-9]+|[0-9]*"."[0-9]+ +| < NUM: ( ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ ) (["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+)? > + +// string {string1}|{string2} +// {string} {return STRING;} +| < STRING: ( "\"" "\"" ) | ( "\'" "\'" ) > { matchedToken.image = ParserUtils.trimBy(image, 1, 1); } + +// url ([!#$%&*-~]|{nonascii}|{escape})* +| < #URL: ( ["!","#","$","%","&","*"-"[","]"-"~"] | | )* > + +// A a|\\0{0,4}(41|61)(\r\n|[ \t\r\n\f])? +| < #A_LETTER: "a" | "\\" ("0")? ("0")? ("0")? ("0")? ( "41" | "61" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// C c|\\0{0,4}(43|63)(\r\n|[ \t\r\n\f])? +| < #C_LETTER: "c" | "\\" ("0")? ("0")? ("0")? ("0")? ( "43" | "63" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// D d|\\0{0,4}(44|64)(\r\n|[ \t\r\n\f])? +| < #D_LETTER: "d" | "\\" ("0")? ("0")? ("0")? ("0")? ( "44" | "64" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// E e|\\0{0,4}(45|65)(\r\n|[ \t\r\n\f])? +| < #E_LETTER: "e" | "\\" ("0")? ("0")? ("0")? ("0")? ( "45" | "65" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// F f|\\0{0,4}(46|66)(\r\n|[ \t\r\n\f])? +| < #F_LETTER: "f" | "\\" ("0")? ("0")? ("0")? ("0")? ( "46" | "66" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// G g|\\0{0,4}(47|67)(\r\n|[ \t\r\n\f])?|\\g +| < #G_LETTER: "g" | "\\" ("0")? ("0")? ("0")? ("0")? ( "47" | "67" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "g" > + +// H h|\\0{0,4}(48|68)(\r\n|[ \t\r\n\f])?|\\h +| < #H_LETTER: "h" | "\\" ("0")? ("0")? ("0")? ("0")? ( "48" | "68" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "h" > + +// I i|\\0{0,4}(49|69)(\r\n|[ \t\r\n\f])?|\\i +| < #I_LETTER: "i" | "\\" ("0")? ("0")? ("0")? ("0")? ( "49" | "69" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "i" > + +// K k|\\0{0,4}(4b|6b)(\r\n|[ \t\r\n\f])?|\\k +| < #K_LETTER: "k" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4b" | "6b" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "k" > + +// L l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l +| < #L_LETTER: "l" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4c" | "6c" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "l" > + +// M m|\\0{0,4}(4d|6d)(\r\n|[ \t\r\n\f])?|\\m +| < #M_LETTER: "m" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4d" | "6d" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "m" > + +// N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n +| < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > + +// O o|\\0{0,4}(51|71)(\r\n|[ \t\r\n\f])?|\\o +| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "51" | "71" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > + +// P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p +| < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > + +// R r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r +| < #R_LETTER: "r" | "\\" ("0")? ("0")? ("0")? ("0")? ( "52" | "72" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "r" > + +// S s|\\0{0,4}(53|73)(\r\n|[ \t\r\n\f])?|\\s +| < #S_LETTER: "s" | "\\" ("0")? ("0")? ("0")? ("0")? ( "53" | "73" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "s" > + +// T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t +| < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > + +// U v|\\0{0,4}(55|76)(\r\n|[ \t\r\n\f])?|\\v +| < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > + +// X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x +| < #X_LETTER: "x" | "\\" ("0")? ("0")? ("0")? ("0")? ( "58" | "78" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "x" > + +// Z z|\\0{0,4}(5a|7a)(\r\n|[ \t\r\n\f])?|\\z +| < #Z_LETTER: "z" | "\\" ("0")? ("0")? ("0")? ("0")? ( "5a" | "7a" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "z" > + +// "" {return CDC;} +| < CDC: "-->" > + +// "~=" {return INCLUDES;} +| < INCLUDES: "~=" > + +// "|=" {return DASHMATCH;} +| < DASHMATCH: "|=" > + +// "^=" {return PREFIXMATCH;} +| < PREFIXMATCH: "^=" > + +// "$=" {return SUFFIXMATCH;} +| < SUFFIXMATCH: "$=" > + +// "*=" {return SUBSTRINGMATCH;} +| < SUBSTRINGMATCH: "*=" > + +// {w}"{" {return LBRACE;} +| < LBRACE: "{" > +| < RBRACE: "}" > + +| < LROUND: "(" > +| < RROUND: ")" > + +| < DOT: "." > +| < SEMICOLON: ";" > +| < COLON: ":" > +| < ASTERISK: "*" > +| < SLASH: "/" > +| < MINUS: "-" > +| < EQUALS: "=" > +| < LSQUARE: "[" > +| < RSQUARE: "]" > + +// {w}"+" {return PLUS;} +| < PLUS: "+" > + +// {w}">" {return GREATER;} +| < GREATER: ">" > + +// {w}"~" {return TILDE;} +| < TILDE: "~" > + +// {w}"," {return COMMA;} +| < COMMA: "," > + +// "#"{name} {return HASH;} +| < HASH: "#" > + +// @{I}{M}{P}{O}{R}{T} {return IMPORT_SYM;} +| < IMPORT_SYM: "@" > + +// @{P}{A}{G}{E} {return PAGE_SYM;} +| < PAGE_SYM: "@" > + +// @{M}{E}{D}{I}{A} {return MEDIA_SYM;} +| < MEDIA_SYM: "@" > + +// "@{F}{O}{N}{T}-{F}{A}{C}{E}" {return FONT_FACE_SYM;} +| < FONT_FACE_SYM: "@" < MINUS > > + +// @{C}{H}{A}{R}{S}{E}{T} {return CHARSET_SYM;} +| < CHARSET_SYM: "@" > + +// "!"({w}|{comment})*{I}{M}{P}{O}{R}{T}{A}{N}{T} {return IMPORTANT_SYM;} +| < IMPORTANT_SYM: "!" ( | )* > + +// {num}{E}{M} {return EMS;} +| < EMS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{R}{E}{M} {return REM;} +| < REM: "rem" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{E}{X} {return EXS;} +| < EXS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{C}{H} {return CH;} +| < CH: "ch" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{W} {return VW;} +| < VW: "vw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{H} {return VH;} +| < VH: "vh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{M}{I}{N} {return VMIN;} +| < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{V}{M}{I}{N} {return VMAX;} +| < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{P}{X} {return LENGTH;} +| < LENGTH_PX: "px" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{C}{M} {return LENGTH;} +| < LENGTH_CM: "cm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{M}{M} {return LENGTH;} +| < LENGTH_MM: "mm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{I}{N} {return LENGTH;} +| < LENGTH_IN: "in" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{P}{T} {return LENGTH;} +| < LENGTH_PT: "pt" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{P}{C} {return LENGTH;} +| < LENGTH_PC: "pc" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{Q} {return LENGTH;} +| < LENGTH_Q: "Q" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{D}{E}{G} {return ANGLE;} +| < ANGLE_DEG: "deg" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{R}{A}{D} {return ANGLE;} +| < ANGLE_RAD: "rad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{G}{R}{A}{D} {return ANGLE;} +| < ANGLE_GRAD: "grad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{T}{U}{R}{N} {return ANGLE;} +| < ANGLE_TURN: "turn" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{M}{S} {return TIME;} +| < TIME_MS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{S} {return TIME;} +| < TIME_S: > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{H}{Z} {return FREQ;} +| < FREQ_HZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{K}{H}{Z} {return FREQ;} +| < FREQ_KHZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{D}{P}{I} {return RESOLUTION;} +| < RESOLUTION_DPI: "dpi" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{D}{P}{C}{M} {return RESOLUTION;} +| < RESOLUTION_DPCM: "dpcm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}% {return PERCENTAGE;} +| < PERCENTAGE: "%" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{ident} {return DIMENSION;} +| < DIMENSION: ( ["a"-"z","0"-"9"] | | )* > + +| < #H_PLACEHOLDER: ( | "?"){1,6} > +| < UNICODE_RANGE: "u+" (< MINUS > < H_PLACEHOLDER >)? > + +// "url("{w}{string}{w}")" {return URI;} +// "url("{w}{url}{w}")" {return URI;} +| < URI: "url" ( )* ( | ) ( )* > { matchedToken.image = ParserUtils.trimUrl(image); } + +// {N}{O}{T} "(" {return FUNCTION_NOT;} +| < FUNCTION_NOT: "not" > + +// {L}{A}{N}{G} "(" {return FUNCTION_LANG;} +| < FUNCTION_LANG: "lang" > + +// {C}{A}{L}{C} "(" {return FUNCTION_CALC;} +| < FUNCTION_CALC: "calc" > + +// {V}{A}{R} "(" {return FUNCTION_VAR;} +| < FUNCTION_VAR: "var" > + +| < FUNCTION_RGB: "rgb" ("a")? > +| < FUNCTION_HSL: "hsl" ("a")? > +| < FUNCTION_HWB: "hwb" > +| < FUNCTION_LAB: ("ok")? "lab" > +| < FUNCTION_LCH: ("ok")? "lch" > + +| < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > + +// {ident} "(" {return FUNCTION;} +| < FUNCTION: > + +| < ATKEYWORD: "@" > +} + +<*> TOKEN: +{ + < UNKNOWN: ~[] > + { + // System.err.println("Illegal character : " + image.toString()); + } +} + +// +// stylesheet +// : [ CHARSET_SYM STRING ';' ]? +// [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* +// [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* +// ; +// +void styleSheet() : +{ +} +{ + try + { + { handleStartDocument(); } + styleSheetRuleList() + + } + finally + { + handleEndDocument(); + } +} + +void styleSheetRuleList() : +{ + boolean ruleFound = false; +} +{ + ( | | )* + ( + charsetRule() + ( | | )* + )? + ( + ( + ( + importRule(ruleFound) + | + ( + styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() + ) + { + ruleFound = true; + } + ) + | + ( + // skip until the next RBRACE + { ParseException e = generateParseException(); } + invalidRule() + { + Token t = getNextToken(); + + boolean charsetProcessed = false; + if (t.kind == CHARSET_SYM) { + t = getNextToken(); + if (t.kind == S) { + t = getNextToken(); + if (t.kind == STRING) { + t = getNextToken(); + if (t.kind == SEMICOLON) { + getNextToken(); + charsetProcessed = true; + } + } + } + CSSParseException cpe = toCSSParseException("misplacedCharsetRule", e); + getErrorHandler().error(cpe); + getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); + } + + if (!charsetProcessed) { + if (t.kind == EOF) { + return; + } + + CSSParseException cpe = toCSSParseException("invalidRule", e); + getErrorHandler().error(cpe); + getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); + while (t.kind != RBRACE && t.kind != EOF ) { + t = getNextToken(); + } + if (t.kind == EOF) { + return; + } + } + } + ) + ) + ( | | )* + )* +} + +JAVACODE +void invalidRule() +{ +} + +// +// This is used by ASTStyleSheet.insertRule to parse a single rule +// +void styleSheetRuleSingle() : +{ +} +{ + ( )* + ( charsetRule() | importRule(false) | styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() ) + ( )* +} + +void charsetRule() : +{ + Token t; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + + t = + + { + handleCharset(t.toString(), locator); + } + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidCharsetRule", e)); + } +} + +void unknownAtRule() : +{ + String s; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + s = skip(); + handleIgnorableAtRule(s, locator); + } + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidUnknownRule", generateParseException())); + } +} + +// +// import +// : IMPORT_SYM S* +// [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S* +// ; +// +void importRule(final boolean nonImportRuleFoundBefore) : +{ + Token t; + MediaQueryList ml = new MediaQueryList(); + Locator locator; +} +{ + try + { + { + ParseException e = null; + if (nonImportRuleFoundBefore) + { + e = generateParseException(); + } + } + + { + locator = createLocator(token); + } + ( )* + ( t = | t = ) ( )* + ( mediaList(ml) )? + + { + if (nonImportRuleFoundBefore) + { + getErrorHandler().error(toCSSParseException("invalidImportRuleIgnored2", e)); + } + else + { + handleImportStyle(unescape(t.image, false), ml, null, locator); + } + } + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipAtRule(); + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidImportRule", e)); + error_skipAtRule(); + } +} + +// +// media +// : MEDIA_SYM S* medium [ COMMA S* medium ]* '{' S* ruleset* '}' S* +// ; +// +void mediaRule() : +{ + boolean start = false; + MediaQueryList ml = new MediaQueryList(); + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + ( )* + mediaList(ml) + { + start = true; + handleStartMedia(ml, locator); + } + ( )* + ( mediaRuleList() )? + + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidMediaRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringRule", cpe); + } + finally + { + if (start) { + handleEndMedia(ml); + } + } +} + +void mediaList(MediaQueryList ml) : +{ + MediaQuery mq; +} +{ + try + { + mq = mediaQuery() + { + ml.setLocator(createLocator(token)); + } + ( ( )* { ml.add(mq); } mq = mediaQuery() )* + { ml.add(mq); } + } + catch(ParseException e) + { + throw toCSSParseException("invalidMediaList", e); + } +} + +// +// media_query +// : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* +// | expression [ AND S* expression ]* +// ; +// +MediaQuery mediaQuery() : +{ + String s; + MediaQuery mq; + Property p; + boolean only = false; + boolean not = false; +} +{ + ( + ( + ( + ( + { only = true; } + | + { not = true; } + ) ( )* + )? + s = medium() + { mq = new MediaQuery(s, only, not); mq.setLocator(createLocator(token)); } + ( + ( )* + p = mediaExpression() + { + mq.addMediaProperty(p); + } + )* + ) + | + ( + p = mediaExpression() + { + mq = new MediaQuery(null, only, not); + mq.setLocator(createLocator(token)); + mq.addMediaProperty(p); + } + ( + ( )* + p = mediaExpression() + { + mq.addMediaProperty(p); + } + )* + ) + ) + { return mq; } +} + +// +// expression +// : '(' S* media_feature S* [ ':' S* expr ]? ')' S* +// ; +// +Property mediaExpression() : +{ + String p; + LexicalUnit e = null; + Property prop; + Token t; +} +{ + + ( )* + ( + t = identExcludingOnly() ( )* { p = unescape(t.image, false); } + | t = ( )* { p = unescape(t.image, false); } + ) + ( + ( )* + e = expr() + )? + + ( )* + { + if(e==null) + { + prop = new Property(p, null, false); + } + else + { + prop = new Property(p, new CSSValueImpl(e), false); + } + return prop; + } +} + +void mediaRuleList() : +{ +} +{ + ( ( styleRule() | mediaRule() | pageRule() | importRule(true) | unknownAtRule() ) ( )* )+ +} + +// +// medium +// : IDENT S* +// ; +// +String medium() : +{ + Token t; +} +{ + t = identExcludingOnly() ( )* + { + return unescape(t.image, false); + } +} + +// +// page +// : PAGE_SYM S* pseudo_page? S* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void pageRule() : +{ + String sel = null; + boolean start = false; + Locator locator; +} +{ + try { + + { + locator = createLocator(token); + } + ( )* + + ( sel = pageSelectorList() )? + + ( )* + { + start = true; + handleStartPage(null, sel, locator); + } + + styleDeclaration() + + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidPageRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringRule", cpe); + } + finally { + if (start) { + handleEndPage(null, sel); + } + } +} + +// +// pageSelectorList +// : [ pageSelector S* [ ',' pageSelector S* ]* ]? +// ; +// +String pageSelectorList() : +{ + String sel; + LinkedList selectors = new LinkedList<>(); +} +{ + sel = pageSelector() { selectors.add(sel); } + ( + ( )* sel = pageSelector() { selectors.add(sel); } + )* + + { return String.join(", ", selectors); } +} + +// +// pageSelector +// : pseudoPage+ | IDENT pseudoPage* +// ; +// +String pageSelector() : +{ + StringBuilder pseudos = new StringBuilder(); + String pseudo; + Token ident; +} +{ + ( + pseudo = pseudoPage() { pseudos.append(pseudo); } + | + ident = ident() { pseudos.append(unescape(ident.image, false)); } + ) + ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* + ( )* + + { return pseudos.toString(); } +} + +// +// pseudoPage +// : ':' IDENT +// ; +// +String pseudoPage() : +{ + Token t; +} +{ + t = ident() { return ":" + normalizeAndValidatePagePseudoClass(t); } +} + +// +// font_face +// : FONT_FACE_SYM S* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void fontFaceRule() : +{ + boolean start = false; + Locator locator; +} +{ + try { + + { + locator = createLocator(token); + } + ( )* + ( )* { start = true; handleStartFontFace(locator); } + styleDeclaration() + + } + catch(ParseException e) + { + throw toCSSParseException("invalidFontFaceRule", e); + } + finally { + if (start) { + handleEndFontFace(); + } + } +} + +// +// operator +// : '/' S* | COMMA S* | /* empty */ +// ; +// +LexicalUnit operator(LexicalUnit prev) : +{ +} +{ + ( )* { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_SLASH); } + | ( )* { return LexicalUnitImpl.createComma(prev); } +} + +// +// combinator +// : PLUS S* +// | GREATER S* +// | S +// ; +// +char combinator() : +{ + char c = ' '; +} +{ + ( + { c='+'; } ( )* + | { c='>'; } ( )* + | { c='~'; } ( )* + | ( ( { c='+'; } | { c='>'; } | { c='~'; } ) ( )* )? + ) + { return c; } +} + +// +// unary_operator +// : '-' | PLUS +// ; +// +char unaryOperator() : +{ +} +{ + ( { return '-'; } | { return '+'; } ) +} + + +// +// ruleset +// : selector [ COMMA S* selector ]* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void styleRule() : +{ + SelectorList selList = null; + boolean start = false; + Token t; +} +{ + try { + { + t = token; + } + selList = selectorList() + ( )* + { + start = true; + handleStartSelector(selList, createLocator(t.next)); + } + styleDeclaration() + ( | ) + } + catch(CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidStyleRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringFollowingDeclarations", cpe); + } + finally { + if (start) { + handleEndSelector(selList); + } + } +} + +SelectorList parseSelectorsInternal() : +{ + SelectorList selectors; +} +{ + ( )* + selectors = selectorList() + + { + return selectors; + } +} + +SelectorList selectorList() : +{ + SelectorListImpl selList = new SelectorListImpl(); + Selector sel; +} +{ + sel = selector() { selList.setLocator(sel.getLocator()); } + ( ( )* + { selList.add(sel); } + sel = selector() { selList.setLocator(sel.getLocator()); } + )* + { + selList.add(sel); + return selList; + } +} + +// +// selector +// : simple_selector_sequence [ combinator simple_selector_sequence ]* +// ; +// +Selector selector() : +{ + Selector sel; + char comb; +} +{ + try { + sel = simpleSelector(null, ' ') + ( LOOKAHEAD(2) comb = combinator() sel = simpleSelector(sel, comb) )* ( )* + { + return sel; + } + } catch (ParseException e) { + throw toCSSParseException("invalidSelector", e); + } +} + +// +// simple_selector +// : element_name [ HASH | class | attrib | pseudo ]* +// | [ HASH | class | attrib | pseudo ]+ +// ; +// +Selector simpleSelector(Selector sel, char comb) : +{ + ElementSelector elemSel = null; + SimpleSelector simpleSel = null; + Condition c = null; + SimpleSelector pseudoElementSel = null; + Object o = null; +} +{ + try + { + ( + ( elemSel = elementName() + ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } + | ( + o = pseudo(null != pseudoElementSel) + { if (o instanceof Condition) + { elemSel.addCondition((Condition) o); + } else { + pseudoElementSel = (SimpleSelector) o; + } + } + ) + )* + ) + | + ( { elemSel = new ElementSelector(null, createLocator(token)); } + ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } + | ( + o = pseudo(null != pseudoElementSel) + { if (o instanceof Condition) + { elemSel.addCondition((Condition) o); + } else { + pseudoElementSel = (SimpleSelector) o; + } + } + ) + )+ + ) + ) + + { + simpleSel = elemSel; + if (sel == null) { + sel = simpleSel; + } else { + switch (comb) { + case ' ': + sel = new DescendantSelector(sel, simpleSel); + break; + case '+': + sel = new DirectAdjacentSelector(sel, simpleSel); + break; + case '>': + sel = new ChildSelector(sel, simpleSel); + break; + case '~': + sel = new GeneralAdjacentSelector(sel, simpleSel); + break; + } + } + if (pseudoElementSel != null) + { + sel = new DescendantSelector(sel, pseudoElementSel); + } + + return sel; + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidSimpleSelector", e); + } +} + +// +// class +// : '.' IDENT +// ; +// +Condition _class(boolean pseudoElementFound) : +{ + Token t; + Locator locator; + ParseException pe = null; +} +{ + try + { + { if (pseudoElementFound) { pe = generateParseException(); } } + + { + locator = createLocator(token); + } + + t = ident() + { + if (pseudoElementFound) { throw pe; } + return new ClassCondition(unescape(t.image, false), locator); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidClassSelector", e); + } +} + +// +// element_name +// : IDENT | '*' +// ; +// +ElementSelector elementName() : +{ + Token t; +} +{ + try + { + t = ident() + { + return new ElementSelector(unescape(t.image, false), createLocator(t)); + } + | + { + return new ElementSelector(null, createLocator(token)); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidElementName", e); + } +} + +// +// attrib +// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH | PREFIXMATCH | SUFFIXMATCH | SUBSTRINGMATCH ] S* +// [ IDENT | STRING ] S* ]? ']' +// ; +// +Condition attrib(boolean pseudoElementFound) : +{ + Token t; + String name = null; + String value = null; + Boolean insensitive = null; + int type = 0; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + ( )* + { if (pseudoElementFound) { throw generateParseException(); } } + + t = ident() { name = unescape(t.image, false); } + ( )* + ( + ( + { type = 4; } + | + { type = 5; } + | + { type = 6; } + | + "=" { type = 1; } // don't use because of the leading whitespace + | + { type = 2; } + | + { type = 3; } + ) + ( )* + ( + ( + t = ident() { value = unescape(t.image, false); } + | + t = { value = unescape(t.image, false); } + ) + + ( )* + ) + ( + t = ident() { insensitive = handleCaseInSensitive(t); } + ( )* + )? + )? + + { + Condition c = null; + switch (type) { + case 0: + c = new AttributeCondition(name, null, insensitive); + break; + case 1: + c = new AttributeCondition(name, value, insensitive); + break; + case 2: + c = new OneOfAttributeCondition(name, value, insensitive); + break; + case 3: + c = new BeginHyphenAttributeCondition(name, value, insensitive); + break; + case 4: + c = new PrefixAttributeCondition(name, value, insensitive); + break; + case 5: + c = new SuffixAttributeCondition(name, value, insensitive); + break; + case 6: + c = new SubstringAttributeCondition(name, value, insensitive); + break; + } + c.setLocator(locator); + return c; + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidAttrib", e); + } +} + +// +// pseudo +// : ':' (':')? +// [ IDENT +// | FUNCTION_NOT S* selector() S* ')' +// | FUNCTION_LANG S* IDENT S* ')' +// | FUNCTION S* ((PLUS | MINUS | DIMENSION | NUMBER | STRING | IDENT)? S*)+ ')' +// ] +// ; +// +Object pseudo(boolean pseudoElementFound) : +{ + Token t; + String function; + boolean doubleColon = false; + SelectorList selectorList; + Locator locator; +} +{ + try + { + { locator = createLocator(token); } + ( { doubleColon = true; } )? + + ( + t = ident() + { + String s = unescape(t.image, false); + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } + if ("first-line".equals(s) + || "first-letter".equals(s) + || "before".equals(s) + || "after".equals(s)) + { + return new PseudoElementSelector(s, locator, doubleColon); + } + return new PseudoClassCondition(s, locator, doubleColon); + } + | + ( + t = { function = unescape(t.image, false); } + ( )* + selectorList = selectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } + return new NotPseudoClassCondition(selectorList, locator, doubleColon); + } + ) + | + ( + t = { function = unescape(t.image, false); } + ( )* + t = ident() { String lang = unescape(t.image, false); } + ( )* + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { "lang(" + lang + ")" }, locator); } + return new LangCondition(lang, locator); + } + ) + | + ( + t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } + ( )* + ( + (t = | t = | t = | t = | t = | t = ident()) + { args.append(unescape(t.image, false)); } + ( t = + { args.append(unescape(t.image, false)); } + )* + )+ + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + args.toString().trim() + ")" }, locator); } + return new PseudoClassCondition(function + args.toString().trim() + ")", locator, doubleColon); + } + ) + ) + } + catch (ParseException e) + { + throw toCSSParseException("invalidPseudo", e); + } +} + +Condition hash(boolean pseudoElementFound) : +{ + Token t; + ParseException pe = null; +} +{ + try + { + { if (pseudoElementFound) { pe = generateParseException(); } } + t = + { + if (pseudoElementFound) { throw pe; } + return new IdCondition(unescape(t.image.substring(1), false), createLocator(t)); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidHash", e); + } +} + +void styleDeclaration() : +{ +} +{ + ( declaration() )? + ( ( )* ( declaration() )? )* +} + +// +// declaration +// : property ':' S* expr prio? +// | +// ; +// +void declaration() : +{ + String p; + LexicalUnit e = null; + Token t; + boolean priority = false; + Locator starHack = null; + Locator locator = null; +} +{ + try + { + // at the moment i have no better idea how to handle the + // infamous css-star-hack (http://en.wikipedia.org/wiki/CSS_filter#Star_hack) + // smart (means: ignoring only one decl) + ( { starHack = createLocator(token); } )? + ( + ( + t = ident() { p = unescape(t.image, false); locator = createLocator(t); } + ( )* + ( )* + e = expr() + ) + | + ( + t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } + ( )* + ( e = expr() )? + ) + ) + + ( priority = prio() )? + + // maybe there are strange characters at the end - create error and skip + ( t = + { + locator = createLocator(t); + CSSParseException cpe = toCSSParseException("invalidDeclarationInvalidChar", new String[] {t.image}, locator); + getErrorHandler().error(cpe); + error_skipdecl(); + } + )? + + { + if (starHack != null) + { + CSSParseException cpe = toCSSParseException("invalidDeclarationStarHack", new Object[0], starHack); + getErrorHandler().error(cpe); + return; + } + handleProperty(p, e, priority, locator); + } + } + catch (CSSParseException ex) + { + getErrorHandler().error(ex); + error_skipdecl(); + } + catch (ParseException ex) + { + CSSParseException cpe = toCSSParseException("invalidDeclaration", ex); + getErrorHandler().error(cpe); + error_skipdecl(); + } +} + +// +// prio +// : IMPORTANT_SYM S* +// ; +boolean prio() : +{ +} +{ + ( )* + { return true; } +} + +// +// expr +// : term [ operator term ]* +// ; +LexicalUnit expr() : +{ + LexicalUnit head; + LexicalUnit body; +} +{ + try + { + head = term(null) { body = head; } + ( + ( body = operator(body) )? + body = term(body) + )* + { return head; } + } + catch (ParseException ex) + { + throw toCSSParseException("invalidExpr", ex); + } +} + +// +// term +// : unary_operator? +// [ NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | function ] +// | STRING | IDENT | URI | hexcolor | DIMENSION +// S* +// ; +// +LexicalUnit term(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit value = null; + Locator locator = null; +} +{ + ( op = unaryOperator() )? { if (op != ' ') { locator = createLocator(token); } } + ( + ( value = number(prev, op) + | value = dimension(prev, op) + | value = percentage(prev, op) + | value = function(prev) + | value = rgbColor(prev) + | value = hslColor(prev) + | value = hwbColor(prev) + | value = labColor(prev) + | value = lchColor(prev) + | value = calc(prev) + | value = var(prev) + ) + | t = { value = LexicalUnitImpl.createString(prev, unescape(t.image, false)); } + | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } + | + ( + t = identExcludingInherit() + ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? + ) + { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + | t = { value = LexicalUnitImpl.createURI(prev, unescape(t.image, true)); } + | value = unicodeRange(prev) + | value = hexcolor(prev) + | t = + { + int n = getLastNumPos(t.image); + value = LexicalUnitImpl.createDimension( + prev, + doubleValue(op, t.image.substring(0, n+1)), + t.image.substring(n+1)); + } + | t = { value = LexicalUnitImpl.createInherit(prev); } + ) + { + if (locator == null) + { + locator = createLocator(token); + } + } + ( )* + { + if(value != null) + { + value.setLocator(locator); + } + return value; + } +} + +// +// function +// : FUNCTION S* ((EQUALS | COMMA | (unaryOperator? NUMBER) | STRING | IDENT | URI)? S*)+ ')' S* +// ; +// +LexicalUnit function(LexicalUnit prev) : +{ + Token t; + LexicalUnit param = null; + LexicalUnit body = null; + String funct = ""; +} +{ + t = { funct = funct + unescape(t.image, false); } + ( )* + ( + param = term(null) { body = param; } + ( + ( + ( + t = { body = LexicalUnitImpl.createComma(body); } + | t = { body = LexicalUnitImpl.createIdent(body, t.image); } + ) + ( )* + )? + body = term(body) + )* + )? + + { + return functionInternal(prev, funct, param); + } +} + +// +// calc() +// https://www.w3.org/TR/css3-values/#calc-syntax +// = calc( ) +// +LexicalUnit calc(LexicalUnit prev) : +{ + Token t; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); + String funct = ""; +} +{ + t = { funct = unescape(t.image, false); } + ( )* + calcSum(head) + + { + return functionInternal(prev, funct, head.getNextLexicalUnit()); + } +} + +// +// calcSum() +// = [ [ '+' | '-' ] ]* +// +LexicalUnit calcSum(LexicalUnit prev) : +{ +} +{ + ( + prev = calcProduct(prev) + ( + ( + { prev = LexicalUnitImpl.createPlus(prev); } + | { prev = LexicalUnitImpl.createMinus(prev); } + ) + ( )* + prev = calcProduct(prev) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcProduct() +// = [ '*' | '/' ]* +// +LexicalUnit calcProduct(LexicalUnit prev) : +{ +} +{ + ( + prev = calcValue(prev) + ( + ( + { prev = LexicalUnitImpl.createMultiply(prev); } + ( )* + prev = calcValue(prev) + ) + | + ( + { prev = LexicalUnitImpl.createDivide(prev); } + ( )* + prev = calcNumberValue(prev) + ) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcValue() +// = | | | ( ) +// +LexicalUnit calcValue(LexicalUnit prev) : +{ + char op = ' '; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); +} +{ + ( + ( + ( + (op = unaryOperator() )? + ( + prev = number(prev, op) + | prev = dimension(prev, op) + | prev = percentage(prev, op) + ) + ) + | prev = var(prev) + | + ( + ( | ) + calcSum(head) + + ) + { + // use an empty function as block scope + prev = functionInternal(prev, "(", head.getNextLexicalUnit()); + } + ) + ( )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberSum() +// = [ [ '+' | '-' ] ]* +// +LexicalUnit calcNumberSum(LexicalUnit prev) : +{ +} +{ + ( + prev = calcNumberProduct(prev) + ( + ( + { prev = LexicalUnitImpl.createPlus(prev); } + | { prev = LexicalUnitImpl.createMinus(prev); } + ) + ( )* + prev = calcNumberProduct(prev) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberProduct() +// = [ '*' | '/' ]* +// +LexicalUnit calcNumberProduct(LexicalUnit prev) : +{ +} +{ + ( + prev = calcNumberValue(prev) + ( + ( + { prev = LexicalUnitImpl.createMultiply(prev); } + ( )* + prev = calcNumberValue(prev) + ) + | + ( + { prev = LexicalUnitImpl.createDivide(prev); } + ( )* + prev = calcNumberValue(prev) + ) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberValue() +// = | ( ) +// +LexicalUnit calcNumberValue(LexicalUnit prev) : +{ + Token t; + char op = ' '; + String funct = "("; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); +} +{ + ( + ( + ( + (op = unaryOperator() )? + prev = number(prev, op) + ) + | prev = var(prev) + | + ( + ( + t = { funct = unescape(t.image, false); } + | t = { funct = unescape(t.image, false); } + ) + calcNumberSum(head) + + ) + { + // use an empty function as block scope + prev = functionInternal(prev, funct, head.getNextLexicalUnit()); + } + ) + ( )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// var() +// https://developer.mozilla.org/en-US/docs/Web/CSS/var +// var( , ? ) +// +LexicalUnit var(LexicalUnit prev) : +{ + Token t; + LexicalUnit current, propertyName; + String funct = ""; +} +{ + t = { funct = unescape(t.image, false); } + ( )* + t = { current = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); propertyName = current; } + ( )* + ( + { current = LexicalUnitImpl.createComma(current); } + ( )* + ( current = term(current) )? + )* + + { + return functionInternal(prev, funct, propertyName); + } +} + + +// rgb() / rgba() +// +LexicalUnit rgbColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return rgbColorInternal(prev, funct, param); + } +} + + +// hsl() / hsla() +// +LexicalUnit hslColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + ( ( { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | t = { next = LexicalUnitImpl.createDegree(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + ) + ) + + { + return hslColorInternal(prev, funct, param); + } +} + + +// hwb() +// +LexicalUnit hwbColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return hwbColorInternal(prev, funct, param); + } +} + + +// lab() +// +LexicalUnit labColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return labColorInternal(prev, funct, param); + } +} + + +// lch() +// +LexicalUnit lchColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | t = { next = LexicalUnitImpl.createDegree(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + + + { + return lchColorInternal(prev, funct, param); + } +} + + +// +// Helper to process various keywords as IDENT +// +Token ident() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + +Token identExcludingInherit() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + +Token identExcludingOnly() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + + +// +// number() +// +LexicalUnit number(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = + ) + { + try + { + value = LexicalUnitImpl.createNumber(prev, intValue(op, t.image)); + } + catch (NumberFormatException e) + { + value = LexicalUnitImpl.createNumber(prev, doubleValue(op, t.image)); + } + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// percentage() +// +LexicalUnit percentage(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createPercentage(prev, doubleValue(op, t.image)); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// dimension() +// +LexicalUnit dimension(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createPixel(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createCentimeter(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createMillimeter(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createInch(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createPoint(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createPica(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createQuater(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createEm(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRem(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createEx(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createCh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVw(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVMin(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVMax(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createMillisecond(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createSecond(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createHertz(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createKiloHertz(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpi"); } + | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpcm"); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// unicodeRange +// +LexicalUnit unicodeRange(LexicalUnit prev) : +{ + Token t; + StringBuilder range = new StringBuilder(); +} +{ + t = { range.append(unescape(t.image, false)); } + { + return LexicalUnitImpl.createIdent(prev, range.toString().toUpperCase(Locale.ROOT)); + } +} + +// +// hexcolor +// : HASH S* +// ; +// +LexicalUnit hexcolor(LexicalUnit prev) : +{ + Token t; +} +{ + t = + { + return hexColorInternal(prev, t); + } +} + +JAVACODE +String skip() { + StringBuilder sb = new StringBuilder(); + int nesting = 0; + Token t = getToken(0); + if (t.image != null) { + sb.append(t.image); + } + + do { + t = getNextToken(); + if (t.kind == EOF) { + break; + } + sb.append(t.image); + appendUnit(t, sb); + + if (t.kind == LBRACE) { + nesting++; + } + else if (t.kind == RBRACE) { + nesting--; + } + } + while ((t.kind != RBRACE && t.kind != SEMICOLON) || nesting > 0); + + return sb.toString(); +} + +JAVACODE +String skipUnit() { + StringBuilder sb = new StringBuilder(); + + Token t = token; + Token oldToken = null; + while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { + oldToken = t; + sb.append(oldToken.image); + appendUnit(t, sb); + + t = getNextToken(); + } + if (t.kind != EOF) { + token = oldToken; + } + + return sb.toString(); +} + +JAVACODE +void appendUnit(Token t, StringBuilder sb) { + if (t.kind == EMS) { + sb.append("em"); + return; + } + if (t.kind == REM) { + sb.append("rem"); + return; + } + if (t.kind == EXS) { + sb.append("ex"); + return; + } + if (t.kind == CH) { + sb.append("ch"); + return; + } + if (t.kind == VW) { + sb.append("vw"); + return; + } + if (t.kind == VH) { + sb.append("vh"); + return; + } + if (t.kind == VMIN) { + sb.append("vmin"); + return; + } + if (t.kind == VMAX) { + sb.append("vmax"); + return; + } + if (t.kind == LENGTH_PX) { + sb.append("px"); + return; + } + if (t.kind == LENGTH_CM) { + sb.append("cm"); + return; + } + if (t.kind == LENGTH_MM) { + sb.append("mm"); + return; + } + if (t.kind == LENGTH_IN) { + sb.append("in"); + return; + } + if (t.kind == LENGTH_PT) { + sb.append("pt"); + return; + } + if (t.kind == LENGTH_PC) { + sb.append("pc"); + return; + } + if (t.kind == LENGTH_Q) { + sb.append("Q"); + return; + } + if (t.kind == ANGLE_DEG) { + sb.append("deg"); + return; + } + if (t.kind == ANGLE_RAD) { + sb.append("rad"); + return; + } + if (t.kind == ANGLE_GRAD) { + sb.append("grad"); + return; + } + if (t.kind == ANGLE_TURN) { + sb.append("turn"); + return; + } + if (t.kind == TIME_MS) { + sb.append("ms"); + return; + } + if (t.kind == TIME_S) { + sb.append('s'); + return; + } + if (t.kind == FREQ_HZ) { + sb.append("hz"); + return; + } + if (t.kind == FREQ_KHZ) { + sb.append("khz"); + return; + } + if (t.kind == RESOLUTION_DPI) { + sb.append("dpi"); + return; + } + if (t.kind == RESOLUTION_DPCM) { + sb.append("dpcm"); + return; + } + if (t.kind == PERCENTAGE) { + sb.append('%'); + return; + } +} + +JAVACODE +void error_skipblock(String msgKey, CSSParseException e) +{ + if (msgKey != null) { + getErrorHandler().warning(createSkipWarning(msgKey, e)); + } + + Token t; + int nesting = 0; + do { + t = getNextToken(); + if (t.kind == LBRACE) { + nesting++; + } + else if (t.kind == RBRACE) { + nesting--; + } + } + while (t.kind != EOF && (t.kind != RBRACE || nesting > 0)); +} + +JAVACODE +void error_skipdecl() +{ + Token t = getToken(1); + if (t.kind == LBRACE) { + error_skipblock(null, null); + return; + } + if (t.kind == RBRACE) { + // next will be RBRACE so we are finished + return; + } + + Token oldToken = token; + while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF) { + oldToken = t; + t = getNextToken(); + } + if (t.kind != EOF) { + token = oldToken; + } +} + +JAVACODE +void error_skipAtRule() +{ + Token t = null; + do { + t = getNextToken(); + } + while (t.kind != SEMICOLON && t.kind != EOF); +} + +JAVACODE +Boolean handleCaseInSensitive(Token t) +{ + String s = unescape(t.image, false); + if ("i".equalsIgnoreCase(s)) { + return Boolean.TRUE; + } + if ("s".equalsIgnoreCase(s)) { + return Boolean.FALSE; + } + + throw toCSSParseException("invalidCaseInSensitivelyIdentifier", new String[] { s }, createLocator(t)); +} diff --git a/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java index 4a9bfeb..2b20313 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java @@ -52,6 +52,7 @@ import org.htmlunit.cssparser.parser.selector.SelectorList; import org.htmlunit.cssparser.parser.selector.SimpleSelector; import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; /** @@ -307,4 +308,37 @@ protected CSSValueImpl dimension(final String dim) throws Exception { return valueImpl; } + + protected void color(final String expected, final String cssText) throws Exception { + color(0, expected, cssText); + } + + protected void color(final int errorCount, final String expected, final String cssText) throws Exception { + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleDeclarationImpl style = parser.parseStyleDeclaration(cssText); + + if (errorCount == 0 && errorHandler.getErrorCount() > 0) { + Assertions.fail("Found errors; First: " + errorHandler.getErrorMessage()); + } + assertEquals(errorCount, errorHandler.getErrorCount()); + if (errorCount > 0) { + assertEquals(expected, errorHandler.getErrorMessage()); + } + + assertEquals(0, errorHandler.getFatalErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + if (errorCount > 0) { + return; + } + + // Enumerate the properties and retrieve their values + assertEquals(1, style.getLength()); + + final String name = style.getProperties().get(0).getName(); + assertEquals(expected, name + ": " + style.getPropertyValue(name)); + } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index be28f8c..7713f2f 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -57,7 +57,6 @@ import org.htmlunit.cssparser.parser.selector.Selector; import org.htmlunit.cssparser.parser.selector.Selector.SelectorType; import org.htmlunit.cssparser.parser.selector.SelectorList; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; /** @@ -1143,202 +1142,6 @@ public void hexAndRgbAreSame() throws Exception { color("color: rgba(138, 43, 226, 0.8)", "color: #8A2BE2CC;"); } - /** - * @throws Exception in case of failure - */ - @Test - public void hslComma() throws Exception { - color("foreground: hsl(270, 60%, 70%)", "foreground: hsl(270,60%,70%)"); - color("foreground: hsl(-270, 60%, 70%)", "foreground: hsl(-270, 60%, 70%)"); - color("foreground: hsl(270deg, 60%, 70%)", "foreground: hsl(270deg, 60%, 70%)"); - color("foreground: hsl(270rad, 60%, 70%)", "foreground: hsl(270rad, 60%, 70%)"); - color("foreground: hsl(270grad, 60%, 70%)", "foreground: hsl(270grad, 60%, 70%)"); - color("foreground: hsl(2.1turn, 60%, 70%)", "foreground: hsl(2.1turn, 60%, 70%)"); - - color("foreground: hsl(255, 0%, 15.37%)", "foreground: hsl(2.55e2, 0e0%, 1537e-2%)"); - color("foreground: hsl(255deg, 0%, 15.37%)", "foreground: hsl(2.55e2deg, 0e0%, 1537e-2%)"); - color("foreground: hsl(255rad, 0%, 15.37%)", "foreground: hsl(2.55e2rad, 0e0%, 1537e-2%)"); - color("foreground: hsl(255grad, 0%, 15.37%)", "foreground: hsl(2.55e2grad, 0e0%, 1537e-2%)"); - color("foreground: hsl(255turn, 0%, 15.37%)", "foreground: hsl(2.55e2turn, 0e0%, 1537e-2%)"); - - // alpha - color("foreground: hsl(270, 60%, 70%, 0.1)", "foreground: hsl(270,60%,70%,0.1)"); - color("foreground: hsl(-270, 60%, 70%, 0.1)", "foreground: hsl(-270, 60%, 70%, 0.1)"); - color("foreground: hsl(-270, 60%, 70%, 0.1)", "foreground: hsl(-270, 60%, 70%, .1)"); - color("foreground: hsl(-270, 60%, 70%, 10%)", "foreground: hsl(-270, 60%, 70%, 10%)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void hslBlank() throws Exception { - color("foreground: hsl(270 60% 70%)", "foreground: hsl(270 60% 70%)"); - color("foreground: hsl(-270 60% 70%)", "foreground: hsl(-270 60% 70%)"); - color("foreground: hsl(270deg 60% 70%)", "foreground: hsl(270deg 60% 70%)"); - color("foreground: hsl(270rad 60% 70%)", "foreground: hsl(270rad 60% 70%)"); - color("foreground: hsl(270grad 60% 70%)", "foreground: hsl(270grad 60% 70%)"); - color("foreground: hsl(2.1turn 60% 70%)", "foreground: hsl(2.1turn 60% 70%)"); - - color("foreground: hsl(none 0% 60%)", "foreground: hsl(none 0% 60%)"); - color("foreground: hsl(100grad none 60%)", "foreground: hsl(100grad none 60%)"); - color("foreground: hsl(100grad 0% none)", "foreground: hsl(100grad 0% none)"); - - color("foreground: hsl(255 0% 15.37%)", "foreground: hsl(2.55e2 0e0% 1537e-2%)"); - color("foreground: hsl(255deg 0% 15.37%)", "foreground: hsl(2.55e2deg 0e0% 1537e-2%)"); - color("foreground: hsl(255rad 0% 15.37%)", "foreground: hsl(2.55e2rad 0e0% 1537e-2%)"); - color("foreground: hsl(255grad 0% 15.37%)", "foreground: hsl(2.55e2grad 0e0% 1537e-2%)"); - color("foreground: hsl(255turn 0% 15.37%)", "foreground: hsl(2.55e2turn 0e0% 1537e-2%)"); - - // alpha - color("foreground: hsl(270 60% 70% / 0.1)", "foreground: hsl(270 60% 70%/0.1)"); - color("foreground: hsl(-270 60% 70% / 0.1)", "foreground: hsl(-270 60% 70% / 0.1)"); - color("foreground: hsl(-270 60% 70% / 0.1)", "foreground: hsl(-270 60% 70% / .1)"); - color("foreground: hsl(-270 60% 70% / 10%)", "foreground: hsl(-270 60% 70% / 10%)"); - - color("foreground: hsl(-270 60% 70% / none)", "foreground: hsl(-270 60% 70% / none)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void hslMixed() throws Exception { - color("foreground: hsl(42, 128%, 255%)", "foreground: hsl(42, 128%, 255%)"); - color("foreground: hsl(42deg, 128%, 255%)", "foreground: hsl(42deg, 128%, 255%)"); - - color("foreground: hsl(42 128% 255%)", "foreground: hsl(42 128% 255%)"); - color("foreground: hsl(42rad 128% 255%)", "foreground: hsl(42rad 128% 255%)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void hslaComma() throws Exception { - color("foreground: hsla(270, 60%, 70%)", "foreground: hsla(270,60%,70%)"); - color("foreground: hsla(-270, 60%, 70%)", "foreground: hsla(-270, 60%, 70%)"); - color("foreground: hsla(270deg, 60%, 70%)", "foreground: hsla(270deg, 60%, 70%)"); - color("foreground: hsla(270rad, 60%, 70%)", "foreground: hsla(270rad, 60%, 70%)"); - color("foreground: hsla(270grad, 60%, 70%)", "foreground: hsla(270grad, 60%, 70%)"); - color("foreground: hsla(2.1turn, 60%, 70%)", "foreground: hsla(2.1turn, 60%, 70%)"); - - color("foreground: hsla(255, 0%, 15.37%)", "foreground: hsla(2.55e2, 0e0%, 1537e-2%)"); - color("foreground: hsla(255deg, 0%, 15.37%)", "foreground: hsla(2.55e2deg, 0e0%, 1537e-2%)"); - color("foreground: hsla(255rad, 0%, 15.37%)", "foreground: hsla(2.55e2rad, 0e0%, 1537e-2%)"); - color("foreground: hsla(255grad, 0%, 15.37%)", "foreground: hsla(2.55e2grad, 0e0%, 1537e-2%)"); - color("foreground: hsla(255turn, 0%, 15.37%)", "foreground: hsla(2.55e2turn, 0e0%, 1537e-2%)"); - - // alpha - color("foreground: hsla(270, 60%, 70%, 0.1)", "foreground: hsla(270,60%,70%,0.1)"); - color("foreground: hsla(-270, 60%, 70%, 0.1)", "foreground: hsla(-270, 60%, 70%, 0.1)"); - color("foreground: hsla(-270, 60%, 70%, 0.1)", "foreground: hsla(-270, 60%, 70%, .1)"); - color("foreground: hsla(-270, 60%, 70%, 10%)", "foreground: hsla(-270, 60%, 70%, 10%)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void hslaBlank() throws Exception { - color("foreground: hsla(270 60% 70%)", "foreground: hsla(270 60% 70%)"); - color("foreground: hsla(-270 60% 70%)", "foreground: hsla(-270 60% 70%)"); - color("foreground: hsla(270deg 60% 70%)", "foreground: hsla(270deg 60% 70%)"); - color("foreground: hsla(270rad 60% 70%)", "foreground: hsla(270rad 60% 70%)"); - color("foreground: hsla(270grad 60% 70%)", "foreground: hsla(270grad 60% 70%)"); - color("foreground: hsla(2.1turn 60% 70%)", "foreground: hsla(2.1turn 60% 70%)"); - - color("foreground: hsla(none 0% 60%)", "foreground: hsla(none 0% 60%)"); - color("foreground: hsla(100grad none 60%)", "foreground: hsla(100grad none 60%)"); - color("foreground: hsla(100grad 0% none)", "foreground: hsla(100grad 0% none)"); - - color("foreground: hsla(255 0% 15.37%)", "foreground: hsla(2.55e2 0e0% 1537e-2%)"); - color("foreground: hsla(255deg 0% 15.37%)", "foreground: hsla(2.55e2deg 0e0% 1537e-2%)"); - color("foreground: hsla(255rad 0% 15.37%)", "foreground: hsla(2.55e2rad 0e0% 1537e-2%)"); - color("foreground: hsla(255grad 0% 15.37%)", "foreground: hsla(2.55e2grad 0e0% 1537e-2%)"); - color("foreground: hsla(255turn 0% 15.37%)", "foreground: hsla(2.55e2turn 0e0% 1537e-2%)"); - - // alpha - color("foreground: hsla(270 60% 70% / 0.1)", "foreground: hsla(270 60% 70%/0.1)"); - color("foreground: hsla(-270 60% 70% / 0.1)", "foreground: hsla(-270 60% 70% / 0.1)"); - color("foreground: hsla(-270 60% 70% / 0.1)", "foreground: hsla(-270 60% 70% / .1)"); - color("foreground: hsla(-270 60% 70% / 10%)", "foreground: hsla(-270 60% 70% / 10%)"); - - color("foreground: hsla(-270 60% 70% / none)", "foreground: hsla(-270 60% 70% / none)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void hslaMixed() throws Exception { - color("foreground: hsla(42, 128%, 255%)", "foreground: hsla(42, 128%, 255%)"); - color("foreground: hsla(42deg, 128%, 255%)", "foreground: hsla(42deg, 128%, 255%)"); - - color("foreground: hsla(42 128% 255%)", "foreground: hsla(42 128% 255%)"); - color("foreground: hsla(42rad 128% 255%)", "foreground: hsla(42rad 128% 255%)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void hslVariousErrors() throws Exception { - color(1, "DOM exception: ''hsl' parameters must be separated by ','.'", "foreground: hsl(10, 20% 30%)"); - color(1, "DOM exception: ''hsl' requires consitent separators (blank or comma).'", "foreground: hsl(10 20%, 30%)"); - - color(1, "DOM exception: ''hsl' alpha value must be separated by '/'.'", "foreground: hsl(10 20% 30% 40)"); - - color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(none, 20%, 30%)"); - color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(10, none, 30%)"); - color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(10, 20%, none)"); - color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(10, 20%, 30%, none)"); - - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", - "foreground: hsl(-none 20% 30%)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", - "foreground: hsl(10 -none 30%)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", - "foreground: hsl(10 20% -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: hsl(10 20% 30% / -none)"); - - // mixing numbers and percentages is supported by current browsers - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20, 30)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20%, 30)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20%, 30)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20%, 30%)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20, 30%)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20, 30%)"); - // - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20 30)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20% 30)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20% 30)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20% 30%)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20 30%)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20 30%)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", - "foreground: hsl()"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", - "foreground: hsl(10)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", - "foreground: hsl(10 20%)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: hsl(10, 20%, 30%,)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: hsl(10, 20%, 30%/)"); - - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", .)", - "foreground: hsl(10, 20px, 30)"); - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", - "foreground: hsl(10 20px 30)"); - - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", - "foreground: hsl('10', 20, 30,)"); - } - /** * @throws Exception in case of failure */ @@ -1723,39 +1526,6 @@ public void oklchVariousErrors() throws Exception { "foreground: oklch('10' 20 30deg)"); } - private void color(final String expected, final String cssText) throws Exception { - color(0, expected, cssText); - } - - private void color(final int errorCount, final String expected, final String cssText) throws Exception { - final CSSOMParser parser = new CSSOMParser(); - final ErrorHandler errorHandler = new ErrorHandler(); - parser.setErrorHandler(errorHandler); - - final CSSStyleDeclarationImpl style = parser.parseStyleDeclaration(cssText); - - if (errorCount == 0 && errorHandler.getErrorCount() > 0) { - Assertions.fail("Found errors; First: " + errorHandler.getErrorMessage()); - } - assertEquals(errorCount, errorHandler.getErrorCount()); - if (errorCount > 0) { - assertEquals(expected, errorHandler.getErrorMessage()); - } - - assertEquals(0, errorHandler.getFatalErrorCount()); - assertEquals(0, errorHandler.getWarningCount()); - - if (errorCount > 0) { - return; - } - - // Enumerate the properties and retrieve their values - assertEquals(1, style.getLength()); - - final String name = style.getProperties().get(0).getName(); - assertEquals(expected, name + ": " + style.getPropertyValue(name)); - } - /** * @throws Exception in case of failure */ diff --git a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java new file mode 100644 index 0000000..c6674a1 --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java @@ -0,0 +1,232 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser; + +import org.junit.jupiter.api.Test; + +/** + * @author Ronald Brill + */ +public class HSLColorParserTest extends AbstractCSSParserTest { + + /** + * @throws Exception in case of failure + */ + @Test + public void hslComma() throws Exception { + color("foreground: hsl(270, 60%, 70%)", "foreground: hsl(270,60%,70%)"); + color("foreground: hsl(-270, 60%, 70%)", "foreground: hsl(-270, 60%, 70%)"); + color("foreground: hsl(270deg, 60%, 70%)", "foreground: hsl(270deg, 60%, 70%)"); + color("foreground: hsl(270rad, 60%, 70%)", "foreground: hsl(270rad, 60%, 70%)"); + color("foreground: hsl(270grad, 60%, 70%)", "foreground: hsl(270grad, 60%, 70%)"); + color("foreground: hsl(2.1turn, 60%, 70%)", "foreground: hsl(2.1turn, 60%, 70%)"); + + color("foreground: hsl(255, 0%, 15.37%)", "foreground: hsl(2.55e2, 0e0%, 1537e-2%)"); + color("foreground: hsl(255deg, 0%, 15.37%)", "foreground: hsl(2.55e2deg, 0e0%, 1537e-2%)"); + color("foreground: hsl(255rad, 0%, 15.37%)", "foreground: hsl(2.55e2rad, 0e0%, 1537e-2%)"); + color("foreground: hsl(255grad, 0%, 15.37%)", "foreground: hsl(2.55e2grad, 0e0%, 1537e-2%)"); + color("foreground: hsl(255turn, 0%, 15.37%)", "foreground: hsl(2.55e2turn, 0e0%, 1537e-2%)"); + + // alpha + color("foreground: hsl(270, 60%, 70%, 0.1)", "foreground: hsl(270,60%,70%,0.1)"); + color("foreground: hsl(-270, 60%, 70%, 0.1)", "foreground: hsl(-270, 60%, 70%, 0.1)"); + color("foreground: hsl(-270, 60%, 70%, 0.1)", "foreground: hsl(-270, 60%, 70%, .1)"); + color("foreground: hsl(-270, 60%, 70%, 10%)", "foreground: hsl(-270, 60%, 70%, 10%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void hslBlank() throws Exception { + color("foreground: hsl(270 60% 70%)", "foreground: hsl(270 60% 70%)"); + color("foreground: hsl(-270 60% 70%)", "foreground: hsl(-270 60% 70%)"); + color("foreground: hsl(270deg 60% 70%)", "foreground: hsl(270deg 60% 70%)"); + color("foreground: hsl(270rad 60% 70%)", "foreground: hsl(270rad 60% 70%)"); + color("foreground: hsl(270grad 60% 70%)", "foreground: hsl(270grad 60% 70%)"); + color("foreground: hsl(2.1turn 60% 70%)", "foreground: hsl(2.1turn 60% 70%)"); + + color("foreground: hsl(none 0% 60%)", "foreground: hsl(none 0% 60%)"); + color("foreground: hsl(100grad none 60%)", "foreground: hsl(100grad none 60%)"); + color("foreground: hsl(100grad 0% none)", "foreground: hsl(100grad 0% none)"); + + color("foreground: hsl(255 0% 15.37%)", "foreground: hsl(2.55e2 0e0% 1537e-2%)"); + color("foreground: hsl(255deg 0% 15.37%)", "foreground: hsl(2.55e2deg 0e0% 1537e-2%)"); + color("foreground: hsl(255rad 0% 15.37%)", "foreground: hsl(2.55e2rad 0e0% 1537e-2%)"); + color("foreground: hsl(255grad 0% 15.37%)", "foreground: hsl(2.55e2grad 0e0% 1537e-2%)"); + color("foreground: hsl(255turn 0% 15.37%)", "foreground: hsl(2.55e2turn 0e0% 1537e-2%)"); + + // alpha + color("foreground: hsl(270 60% 70% / 0.1)", "foreground: hsl(270 60% 70%/0.1)"); + color("foreground: hsl(-270 60% 70% / 0.1)", "foreground: hsl(-270 60% 70% / 0.1)"); + color("foreground: hsl(-270 60% 70% / 0.1)", "foreground: hsl(-270 60% 70% / .1)"); + color("foreground: hsl(-270 60% 70% / 10%)", "foreground: hsl(-270 60% 70% / 10%)"); + + color("foreground: hsl(-270 60% 70% / none)", "foreground: hsl(-270 60% 70% / none)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void hslMixed() throws Exception { + color("foreground: hsl(42, 128%, 255%)", "foreground: hsl(42, 128%, 255%)"); + color("foreground: hsl(42deg, 128%, 255%)", "foreground: hsl(42deg, 128%, 255%)"); + + color("foreground: hsl(42 128% 255%)", "foreground: hsl(42 128% 255%)"); + color("foreground: hsl(42rad 128% 255%)", "foreground: hsl(42rad 128% 255%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void hslRelative() throws Exception { + color("foreground: hsl(from red r g b)", "foreground: hsl(from red r g b)"); + color("foreground: hsl(from red 7 11% 13%)", "foreground: hsl(from red 7 11% 13%)"); + color("foreground: hsl(from rgb(200 170 0) 7 11% 13%)", "foreground: hsl(from rgb(200 170 0) 7 11% 13%)"); + color("foreground: hsl(from var(--base-color) 7 11% 13%)", "foreground: hsl(from var(--base-color) 7 11% 13%)"); + // color("foreground: hsl(from var(--base-color) 7 11% 13%)", "foreground: red calc(h + 7) calc(s - 11%) calc(l * 13%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void hslaComma() throws Exception { + color("foreground: hsla(270, 60%, 70%)", "foreground: hsla(270,60%,70%)"); + color("foreground: hsla(-270, 60%, 70%)", "foreground: hsla(-270, 60%, 70%)"); + color("foreground: hsla(270deg, 60%, 70%)", "foreground: hsla(270deg, 60%, 70%)"); + color("foreground: hsla(270rad, 60%, 70%)", "foreground: hsla(270rad, 60%, 70%)"); + color("foreground: hsla(270grad, 60%, 70%)", "foreground: hsla(270grad, 60%, 70%)"); + color("foreground: hsla(2.1turn, 60%, 70%)", "foreground: hsla(2.1turn, 60%, 70%)"); + + color("foreground: hsla(255, 0%, 15.37%)", "foreground: hsla(2.55e2, 0e0%, 1537e-2%)"); + color("foreground: hsla(255deg, 0%, 15.37%)", "foreground: hsla(2.55e2deg, 0e0%, 1537e-2%)"); + color("foreground: hsla(255rad, 0%, 15.37%)", "foreground: hsla(2.55e2rad, 0e0%, 1537e-2%)"); + color("foreground: hsla(255grad, 0%, 15.37%)", "foreground: hsla(2.55e2grad, 0e0%, 1537e-2%)"); + color("foreground: hsla(255turn, 0%, 15.37%)", "foreground: hsla(2.55e2turn, 0e0%, 1537e-2%)"); + + // alpha + color("foreground: hsla(270, 60%, 70%, 0.1)", "foreground: hsla(270,60%,70%,0.1)"); + color("foreground: hsla(-270, 60%, 70%, 0.1)", "foreground: hsla(-270, 60%, 70%, 0.1)"); + color("foreground: hsla(-270, 60%, 70%, 0.1)", "foreground: hsla(-270, 60%, 70%, .1)"); + color("foreground: hsla(-270, 60%, 70%, 10%)", "foreground: hsla(-270, 60%, 70%, 10%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void hslaBlank() throws Exception { + color("foreground: hsla(270 60% 70%)", "foreground: hsla(270 60% 70%)"); + color("foreground: hsla(-270 60% 70%)", "foreground: hsla(-270 60% 70%)"); + color("foreground: hsla(270deg 60% 70%)", "foreground: hsla(270deg 60% 70%)"); + color("foreground: hsla(270rad 60% 70%)", "foreground: hsla(270rad 60% 70%)"); + color("foreground: hsla(270grad 60% 70%)", "foreground: hsla(270grad 60% 70%)"); + color("foreground: hsla(2.1turn 60% 70%)", "foreground: hsla(2.1turn 60% 70%)"); + + color("foreground: hsla(none 0% 60%)", "foreground: hsla(none 0% 60%)"); + color("foreground: hsla(100grad none 60%)", "foreground: hsla(100grad none 60%)"); + color("foreground: hsla(100grad 0% none)", "foreground: hsla(100grad 0% none)"); + + color("foreground: hsla(255 0% 15.37%)", "foreground: hsla(2.55e2 0e0% 1537e-2%)"); + color("foreground: hsla(255deg 0% 15.37%)", "foreground: hsla(2.55e2deg 0e0% 1537e-2%)"); + color("foreground: hsla(255rad 0% 15.37%)", "foreground: hsla(2.55e2rad 0e0% 1537e-2%)"); + color("foreground: hsla(255grad 0% 15.37%)", "foreground: hsla(2.55e2grad 0e0% 1537e-2%)"); + color("foreground: hsla(255turn 0% 15.37%)", "foreground: hsla(2.55e2turn 0e0% 1537e-2%)"); + + // alpha + color("foreground: hsla(270 60% 70% / 0.1)", "foreground: hsla(270 60% 70%/0.1)"); + color("foreground: hsla(-270 60% 70% / 0.1)", "foreground: hsla(-270 60% 70% / 0.1)"); + color("foreground: hsla(-270 60% 70% / 0.1)", "foreground: hsla(-270 60% 70% / .1)"); + color("foreground: hsla(-270 60% 70% / 10%)", "foreground: hsla(-270 60% 70% / 10%)"); + + color("foreground: hsla(-270 60% 70% / none)", "foreground: hsla(-270 60% 70% / none)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void hslaMixed() throws Exception { + color("foreground: hsla(42, 128%, 255%)", "foreground: hsla(42, 128%, 255%)"); + color("foreground: hsla(42deg, 128%, 255%)", "foreground: hsla(42deg, 128%, 255%)"); + + color("foreground: hsla(42 128% 255%)", "foreground: hsla(42 128% 255%)"); + color("foreground: hsla(42rad 128% 255%)", "foreground: hsla(42rad 128% 255%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void hslVariousErrors() throws Exception { + color(1, "DOM exception: ''hsl' parameters must be separated by ','.'", "foreground: hsl(10, 20% 30%)"); + color(1, "DOM exception: ''hsl' requires consitent separators (blank or comma).'", "foreground: hsl(10 20%, 30%)"); + + color(1, "DOM exception: ''hsl' alpha value must be separated by '/'.'", "foreground: hsl(10 20% 30% 40)"); + + color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(none, 20%, 30%)"); + color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(10, none, 30%)"); + color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(10, 20%, none)"); + color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(10, 20%, 30%, none)"); + + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", " + + ", , , .)", + "foreground: hsl(-none 20% 30%)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + "foreground: hsl(10 -none 30%)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + "foreground: hsl(10 20% -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: hsl(10 20% 30% / -none)"); + + // mixing numbers and percentages is supported by current browsers + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20, 30)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20%, 30)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20%, 30)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20%, 30%)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20, 30%)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20, 30%)"); + // + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20 30)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20% 30)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20% 30)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20% 30%)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20 30%)"); + // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20 30%)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , .)", + "foreground: hsl()"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + "foreground: hsl(10)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + "foreground: hsl(10 20%)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: hsl(10, 20%, 30%,)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: hsl(10, 20%, 30%/)"); + + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + "foreground: hsl(10, 20px, 30)"); + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + "foreground: hsl(10 20px 30)"); + + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , .)", + "foreground: hsl('10', 20, 30,)"); + } +} From 630e306294b61acb3873d4523479497f53b79d1e Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 8 Jan 2025 08:20:33 +0100 Subject: [PATCH 073/137] accept more color values, refactor tests (wip) --- .../htmlunit/cssparser/dom/AbstractColor.java | 73 +- .../htmlunit/cssparser/dom/HSLColorImpl.java | 259 +------- .../htmlunit/cssparser/dom/HWBColorImpl.java | 146 +--- .../htmlunit/cssparser/dom/LABColorImpl.java | 131 +--- .../htmlunit/cssparser/dom/LCHColorImpl.java | 157 +---- .../htmlunit/cssparser/dom/RGBColorImpl.java | 221 +------ .../cssparser/dom/HSLColorImplTest.java | 114 ---- .../cssparser/dom/HWBColorImplTest.java | 96 --- .../cssparser/dom/LABColorImplTest.java | 96 --- .../cssparser/dom/LCHColorImplTest.java | 95 --- .../cssparser/dom/RGBColorImplTest.java | 114 ---- .../cssparser/parser/CSS3ParserTest.java | 625 ------------------ .../cssparser/parser/HSLColorParserTest.java | 47 +- .../cssparser/parser/HWBColorParserTest.java | 91 +++ .../cssparser/parser/LABColorParserTest.java | 102 +++ .../cssparser/parser/LCHColorParserTest.java | 102 +++ .../parser/OKLABColorParserTest.java | 102 +++ .../parser/OKLCHColorParserTest.java | 102 +++ .../cssparser/parser/RGBColorParserTest.java | 264 ++++++++ 19 files changed, 814 insertions(+), 2123 deletions(-) create mode 100644 src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java create mode 100644 src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java create mode 100644 src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java create mode 100644 src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java create mode 100644 src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java create mode 100644 src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java diff --git a/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java b/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java index 668a65d..78a4f39 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java +++ b/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java @@ -15,10 +15,9 @@ package org.htmlunit.cssparser.dom; import java.io.Serializable; -import java.util.function.Consumer; +import java.util.Locale; import org.htmlunit.cssparser.parser.LexicalUnit; -import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; import org.w3c.dom.DOMException; /** @@ -28,64 +27,34 @@ */ public class AbstractColor implements Serializable { - private CSSValueImpl alpha_; - private CSSValueImpl relative_; - - protected void getNumberPercentagePart(final LexicalUnit next, final Consumer setter) { - if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() - - || LexicalUnitType.INTEGER == next.getLexicalUnitType() - || LexicalUnitType.REAL == next.getLexicalUnitType() - - || LexicalUnitType.NONE == next.getLexicalUnitType()) { - setter.accept(new CSSValueImpl(next, true)); - return; - } - - throw new DOMException(DOMException.SYNTAX_ERR, "Color part has to be numeric or percentage."); - } - - protected void getAlphaPart(final LexicalUnit lu) { - if (LexicalUnitType.PERCENTAGE == lu.getLexicalUnitType() - - || LexicalUnitType.INTEGER == lu.getLexicalUnitType() - || LexicalUnitType.REAL == lu.getLexicalUnitType() - - || LexicalUnitType.NONE == lu.getLexicalUnitType()) { - setAlpha(new CSSValueImpl(lu, true)); - return; - } - - throw new DOMException(DOMException.SYNTAX_ERR, "Color alpha part has to be numeric or percentage."); - } + private String function_; + private CSSValueImpl cssValue_; /** - * @return the alpha part. + * Constructor that reads the values from the given + * chain of LexicalUnits. + * @param function the name of the function; rgb or rgba + * @param lu the values + * @throws DOMException in case of error */ - public CSSValueImpl getAlpha() { - return alpha_; + public AbstractColor(final String function, final LexicalUnit lu) throws DOMException { + function_ = function.toLowerCase(Locale.ROOT); + cssValue_ = new CSSValueImpl(lu); } /** - * Sets the alpha part to a new value. - * @param alpha the new CSSValueImpl + * {@inheritDoc} */ - public void setAlpha(final CSSValueImpl alpha) { - alpha_ = alpha; - } + @Override + public String toString() { + final StringBuilder sb = new StringBuilder(); - /** - * @return the relative value or null. - */ - public CSSValueImpl getRelative() { - return relative_; - } + sb + .append(function_) + .append("(") + .append(cssValue_) + .append(")"); - public boolean handleRelativeColors(final LexicalUnit lu) { - if (LexicalUnitType.FROM == lu.getLexicalUnitType()) { - relative_ = new CSSValueImpl(lu.getNextLexicalUnit()); - return true; - } - return false; + return sb.toString(); } } diff --git a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java index 43ef969..eaf6bbf 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java @@ -14,10 +14,7 @@ */ package org.htmlunit.cssparser.dom; -import java.util.Locale; - import org.htmlunit.cssparser.parser.LexicalUnit; -import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; import org.w3c.dom.DOMException; /** @@ -26,12 +23,6 @@ * @author Ronald Brill */ public class HSLColorImpl extends AbstractColor { - private final String function_; - - private CSSValueImpl hue_; - private CSSValueImpl saturation_; - private CSSValueImpl lightness_; - private final boolean commaSeparated_; /** * Constructor that reads the values from the given @@ -41,254 +32,6 @@ public class HSLColorImpl extends AbstractColor { * @throws DOMException in case of error */ public HSLColorImpl(final String function, final LexicalUnit lu) throws DOMException { - if (function == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space 'hsl' or 'hsla' is required."); - } - final String functionLC = function.toLowerCase(Locale.ROOT); - if (!"hsl".equals(functionLC) && !"hsla".equals(functionLC)) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space '" + functionLC + "' not supported."); - } - function_ = functionLC; - - if (lu == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - if (handleRelativeColors(lu)) { - commaSeparated_ = false; - return; - } - - LexicalUnit next = lu; - hue_ = getHuePart(next); - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - commaSeparated_ = LexicalUnitType.OPERATOR_COMMA == next.getLexicalUnitType(); - if (commaSeparated_) { - if (hue_.getLexicalUnitType() == LexicalUnitType.NONE) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' has to use blank as separator if none is used."); - } - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - if (LexicalUnitType.NONE == next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' has to use blank as separator if none is used."); - } - if (LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, "Saturation part has to be percentage."); - } - saturation_ = new CSSValueImpl(next, true); - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - if (LexicalUnitType.OPERATOR_COMMA != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' parameters must be separated by ','."); - } - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - if (LexicalUnitType.NONE == next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' has to use blank as separator if none is used."); - } - if (LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, "Lightness part has to be percentage."); - } - lightness_ = new CSSValueImpl(next, true); - - next = next.getNextLexicalUnit(); - if (next == null) { - return; - } - - if (LexicalUnitType.OPERATOR_COMMA != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' parameters must be separated by ','."); - } - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); - } - - if (LexicalUnitType.NONE == next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' has to use blank as separator if none is used."); - } - - getAlphaPart(next); - - next = next.getNextLexicalUnit(); - if (next != null) { - throw new DOMException(DOMException.SYNTAX_ERR, - "Too many parameters for '" + function_ + "' function."); - } - return; - } - - if (LexicalUnitType.NONE != next.getLexicalUnitType() - && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, "Saturation part has to be percentage."); - } - saturation_ = new CSSValueImpl(next, true); - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - if (next.getLexicalUnitType() == LexicalUnitType.OPERATOR_COMMA) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' requires consitent separators (blank or comma)."); - } - - if (LexicalUnitType.NONE != next.getLexicalUnitType() - && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, "Lightness part has to be percentage."); - } - lightness_ = new CSSValueImpl(next, true); - next = next.getNextLexicalUnit(); - if (next == null) { - return; - } - - if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_SLASH) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' alpha value must be separated by '/'."); - } - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); - } - - getAlphaPart(next); - - next = next.getNextLexicalUnit(); - if (next != null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for '" + function_ + "' function."); - } - } - - private static CSSValueImpl getHuePart(final LexicalUnit next) { - if (LexicalUnitType.DEGREE == next.getLexicalUnitType() - || LexicalUnitType.RADIAN == next.getLexicalUnitType() - || LexicalUnitType.GRADIAN == next.getLexicalUnitType() - || LexicalUnitType.TURN == next.getLexicalUnitType() - - || LexicalUnitType.INTEGER == next.getLexicalUnitType() - || LexicalUnitType.REAL == next.getLexicalUnitType() - - || LexicalUnitType.NONE == next.getLexicalUnitType()) { - return new CSSValueImpl(next, true); - } - - throw new DOMException(DOMException.SYNTAX_ERR, "Color hue part has to be numeric or an angle."); - } - - /** - * @return the hue part. - */ - public CSSValueImpl getHue() { - return hue_; - } - - /** - * Sets the hue part to a new value. - * @param hue the new CSSValueImpl - */ - public void setHue(final CSSValueImpl hue) { - hue_ = hue; - } - - /** - * @return the saturation part. - */ - public CSSValueImpl getSaturation() { - return saturation_; - } - - /** - * Sets the saturation part to a new value. - * @param saturation the new CSSValueImpl - */ - public void setSaturation(final CSSValueImpl saturation) { - saturation_ = saturation; - } - - /** - * @return the lightness part. - */ - public CSSValueImpl getLightness() { - return lightness_; - } - - /** - * Sets the lightness part to a new value. - * @param lightness the new CSSValueImpl - */ - public void setLightness(final CSSValueImpl lightness) { - lightness_ = lightness; - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - final StringBuilder sb = new StringBuilder(); - - sb - .append(function_) - .append("("); - - final CSSValueImpl rel = getRelative(); - if (rel != null) { - sb - .append("from ") - .append(rel); - } - else { - if (commaSeparated_) { - sb - .append(hue_) - .append(", ") - .append(saturation_) - .append(", ") - .append(lightness_); - if (null != getAlpha()) { - sb.append(", ").append(getAlpha()); - } - } - else { - sb - .append(hue_) - .append(" ") - .append(saturation_) - .append(" ") - .append(lightness_); - if (null != getAlpha()) { - sb.append(" / ").append(getAlpha()); - } - } - } - - sb.append(")"); - - return sb.toString(); + super(function, lu); } } diff --git a/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java index 7ee6702..c69a7ed 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java @@ -14,10 +14,7 @@ */ package org.htmlunit.cssparser.dom; -import java.util.Locale; - import org.htmlunit.cssparser.parser.LexicalUnit; -import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; import org.w3c.dom.DOMException; /** @@ -26,9 +23,6 @@ * @author Ronald Brill */ public class HWBColorImpl extends AbstractColor { - private CSSValueImpl hue_; - private CSSValueImpl whiteness_; - private CSSValueImpl blackness_; /** * Constructor that reads the values from the given @@ -38,144 +32,6 @@ public class HWBColorImpl extends AbstractColor { * @throws DOMException in case of error */ public HWBColorImpl(final String function, final LexicalUnit lu) throws DOMException { - if (function == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space 'hwb' is required."); - } - final String functionLC = function.toLowerCase(Locale.ROOT); - if (!"hwb".equals(functionLC)) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space '" + functionLC + "' not supported."); - } - - LexicalUnit next = lu; - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'hwb' requires at least three values."); - } - hue_ = getHuePart(next); - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'hwb' requires at least three values."); - } - - if (LexicalUnitType.NONE != next.getLexicalUnitType() - && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, "Whiteness part has to be percentage."); - } - whiteness_ = new CSSValueImpl(next, true); - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'hwb' requires at least three values."); - } - - if (LexicalUnitType.NONE != next.getLexicalUnitType() - && LexicalUnitType.PERCENTAGE != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, "Blackness part has to be percentage."); - } - blackness_ = new CSSValueImpl(next, true); - next = next.getNextLexicalUnit(); - if (next == null) { - return; - } - - if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_SLASH) { - throw new DOMException(DOMException.SYNTAX_ERR, "'hwb' alpha value must be separated by '/'."); - } - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); - } - - getAlphaPart(next); - - next = next.getNextLexicalUnit(); - if (next != null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for 'hwb' function."); - } - } - - private static CSSValueImpl getHuePart(final LexicalUnit next) { - if (LexicalUnitType.DEGREE == next.getLexicalUnitType() - || LexicalUnitType.RADIAN == next.getLexicalUnitType() - || LexicalUnitType.GRADIAN == next.getLexicalUnitType() - || LexicalUnitType.TURN == next.getLexicalUnitType() - - || LexicalUnitType.INTEGER == next.getLexicalUnitType() - || LexicalUnitType.REAL == next.getLexicalUnitType() - - || LexicalUnitType.NONE == next.getLexicalUnitType()) { - return new CSSValueImpl(next, true); - } - - throw new DOMException(DOMException.SYNTAX_ERR, "Color hue part has to be numeric or an angle."); - } - - /** - * @return the hue part. - */ - public CSSValueImpl getHue() { - return hue_; - } - - /** - * Sets the hue part to a new value. - * @param hue the new CSSValueImpl - */ - public void setHue(final CSSValueImpl hue) { - hue_ = hue; - } - - /** - * @return the whiteness part. - */ - public CSSValueImpl getWhiteness() { - return whiteness_; - } - - /** - * Sets the whiteness part to a new value. - * @param whiteness the new CSSValueImpl - */ - public void setWhiteness(final CSSValueImpl whiteness) { - whiteness_ = whiteness; - } - - /** - * @return the blackness part. - */ - public CSSValueImpl getBlackness() { - return blackness_; - } - - /** - * Sets the blackness part to a new value. - * @param blackness the new CSSValueImpl - */ - public void setBlackness(final CSSValueImpl blackness) { - blackness_ = blackness; - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - final StringBuilder sb = new StringBuilder(); - - sb - .append("hwb(") - .append(hue_) - .append(" ") - .append(whiteness_) - .append(" ") - .append(blackness_); - - if (null != getAlpha()) { - sb.append(" / ").append(getAlpha()); - } - - sb.append(")"); - - return sb.toString(); + super(function, lu); } } diff --git a/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java index c7d4677..dc49330 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java @@ -14,10 +14,7 @@ */ package org.htmlunit.cssparser.dom; -import java.util.Locale; - import org.htmlunit.cssparser.parser.LexicalUnit; -import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; import org.w3c.dom.DOMException; /** @@ -26,11 +23,6 @@ * @author Ronald Brill */ public class LABColorImpl extends AbstractColor { - private final String function_; - - private CSSValueImpl lightness_; - private CSSValueImpl aDistance_; - private CSSValueImpl bDistance_; /** * Constructor that reads the values from the given @@ -40,127 +32,6 @@ public class LABColorImpl extends AbstractColor { * @throws DOMException in case of error */ public LABColorImpl(final String function, final LexicalUnit lu) throws DOMException { - if (function == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space 'lab' or 'oklab' is required."); - } - final String functionLC = function.toLowerCase(Locale.ROOT); - if (!"lab".equals(functionLC) && !"oklab".equals(functionLC)) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space '" + functionLC + "' not supported."); - } - function_ = functionLC; - - LexicalUnit next = lu; - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - getNumberPercentagePart(next, this::setLightness); - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - getNumberPercentagePart(next, this::setA); - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - getNumberPercentagePart(next, this::setB); - next = next.getNextLexicalUnit(); - if (next == null) { - return; - } - - if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_SLASH) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' alpha value must be separated by '/'."); - } - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); - } - - getAlphaPart(next); - - next = next.getNextLexicalUnit(); - if (next != null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for '" + function_ + "' function."); - } - } - - /** - * @return the lightness part. - */ - public CSSValueImpl getLightness() { - return lightness_; - } - - /** - * Sets the lightness part to a new value. - * @param lightness the new CSSValueImpl - */ - public void setLightness(final CSSValueImpl lightness) { - lightness_ = lightness; - } - - /** - *

getA.

- * - * @return the a part. - */ - public CSSValueImpl getA() { - return aDistance_; - } - - /** - * Sets the a part to a new value. - * @param a the new CSSValueImpl - */ - public void setA(final CSSValueImpl a) { - aDistance_ = a; - } - - /** - *

getB.

- * - * @return the b part. - */ - public CSSValueImpl getB() { - return bDistance_; - } - - /** - * Sets the b part to a new value. - * @param b the new CSSValueImpl - */ - public void setB(final CSSValueImpl b) { - bDistance_ = b; - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - final StringBuilder sb = new StringBuilder(); - - sb - .append(function_) - .append("(") - .append(lightness_) - .append(" ") - .append(aDistance_) - .append(" ") - .append(bDistance_); - - if (null != getAlpha()) { - sb.append(" / ").append(getAlpha()); - } - - sb.append(")"); - - return sb.toString(); + super(function, lu); } } diff --git a/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java index 70b9219..20e4f6d 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java @@ -14,10 +14,7 @@ */ package org.htmlunit.cssparser.dom; -import java.util.Locale; - import org.htmlunit.cssparser.parser.LexicalUnit; -import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; import org.w3c.dom.DOMException; /** @@ -26,11 +23,6 @@ * @author Ronald Brill */ public class LCHColorImpl extends AbstractColor { - private final String function_; - - private CSSValueImpl lightness_; - private CSSValueImpl chroma_; - private CSSValueImpl hue_; /** * Constructor that reads the values from the given @@ -40,153 +32,6 @@ public class LCHColorImpl extends AbstractColor { * @throws DOMException in case of error */ public LCHColorImpl(final String function, final LexicalUnit lu) throws DOMException { - if (function == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space 'lch' or 'oklch' is required."); - } - final String functionLC = function.toLowerCase(Locale.ROOT); - if (!"lch".equals(functionLC) && !"oklch".equals(functionLC)) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space '" + functionLC + "' not supported."); - } - function_ = functionLC; - - LexicalUnit next = lu; - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - lightness_ = getPart(next, "lightness"); - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - chroma_ = getPart(next, "chroma"); - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - hue_ = getHuePart(next); - next = next.getNextLexicalUnit(); - if (next == null) { - return; - } - - if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_SLASH) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' alpha value must be separated by '/'."); - } - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); - } - - getAlphaPart(next); - - next = next.getNextLexicalUnit(); - if (next != null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for '" + function_ + "' function."); - } - } - - private static CSSValueImpl getPart(final LexicalUnit next, final String part) { - if (LexicalUnitType.PERCENTAGE == next.getLexicalUnitType() - - || LexicalUnitType.INTEGER == next.getLexicalUnitType() - || LexicalUnitType.REAL == next.getLexicalUnitType() - - || LexicalUnitType.NONE == next.getLexicalUnitType()) { - return new CSSValueImpl(next, true); - } - - throw new DOMException(DOMException.SYNTAX_ERR, "Color " + part + " part has to be numeric or percentage."); - } - - private static CSSValueImpl getHuePart(final LexicalUnit next) { - if (LexicalUnitType.DEGREE == next.getLexicalUnitType() - || LexicalUnitType.RADIAN == next.getLexicalUnitType() - || LexicalUnitType.GRADIAN == next.getLexicalUnitType() - || LexicalUnitType.TURN == next.getLexicalUnitType() - - || LexicalUnitType.INTEGER == next.getLexicalUnitType() - || LexicalUnitType.REAL == next.getLexicalUnitType() - - || LexicalUnitType.NONE == next.getLexicalUnitType()) { - return new CSSValueImpl(next, true); - } - - throw new DOMException(DOMException.SYNTAX_ERR, "Color hue part has to be numeric or an angle."); - } - - /** - * @return the lightness part. - */ - public CSSValueImpl getLightness() { - return lightness_; - } - - /** - * Sets the lightness part to a new value. - * @param lightness the new CSSValueImpl - */ - public void setLightness(final CSSValueImpl lightness) { - lightness_ = lightness; - } - - /** - * @return the chroma part. - */ - public CSSValueImpl getChroma() { - return chroma_; - } - - /** - * Sets the chroma part to a new value. - * @param chroma the new CSSValueImpl - */ - public void setChroma(final CSSValueImpl chroma) { - chroma_ = chroma; - } - - /** - * @return the hue part. - */ - public CSSValueImpl getHue() { - return hue_; - } - - /** - * Sets the hue part to a new value. - * @param hue the new CSSValueImpl - */ - public void setHue(final CSSValueImpl hue) { - hue_ = hue; - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - final StringBuilder sb = new StringBuilder(); - - sb - .append(function_) - .append("(") - .append(lightness_) - .append(" ") - .append(chroma_) - .append(" ") - .append(hue_); - - if (null != getAlpha()) { - sb.append(" / ").append(getAlpha()); - } - - sb.append(")"); - - return sb.toString(); + super(function, lu); } } diff --git a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java index b21f9b0..d44e224 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java @@ -14,10 +14,7 @@ */ package org.htmlunit.cssparser.dom; -import java.util.Locale; - import org.htmlunit.cssparser.parser.LexicalUnit; -import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; import org.w3c.dom.DOMException; /** @@ -26,12 +23,6 @@ * @author Ronald Brill */ public class RGBColorImpl extends AbstractColor { - private final String function_; - - private CSSValueImpl red_; - private CSSValueImpl green_; - private CSSValueImpl blue_; - private final boolean commaSeparated_; /** * Constructor that reads the values from the given @@ -41,216 +32,6 @@ public class RGBColorImpl extends AbstractColor { * @throws DOMException in case of error */ public RGBColorImpl(final String function, final LexicalUnit lu) throws DOMException { - if (function == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space 'rgb' or 'rgba' is required."); - } - final String functionLC = function.toLowerCase(Locale.ROOT); - if (!"rgb".equals(functionLC) && !"rgba".equals(functionLC)) { - throw new DOMException(DOMException.SYNTAX_ERR, "Color space '" + functionLC + "' not supported."); - } - function_ = functionLC; - - LexicalUnit next = lu; - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - getNumberPercentagePart(next, this::setRed); - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - commaSeparated_ = LexicalUnitType.OPERATOR_COMMA == next.getLexicalUnitType(); - if (commaSeparated_) { - if (LexicalUnitType.NONE == red_.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' has to use blank as separator if none is used."); - } - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - if (LexicalUnitType.NONE == next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' has to use blank as separator if none is used."); - } - getNumberPercentagePart(next, this::setGreen); - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - - if (LexicalUnitType.OPERATOR_COMMA != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' parameters must be separated by ','."); - } - - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, function_ + "b requires at least three values."); - } - - if (LexicalUnitType.NONE == next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' has to use blank as separator if none is used."); - } - getNumberPercentagePart(next, this::setBlue); - - next = next.getNextLexicalUnit(); - if (next == null) { - return; - } - - if (LexicalUnitType.OPERATOR_COMMA != next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' parameters must be separated by ','."); - } - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value"); - } - - if (LexicalUnitType.NONE == next.getLexicalUnitType()) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' has to use blank as separator if none is used."); - } - - getAlphaPart(next); - - next = next.getNextLexicalUnit(); - if (next != null) { - throw new DOMException(DOMException.SYNTAX_ERR, - "Too many parameters for '" + function_ + "' function."); - } - return; - } - - getNumberPercentagePart(next, this::setGreen); - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "'" + function_ + "' requires at least three values."); - } - if (next.getLexicalUnitType() == LexicalUnitType.OPERATOR_COMMA) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' requires consitent separators (blank or comma)."); - } - - getNumberPercentagePart(next, this::setBlue); - next = next.getNextLexicalUnit(); - if (next == null) { - return; - } - - if (next.getLexicalUnitType() != LexicalUnitType.OPERATOR_SLASH) { - throw new DOMException(DOMException.SYNTAX_ERR, - "'" + function_ + "' alpha value must be separated by '/'."); - } - next = next.getNextLexicalUnit(); - if (next == null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Missing alpha value."); - } - - getAlphaPart(next); - - next = next.getNextLexicalUnit(); - if (next != null) { - throw new DOMException(DOMException.SYNTAX_ERR, "Too many parameters for '" + function_ + "' function."); - } - } - - /** - *

getRed.

- * - * @return the red part. - */ - public CSSValueImpl getRed() { - return red_; - } - - /** - * Sets the red part to a new value. - * @param red the new CSSValueImpl - */ - public void setRed(final CSSValueImpl red) { - red_ = red; - } - - /** - *

getGreen.

- * - * @return the green part. - */ - public CSSValueImpl getGreen() { - return green_; - } - - /** - * Sets the green part to a new value. - * @param green the new CSSValueImpl - */ - public void setGreen(final CSSValueImpl green) { - green_ = green; - } - - /** - *

getBlue.

- * - * @return the blue part. - */ - public CSSValueImpl getBlue() { - return blue_; - } - - /** - * Sets the blue part to a new value. - * @param blue the new CSSValueImpl - */ - public void setBlue(final CSSValueImpl blue) { - blue_ = blue; - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - final StringBuilder sb = new StringBuilder(); - - sb - .append(function_) - .append("(") - .append(red_); - if (commaSeparated_) { - sb - .append(", ") - .append(green_) - .append(", ") - .append(blue_); - - if (null != getAlpha()) { - sb.append(", ").append(getAlpha()); - } - - } - else { - sb - .append(" ") - .append(green_) - .append(" ") - .append(blue_); - - if (null != getAlpha()) { - sb.append(" / ").append(getAlpha()); - } - } - - sb.append(")"); - - return sb.toString(); + super(function, lu); } } diff --git a/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java index fc7b1e7..425fab8 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java @@ -15,12 +15,10 @@ package org.htmlunit.cssparser.dom; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; import org.htmlunit.cssparser.parser.LexicalUnit; import org.htmlunit.cssparser.parser.LexicalUnitImpl; import org.junit.jupiter.api.Test; -import org.w3c.dom.DOMException; /** * Unit tests for {@link HSLColorImpl}. @@ -30,86 +28,6 @@ */ public class HSLColorImplTest { - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLU() throws Exception { - final LexicalUnit hslLU = LexicalUnitImpl.createDegree(null, 10); - LexicalUnit lu = LexicalUnitImpl.createComma(hslLU); - lu = LexicalUnitImpl.createPercentage(lu, 20); - lu = LexicalUnitImpl.createComma(lu); - LexicalUnitImpl.createPercentage(lu, 30); - - final HSLColorImpl hsl = new HSLColorImpl("hsl", hslLU); - assertEquals("hsl(10deg, 20%, 30%)", hsl.toString()); - assertEquals("10deg", hsl.getHue().getCssText()); - assertEquals("20%", hsl.getSaturation().getCssText()); - assertEquals("30%", hsl.getLightness().getCssText()); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLUException() throws Exception { - try { - new HSLColorImpl("hsl", null); - fail("DOMException expected"); - } - catch (final DOMException e) { - assertEquals("'hsl' requires at least three values.", e.getMessage()); - } - - LexicalUnit hslLU = LexicalUnitImpl.createNumber(null, 10); - LexicalUnit lu = LexicalUnitImpl.createComma(hslLU); - LexicalUnitImpl.createDivide(lu); - - try { - final HSLColorImpl color = new HSLColorImpl("hsl", hslLU); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Saturation part has to be percentage.", e.getMessage()); - } - - hslLU = LexicalUnitImpl.createDegree(null, 10); - lu = LexicalUnitImpl.createComma(hslLU); - lu = LexicalUnitImpl.createPercentage(lu, 20); - LexicalUnitImpl.createPercentage(lu, 30); - - try { - final HSLColorImpl color = new HSLColorImpl("hsl", hslLU); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("'hsl' parameters must be separated by ','.", e.getMessage()); - } - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLUTooManyValuesException() throws Exception { - final LexicalUnit hslLU = LexicalUnitImpl.createNumber(null, 100); - LexicalUnit lu = LexicalUnitImpl.createComma(hslLU); - lu = LexicalUnitImpl.createPercentage(lu, 20); - lu = LexicalUnitImpl.createComma(lu); - lu = LexicalUnitImpl.createPercentage(lu, 30); - lu = LexicalUnitImpl.createComma(lu); - lu = LexicalUnitImpl.createPercentage(lu, 0.1); - LexicalUnitImpl.createComma(lu); - - try { - final HSLColorImpl color = new HSLColorImpl("hsl", hslLU); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Too many parameters for 'hsl' function.", e.getMessage()); - } - } - /** * @throws Exception if any error occurs */ @@ -125,36 +43,4 @@ public void getCssText() throws Exception { assertEquals("hsl(235, 20%, 30%)", hsl.toString()); } - - /** - * @throws Exception if any error occurs - */ - @Test - public void getCssTextFunctionName() throws Exception { - final LexicalUnit hslLu = LexicalUnitImpl.createNumber(null, 45); - - try { - final HSLColorImpl color = new HSLColorImpl(null, hslLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space 'hsl' or 'hsla' is required.", e.getMessage()); - } - - try { - final HSLColorImpl color = new HSLColorImpl("", hslLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space '' not supported.", e.getMessage()); - } - - try { - final HSLColorImpl color = new HSLColorImpl("xyz", hslLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space 'xyz' not supported.", e.getMessage()); - } - } } diff --git a/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java index cc144fd..db1f9ba 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java @@ -15,12 +15,10 @@ package org.htmlunit.cssparser.dom; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; import org.htmlunit.cssparser.parser.LexicalUnit; import org.htmlunit.cssparser.parser.LexicalUnitImpl; import org.junit.jupiter.api.Test; -import org.w3c.dom.DOMException; /** * Unit tests for {@link HWBColorImpl}. @@ -29,68 +27,6 @@ */ public class HWBColorImplTest { - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLU() throws Exception { - final LexicalUnit hwbLU = LexicalUnitImpl.createDegree(null, 10); - final LexicalUnit lu = LexicalUnitImpl.createPercentage(hwbLU, 20); - LexicalUnitImpl.createPercentage(lu, 30); - - final HWBColorImpl hwb = new HWBColorImpl("hwb", hwbLU); - assertEquals("hwb(10deg 20% 30%)", hwb.toString()); - assertEquals("10deg", hwb.getHue().getCssText()); - assertEquals("20%", hwb.getWhiteness().getCssText()); - assertEquals("30%", hwb.getBlackness().getCssText()); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLUException() throws Exception { - try { - new HWBColorImpl("hwb", null); - fail("DOMException expected"); - } - catch (final DOMException e) { - assertEquals("'hwb' requires at least three values.", e.getMessage()); - } - - final LexicalUnit hwbLU = LexicalUnitImpl.createNumber(null, 10); - LexicalUnitImpl.createDivide(hwbLU); - - try { - final HWBColorImpl color = new HWBColorImpl("hwb", hwbLU); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Whiteness part has to be percentage.", e.getMessage()); - } - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLUTooManyValuesException() throws Exception { - final LexicalUnit hwbLU = LexicalUnitImpl.createNumber(null, 100); - LexicalUnit lu = LexicalUnitImpl.createPercentage(hwbLU, 20); - lu = LexicalUnitImpl.createPercentage(lu, 30); - lu = LexicalUnitImpl.createSlash(lu); - lu = LexicalUnitImpl.createPercentage(lu, 0.1); - lu = LexicalUnitImpl.createPercentage(lu, 77); - - try { - final HWBColorImpl color = new HWBColorImpl("hwb", hwbLU); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Too many parameters for 'hwb' function.", e.getMessage()); - } - } - /** * @throws Exception if any error occurs */ @@ -104,36 +40,4 @@ public void getCssText() throws Exception { assertEquals("hwb(235 20% 30%)", hwb.toString()); } - - /** - * @throws Exception if any error occurs - */ - @Test - public void getCssTextFunctionName() throws Exception { - final LexicalUnit hwbLu = LexicalUnitImpl.createNumber(null, 45); - - try { - final HWBColorImpl color = new HWBColorImpl(null, hwbLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space 'hwb' is required.", e.getMessage()); - } - - try { - final HWBColorImpl color = new HWBColorImpl("", hwbLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space '' not supported.", e.getMessage()); - } - - try { - final HWBColorImpl color = new HWBColorImpl("xyz", hwbLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space 'xyz' not supported.", e.getMessage()); - } - } } diff --git a/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java index bca2562..9a8cfa5 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java @@ -15,12 +15,10 @@ package org.htmlunit.cssparser.dom; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; import org.htmlunit.cssparser.parser.LexicalUnit; import org.htmlunit.cssparser.parser.LexicalUnitImpl; import org.junit.jupiter.api.Test; -import org.w3c.dom.DOMException; /** * Unit tests for {@link LABColorImpl}. @@ -29,68 +27,6 @@ */ public class LABColorImplTest { - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLU() throws Exception { - final LexicalUnit labLU = LexicalUnitImpl.createNumber(null, 10); - final LexicalUnit lu = LexicalUnitImpl.createNumber(labLU, 20); - LexicalUnitImpl.createNumber(lu, 30); - - final LABColorImpl lab = new LABColorImpl("lab", labLU); - assertEquals("lab(10 20 30)", lab.toString()); - assertEquals("10", lab.getLightness().getCssText()); - assertEquals("20", lab.getA().getCssText()); - assertEquals("30", lab.getB().getCssText()); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLUException() throws Exception { - try { - new LABColorImpl("lab", null); - fail("DOMException expected"); - } - catch (final DOMException e) { - assertEquals("'lab' requires at least three values.", e.getMessage()); - } - - final LexicalUnit labLU = LexicalUnitImpl.createNumber(null, 10); - LexicalUnitImpl.createDivide(labLU); - - try { - new LABColorImpl("lab", labLU); - fail("DOMException expected"); - } - catch (final DOMException e) { - assertEquals("Color part has to be numeric or percentage.", e.getMessage()); - } - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLUTooManyValuesException() throws Exception { - final LexicalUnit labLU = LexicalUnitImpl.createNumber(null, 10); - LexicalUnit lu = LexicalUnitImpl.createNumber(labLU, 20); - lu = LexicalUnitImpl.createNumber(lu, 30); - lu = LexicalUnitImpl.createSlash(lu); - lu = LexicalUnitImpl.createPercentage(lu, 0.1); - lu = LexicalUnitImpl.createPercentage(lu, 77); - - try { - final LABColorImpl color = new LABColorImpl("lab", labLU); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Too many parameters for 'lab' function.", e.getMessage()); - } - } - /** * @throws Exception if any error occurs */ @@ -104,36 +40,4 @@ public void getCssText() throws Exception { assertEquals("lab(10 20 30)", lab.toString()); } - - /** - * @throws Exception if any error occurs - */ - @Test - public void getCssTextFunctionName() throws Exception { - final LexicalUnit labLu = LexicalUnitImpl.createNumber(null, 10); - - try { - final LABColorImpl color = new LABColorImpl(null, labLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space 'lab' or 'oklab' is required.", e.getMessage()); - } - - try { - final LABColorImpl color = new LABColorImpl("", labLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space '' not supported.", e.getMessage()); - } - - try { - final LABColorImpl color = new LABColorImpl("xyz", labLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space 'xyz' not supported.", e.getMessage()); - } - } } diff --git a/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java index bd32bb2..6a7c1ba 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java @@ -15,12 +15,10 @@ package org.htmlunit.cssparser.dom; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; import org.htmlunit.cssparser.parser.LexicalUnit; import org.htmlunit.cssparser.parser.LexicalUnitImpl; import org.junit.jupiter.api.Test; -import org.w3c.dom.DOMException; /** * Unit tests for {@link LCHColorImpl}. @@ -29,67 +27,6 @@ */ public class LCHColorImplTest { - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLU() throws Exception { - final LexicalUnit lchLU = LexicalUnitImpl.createNumber(null, 10); - final LexicalUnit lu = LexicalUnitImpl.createPercentage(lchLU, 20); - LexicalUnitImpl.createDegree(lu, 30); - - final LCHColorImpl lch = new LCHColorImpl("lch", lchLU); - assertEquals("lch(10 20% 30deg)", lch.toString()); - assertEquals("10", lch.getLightness().getCssText()); - assertEquals("20%", lch.getChroma().getCssText()); - assertEquals("30deg", lch.getHue().getCssText()); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLUException() throws Exception { - try { - new LCHColorImpl("lch", null); - fail("DOMException expected"); - } - catch (final DOMException e) { - assertEquals("'lch' requires at least three values.", e.getMessage()); - } - - final LexicalUnit lchLU = LexicalUnitImpl.createNumber(null, 10); - - try { - final LCHColorImpl color = new LCHColorImpl("lch", lchLU); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("'lch' requires at least three values.", e.getMessage()); - } - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLUTooManyValuesException() throws Exception { - final LexicalUnit lchLU = LexicalUnitImpl.createNumber(null, 100); - LexicalUnit lu = LexicalUnitImpl.createPercentage(lchLU, 20); - lu = LexicalUnitImpl.createDegree(lu, 30); - lu = LexicalUnitImpl.createSlash(lu); - lu = LexicalUnitImpl.createPercentage(lu, 0.1); - lu = LexicalUnitImpl.createPercentage(lu, 77); - - try { - final LCHColorImpl color = new LCHColorImpl("lch", lchLU); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Too many parameters for 'lch' function.", e.getMessage()); - } - } - /** * @throws Exception if any error occurs */ @@ -103,36 +40,4 @@ public void getCssText() throws Exception { assertEquals("lch(235 20% 30rad)", lch.toString()); } - - /** - * @throws Exception if any error occurs - */ - @Test - public void getCssTextFunctionName() throws Exception { - final LexicalUnit lchLu = LexicalUnitImpl.createNumber(null, 45); - - try { - final LCHColorImpl color = new LCHColorImpl(null, lchLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space 'lch' or 'oklch' is required.", e.getMessage()); - } - - try { - final LCHColorImpl color = new LCHColorImpl("", lchLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space '' not supported.", e.getMessage()); - } - - try { - final LCHColorImpl color = new LCHColorImpl("xyz", lchLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space 'xyz' not supported.", e.getMessage()); - } - } } diff --git a/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java index 8204b57..0ae942e 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java @@ -15,12 +15,10 @@ package org.htmlunit.cssparser.dom; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; import org.htmlunit.cssparser.parser.LexicalUnit; import org.htmlunit.cssparser.parser.LexicalUnitImpl; import org.junit.jupiter.api.Test; -import org.w3c.dom.DOMException; /** * Unit tests for {@link RGBColorImpl}. @@ -29,86 +27,6 @@ */ public class RGBColorImplTest { - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLU() throws Exception { - final LexicalUnit rgbLU = LexicalUnitImpl.createNumber(null, 10); - LexicalUnit lu = LexicalUnitImpl.createComma(rgbLU); - lu = LexicalUnitImpl.createNumber(lu, 20); - lu = LexicalUnitImpl.createComma(lu); - LexicalUnitImpl.createNumber(lu, 30); - - final RGBColorImpl rgb = new RGBColorImpl("rgb", rgbLU); - assertEquals("rgb(10, 20, 30)", rgb.toString()); - assertEquals("10", rgb.getRed().getCssText()); - assertEquals("20", rgb.getGreen().getCssText()); - assertEquals("30", rgb.getBlue().getCssText()); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLUException() throws Exception { - try { - new RGBColorImpl("rgb", null); - fail("DOMException expected"); - } - catch (final DOMException e) { - assertEquals("'rgb' requires at least three values.", e.getMessage()); - } - - LexicalUnit rgbLU = LexicalUnitImpl.createNumber(null, 10); - LexicalUnit lu = LexicalUnitImpl.createComma(rgbLU); - LexicalUnitImpl.createDivide(lu); - - try { - new RGBColorImpl("rgb", rgbLU); - fail("DOMException expected"); - } - catch (final DOMException e) { - assertEquals("Color part has to be numeric or percentage.", e.getMessage()); - } - - rgbLU = LexicalUnitImpl.createNumber(null, 10); - lu = LexicalUnitImpl.createComma(rgbLU); - lu = LexicalUnitImpl.createNumber(lu, 20); - LexicalUnitImpl.createNumber(lu, 30); - - try { - final RGBColorImpl color = new RGBColorImpl("rgb", rgbLU); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("'rgb' parameters must be separated by ','.", e.getMessage()); - } - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void constructByLUTooManyValuesException() throws Exception { - final LexicalUnit rgbLU = LexicalUnitImpl.createNumber(null, 10); - LexicalUnit lu = LexicalUnitImpl.createComma(rgbLU); - lu = LexicalUnitImpl.createNumber(lu, 20); - lu = LexicalUnitImpl.createComma(lu); - lu = LexicalUnitImpl.createNumber(lu, 30); - lu = LexicalUnitImpl.createComma(lu); - lu = LexicalUnitImpl.createNumber(lu, 0.1); - LexicalUnitImpl.createComma(lu); - - try { - final RGBColorImpl color = new RGBColorImpl("rgb", rgbLU); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Too many parameters for 'rgb' function.", e.getMessage()); - } - } - /** * @throws Exception if any error occurs */ @@ -124,36 +42,4 @@ public void getCssText() throws Exception { assertEquals("rgb(10, 20, 30)", rgb.toString()); } - - /** - * @throws Exception if any error occurs - */ - @Test - public void getCssTextFunctionName() throws Exception { - final LexicalUnit rgbLu = LexicalUnitImpl.createNumber(null, 10); - - try { - final RGBColorImpl color = new RGBColorImpl(null, rgbLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space 'rgb' or 'rgba' is required.", e.getMessage()); - } - - try { - final RGBColorImpl color = new RGBColorImpl("", rgbLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space '' not supported.", e.getMessage()); - } - - try { - final RGBColorImpl color = new RGBColorImpl("xyz", rgbLu); - fail("DOMException expected: " + color); - } - catch (final DOMException e) { - assertEquals("Color space 'xyz' not supported.", e.getMessage()); - } - } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 7713f2f..c20babf 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -889,247 +889,6 @@ public void hexColor() throws Exception { color("color: rgba(51, 170, 51, 0)", "color: #33aa3300;"); color("color: rgba(51, 170, 51, 0.502)", "color: #33AA3380;"); } - - /** - * @throws Exception in case of failure - */ - @Test - public void rgbComma() throws Exception { - color("foreground: rgb(255, 0, 153)", "foreground: rgb(255,0,153)"); - color("foreground: rgb(255, 0, 153)", "foreground: rgb(255, 0, 153.0)"); - color("foreground: rgb(100%, 0%, 60%)", "foreground: rgb(100%,0%,60%)"); - color("foreground: rgb(100%, 0%, 60%)", "foreground: rgb(100%, 0%, 60%)"); - - color("foreground: rgb(255, 0, 153)", "foreground: rgb(2.55e2, 0e0, 1.53e2)"); - - color("foreground: rgb(-255, 0, -153)", "foreground: rgb(-255, -0, -153.0)"); - color("foreground: rgb(-100%, 0%, -60%)", "foreground: rgb(-100%,-0%,-60%)"); - - // alpha - color("foreground: rgb(10, 20, 30, 0.1)", "foreground: rgb(10,20,30,0.1)"); - color("foreground: rgb(10, 20, 30, 0.1)", "foreground: rgb( 10, 20, 30, 0.1 )"); - color("foreground: rgb(10, 20, 30, 0.7)", "foreground: rgb( 10, 20, 30, .7 )"); - color("foreground: rgb(10, 20, 30, 10%)", "foreground: rgb(10, 20, 30, 10%)"); - - color("foreground: rgb(10%, 20%, 30%, 7%)", "foreground: rgb(10%, 20%, 30%, 7%)"); - color("foreground: rgb(10%, 20%, 30%, 0.13%)", "foreground: rgb(10%, 20%, 30%, 1.3e-1%)"); - color("foreground: rgb(10%, 20%, 30%, 0.5)", "foreground: rgb(10%, 20%, 30%, 0.5)"); - - color("foreground: rgb(-255, -10, -153, -0.5)", "foreground: rgb(-255, -10, -153.0, -0.5)"); - color("foreground: rgb(-100%, -10%, -60%, -7%)", "foreground: rgb(-100%,-10%,-60%,-7%)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void rgbBlank() throws Exception { - color("foreground: rgb(255 0 153)", "foreground: rgb(255 0 153)"); - color("foreground: rgb(255 0 153)", "foreground: rgb(255 0 153.0)"); - color("foreground: rgb(100% 0% 60%)", "foreground: rgb(100% 0% 60%)"); - color("foreground: rgb(100% 0% 60%)", "foreground: rgb(100% 0% 60%)"); - - color("foreground: rgb(none 0% 60%)", "foreground: rgb(none 0% 60%)"); - color("foreground: rgb(100% none 60%)", "foreground: rgb(100% none 60%)"); - color("foreground: rgb(100% 0% none)", "foreground: rgb(100% 0% none)"); - - color("foreground: rgb(255 0 153)", "foreground: rgb(2.55e2 0e0 1.53e2)"); - - color("foreground: rgb(-255 0 -153)", "foreground: rgb(-255 -0 -153.0)"); - color("foreground: rgb(-100% 0% -60%)", "foreground: rgb(-100% -0% -60%)"); - - // alpha - color("foreground: rgb(10 20 30 / 0.1)", "foreground: rgb(10 20 30/0.1)"); - color("foreground: rgb(10 20 30 / 0.1)", "foreground: rgb( 10 20 30 / 0.1 )"); - color("foreground: rgb(10 20 30 / 0.7)", "foreground: rgb( 10 20 30 / .7 )"); - color("foreground: rgb(10 20 30 / 10%)", "foreground: rgb(10 20 30 / 10%)"); - - color("foreground: rgb(10% 20% 30% / 7%)", "foreground: rgb(10% 20% 30% / 7%)"); - color("foreground: rgb(10% 20% 30% / 0.13%)", "foreground: rgb(10% 20% 30% / 1.3e-1%)"); - color("foreground: rgb(10% 20% 30% / 0.5)", "foreground: rgb(10% 20% 30% / 0.5)"); - - color("foreground: rgb(10% 20% 30% / none)", "foreground: rgb(10% 20% 30% / none)"); - - color("foreground: rgb(-255 -10 -153 / -0.5)", "foreground: rgb(-255 -10 -153.0 / -0.5)"); - color("foreground: rgb(-100% -10% -60% / -7%)", "foreground: rgb(-100% -10% -60%/-7%)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void rgbMixed() throws Exception { - color("foreground: rgb(42, 128, 255)", "foreground: rgb(42, 128, 255)"); - color("foreground: rgb(42%, 128, 255)", "foreground: rgb(42%, 128, 255)"); - color("foreground: rgb(42, 128%, 255)", "foreground: rgb(42, 128%, 255)"); - color("foreground: rgb(42, 128, 255%)", "foreground: rgb(42, 128, 255%)"); - color("foreground: rgb(42, 128%, 255%)", "foreground: rgb(42, 128%, 255%)"); - color("foreground: rgb(42%, 128%, 255)", "foreground: rgb(42%, 128%, 255)"); - color("foreground: rgb(42%, 128%, 255%)", "foreground: rgb(42%, 128%, 255%)"); - - color("foreground: rgb(42 128 255)", "foreground: rgb(42 128 255)"); - color("foreground: rgb(42% 128 255)", "foreground: rgb(42% 128 255)"); - color("foreground: rgb(42 128% 255)", "foreground: rgb(42 128% 255)"); - color("foreground: rgb(42 128 255%)", "foreground: rgb(42 128 255%)"); - color("foreground: rgb(42% 128% 255)", "foreground: rgb(42% 128% 255)"); - color("foreground: rgb(42 128% 255%)", "foreground: rgb(42 128% 255%)"); - color("foreground: rgb(42% 128% 255%)", "foreground: rgb(42% 128% 255%)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void rgbaComma() throws Exception { - color("foreground: rgba(255, 0, 153)", "foreground: rgba(255,0,153)"); - color("foreground: rgba(255, 0, 153)", "foreground: rgba(255, 0, 153.0)"); - color("foreground: rgba(100%, 0%, 60%)", "foreground: rgba(100%,0%,60%)"); - color("foreground: rgba(100%, 0%, 60%)", "foreground: rgba(100%, 0%, 60%)"); - - color("foreground: rgba(255, 0, 153)", "foreground: rgba(2.55e2, 0e0, 1.53e2)"); - - color("foreground: rgba(-255, 0, -153)", "foreground: rgba(-255, -0, -153.0)"); - color("foreground: rgba(-100%, 0%, -60%)", "foreground: rgba(-100%,-0%,-60%)"); - - // alpha - color("foreground: rgba(10, 20, 30, 0.1)", "foreground: rgba(10,20,30,0.1)"); - color("foreground: rgba(10, 20, 30, 0.1)", "foreground: rgba( 10, 20, 30, 0.1 )"); - color("foreground: rgba(10, 20, 30, 0.7)", "foreground: rgba( 10, 20, 30, .7 )"); - color("foreground: rgba(10, 20, 30, 10%)", "foreground: rgba(10, 20, 30, 10%)"); - - color("foreground: rgba(10%, 20%, 30%, 7%)", "foreground: rgba(10%, 20%, 30%, 7%)"); - color("foreground: rgba(10%, 20%, 30%, 0.13%)", "foreground: rgba(10%, 20%, 30%, 1.3e-1%)"); - color("foreground: rgba(10%, 20%, 30%, 0.5)", "foreground: rgba(10%, 20%, 30%, 0.5)"); - - color("foreground: rgba(-255, -10, -153, -0.5)", "foreground: rgba(-255, -10, -153.0, -0.5)"); - color("foreground: rgba(-100%, -10%, -60%, -7%)", "foreground: rgba(-100%,-10%,-60%,-7%)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void rgbaBlank() throws Exception { - color("foreground: rgba(255 0 153)", "foreground: rgba(255 0 153)"); - color("foreground: rgba(255 0 153)", "foreground: rgba(255 0 153.0)"); - color("foreground: rgba(100% 0% 60%)", "foreground: rgba(100% 0% 60%)"); - color("foreground: rgba(100% 0% 60%)", "foreground: rgba(100% 0% 60%)"); - - color("foreground: rgba(none 0% 60%)", "foreground: rgba(none 0% 60%)"); - color("foreground: rgba(100% none 60%)", "foreground: rgba(100% none 60%)"); - color("foreground: rgba(100% 0% none)", "foreground: rgba(100% 0% none)"); - - color("foreground: rgba(255 0 153)", "foreground: rgba(2.55e2 0e0 1.53e2)"); - - color("foreground: rgba(-255 0 -153)", "foreground: rgba(-255 -0 -153.0)"); - color("foreground: rgba(-100% 0% -60%)", "foreground: rgba(-100% -0% -60%)"); - - // alpha - color("foreground: rgba(10 20 30 / 0.1)", "foreground: rgba(10 20 30/0.1)"); - color("foreground: rgba(10 20 30 / 0.1)", "foreground: rgba( 10 20 30 / 0.1 )"); - color("foreground: rgba(10 20 30 / 0.7)", "foreground: rgba( 10 20 30 / .7 )"); - color("foreground: rgba(10 20 30 / 10%)", "foreground: rgba(10 20 30 / 10%)"); - - color("foreground: rgba(10% 20% 30% / 7%)", "foreground: rgba(10% 20% 30% / 7%)"); - color("foreground: rgba(10% 20% 30% / 0.13%)", "foreground: rgba(10% 20% 30% / 1.3e-1%)"); - color("foreground: rgba(10% 20% 30% / 0.5)", "foreground: rgba(10% 20% 30% / 0.5)"); - - color("foreground: rgba(10% 20% 30% / none)", "foreground: rgba(10% 20% 30% / none)"); - - color("foreground: rgba(-255 -10 -153 / -0.5)", "foreground: rgba(-255 -10 -153.0 / -0.5)"); - color("foreground: rgba(-100% -10% -60% / -7%)", "foreground: rgba(-100% -10% -60%/-7%)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void rgbaMixed() throws Exception { - color("foreground: rgba(42, 128, 255)", "foreground: rgba(42, 128, 255)"); - color("foreground: rgba(42%, 128, 255)", "foreground: rgba(42%, 128, 255)"); - color("foreground: rgba(42, 128%, 255)", "foreground: rgba(42, 128%, 255)"); - color("foreground: rgba(42, 128, 255%)", "foreground: rgba(42, 128, 255%)"); - color("foreground: rgba(42, 128%, 255%)", "foreground: rgba(42, 128%, 255%)"); - color("foreground: rgba(42%, 128%, 255)", "foreground: rgba(42%, 128%, 255)"); - color("foreground: rgba(42%, 128%, 255%)", "foreground: rgba(42%, 128%, 255%)"); - - color("foreground: rgba(42 128 255)", "foreground: rgba(42 128 255)"); - color("foreground: rgba(42% 128 255)", "foreground: rgba(42% 128 255)"); - color("foreground: rgba(42 128% 255)", "foreground: rgba(42 128% 255)"); - color("foreground: rgba(42 128 255%)", "foreground: rgba(42 128 255%)"); - color("foreground: rgba(42% 128% 255)", "foreground: rgba(42% 128% 255)"); - color("foreground: rgba(42 128% 255%)", "foreground: rgba(42 128% 255%)"); - color("foreground: rgba(42% 128% 255%)", "foreground: rgba(42% 128% 255%)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void rgbVariousErrors() throws Exception { - color(1, "DOM exception: ''rgb' parameters must be separated by ','.'", "foreground: rgb(10, 20 30)"); - color(1, "DOM exception: ''rgb' requires consitent separators (blank or comma).'", "foreground: rgb(10 20, 30)"); - - color(1, "DOM exception: ''rgb' alpha value must be separated by '/'.'", "foreground: rgb(10 20 30 40)"); - - color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(none, 20, 30)"); - color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(10, none, 30)"); - color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(10, 20, none)"); - color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(10, 20, 30, none)"); - - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: rgb(-none 20 30)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", - "foreground: rgb(10 -none 30)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", - "foreground: rgb(10 20 -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: rgb(10 20 30 / -none)"); - - // mixing numbers and percentages is supported by current browsers - // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20, 30)"); - // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20%, 30)"); - // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20%, 30)"); - // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20%, 30%)"); - // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20, 30%)"); - // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20, 30%)"); - // - // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20 30)"); - // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20% 30)"); - // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20% 30)"); - // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20% 30%)"); - // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20 30%)"); - // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20 30%)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: rgb()"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", - "foreground: rgb(10)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", - "foreground: rgb(10 20)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: rgb(10, 20, 30,)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: rgb(10, 20, 30/)"); - - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: rgb(10, 20px, 30)"); - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", - "foreground: rgb(10 20px 30)"); - - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: rgb('10', 20, 30,)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void rgbInsideFunction() throws Exception { - color("color: foo(rgb(204, 221, 68))", "color: foo(#cd4);"); - } - /** * @throws Exception in case of failure */ @@ -1142,390 +901,6 @@ public void hexAndRgbAreSame() throws Exception { color("color: rgba(138, 43, 226, 0.8)", "color: #8A2BE2CC;"); } - /** - * @throws Exception in case of failure - */ - @Test - public void hwbBlank() throws Exception { - color("foreground: hwb(270 60% 70%)", "foreground: hwb(270 60% 70%)"); - color("foreground: hwb(-270 60% 70%)", "foreground: hwb(-270 60% 70%)"); - color("foreground: hwb(270deg 60% 70%)", "foreground: hwb(270deg 60% 70%)"); - color("foreground: hwb(270rad 60% 70%)", "foreground: hwb(270rad 60% 70%)"); - color("foreground: hwb(270grad 60% 70%)", "foreground: hwb(270grad 60% 70%)"); - color("foreground: hwb(2.1turn 60% 70%)", "foreground: hwb(2.1turn 60% 70%)"); - - color("foreground: hwb(none 0% 60%)", "foreground: hwb(none 0% 60%)"); - color("foreground: hwb(100turn none 60%)", "foreground: hwb(100turn none 60%)"); - color("foreground: hwb(100turn 0% none)", "foreground: hwb(100turn 0% none)"); - - color("foreground: hwb(255 0% 15.37%)", "foreground: hwb(2.55e2 0e0% 1537e-2%)"); - color("foreground: hwb(255deg 0% 15.37%)", "foreground: hwb(2.55e2deg 0e0% 1537e-2%)"); - color("foreground: hwb(255rad 0% 15.37%)", "foreground: hwb(2.55e2rad 0e0% 1537e-2%)"); - color("foreground: hwb(255grad 0% 15.37%)", "foreground: hwb(2.55e2grad 0e0% 1537e-2%)"); - color("foreground: hwb(255turn 0% 15.37%)", "foreground: hwb(2.55e2turn 0e0% 1537e-2%)"); - - // alpha - color("foreground: hwb(270 60% 70% / 0.1)", "foreground: hwb(270 60% 70%/0.1)"); - color("foreground: hwb(-270 60% 70% / 0.1)", "foreground: hwb(-270 60% 70% / 0.1)"); - color("foreground: hwb(-270 60% 70% / 0.1)", "foreground: hwb(-270 60% 70% / .1)"); - color("foreground: hwb(-270 60% 70% / 10%)", "foreground: hwb(-270 60% 70% / 10%)"); - - color("foreground: hwb(-270 60% 70% / none)", "foreground: hwb(-270 60% 70% / none)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void hwbVariousErrors() throws Exception { - color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", .)", - "foreground: hwb(10, 20% 30%)"); - color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", .)", "foreground: hwb(10 20%, 30%)"); - - color(1, "DOM exception: ''hwb' alpha value must be separated by '/'.'", "foreground: hwb(10 20% 30% 40)"); - - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", - "foreground: hwb(-none 20% 30%)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", .)", - "foreground: hwb(10 -none 30%)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", .)", - "foreground: hwb(10 20% -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: hwb(10 20% 30% / -none)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", - "foreground: hwb()"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", .)", - "foreground: hwb(10)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", .)", - "foreground: hwb(10 20%)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: hwb(10 20% 30%/)"); - - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", .)", - "foreground: hwb(10 20px 30)"); - - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", - "foreground: hwb('10' 20 30)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void labBlank() throws Exception { - color("foreground: lab(255 0 153)", "foreground: lab(255 0 153)"); - color("foreground: lab(255 0 153)", "foreground: lab(255 0 153.0)"); - color("foreground: lab(100% 0% 60%)", "foreground: lab(100% 0% 60%)"); - color("foreground: lab(100% 0% 60%)", "foreground: lab(100% 0% 60%)"); - - color("foreground: lab(none 0% 60%)", "foreground: lab(none 0% 60%)"); - color("foreground: lab(100% none 60%)", "foreground: lab(100% none 60%)"); - color("foreground: lab(100% 0% none)", "foreground: lab(100% 0% none)"); - - color("foreground: lab(255 0 153)", "foreground: lab(2.55e2 0e0 1.53e2)"); - - // alpha - color("foreground: lab(10 20 30 / 0.1)", "foreground: lab(10 20 30/0.1)"); - color("foreground: lab(10 20 30 / 0.1)", "foreground: lab( 10 20 30 / 0.1 )"); - color("foreground: lab(10 20 30 / 0.7)", "foreground: lab( 10 20 30 / .7 )"); - color("foreground: lab(10 20 30 / 10%)", "foreground: lab(10 20 30 / 10%)"); - - color("foreground: lab(10% 20% 30% / 7%)", "foreground: lab(10% 20% 30% / 7%)"); - color("foreground: lab(10% 20% 30% / 0.13%)", "foreground: lab(10% 20% 30% / 1.3e-1%)"); - color("foreground: lab(10% 20% 30% / 0.5)", "foreground: lab(10% 20% 30% / 0.5)"); - - color("foreground: lab(10% 20% 30% / none)", "foreground: lab(10% 20% 30% / none)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void labMixed() throws Exception { - color("foreground: lab(42 128 255)", "foreground: lab(42 128 255)"); - color("foreground: lab(42% 128 255)", "foreground: lab(42% 128 255)"); - color("foreground: lab(42 128% 255)", "foreground: lab(42 128% 255)"); - color("foreground: lab(42 128 255%)", "foreground: lab(42 128 255%)"); - color("foreground: lab(42% 128% 255)", "foreground: lab(42% 128% 255)"); - color("foreground: lab(42 128% 255%)", "foreground: lab(42 128% 255%)"); - color("foreground: lab(42% 128% 255%)", "foreground: lab(42% 128% 255%)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void labVariousErrors() throws Exception { - color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lab(10, 20 30)"); - - color(1, "DOM exception: ''lab' alpha value must be separated by '/'.'", "foreground: lab(10 20 30 40)"); - - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lab(-none 20 30)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lab(10 -none 30)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lab(10 20 -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lab(10 20 30 / -none)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lab()"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lab(10)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lab(10 20)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lab(10 20 30/)"); - - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lab(10 20px 30)"); - - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lab('10' 20 30)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void oklabBlank() throws Exception { - color("foreground: oklab(255 0 153)", "foreground: oklab(255 0 153)"); - color("foreground: oklab(255 0 153)", "foreground: oklab(255 0 153.0)"); - color("foreground: oklab(100% 0% 60%)", "foreground: oklab(100% 0% 60%)"); - color("foreground: oklab(100% 0% 60%)", "foreground: oklab(100% 0% 60%)"); - - color("foreground: oklab(none 0% 60%)", "foreground: oklab(none 0% 60%)"); - color("foreground: oklab(100% none 60%)", "foreground: oklab(100% none 60%)"); - color("foreground: oklab(100% 0% none)", "foreground: oklab(100% 0% none)"); - - color("foreground: oklab(255 0 153)", "foreground: oklab(2.55e2 0e0 1.53e2)"); - - // alpha - color("foreground: oklab(10 20 30 / 0.1)", "foreground: oklab(10 20 30/0.1)"); - color("foreground: oklab(10 20 30 / 0.1)", "foreground: oklab( 10 20 30 / 0.1 )"); - color("foreground: oklab(10 20 30 / 0.7)", "foreground: oklab( 10 20 30 / .7 )"); - color("foreground: oklab(10 20 30 / 10%)", "foreground: oklab(10 20 30 / 10%)"); - - color("foreground: oklab(10% 20% 30% / 7%)", "foreground: oklab(10% 20% 30% / 7%)"); - color("foreground: oklab(10% 20% 30% / 0.13%)", "foreground: oklab(10% 20% 30% / 1.3e-1%)"); - color("foreground: oklab(10% 20% 30% / 0.5)", "foreground: oklab(10% 20% 30% / 0.5)"); - - color("foreground: oklab(10% 20% 30% / none)", "foreground: oklab(10% 20% 30% / none)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void oklabMixed() throws Exception { - color("foreground: oklab(42 128 255)", "foreground: oklab(42 128 255)"); - color("foreground: oklab(42% 128 255)", "foreground: oklab(42% 128 255)"); - color("foreground: oklab(42 128% 255)", "foreground: oklab(42 128% 255)"); - color("foreground: oklab(42 128 255%)", "foreground: oklab(42 128 255%)"); - color("foreground: oklab(42% 128% 255)", "foreground: oklab(42% 128% 255)"); - color("foreground: oklab(42 128% 255%)", "foreground: oklab(42 128% 255%)"); - color("foreground: oklab(42% 128% 255%)", "foreground: oklab(42% 128% 255%)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void oklabVariousErrors() throws Exception { - color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklab(10, 20 30)"); - - color(1, "DOM exception: ''oklab' alpha value must be separated by '/'.'", "foreground: oklab(10 20 30 40)"); - - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklab(-none 20 30)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklab(10 -none 30)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklab(10 20 -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklab(10 20 30 / -none)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklab()"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklab(10)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklab(10 20)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklab(10 20 30/)"); - - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklab(10 20px 30)"); - - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklab('10' 20 30)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void lchBlank() throws Exception { - color("foreground: lch(255 0 153deg)", "foreground: lch(255 0 153deg)"); - color("foreground: lch(255 0 153deg)", "foreground: lch(255 0 153.0deg)"); - color("foreground: lch(100% 0% 60deg)", "foreground: lch(100% 0% 60deg)"); - color("foreground: lch(100% 0% 60deg)", "foreground: lch(100% 0% 60deg)"); - - color("foreground: lch(none 0% 60deg)", "foreground: lch(none 0% 60deg)"); - color("foreground: lch(100% none 60deg)", "foreground: lch(100% none 60deg)"); - color("foreground: lch(100% 0% none)", "foreground: lch(100% 0% none)"); - - color("foreground: lch(255 0 153deg)", "foreground: lch(2.55e2 0e0 1.53e2deg)"); - - // alpha - color("foreground: lch(10 20 30deg / 0.1)", "foreground: lch(10 20 30deg/0.1)"); - color("foreground: lch(10 20 30deg / 0.1)", "foreground: lch( 10 20 30deg / 0.1 )"); - color("foreground: lch(10 20 30deg / 0.7)", "foreground: lch( 10 20 30deg / .7 )"); - color("foreground: lch(10 20 30deg / 10%)", "foreground: lch(10 20 30deg / 10%)"); - - color("foreground: lch(10% 20% 30deg / 7%)", "foreground: lch(10% 20% 30deg / 7%)"); - color("foreground: lch(10% 20% 30deg / 0.13%)", "foreground: lch(10% 20% 30deg / 1.3e-1%)"); - color("foreground: lch(10% 20% 30deg / 0.5)", "foreground: lch(10% 20% 30deg / 0.5)"); - - color("foreground: lch(10% 20% 30deg / none)", "foreground: lch(10% 20% 30deg / none)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void lchMixed() throws Exception { - color("foreground: lch(42 128 255deg)", "foreground: lch(42 128 255deg)"); - color("foreground: lch(42% 128 255deg)", "foreground: lch(42% 128 255deg)"); - color("foreground: lch(42 128% 255deg)", "foreground: lch(42 128% 255deg)"); - color("foreground: lch(42 128 255rad)", "foreground: lch(42 128 255rad)"); - color("foreground: lch(42% 128% 255deg)", "foreground: lch(42% 128% 255deg)"); - color("foreground: lch(42 128% 255rad)", "foreground: lch(42 128% 255rad)"); - color("foreground: lch(42% 128% 255rad)", "foreground: lch(42% 128% 255rad)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void lchVariousErrors() throws Exception { - color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lch(10, 20 30deg)"); - - color(1, "DOM exception: ''lch' alpha value must be separated by '/'.'", "foreground: lch(10 20 30deg 40)"); - - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lch(-none 20 30deg)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lch(10 -none 30deg)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", - "foreground: lch(10 20 -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lch(10 20 30deg / -none)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lch()"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lch(10)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", - "foreground: lch(10 20)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lch(10 20 30deg/)"); - - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lch(10 20px 30deg)"); - - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: lch('10' 20 30deg)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void oklchBlank() throws Exception { - color("foreground: oklch(255 0 153deg)", "foreground: oklch(255 0 153deg)"); - color("foreground: oklch(255 0 153deg)", "foreground: oklch(255 0 153.0deg)"); - color("foreground: oklch(100% 0% 60deg)", "foreground: oklch(100% 0% 60deg)"); - color("foreground: oklch(100% 0% 60deg)", "foreground: oklch(100% 0% 60deg)"); - - color("foreground: oklch(none 0% 60deg)", "foreground: oklch(none 0% 60deg)"); - color("foreground: oklch(100% none 60deg)", "foreground: oklch(100% none 60deg)"); - color("foreground: oklch(100% 0% none)", "foreground: oklch(100% 0% none)"); - - color("foreground: oklch(255 0 153deg)", "foreground: oklch(2.55e2 0e0 1.53e2deg)"); - - // alpha - color("foreground: oklch(10 20 30deg / 0.1)", "foreground: oklch(10 20 30deg/0.1)"); - color("foreground: oklch(10 20 30deg / 0.1)", "foreground: oklch( 10 20 30deg / 0.1 )"); - color("foreground: oklch(10 20 30deg / 0.7)", "foreground: oklch( 10 20 30deg / .7 )"); - color("foreground: oklch(10 20 30deg / 10%)", "foreground: oklch(10 20 30deg / 10%)"); - - color("foreground: oklch(10% 20% 30deg / 7%)", "foreground: oklch(10% 20% 30deg / 7%)"); - color("foreground: oklch(10% 20% 30deg / 0.13%)", "foreground: oklch(10% 20% 30deg / 1.3e-1%)"); - color("foreground: oklch(10% 20% 30deg / 0.5)", "foreground: oklch(10% 20% 30deg / 0.5)"); - - color("foreground: oklch(10% 20% 30deg / none)", "foreground: oklch(10% 20% 30deg / none)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void oklchMixed() throws Exception { - color("foreground: oklch(42 128 255deg)", "foreground: oklch(42 128 255deg)"); - color("foreground: oklch(42% 128 255deg)", "foreground: oklch(42% 128 255deg)"); - color("foreground: oklch(42 128% 255deg)", "foreground: oklch(42 128% 255deg)"); - color("foreground: oklch(42 128 255rad)", "foreground: oklch(42 128 255rad)"); - color("foreground: oklch(42% 128% 255deg)", "foreground: oklch(42% 128% 255deg)"); - color("foreground: oklch(42 128% 255rad)", "foreground: oklch(42 128% 255rad)"); - color("foreground: oklch(42% 128% 255rad)", "foreground: oklch(42% 128% 255rad)"); - } - - /** - * @throws Exception in case of failure - */ - @Test - public void oklchVariousErrors() throws Exception { - color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklch(10, 20 30deg)"); - - color(1, "DOM exception: ''oklch' alpha value must be separated by '/'.'", "foreground: oklch(10 20 30deg 40)"); - - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklch(-none 20 30deg)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklch(10 -none 30deg)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", - "foreground: oklch(10 20 -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklch(10 20 30deg / -none)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklch()"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklch(10)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", - "foreground: oklch(10 20)"); - - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklch(10 20 30deg/)"); - - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklch(10 20px 30deg)"); - - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", - "foreground: oklch('10' 20 30deg)"); - } - /** * @throws Exception in case of failure */ diff --git a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java index c6674a1..21d050e 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java @@ -174,15 +174,18 @@ public void hslaMixed() throws Exception { */ @Test public void hslVariousErrors() throws Exception { - color(1, "DOM exception: ''hsl' parameters must be separated by ','.'", "foreground: hsl(10, 20% 30%)"); - color(1, "DOM exception: ''hsl' requires consitent separators (blank or comma).'", "foreground: hsl(10 20%, 30%)"); + // like browsers we ignore many errors during parsing - color(1, "DOM exception: ''hsl' alpha value must be separated by '/'.'", "foreground: hsl(10 20% 30% 40)"); + // separators + color("foreground: hsl(10, 20% 30%)", "foreground: hsl(10, 20% 30%)"); + color("foreground: hsl(10 20%, 30%)", "foreground: hsl(10 20%, 30%)"); - color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(none, 20%, 30%)"); - color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(10, none, 30%)"); - color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(10, 20%, none)"); - color(1, "DOM exception: ''hsl' has to use blank as separator if none is used.'", "foreground: hsl(10, 20%, 30%, none)"); + color("foreground: hsl(10 20% 30% 40)", "foreground: hsl(10 20% 30% 40)"); + + color("foreground: hsl(none, 20%, 30%)", "foreground: hsl(none, 20%, 30%)"); + color("foreground: hsl(10, none, 30%)", "foreground: hsl(10, none, 30%)"); + color("foreground: hsl(10, 20%, none)", "foreground: hsl(10, 20%, none)"); + color("foreground: hsl(10, 20%, 30%, none)", "foreground: hsl(10, 20%, 30%, none)"); color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", " + ", , , .)", @@ -193,21 +196,21 @@ public void hslVariousErrors() throws Exception { "foreground: hsl(10 20% -none)"); color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", "foreground: hsl(10 20% 30% / -none)"); - - // mixing numbers and percentages is supported by current browsers - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20, 30)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20%, 30)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20%, 30)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20%, 30%)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20, 30%)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20, 30%)"); - // - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20 30)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20% 30)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20% 30)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20% 30%)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20 30%)"); - // color(1, "DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20 30%)"); +// +// // mixing numbers and percentages is supported by current browsers +// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20, 30)"); +// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20%, 30)"); +// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20%, 30)"); +// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20%, 30%)"); +// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20, 30%)"); +// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20, 30%)"); +// +// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20 30)"); +// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20% 30)"); +// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20% 30)"); +// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20% 30%)"); +// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20 30%)"); +// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20 30%)"); color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , .)", "foreground: hsl()"); diff --git a/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java new file mode 100644 index 0000000..f50f99f --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser; + +import org.junit.jupiter.api.Test; + +/** + * @author Ronald Brill + */ +public class HWBColorParserTest extends AbstractCSSParserTest { + + /** + * @throws Exception in case of failure + */ + @Test + public void hwbBlank() throws Exception { + color("foreground: hwb(270 60% 70%)", "foreground: hwb(270 60% 70%)"); + color("foreground: hwb(-270 60% 70%)", "foreground: hwb(-270 60% 70%)"); + color("foreground: hwb(270deg 60% 70%)", "foreground: hwb(270deg 60% 70%)"); + color("foreground: hwb(270rad 60% 70%)", "foreground: hwb(270rad 60% 70%)"); + color("foreground: hwb(270grad 60% 70%)", "foreground: hwb(270grad 60% 70%)"); + color("foreground: hwb(2.1turn 60% 70%)", "foreground: hwb(2.1turn 60% 70%)"); + + color("foreground: hwb(none 0% 60%)", "foreground: hwb(none 0% 60%)"); + color("foreground: hwb(100turn none 60%)", "foreground: hwb(100turn none 60%)"); + color("foreground: hwb(100turn 0% none)", "foreground: hwb(100turn 0% none)"); + + color("foreground: hwb(255 0% 15.37%)", "foreground: hwb(2.55e2 0e0% 1537e-2%)"); + color("foreground: hwb(255deg 0% 15.37%)", "foreground: hwb(2.55e2deg 0e0% 1537e-2%)"); + color("foreground: hwb(255rad 0% 15.37%)", "foreground: hwb(2.55e2rad 0e0% 1537e-2%)"); + color("foreground: hwb(255grad 0% 15.37%)", "foreground: hwb(2.55e2grad 0e0% 1537e-2%)"); + color("foreground: hwb(255turn 0% 15.37%)", "foreground: hwb(2.55e2turn 0e0% 1537e-2%)"); + + // alpha + color("foreground: hwb(270 60% 70% / 0.1)", "foreground: hwb(270 60% 70%/0.1)"); + color("foreground: hwb(-270 60% 70% / 0.1)", "foreground: hwb(-270 60% 70% / 0.1)"); + color("foreground: hwb(-270 60% 70% / 0.1)", "foreground: hwb(-270 60% 70% / .1)"); + color("foreground: hwb(-270 60% 70% / 10%)", "foreground: hwb(-270 60% 70% / 10%)"); + + color("foreground: hwb(-270 60% 70% / none)", "foreground: hwb(-270 60% 70% / none)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void hwbVariousErrors() throws Exception { +// color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", .)", +// "foreground: hwb(10, 20% 30%)"); +// color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", .)", "foreground: hwb(10 20%, 30%)"); +// +// color(1, "DOM exception: ''hwb' alpha value must be separated by '/'.'", "foreground: hwb(10 20% 30% 40)"); +// +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", +// "foreground: hwb(-none 20% 30%)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", .)", +// "foreground: hwb(10 -none 30%)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", .)", +// "foreground: hwb(10 20% -none)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: hwb(10 20% 30% / -none)"); +// +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", +// "foreground: hwb()"); +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", .)", +// "foreground: hwb(10)"); +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", .)", +// "foreground: hwb(10 20%)"); +// +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: hwb(10 20% 30%/)"); +// +// color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", .)", +// "foreground: hwb(10 20px 30)"); +// +// color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", +// "foreground: hwb('10' 20 30)"); + } +} diff --git a/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java new file mode 100644 index 0000000..ee43731 --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser; + +import org.junit.jupiter.api.Test; + +/** + * @author Ronald Brill + */ +public class LABColorParserTest extends AbstractCSSParserTest { + + /** + * @throws Exception in case of failure + */ + @Test + public void labBlank() throws Exception { + color("foreground: lab(255 0 153)", "foreground: lab(255 0 153)"); + color("foreground: lab(255 0 153)", "foreground: lab(255 0 153.0)"); + color("foreground: lab(100% 0% 60%)", "foreground: lab(100% 0% 60%)"); + color("foreground: lab(100% 0% 60%)", "foreground: lab(100% 0% 60%)"); + + color("foreground: lab(none 0% 60%)", "foreground: lab(none 0% 60%)"); + color("foreground: lab(100% none 60%)", "foreground: lab(100% none 60%)"); + color("foreground: lab(100% 0% none)", "foreground: lab(100% 0% none)"); + + color("foreground: lab(255 0 153)", "foreground: lab(2.55e2 0e0 1.53e2)"); + + // alpha + color("foreground: lab(10 20 30 / 0.1)", "foreground: lab(10 20 30/0.1)"); + color("foreground: lab(10 20 30 / 0.1)", "foreground: lab( 10 20 30 / 0.1 )"); + color("foreground: lab(10 20 30 / 0.7)", "foreground: lab( 10 20 30 / .7 )"); + color("foreground: lab(10 20 30 / 10%)", "foreground: lab(10 20 30 / 10%)"); + + color("foreground: lab(10% 20% 30% / 7%)", "foreground: lab(10% 20% 30% / 7%)"); + color("foreground: lab(10% 20% 30% / 0.13%)", "foreground: lab(10% 20% 30% / 1.3e-1%)"); + color("foreground: lab(10% 20% 30% / 0.5)", "foreground: lab(10% 20% 30% / 0.5)"); + + color("foreground: lab(10% 20% 30% / none)", "foreground: lab(10% 20% 30% / none)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void labMixed() throws Exception { + color("foreground: lab(42 128 255)", "foreground: lab(42 128 255)"); + color("foreground: lab(42% 128 255)", "foreground: lab(42% 128 255)"); + color("foreground: lab(42 128% 255)", "foreground: lab(42 128% 255)"); + color("foreground: lab(42 128 255%)", "foreground: lab(42 128 255%)"); + color("foreground: lab(42% 128% 255)", "foreground: lab(42% 128% 255)"); + color("foreground: lab(42 128% 255%)", "foreground: lab(42 128% 255%)"); + color("foreground: lab(42% 128% 255%)", "foreground: lab(42% 128% 255%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void labVariousErrors() throws Exception { +// color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lab(10, 20 30)"); +// +// color(1, "DOM exception: ''lab' alpha value must be separated by '/'.'", "foreground: lab(10 20 30 40)"); +// +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lab(-none 20 30)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lab(10 -none 30)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lab(10 20 -none)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lab(10 20 30 / -none)"); +// +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lab()"); +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lab(10)"); +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lab(10 20)"); +// +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lab(10 20 30/)"); +// +// color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lab(10 20px 30)"); +// +// color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lab('10' 20 30)"); + } +} diff --git a/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java new file mode 100644 index 0000000..b2c3164 --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser; + +import org.junit.jupiter.api.Test; + +/** + * @author Ronald Brill + */ +public class LCHColorParserTest extends AbstractCSSParserTest { + + /** + * @throws Exception in case of failure + */ + @Test + public void lchBlank() throws Exception { + color("foreground: lch(255 0 153deg)", "foreground: lch(255 0 153deg)"); + color("foreground: lch(255 0 153deg)", "foreground: lch(255 0 153.0deg)"); + color("foreground: lch(100% 0% 60deg)", "foreground: lch(100% 0% 60deg)"); + color("foreground: lch(100% 0% 60deg)", "foreground: lch(100% 0% 60deg)"); + + color("foreground: lch(none 0% 60deg)", "foreground: lch(none 0% 60deg)"); + color("foreground: lch(100% none 60deg)", "foreground: lch(100% none 60deg)"); + color("foreground: lch(100% 0% none)", "foreground: lch(100% 0% none)"); + + color("foreground: lch(255 0 153deg)", "foreground: lch(2.55e2 0e0 1.53e2deg)"); + + // alpha + color("foreground: lch(10 20 30deg / 0.1)", "foreground: lch(10 20 30deg/0.1)"); + color("foreground: lch(10 20 30deg / 0.1)", "foreground: lch( 10 20 30deg / 0.1 )"); + color("foreground: lch(10 20 30deg / 0.7)", "foreground: lch( 10 20 30deg / .7 )"); + color("foreground: lch(10 20 30deg / 10%)", "foreground: lch(10 20 30deg / 10%)"); + + color("foreground: lch(10% 20% 30deg / 7%)", "foreground: lch(10% 20% 30deg / 7%)"); + color("foreground: lch(10% 20% 30deg / 0.13%)", "foreground: lch(10% 20% 30deg / 1.3e-1%)"); + color("foreground: lch(10% 20% 30deg / 0.5)", "foreground: lch(10% 20% 30deg / 0.5)"); + + color("foreground: lch(10% 20% 30deg / none)", "foreground: lch(10% 20% 30deg / none)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void lchMixed() throws Exception { + color("foreground: lch(42 128 255deg)", "foreground: lch(42 128 255deg)"); + color("foreground: lch(42% 128 255deg)", "foreground: lch(42% 128 255deg)"); + color("foreground: lch(42 128% 255deg)", "foreground: lch(42 128% 255deg)"); + color("foreground: lch(42 128 255rad)", "foreground: lch(42 128 255rad)"); + color("foreground: lch(42% 128% 255deg)", "foreground: lch(42% 128% 255deg)"); + color("foreground: lch(42 128% 255rad)", "foreground: lch(42 128% 255rad)"); + color("foreground: lch(42% 128% 255rad)", "foreground: lch(42% 128% 255rad)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void lchVariousErrors() throws Exception { +// color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lch(10, 20 30deg)"); +// +// color(1, "DOM exception: ''lch' alpha value must be separated by '/'.'", "foreground: lch(10 20 30deg 40)"); +// +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lch(-none 20 30deg)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lch(10 -none 30deg)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", +// "foreground: lch(10 20 -none)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lch(10 20 30deg / -none)"); +// +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lch()"); +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lch(10)"); +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", +// "foreground: lch(10 20)"); +// +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lch(10 20 30deg/)"); +// +// color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lch(10 20px 30deg)"); +// +// color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: lch('10' 20 30deg)"); + } +} diff --git a/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java new file mode 100644 index 0000000..1932efc --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser; + +import org.junit.jupiter.api.Test; + +/** + * @author Ronald Brill + */ +public class OKLABColorParserTest extends AbstractCSSParserTest { + + /** + * @throws Exception in case of failure + */ + @Test + public void oklabBlank() throws Exception { + color("foreground: oklab(255 0 153)", "foreground: oklab(255 0 153)"); + color("foreground: oklab(255 0 153)", "foreground: oklab(255 0 153.0)"); + color("foreground: oklab(100% 0% 60%)", "foreground: oklab(100% 0% 60%)"); + color("foreground: oklab(100% 0% 60%)", "foreground: oklab(100% 0% 60%)"); + + color("foreground: oklab(none 0% 60%)", "foreground: oklab(none 0% 60%)"); + color("foreground: oklab(100% none 60%)", "foreground: oklab(100% none 60%)"); + color("foreground: oklab(100% 0% none)", "foreground: oklab(100% 0% none)"); + + color("foreground: oklab(255 0 153)", "foreground: oklab(2.55e2 0e0 1.53e2)"); + + // alpha + color("foreground: oklab(10 20 30 / 0.1)", "foreground: oklab(10 20 30/0.1)"); + color("foreground: oklab(10 20 30 / 0.1)", "foreground: oklab( 10 20 30 / 0.1 )"); + color("foreground: oklab(10 20 30 / 0.7)", "foreground: oklab( 10 20 30 / .7 )"); + color("foreground: oklab(10 20 30 / 10%)", "foreground: oklab(10 20 30 / 10%)"); + + color("foreground: oklab(10% 20% 30% / 7%)", "foreground: oklab(10% 20% 30% / 7%)"); + color("foreground: oklab(10% 20% 30% / 0.13%)", "foreground: oklab(10% 20% 30% / 1.3e-1%)"); + color("foreground: oklab(10% 20% 30% / 0.5)", "foreground: oklab(10% 20% 30% / 0.5)"); + + color("foreground: oklab(10% 20% 30% / none)", "foreground: oklab(10% 20% 30% / none)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void oklabMixed() throws Exception { + color("foreground: oklab(42 128 255)", "foreground: oklab(42 128 255)"); + color("foreground: oklab(42% 128 255)", "foreground: oklab(42% 128 255)"); + color("foreground: oklab(42 128% 255)", "foreground: oklab(42 128% 255)"); + color("foreground: oklab(42 128 255%)", "foreground: oklab(42 128 255%)"); + color("foreground: oklab(42% 128% 255)", "foreground: oklab(42% 128% 255)"); + color("foreground: oklab(42 128% 255%)", "foreground: oklab(42 128% 255%)"); + color("foreground: oklab(42% 128% 255%)", "foreground: oklab(42% 128% 255%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void oklabVariousErrors() throws Exception { +// color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklab(10, 20 30)"); +// +// color(1, "DOM exception: ''oklab' alpha value must be separated by '/'.'", "foreground: oklab(10 20 30 40)"); +// +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklab(-none 20 30)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklab(10 -none 30)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklab(10 20 -none)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklab(10 20 30 / -none)"); +// +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklab()"); +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklab(10)"); +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklab(10 20)"); +// +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklab(10 20 30/)"); +// +// color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklab(10 20px 30)"); +// +// color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklab('10' 20 30)"); + } +} diff --git a/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java new file mode 100644 index 0000000..9fd6b40 --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser; + +import org.junit.jupiter.api.Test; + +/** + * @author Ronald Brill + */ +public class OKLCHColorParserTest extends AbstractCSSParserTest { + + /** + * @throws Exception in case of failure + */ + @Test + public void oklchBlank() throws Exception { + color("foreground: oklch(255 0 153deg)", "foreground: oklch(255 0 153deg)"); + color("foreground: oklch(255 0 153deg)", "foreground: oklch(255 0 153.0deg)"); + color("foreground: oklch(100% 0% 60deg)", "foreground: oklch(100% 0% 60deg)"); + color("foreground: oklch(100% 0% 60deg)", "foreground: oklch(100% 0% 60deg)"); + + color("foreground: oklch(none 0% 60deg)", "foreground: oklch(none 0% 60deg)"); + color("foreground: oklch(100% none 60deg)", "foreground: oklch(100% none 60deg)"); + color("foreground: oklch(100% 0% none)", "foreground: oklch(100% 0% none)"); + + color("foreground: oklch(255 0 153deg)", "foreground: oklch(2.55e2 0e0 1.53e2deg)"); + + // alpha + color("foreground: oklch(10 20 30deg / 0.1)", "foreground: oklch(10 20 30deg/0.1)"); + color("foreground: oklch(10 20 30deg / 0.1)", "foreground: oklch( 10 20 30deg / 0.1 )"); + color("foreground: oklch(10 20 30deg / 0.7)", "foreground: oklch( 10 20 30deg / .7 )"); + color("foreground: oklch(10 20 30deg / 10%)", "foreground: oklch(10 20 30deg / 10%)"); + + color("foreground: oklch(10% 20% 30deg / 7%)", "foreground: oklch(10% 20% 30deg / 7%)"); + color("foreground: oklch(10% 20% 30deg / 0.13%)", "foreground: oklch(10% 20% 30deg / 1.3e-1%)"); + color("foreground: oklch(10% 20% 30deg / 0.5)", "foreground: oklch(10% 20% 30deg / 0.5)"); + + color("foreground: oklch(10% 20% 30deg / none)", "foreground: oklch(10% 20% 30deg / none)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void oklchMixed() throws Exception { + color("foreground: oklch(42 128 255deg)", "foreground: oklch(42 128 255deg)"); + color("foreground: oklch(42% 128 255deg)", "foreground: oklch(42% 128 255deg)"); + color("foreground: oklch(42 128% 255deg)", "foreground: oklch(42 128% 255deg)"); + color("foreground: oklch(42 128 255rad)", "foreground: oklch(42 128 255rad)"); + color("foreground: oklch(42% 128% 255deg)", "foreground: oklch(42% 128% 255deg)"); + color("foreground: oklch(42 128% 255rad)", "foreground: oklch(42 128% 255rad)"); + color("foreground: oklch(42% 128% 255rad)", "foreground: oklch(42% 128% 255rad)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void oklchVariousErrors() throws Exception { +// color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklch(10, 20 30deg)"); +// +// color(1, "DOM exception: ''oklch' alpha value must be separated by '/'.'", "foreground: oklch(10 20 30deg 40)"); +// +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklch(-none 20 30deg)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklch(10 -none 30deg)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", +// "foreground: oklch(10 20 -none)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklch(10 20 30deg / -none)"); +// +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklch()"); +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklch(10)"); +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", +// "foreground: oklch(10 20)"); +// +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklch(10 20 30deg/)"); +// +// color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklch(10 20px 30deg)"); +// +// color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: oklch('10' 20 30deg)"); + } +} diff --git a/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java new file mode 100644 index 0000000..a2b612c --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java @@ -0,0 +1,264 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser; + +import org.junit.jupiter.api.Test; + +/** + * @author Ronald Brill + */ +public class RGBColorParserTest extends AbstractCSSParserTest { + + /** + * @throws Exception in case of failure + */ + @Test + public void rgbComma() throws Exception { + color("foreground: rgb(255, 0, 153)", "foreground: rgb(255,0,153)"); + color("foreground: rgb(255, 0, 153)", "foreground: rgb(255, 0, 153.0)"); + color("foreground: rgb(100%, 0%, 60%)", "foreground: rgb(100%,0%,60%)"); + color("foreground: rgb(100%, 0%, 60%)", "foreground: rgb(100%, 0%, 60%)"); + + color("foreground: rgb(255, 0, 153)", "foreground: rgb(2.55e2, 0e0, 1.53e2)"); + + color("foreground: rgb(-255, 0, -153)", "foreground: rgb(-255, -0, -153.0)"); + color("foreground: rgb(-100%, 0%, -60%)", "foreground: rgb(-100%,-0%,-60%)"); + + // alpha + color("foreground: rgb(10, 20, 30, 0.1)", "foreground: rgb(10,20,30,0.1)"); + color("foreground: rgb(10, 20, 30, 0.1)", "foreground: rgb( 10, 20, 30, 0.1 )"); + color("foreground: rgb(10, 20, 30, 0.7)", "foreground: rgb( 10, 20, 30, .7 )"); + color("foreground: rgb(10, 20, 30, 10%)", "foreground: rgb(10, 20, 30, 10%)"); + + color("foreground: rgb(10%, 20%, 30%, 7%)", "foreground: rgb(10%, 20%, 30%, 7%)"); + color("foreground: rgb(10%, 20%, 30%, 0.13%)", "foreground: rgb(10%, 20%, 30%, 1.3e-1%)"); + color("foreground: rgb(10%, 20%, 30%, 0.5)", "foreground: rgb(10%, 20%, 30%, 0.5)"); + + color("foreground: rgb(-255, -10, -153, -0.5)", "foreground: rgb(-255, -10, -153.0, -0.5)"); + color("foreground: rgb(-100%, -10%, -60%, -7%)", "foreground: rgb(-100%,-10%,-60%,-7%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void rgbBlank() throws Exception { + color("foreground: rgb(255 0 153)", "foreground: rgb(255 0 153)"); + color("foreground: rgb(255 0 153)", "foreground: rgb(255 0 153.0)"); + color("foreground: rgb(100% 0% 60%)", "foreground: rgb(100% 0% 60%)"); + color("foreground: rgb(100% 0% 60%)", "foreground: rgb(100% 0% 60%)"); + + color("foreground: rgb(none 0% 60%)", "foreground: rgb(none 0% 60%)"); + color("foreground: rgb(100% none 60%)", "foreground: rgb(100% none 60%)"); + color("foreground: rgb(100% 0% none)", "foreground: rgb(100% 0% none)"); + + color("foreground: rgb(255 0 153)", "foreground: rgb(2.55e2 0e0 1.53e2)"); + + color("foreground: rgb(-255 0 -153)", "foreground: rgb(-255 -0 -153.0)"); + color("foreground: rgb(-100% 0% -60%)", "foreground: rgb(-100% -0% -60%)"); + + // alpha + color("foreground: rgb(10 20 30 / 0.1)", "foreground: rgb(10 20 30/0.1)"); + color("foreground: rgb(10 20 30 / 0.1)", "foreground: rgb( 10 20 30 / 0.1 )"); + color("foreground: rgb(10 20 30 / 0.7)", "foreground: rgb( 10 20 30 / .7 )"); + color("foreground: rgb(10 20 30 / 10%)", "foreground: rgb(10 20 30 / 10%)"); + + color("foreground: rgb(10% 20% 30% / 7%)", "foreground: rgb(10% 20% 30% / 7%)"); + color("foreground: rgb(10% 20% 30% / 0.13%)", "foreground: rgb(10% 20% 30% / 1.3e-1%)"); + color("foreground: rgb(10% 20% 30% / 0.5)", "foreground: rgb(10% 20% 30% / 0.5)"); + + color("foreground: rgb(10% 20% 30% / none)", "foreground: rgb(10% 20% 30% / none)"); + + color("foreground: rgb(-255 -10 -153 / -0.5)", "foreground: rgb(-255 -10 -153.0 / -0.5)"); + color("foreground: rgb(-100% -10% -60% / -7%)", "foreground: rgb(-100% -10% -60%/-7%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void rgbMixed() throws Exception { + color("foreground: rgb(42, 128, 255)", "foreground: rgb(42, 128, 255)"); + color("foreground: rgb(42%, 128, 255)", "foreground: rgb(42%, 128, 255)"); + color("foreground: rgb(42, 128%, 255)", "foreground: rgb(42, 128%, 255)"); + color("foreground: rgb(42, 128, 255%)", "foreground: rgb(42, 128, 255%)"); + color("foreground: rgb(42, 128%, 255%)", "foreground: rgb(42, 128%, 255%)"); + color("foreground: rgb(42%, 128%, 255)", "foreground: rgb(42%, 128%, 255)"); + color("foreground: rgb(42%, 128%, 255%)", "foreground: rgb(42%, 128%, 255%)"); + + color("foreground: rgb(42 128 255)", "foreground: rgb(42 128 255)"); + color("foreground: rgb(42% 128 255)", "foreground: rgb(42% 128 255)"); + color("foreground: rgb(42 128% 255)", "foreground: rgb(42 128% 255)"); + color("foreground: rgb(42 128 255%)", "foreground: rgb(42 128 255%)"); + color("foreground: rgb(42% 128% 255)", "foreground: rgb(42% 128% 255)"); + color("foreground: rgb(42 128% 255%)", "foreground: rgb(42 128% 255%)"); + color("foreground: rgb(42% 128% 255%)", "foreground: rgb(42% 128% 255%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void rgbaComma() throws Exception { + color("foreground: rgba(255, 0, 153)", "foreground: rgba(255,0,153)"); + color("foreground: rgba(255, 0, 153)", "foreground: rgba(255, 0, 153.0)"); + color("foreground: rgba(100%, 0%, 60%)", "foreground: rgba(100%,0%,60%)"); + color("foreground: rgba(100%, 0%, 60%)", "foreground: rgba(100%, 0%, 60%)"); + + color("foreground: rgba(255, 0, 153)", "foreground: rgba(2.55e2, 0e0, 1.53e2)"); + + color("foreground: rgba(-255, 0, -153)", "foreground: rgba(-255, -0, -153.0)"); + color("foreground: rgba(-100%, 0%, -60%)", "foreground: rgba(-100%,-0%,-60%)"); + + // alpha + color("foreground: rgba(10, 20, 30, 0.1)", "foreground: rgba(10,20,30,0.1)"); + color("foreground: rgba(10, 20, 30, 0.1)", "foreground: rgba( 10, 20, 30, 0.1 )"); + color("foreground: rgba(10, 20, 30, 0.7)", "foreground: rgba( 10, 20, 30, .7 )"); + color("foreground: rgba(10, 20, 30, 10%)", "foreground: rgba(10, 20, 30, 10%)"); + + color("foreground: rgba(10%, 20%, 30%, 7%)", "foreground: rgba(10%, 20%, 30%, 7%)"); + color("foreground: rgba(10%, 20%, 30%, 0.13%)", "foreground: rgba(10%, 20%, 30%, 1.3e-1%)"); + color("foreground: rgba(10%, 20%, 30%, 0.5)", "foreground: rgba(10%, 20%, 30%, 0.5)"); + + color("foreground: rgba(-255, -10, -153, -0.5)", "foreground: rgba(-255, -10, -153.0, -0.5)"); + color("foreground: rgba(-100%, -10%, -60%, -7%)", "foreground: rgba(-100%,-10%,-60%,-7%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void rgbaBlank() throws Exception { + color("foreground: rgba(255 0 153)", "foreground: rgba(255 0 153)"); + color("foreground: rgba(255 0 153)", "foreground: rgba(255 0 153.0)"); + color("foreground: rgba(100% 0% 60%)", "foreground: rgba(100% 0% 60%)"); + color("foreground: rgba(100% 0% 60%)", "foreground: rgba(100% 0% 60%)"); + + color("foreground: rgba(none 0% 60%)", "foreground: rgba(none 0% 60%)"); + color("foreground: rgba(100% none 60%)", "foreground: rgba(100% none 60%)"); + color("foreground: rgba(100% 0% none)", "foreground: rgba(100% 0% none)"); + + color("foreground: rgba(255 0 153)", "foreground: rgba(2.55e2 0e0 1.53e2)"); + + color("foreground: rgba(-255 0 -153)", "foreground: rgba(-255 -0 -153.0)"); + color("foreground: rgba(-100% 0% -60%)", "foreground: rgba(-100% -0% -60%)"); + + // alpha + color("foreground: rgba(10 20 30 / 0.1)", "foreground: rgba(10 20 30/0.1)"); + color("foreground: rgba(10 20 30 / 0.1)", "foreground: rgba( 10 20 30 / 0.1 )"); + color("foreground: rgba(10 20 30 / 0.7)", "foreground: rgba( 10 20 30 / .7 )"); + color("foreground: rgba(10 20 30 / 10%)", "foreground: rgba(10 20 30 / 10%)"); + + color("foreground: rgba(10% 20% 30% / 7%)", "foreground: rgba(10% 20% 30% / 7%)"); + color("foreground: rgba(10% 20% 30% / 0.13%)", "foreground: rgba(10% 20% 30% / 1.3e-1%)"); + color("foreground: rgba(10% 20% 30% / 0.5)", "foreground: rgba(10% 20% 30% / 0.5)"); + + color("foreground: rgba(10% 20% 30% / none)", "foreground: rgba(10% 20% 30% / none)"); + + color("foreground: rgba(-255 -10 -153 / -0.5)", "foreground: rgba(-255 -10 -153.0 / -0.5)"); + color("foreground: rgba(-100% -10% -60% / -7%)", "foreground: rgba(-100% -10% -60%/-7%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void rgbaMixed() throws Exception { + color("foreground: rgba(42, 128, 255)", "foreground: rgba(42, 128, 255)"); + color("foreground: rgba(42%, 128, 255)", "foreground: rgba(42%, 128, 255)"); + color("foreground: rgba(42, 128%, 255)", "foreground: rgba(42, 128%, 255)"); + color("foreground: rgba(42, 128, 255%)", "foreground: rgba(42, 128, 255%)"); + color("foreground: rgba(42, 128%, 255%)", "foreground: rgba(42, 128%, 255%)"); + color("foreground: rgba(42%, 128%, 255)", "foreground: rgba(42%, 128%, 255)"); + color("foreground: rgba(42%, 128%, 255%)", "foreground: rgba(42%, 128%, 255%)"); + + color("foreground: rgba(42 128 255)", "foreground: rgba(42 128 255)"); + color("foreground: rgba(42% 128 255)", "foreground: rgba(42% 128 255)"); + color("foreground: rgba(42 128% 255)", "foreground: rgba(42 128% 255)"); + color("foreground: rgba(42 128 255%)", "foreground: rgba(42 128 255%)"); + color("foreground: rgba(42% 128% 255)", "foreground: rgba(42% 128% 255)"); + color("foreground: rgba(42 128% 255%)", "foreground: rgba(42 128% 255%)"); + color("foreground: rgba(42% 128% 255%)", "foreground: rgba(42% 128% 255%)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void rgbVariousErrors() throws Exception { +// color(1, "DOM exception: ''rgb' parameters must be separated by ','.'", "foreground: rgb(10, 20 30)"); +// color(1, "DOM exception: ''rgb' requires consitent separators (blank or comma).'", "foreground: rgb(10 20, 30)"); +// +// color(1, "DOM exception: ''rgb' alpha value must be separated by '/'.'", "foreground: rgb(10 20 30 40)"); +// +// color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(none, 20, 30)"); +// color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(10, none, 30)"); +// color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(10, 20, none)"); +// color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(10, 20, 30, none)"); +// +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: rgb(-none 20 30)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", +// "foreground: rgb(10 -none 30)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", +// "foreground: rgb(10 20 -none)"); +// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: rgb(10 20 30 / -none)"); +// +// // mixing numbers and percentages is supported by current browsers +// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20, 30)"); +// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20%, 30)"); +// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20%, 30)"); +// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20%, 30%)"); +// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20, 30%)"); +// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20, 30%)"); +// // +// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20 30)"); +// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20% 30)"); +// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20% 30)"); +// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20% 30%)"); +// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20 30%)"); +// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20 30%)"); +// +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: rgb()"); +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", +// "foreground: rgb(10)"); +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", +// "foreground: rgb(10 20)"); +// +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: rgb(10, 20, 30,)"); +// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: rgb(10, 20, 30/)"); +// +// color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: rgb(10, 20px, 30)"); +// color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", +// "foreground: rgb(10 20px 30)"); +// +// color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", +// "foreground: rgb('10', 20, 30,)"); + } + + /** + * @throws Exception in case of failure + */ + @Test + public void rgbInsideFunction() throws Exception { + color("color: foo(rgb(204, 221, 68))", "color: foo(#cd4);"); + } + +} From dbc49f71fe5466bd0c5f7407213c4473a841f778 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 8 Jan 2025 08:33:47 +0100 Subject: [PATCH 074/137] allow identifier in calc --- src/main/javacc/CSS3Parser.jj | 3 +++ .../org/htmlunit/cssparser/parser/HSLColorParserTest.java | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 66a7877..da3f167 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1761,6 +1761,7 @@ LexicalUnit calcProduct(LexicalUnit prev) : // LexicalUnit calcValue(LexicalUnit prev) : { + Token t; char op = ' '; LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); } @@ -1773,6 +1774,7 @@ LexicalUnit calcValue(LexicalUnit prev) : prev = number(prev, op) | prev = dimension(prev, op) | prev = percentage(prev, op) + | t = ident() { prev = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } ) ) | prev = var(prev) @@ -1876,6 +1878,7 @@ LexicalUnit calcNumberValue(LexicalUnit prev) : ( (op = unaryOperator() )? prev = number(prev, op) + | t = ident() { prev = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } ) | prev = var(prev) | diff --git a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java index 21d050e..566a97f 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java @@ -94,11 +94,12 @@ public void hslMixed() throws Exception { */ @Test public void hslRelative() throws Exception { - color("foreground: hsl(from red r g b)", "foreground: hsl(from red r g b)"); + color("foreground: hsl(from red h s l)", "foreground: hsl(from red h s l)"); color("foreground: hsl(from red 7 11% 13%)", "foreground: hsl(from red 7 11% 13%)"); color("foreground: hsl(from rgb(200 170 0) 7 11% 13%)", "foreground: hsl(from rgb(200 170 0) 7 11% 13%)"); color("foreground: hsl(from var(--base-color) 7 11% 13%)", "foreground: hsl(from var(--base-color) 7 11% 13%)"); - // color("foreground: hsl(from var(--base-color) 7 11% 13%)", "foreground: red calc(h + 7) calc(s - 11%) calc(l * 13%)"); + + color("foreground: red calc(h + 7) calc(s - 11%) calc(l * 13%)", "foreground: red calc(h + 7) calc(s - 11%) calc(l * 13%)"); } /** From aabb2dee378bcb0d8e6680f15158440b22545a9d Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 8 Jan 2025 10:14:55 +0100 Subject: [PATCH 075/137] more tests --- .../resources/realworld/bootstrap_3_4_1.css | 6834 +++++++++++++++++ .../realworld/bootstrap_3_4_1.min.css | 6 + .../{normalize.css => normalize_3_0_2.css} | 0 .../resources/realworld/normalize_8_0_1.css | 349 + 4 files changed, 7189 insertions(+) create mode 100644 src/test/resources/realworld/bootstrap_3_4_1.css create mode 100644 src/test/resources/realworld/bootstrap_3_4_1.min.css rename src/test/resources/realworld/{normalize.css => normalize_3_0_2.css} (100%) create mode 100644 src/test/resources/realworld/normalize_8_0_1.css diff --git a/src/test/resources/realworld/bootstrap_3_4_1.css b/src/test/resources/realworld/bootstrap_3_4_1.css new file mode 100644 index 0000000..fcab415 --- /dev/null +++ b/src/test/resources/realworld/bootstrap_3_4_1.css @@ -0,0 +1,6834 @@ +/*! + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: none; + text-decoration: underline; + -webkit-text-decoration: underline dotted; + -moz-text-decoration: underline dotted; + text-decoration: underline dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: "Glyphicons Halflings"; + src: url("../fonts/glyphicons-halflings-regular.eot"); + src: url("../fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/glyphicons-halflings-regular.woff2") format("woff2"), url("../fonts/glyphicons-halflings-regular.woff") format("woff"), url("../fonts/glyphicons-halflings-regular.ttf") format("truetype"), url("../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: "Glyphicons Halflings"; + font-style: normal; + font-weight: 400; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #333333; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 6px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: 400; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 10px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 10px; + margin-bottom: 10px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 36px; +} +h2, +.h2 { + font-size: 30px; +} +h3, +.h3 { + font-size: 24px; +} +h4, +.h4 { + font-size: 18px; +} +h5, +.h5 { + font-size: 14px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +small, +.small { + font-size: 85%; +} +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} +dl { + margin-top: 0; + margin-bottom: 20px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: 700; +} +dd { + margin-left: 0; +} +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: "\2014 \00A0"; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + text-align: right; + border-right: 5px solid #eeeeee; + border-left: 0; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ""; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: "\00A0 \2014"; +} +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; + -webkit-box-shadow: none; + box-shadow: none; +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857143; + color: #333333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +.row { + margin-right: -15px; + margin-left: -15px; +} +.row-no-gutters { + margin-right: 0; + margin-left: 0; +} +.row-no-gutters [class*="col-"] { + padding-right: 0; + padding-left: 0; +} +.col-xs-1, +.col-sm-1, +.col-md-1, +.col-lg-1, +.col-xs-2, +.col-sm-2, +.col-md-2, +.col-lg-2, +.col-xs-3, +.col-sm-3, +.col-md-3, +.col-lg-3, +.col-xs-4, +.col-sm-4, +.col-md-4, +.col-lg-4, +.col-xs-5, +.col-sm-5, +.col-md-5, +.col-lg-5, +.col-xs-6, +.col-sm-6, +.col-md-6, +.col-lg-6, +.col-xs-7, +.col-sm-7, +.col-md-7, +.col-lg-7, +.col-xs-8, +.col-sm-8, +.col-md-8, +.col-lg-8, +.col-xs-9, +.col-sm-9, +.col-md-9, +.col-lg-9, +.col-xs-10, +.col-sm-10, +.col-md-10, +.col-lg-10, +.col-xs-11, +.col-sm-11, +.col-md-11, +.col-lg-11, +.col-xs-12, +.col-sm-12, +.col-md-12, +.col-lg-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11, +.col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, + .col-sm-2, + .col-sm-3, + .col-sm-4, + .col-sm-5, + .col-sm-6, + .col-sm-7, + .col-sm-8, + .col-sm-9, + .col-sm-10, + .col-sm-11, + .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, + .col-md-2, + .col-md-3, + .col-md-4, + .col-md-5, + .col-md-6, + .col-md-7, + .col-md-8, + .col-md-9, + .col-md-10, + .col-md-11, + .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, + .col-lg-2, + .col-lg-3, + .col-lg-4, + .col-lg-5, + .col-lg-6, + .col-lg-7, + .col-lg-8, + .col-lg-9, + .col-lg-10, + .col-lg-11, + .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +table col[class*="col-"] { + position: static; + display: table-column; + float: none; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + display: table-cell; + float: none; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + min-height: 0.01%; + overflow-x: auto; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: 700; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 34px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 46px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.radio label, +.checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: 400; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-top: 4px \9; + margin-left: -20px; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: 400; + vertical-align: middle; + cursor: pointer; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +.form-control-static { + min-height: 34px; + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-right: 0; + padding-left: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 32px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +select.input-lg { + height: 46px; + line-height: 46px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +.form-group-lg select.form-control { + height: 46px; + line-height: 46px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 46px; + min-height: 38px; + padding: 11px 16px; + font-size: 18px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 42.5px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + background-color: #dff0d8; + border-color: #3c763d; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #8a6d3b; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + background-color: #f2dede; + border-color: #a94442; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 25px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; +} +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + padding-top: 7px; + margin-bottom: 0; + text-align: right; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 18px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -ms-touch-action: manipulation; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + filter: alpha(opacity=65); + opacity: 0.65; + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + background-image: none; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + background-image: none; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + background-image: none; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + background-image: none; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + background-image: none; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + background-image: none; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + font-weight: 400; + color: #337ab7; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + -o-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + -o-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + -o-transition-timing-function: ease; + transition-timing-function: ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: 400; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + color: #262626; + text-decoration: none; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + background-color: #337ab7; + outline: 0; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + right: 0; + left: auto; +} +.dropdown-menu-left { + right: auto; + left: 0; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + content: ""; + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } + .navbar-right .dropdown-menu-left { + right: auto; + left: 0; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-right: 8px; + padding-left: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 12px; + padding-left: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + display: table-cell; + float: none; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-right: 0; + padding-left: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 46px; + line-height: 46px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: 400; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 4px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + cursor: default; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 4px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + border-top: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-right: 0; + padding-left: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-brand { + float: left; + height: 50px; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -15px; + } +} +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-right: 15px; + margin-top: 8px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 7.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } +} +.navbar-form { + padding: 10px 15px; + margin-right: -15px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 8px; + margin-bottom: 8px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} +.navbar-btn.btn-sm { + margin-top: 10px; + margin-bottom: 10px; +} +.navbar-btn.btn-xs { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-text { + margin-top: 15px; + margin-bottom: 15px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-right: 15px; + margin-left: 15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + margin-right: -15px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + color: #555; + background-color: #e7e7e7; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #fff; + background-color: #080808; +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + padding: 0 5px; + color: #ccc; + content: "/\00a0"; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.42857143; + color: #337ab7; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + cursor: default; + background-color: #337ab7; + border-color: #337ab7; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + cursor: not-allowed; + background-color: #fff; +} +.label { + display: inline; + padding: 0.2em 0.6em 0.3em; + font-size: 75%; + font-weight: 700; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: middle; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + padding-right: 15px; + padding-left: 15px; + border-radius: 6px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-right: auto; + margin-left: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #333333; +} +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-o-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + overflow: hidden; + zoom: 1; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + padding-left: 0; + margin-bottom: 20px; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + color: #777777; + cursor: not-allowed; + background-color: #eeeeee; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + color: #555; + text-decoration: none; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-right: 15px; + padding-left: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + margin-bottom: 0; + border: 0; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 4px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 6px; +} +.well-sm { + padding: 9px; + border-radius: 3px; +} +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + filter: alpha(opacity=20); + opacity: 0.2; +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + filter: alpha(opacity=50); + opacity: 0.5; +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + filter: alpha(opacity=0); + opacity: 0; +} +.modal-backdrop.in { + filter: alpha(opacity=50); + opacity: 0.5; +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: 400; + line-height: 1.42857143; + line-break: auto; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + white-space: normal; + font-size: 12px; + filter: alpha(opacity=0); + opacity: 0; +} +.tooltip.in { + filter: alpha(opacity=90); + opacity: 0.9; +} +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + right: 5px; + bottom: 0; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 4px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: 400; + line-height: 1.42857143; + line-break: auto; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + white-space: normal; + font-size: 14px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow:after { + content: ""; + border-width: 10px; +} +.popover.top > .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; +} +.popover.top > .arrow:after { + bottom: 1px; + margin-left: -10px; + content: " "; + border-top-color: #fff; + border-bottom-width: 0; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); + border-left-width: 0; +} +.popover.right > .arrow:after { + bottom: -10px; + left: 1px; + content: " "; + border-right-color: #fff; + border-left-width: 0; +} +.popover.bottom > .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); +} +.popover.bottom > .arrow:after { + top: 1px; + margin-left: -10px; + content: " "; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + right: 1px; + bottom: -10px; + content: " "; + border-right-width: 0; + border-left-color: #fff; +} +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); + filter: alpha(opacity=50); + opacity: 0.5; +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control:hover, +.carousel-control:focus { + color: #fff; + text-decoration: none; + outline: 0; + filter: alpha(opacity=90); + opacity: 0.9; +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; + margin-top: -10px; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + font-family: serif; + line-height: 1; +} +.carousel-control .icon-prev:before { + content: "\2039"; +} +.carousel-control .icon-next:before { + content: "\203a"; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); + border: 1px solid #fff; + border-radius: 10px; +} +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #fff; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after { + clear: both; +} +.center-block { + display: block; + margin-right: auto; + margin-left: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/src/test/resources/realworld/bootstrap_3_4_1.min.css b/src/test/resources/realworld/bootstrap_3_4_1.min.css new file mode 100644 index 0000000..5b96335 --- /dev/null +++ b/src/test/resources/realworld/bootstrap_3_4_1.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:"Glyphicons Halflings";src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:"Glyphicons Halflings";font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/src/test/resources/realworld/normalize.css b/src/test/resources/realworld/normalize_3_0_2.css similarity index 100% rename from src/test/resources/realworld/normalize.css rename to src/test/resources/realworld/normalize_3_0_2.css diff --git a/src/test/resources/realworld/normalize_8_0_1.css b/src/test/resources/realworld/normalize_8_0_1.css new file mode 100644 index 0000000..192eb9c --- /dev/null +++ b/src/test/resources/realworld/normalize_8_0_1.css @@ -0,0 +1,349 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} From 036798ad9c72905136dce54c8da53de3a8c0df27 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 8 Jan 2025 10:15:25 +0100 Subject: [PATCH 076/137] releative (wip) --- .../parser/CSS3ParserRealWorldTest.java | 397 ++++++++++++++++++ .../cssparser/parser/CSS3ParserTest.java | 352 +--------------- .../cssparser/parser/HSLColorParserTest.java | 2 +- .../cssparser/parser/HWBColorParserTest.java | 13 + .../cssparser/parser/LABColorParserTest.java | 13 + .../cssparser/parser/LCHColorParserTest.java | 13 + .../parser/OKLABColorParserTest.java | 13 + .../parser/OKLCHColorParserTest.java | 13 + 8 files changed, 483 insertions(+), 333 deletions(-) create mode 100644 src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java new file mode 100644 index 0000000..88ad5df --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -0,0 +1,397 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import java.io.InputStream; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; +import java.util.Set; +import java.util.TreeSet; + +import org.htmlunit.cssparser.dom.AbstractCSSRuleImpl; +import org.htmlunit.cssparser.dom.CSSMediaRuleImpl; +import org.htmlunit.cssparser.dom.CSSRuleListImpl; +import org.htmlunit.cssparser.dom.CSSStyleRuleImpl; +import org.htmlunit.cssparser.dom.CSSStyleSheetImpl; +import org.htmlunit.cssparser.dom.MediaListImpl; +import org.htmlunit.cssparser.parser.media.MediaQuery; +import org.junit.jupiter.api.Test; + +/** + * @author Ahmed Ashour + * @author Ronald Brill + */ +public class CSS3ParserRealWorldTest extends AbstractCSSParserTest { + + /** + * @throws Exception if any error occurs + */ + @Test + public void microsoft() throws Exception { + realWorld("realworld/style.csx.css", 701, 1391, + "screen and (-webkit-min-device-pixel-ratio: 0);" + + "screen and (max-width: 480px);" + + "screen and (max-width: 539px);" + + "screen and (max-width: 667px) and (min-width: 485px);" + + "screen and (max-width: 679px);" + + "screen and (max-width: 680px);" + + "screen and (max-width: 900px);" + + "screen and (min-width: 0) and (max-width: 899px);" + + "screen and (min-width: 1024px);" + + "screen and (min-width: 1025px);" + + "screen and (min-width: 1025px) and (min-height: 900px);" + + "screen and (min-width: 33.75em);" + + "screen and (min-width: 42.5em);" + + "screen and (min-width: 53.5em);" + + "screen and (min-width: 540px);" + + "screen and (min-width: 540px) and (max-width: 679px);" + + "screen and (min-width: 560px);" + + "screen and (min-width: 600px);" + + "screen and (min-width: 64.0625em);" + + "screen and (min-width: 64.0625em) and (min-height: 768px);" + + "screen and (min-width: 64.0625em) and (min-height: 900px);" + + "screen and (min-width: 668px);" + + "screen and (min-width: 668px) and (max-width: 1024px);" + + "screen and (min-width: 680px);" + + "screen and (min-width: 680px) and (max-width: 899px);" + + "screen and (min-width: 70em);" + + "screen and (min-width: 70em) and (min-height: 768px);" + + "screen and (min-width: 70em) and (min-height: 900px);" + + "screen and (min-width: 900px);", 145, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void oracle() throws Exception { + realWorld("realworld/compass-homestyle.css", 735, 2160, + "(max-height: 600px);" + + "(max-width: 600px);" + + "(max-width: 770px);" + + "(min-width: 0) and (max-width: 1012px);" + + "(min-width: 0) and (max-width: 1018px);" + + "(min-width: 0) and (max-width: 1111px);" + + "(min-width: 0) and (max-width: 1312px);" + + "(min-width: 0) and (max-width: 390px);" + + "(min-width: 0) and (max-width: 400px);" + + "(min-width: 0) and (max-width: 410px);" + + "(min-width: 0) and (max-width: 450px);" + + "(min-width: 0) and (max-width: 600px);" + + "(min-width: 0) and (max-width: 640px);" + + "(min-width: 0) and (max-width: 680px);" + + "(min-width: 0) and (max-width: 720px);" + + "(min-width: 0) and (max-width: 770px);" + + "(min-width: 0) and (max-width: 870px);" + + "(min-width: 0) and (max-width: 974px);" + + "(min-width: 601px);" + + "(min-width: 771px) and (max-width: 990px);" + + "only screen and (max-width: 974px);" + + "only screen and (min-width: 0) and (max-width: 1024px);" + + "only screen and (min-width: 0) and (max-width: 320px);" + + "only screen and (min-width: 0) and (max-width: 500px);" + + "only screen and (min-width: 0) and (max-width: 600px);" + + "only screen and (min-width: 0) and (max-width: 770px);" + + "only screen and (min-width: 0) and (max-width: 880px);" + + "only screen and (min-width: 0) and (max-width: 974px);" + + "only screen and (min-width: 1024px) and (max-width: 1360px);" + + "only screen and (min-width: 1360px);" + + "only screen and (min-width: 601px) and (max-width: 974px);" + + "only screen and (min-width: 771px) and (max-width: 974px);" + + "only screen and (min-width: 880px);" + + "only screen and (min-width: 974px);" + + "only screen and (min-width: 975px) and (max-width: 1040px);" + + "\ufffdscreen,screen\t;", 27, 1); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void ibm() throws Exception { + realWorld("realworld/www.css", 493, 983, + "only screen and (min-device-width: 768px) and (max-device-width: 1024px);print;screen;", 14, 1); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void apple() throws Exception { + realWorld("realworld/home.built.css", 675, 1027, + "only screen and (-webkit-min-device-pixel-ratio: 1.5);" + + "only screen and (max-device-width: 767px);" + + "only screen and (max-height: 970px);" + + "only screen and (max-width: 1023px);" + + "only screen and (max-width: 1024px);" + + "only screen and (max-width: 1024px) and (-webkit-min-device-pixel-ratio: 1.5);" + + "only screen and (max-width: 1024px) and (min-resolution: 144dpi);" + + "only screen and (max-width: 1024px) and (min-resolution: 144dppx);" + + "only screen and (max-width: 28em) and (max-device-width: 735px);" + + "only screen and (max-width: 320px);" + + "only screen and (max-width: 735px) and (max-device-width: 768px);" + + "only screen and (max-width: 735px) and (max-device-width: 768px) " + + "and (-webkit-min-device-pixel-ratio: 1.5);" + + "only screen and (max-width: 735px) and (max-device-width: 768px) and (min-resolution: 144dpi);" + + "only screen and (max-width: 735px) and (max-device-width: 768px) and (min-resolution: 144dppx);" + + "only screen and (max-width: 735px) and (max-device-width: 768px) and (orientation: portrait);" + + "only screen and (min-device-width: 768px);" + + "only screen and (min-width: 1442px);" + + "only screen and (min-width: 1442px) and (-webkit-min-device-pixel-ratio: 1.5);" + + "only screen and (min-width: 1442px) and (min-height: 1251px);" + + "only screen and (min-width: 1442px) and (min-resolution: 144dpi);" + + "only screen and (min-width: 1442px) and (min-resolution: 144dppx);" + + "print;" + + "screen and (min-resolution: 144dpi);" + + "screen and (min-resolution: 144dppx);", 1, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void wikipedia() throws Exception { + realWorld("realworld/load.php.css", 90, 227, "print;screen;screen and (min-width: 982px);", 59, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void normalize_3_0_2() throws Exception { + realWorld("realworld/normalize_3_0_2.css", 40, 64, "", 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void normalize_8_0_1() throws Exception { + realWorld("realworld/normalize_8_0_1.css", 34, 57, "", 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void cargo() throws Exception { + realWorld("realworld/cargo.css", 123, 330, "", 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void blueprint() throws Exception { + realWorld("realworld/blueprint/screen.css", 245, 341, "", 0, 0); + realWorld("realworld/blueprint/print.css", 15, 33, "", 0, 0); + realWorld("realworld/blueprint/ie.css", 22, 30, "", 1, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void bootstrap_3_3_7() throws Exception { + final String media = "(-webkit-transform-3d);" + + "(max-device-width: 480px) and (orientation: landscape);" + + "(max-width: 767px);" + + "(min-width: 1200px);" + + "(min-width: 768px);" + + "(min-width: 768px) and (max-width: 991px);(min-width: 992px);" + + "(min-width: 992px) and (max-width: 1199px);" + + "all and (transform-3d);print;" + + "screen and (-webkit-min-device-pixel-ratio: 0);" + + "screen and (max-width: 767px);" + + "screen and (min-width: 768px);"; + realWorld("realworld/bootstrap_3_3_7_min.css", 1193, 2306, media, 1, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void bootstrap_3_4_1() throws Exception { + final String media = "(-webkit-transform-3d);" + + "(max-device-width: 480px) and (orientation: landscape);" + + "(max-width: 767px);" + + "(min-width: 1200px);" + + "(min-width: 768px);" + + "(min-width: 768px) and (max-width: 991px);(min-width: 992px);" + + "(min-width: 992px) and (max-width: 1199px);" + + "all and (transform-3d);print;" + + "screen and (-webkit-min-device-pixel-ratio: 0);" + + "screen and (max-width: 767px);" + + "screen and (min-width: 768px);"; + realWorld("realworld/bootstrap_3_4_1.css", 1188, 2320, media, 0, 0); + realWorld("realworld/bootstrap_3_4_1.min.css", 1188, 2319, media, 1, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void bootstrap_4_0_0() throws Exception { + final String media = "(max-width: 1199.98px);" + + "(max-width: 575.98px);" + + "(max-width: 767.98px);" + + "(max-width: 991.98px);" + + "(min-width: 1200px);" + + "(min-width: 576px);" + + "(min-width: 768px);" + + "(min-width: 992px);" + + "print;"; + realWorld("realworld/bootstrap_4_0_0.css", 1033, 2470, media, 0, 0); + realWorld("realworld/bootstrap_4_0_0_min.css", 1033, 2470, media, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void bootstrap_5_2_0() throws Exception { + final String media = "(max-width: 1199.98px);" + + "(max-width: 1199.98px) and (prefers-reduced-motion: reduce);" + + "(max-width: 1399.98px);(max-width: 1399.98px) and (prefers-reduced-motion: reduce);" + + "(max-width: 575.98px);" + + "(max-width: 575.98px) and (prefers-reduced-motion: reduce);" + + "(max-width: 767.98px);" + + "(max-width: 767.98px) and (prefers-reduced-motion: reduce);" + + "(max-width: 991.98px);" + + "(max-width: 991.98px) and (prefers-reduced-motion: reduce);" + + "(min-width: 1200px);" + + "(min-width: 1400px);" + + "(min-width: 576px);" + + "(min-width: 768px);" + + "(min-width: 992px);" + + "(prefers-reduced-motion: no-preference);" + + "(prefers-reduced-motion: reduce);" + + "print;"; + realWorld("realworld/bootstrap_5_2_0.css", 1198, 3033, media, 40, 0); + realWorld("realworld/bootstrap_5_2_0.min.css", 1198, 3033, media, 40, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void spiegel() throws Exception { + realWorld("realworld/style-V5-11.css", 2088, 6028, "screen and (min-width: 1030px);", 47, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void stackoverflow() throws Exception { + final String media = "not all;" + + "only screen and (min--moz-device-pixel-ratio: 1.5);" + + "print;screen and (max-height: 740px);" + + "screen and (max-height: 750px);" + + "screen and (max-width: 1090px);" + + "screen and (max-width: 920px);"; + realWorld("realworld/all.css", 5237, 12403, media, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void mui() throws Exception { + final String media = "(-ms-high-contrast: active);" + + "(max-width: 543px);" + + "(min-width: 1200px);" + + "(min-width: 480px);" + + "(min-width: 544px);" + + "(min-width: 544px) and (max-width: 767px);" + + "(min-width: 768px);" + + "(min-width: 768px) and (max-width: 991px);" + + "(min-width: 992px);" + + "(min-width: 992px) and (max-width: 1199px);" + + "(orientation: landscape) and (max-height: 480px);" + + "all and (-ms-high-contrast: none);"; + realWorld("realworld/mui.css", 342, 752, media, 0, 0); + } + + /** + * Test case for https://github.com/jenkinsci/jenkins/pull/10078. + * @throws Exception if any error occurs + */ + @Test + public void jenkins10078() throws Exception { + final String media = "(hover: hover);" + + "(hover: hover) and (hover: hover);" + + "(hover: none);(max-width: 1200px);" + + "(max-width: 767px);(max-width: 900px);" + + "(min-width: 1170px);(min-width: 1200px);" + + "(min-width: 767px);" + + "(min-width: 768px) and (max-width: 991px);" + + "(min-width: 900px);" + + "(min-width: 992px) and (max-width: 1199px);" + + "(prefers-contrast: more);" + + "(prefers-reduced-motion);" + + "print;" + + "screen and (max-width: 1200px);" + + "screen and (max-width: 900px);" + + "screen and (min-width: 1300px);" + + "screen and (min-width: 1800px);" + + "screen and (min-width: 800px);"; + realWorld("realworld/jenkins_10078.css", 1423, 4032, media, 0, 0); + } + + private void realWorld(final String resourceName, final int rules, final int properties, + final String media, + final int err, final int warn) throws Exception { + final InputStream is = getClass().getClassLoader().getResourceAsStream(resourceName); + assertNotNull(is); + + final InputSource css = new InputSource(new InputStreamReader(is, StandardCharsets.UTF_8)); + final CSSStyleSheetImpl sheet = parse(css, err, 0, warn); + + final CSSRuleListImpl foundRules = sheet.getCssRules(); + assertEquals(rules, foundRules.getLength()); + + int foundProperties = 0; + for (int i = 0; i < foundRules.getLength(); i++) { + final AbstractCSSRuleImpl rule = foundRules.getRules().get(i); + if (rule instanceof CSSStyleRuleImpl) { + foundProperties += ((CSSStyleRuleImpl) rule).getStyle().getLength(); + } + } + assertEquals(properties, foundProperties); + + final Set mediaQ = new TreeSet<>(); + for (int i = 0; i < sheet.getCssRules().getLength(); i++) { + final AbstractCSSRuleImpl cssRule = sheet.getCssRules().getRules().get(i); + if (cssRule instanceof CSSMediaRuleImpl) { + final MediaListImpl mediaList = ((CSSMediaRuleImpl) cssRule).getMediaList(); + for (int j = 0; j < mediaList.getLength(); j++) { + final MediaQuery mediaQuery = mediaList.mediaQuery(j); + assertEquals(mediaQuery.toString(), mediaQuery.toString()); + mediaQ.add(mediaQuery.toString()); + } + } + } + final StringBuilder queries = new StringBuilder(); + for (final String string : mediaQ) { + queries.append(string); + queries.append(";"); + } + assertEquals(media, queries.toString()); + } +} diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index c20babf..c50b6b2 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -28,8 +28,6 @@ import java.io.StringReader; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; -import java.util.Set; -import java.util.TreeSet; import org.htmlunit.cssparser.ErrorHandler; import org.htmlunit.cssparser.dom.AbstractCSSRuleImpl; @@ -51,7 +49,6 @@ import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; import org.htmlunit.cssparser.parser.javacc.CSS3Parser; -import org.htmlunit.cssparser.parser.media.MediaQuery; import org.htmlunit.cssparser.parser.selector.ChildSelector; import org.htmlunit.cssparser.parser.selector.ElementSelector; import org.htmlunit.cssparser.parser.selector.Selector; @@ -3733,335 +3730,6 @@ public void unescapeAutoterminate() throws Exception { assertEquals("ab\u00e9\na", new CSS3Parser().unescape("ab\\0000e9\na", false)); } - /** - * @throws Exception if any error occurs - */ - @Test - public void realWorldMicrosoft() throws Exception { - realWorld("realworld/style.csx.css", 701, 1391, - "screen and (-webkit-min-device-pixel-ratio: 0);" - + "screen and (max-width: 480px);" - + "screen and (max-width: 539px);" - + "screen and (max-width: 667px) and (min-width: 485px);" - + "screen and (max-width: 679px);" - + "screen and (max-width: 680px);" - + "screen and (max-width: 900px);" - + "screen and (min-width: 0) and (max-width: 899px);" - + "screen and (min-width: 1024px);" - + "screen and (min-width: 1025px);" - + "screen and (min-width: 1025px) and (min-height: 900px);" - + "screen and (min-width: 33.75em);" - + "screen and (min-width: 42.5em);" - + "screen and (min-width: 53.5em);" - + "screen and (min-width: 540px);" - + "screen and (min-width: 540px) and (max-width: 679px);" - + "screen and (min-width: 560px);" - + "screen and (min-width: 600px);" - + "screen and (min-width: 64.0625em);" - + "screen and (min-width: 64.0625em) and (min-height: 768px);" - + "screen and (min-width: 64.0625em) and (min-height: 900px);" - + "screen and (min-width: 668px);" - + "screen and (min-width: 668px) and (max-width: 1024px);" - + "screen and (min-width: 680px);" - + "screen and (min-width: 680px) and (max-width: 899px);" - + "screen and (min-width: 70em);" - + "screen and (min-width: 70em) and (min-height: 768px);" - + "screen and (min-width: 70em) and (min-height: 900px);" - + "screen and (min-width: 900px);", 145, 0); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void realWorldOracle() throws Exception { - realWorld("realworld/compass-homestyle.css", 735, 2160, - "(max-height: 600px);" - + "(max-width: 600px);" - + "(max-width: 770px);" - + "(min-width: 0) and (max-width: 1012px);" - + "(min-width: 0) and (max-width: 1018px);" - + "(min-width: 0) and (max-width: 1111px);" - + "(min-width: 0) and (max-width: 1312px);" - + "(min-width: 0) and (max-width: 390px);" - + "(min-width: 0) and (max-width: 400px);" - + "(min-width: 0) and (max-width: 410px);" - + "(min-width: 0) and (max-width: 450px);" - + "(min-width: 0) and (max-width: 600px);" - + "(min-width: 0) and (max-width: 640px);" - + "(min-width: 0) and (max-width: 680px);" - + "(min-width: 0) and (max-width: 720px);" - + "(min-width: 0) and (max-width: 770px);" - + "(min-width: 0) and (max-width: 870px);" - + "(min-width: 0) and (max-width: 974px);" - + "(min-width: 601px);" - + "(min-width: 771px) and (max-width: 990px);" - + "only screen and (max-width: 974px);" - + "only screen and (min-width: 0) and (max-width: 1024px);" - + "only screen and (min-width: 0) and (max-width: 320px);" - + "only screen and (min-width: 0) and (max-width: 500px);" - + "only screen and (min-width: 0) and (max-width: 600px);" - + "only screen and (min-width: 0) and (max-width: 770px);" - + "only screen and (min-width: 0) and (max-width: 880px);" - + "only screen and (min-width: 0) and (max-width: 974px);" - + "only screen and (min-width: 1024px) and (max-width: 1360px);" - + "only screen and (min-width: 1360px);" - + "only screen and (min-width: 601px) and (max-width: 974px);" - + "only screen and (min-width: 771px) and (max-width: 974px);" - + "only screen and (min-width: 880px);" - + "only screen and (min-width: 974px);" - + "only screen and (min-width: 975px) and (max-width: 1040px);" - + "\ufffdscreen,screen\t;", 27, 1); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void realWorldIBM() throws Exception { - realWorld("realworld/www.css", 493, 983, - "only screen and (min-device-width: 768px) and (max-device-width: 1024px);print;screen;", 14, 1); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void realWorldApple() throws Exception { - realWorld("realworld/home.built.css", 675, 1027, - "only screen and (-webkit-min-device-pixel-ratio: 1.5);" - + "only screen and (max-device-width: 767px);" - + "only screen and (max-height: 970px);" - + "only screen and (max-width: 1023px);" - + "only screen and (max-width: 1024px);" - + "only screen and (max-width: 1024px) and (-webkit-min-device-pixel-ratio: 1.5);" - + "only screen and (max-width: 1024px) and (min-resolution: 144dpi);" - + "only screen and (max-width: 1024px) and (min-resolution: 144dppx);" - + "only screen and (max-width: 28em) and (max-device-width: 735px);" - + "only screen and (max-width: 320px);" - + "only screen and (max-width: 735px) and (max-device-width: 768px);" - + "only screen and (max-width: 735px) and (max-device-width: 768px) " - + "and (-webkit-min-device-pixel-ratio: 1.5);" - + "only screen and (max-width: 735px) and (max-device-width: 768px) and (min-resolution: 144dpi);" - + "only screen and (max-width: 735px) and (max-device-width: 768px) and (min-resolution: 144dppx);" - + "only screen and (max-width: 735px) and (max-device-width: 768px) and (orientation: portrait);" - + "only screen and (min-device-width: 768px);" - + "only screen and (min-width: 1442px);" - + "only screen and (min-width: 1442px) and (-webkit-min-device-pixel-ratio: 1.5);" - + "only screen and (min-width: 1442px) and (min-height: 1251px);" - + "only screen and (min-width: 1442px) and (min-resolution: 144dpi);" - + "only screen and (min-width: 1442px) and (min-resolution: 144dppx);" - + "print;" - + "screen and (min-resolution: 144dpi);" - + "screen and (min-resolution: 144dppx);", 1, 0); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void realWorldWikipedia() throws Exception { - realWorld("realworld/load.php.css", 90, 227, "print;screen;screen and (min-width: 982px);", 59, 0); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void realWorldNormalize() throws Exception { - realWorld("realworld/normalize.css", 40, 64, "", 0, 0); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void realWorldCargo() throws Exception { - realWorld("realworld/cargo.css", 123, 330, "", 0, 0); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void realWorldBlueprint() throws Exception { - realWorld("realworld/blueprint/screen.css", 245, 341, "", 0, 0); - realWorld("realworld/blueprint/print.css", 15, 33, "", 0, 0); - realWorld("realworld/blueprint/ie.css", 22, 30, "", 1, 0); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void realWorldBootstrap337() throws Exception { - final String media = "(-webkit-transform-3d);" - + "(max-device-width: 480px) and (orientation: landscape);" - + "(max-width: 767px);" - + "(min-width: 1200px);" - + "(min-width: 768px);" - + "(min-width: 768px) and (max-width: 991px);(min-width: 992px);" - + "(min-width: 992px) and (max-width: 1199px);" - + "all and (transform-3d);print;" - + "screen and (-webkit-min-device-pixel-ratio: 0);" - + "screen and (max-width: 767px);" - + "screen and (min-width: 768px);"; - realWorld("realworld/bootstrap_3_3_7_min.css", 1193, 2306, media, 1, 0); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void realWorldBootstrap400() throws Exception { - final String media = "(max-width: 1199.98px);" - + "(max-width: 575.98px);" - + "(max-width: 767.98px);" - + "(max-width: 991.98px);" - + "(min-width: 1200px);" - + "(min-width: 576px);" - + "(min-width: 768px);" - + "(min-width: 992px);" - + "print;"; - realWorld("realworld/bootstrap_4_0_0.css", 1033, 2470, media, 0, 0); - realWorld("realworld/bootstrap_4_0_0_min.css", 1033, 2470, media, 0, 0); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void realWorldBootstrap520() throws Exception { - final String media = "(max-width: 1199.98px);" - + "(max-width: 1199.98px) and (prefers-reduced-motion: reduce);" - + "(max-width: 1399.98px);(max-width: 1399.98px) and (prefers-reduced-motion: reduce);" - + "(max-width: 575.98px);" - + "(max-width: 575.98px) and (prefers-reduced-motion: reduce);" - + "(max-width: 767.98px);" - + "(max-width: 767.98px) and (prefers-reduced-motion: reduce);" - + "(max-width: 991.98px);" - + "(max-width: 991.98px) and (prefers-reduced-motion: reduce);" - + "(min-width: 1200px);" - + "(min-width: 1400px);" - + "(min-width: 576px);" - + "(min-width: 768px);" - + "(min-width: 992px);" - + "(prefers-reduced-motion: no-preference);" - + "(prefers-reduced-motion: reduce);" - + "print;"; - realWorld("realworld/bootstrap_5_2_0.css", 1198, 3033, media, 40, 0); - realWorld("realworld/bootstrap_5_2_0.min.css", 1198, 3033, media, 40, 0); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void realWorldSpiegel() throws Exception { - realWorld("realworld/style-V5-11.css", 2088, 6028, "screen and (min-width: 1030px);", 47, 0); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void realWorldStackoverflow() throws Exception { - final String media = "not all;" - + "only screen and (min--moz-device-pixel-ratio: 1.5);" - + "print;screen and (max-height: 740px);" - + "screen and (max-height: 750px);" - + "screen and (max-width: 1090px);" - + "screen and (max-width: 920px);"; - realWorld("realworld/all.css", 5237, 12403, media, 0, 0); - } - - /** - * @throws Exception if any error occurs - */ - @Test - public void realWorldMui() throws Exception { - final String media = "(-ms-high-contrast: active);" - + "(max-width: 543px);" - + "(min-width: 1200px);" - + "(min-width: 480px);" - + "(min-width: 544px);" - + "(min-width: 544px) and (max-width: 767px);" - + "(min-width: 768px);" - + "(min-width: 768px) and (max-width: 991px);" - + "(min-width: 992px);" - + "(min-width: 992px) and (max-width: 1199px);" - + "(orientation: landscape) and (max-height: 480px);" - + "all and (-ms-high-contrast: none);"; - realWorld("realworld/mui.css", 342, 752, media, 0, 0); - } - - /** - * Test case for https://github.com/jenkinsci/jenkins/pull/10078. - * @throws Exception if any error occurs - */ - @Test - public void realWorldJenkins10078() throws Exception { - final String media = "(hover: hover);" - + "(hover: hover) and (hover: hover);" - + "(hover: none);(max-width: 1200px);" - + "(max-width: 767px);(max-width: 900px);" - + "(min-width: 1170px);(min-width: 1200px);" - + "(min-width: 767px);" - + "(min-width: 768px) and (max-width: 991px);" - + "(min-width: 900px);" - + "(min-width: 992px) and (max-width: 1199px);" - + "(prefers-contrast: more);" - + "(prefers-reduced-motion);" - + "print;" - + "screen and (max-width: 1200px);" - + "screen and (max-width: 900px);" - + "screen and (min-width: 1300px);" - + "screen and (min-width: 1800px);" - + "screen and (min-width: 800px);"; - realWorld("realworld/jenkins_10078.css", 1423, 4016, media, 16, 0); - } - - private void realWorld(final String resourceName, final int rules, final int properties, - final String media, - final int err, final int warn) throws Exception { - final InputStream is = getClass().getClassLoader().getResourceAsStream(resourceName); - assertNotNull(is); - - final InputSource css = new InputSource(new InputStreamReader(is, StandardCharsets.UTF_8)); - final CSSStyleSheetImpl sheet = parse(css, err, 0, warn); - - final CSSRuleListImpl foundRules = sheet.getCssRules(); - assertEquals(rules, foundRules.getLength()); - - int foundProperties = 0; - for (int i = 0; i < foundRules.getLength(); i++) { - final AbstractCSSRuleImpl rule = foundRules.getRules().get(i); - if (rule instanceof CSSStyleRuleImpl) { - foundProperties += ((CSSStyleRuleImpl) rule).getStyle().getLength(); - } - } - assertEquals(properties, foundProperties); - - final Set mediaQ = new TreeSet<>(); - for (int i = 0; i < sheet.getCssRules().getLength(); i++) { - final AbstractCSSRuleImpl cssRule = sheet.getCssRules().getRules().get(i); - if (cssRule instanceof CSSMediaRuleImpl) { - final MediaListImpl mediaList = ((CSSMediaRuleImpl) cssRule).getMediaList(); - for (int j = 0; j < mediaList.getLength(); j++) { - final MediaQuery mediaQuery = mediaList.mediaQuery(j); - assertEquals(mediaQuery.toString(), mediaQuery.toString()); - mediaQ.add(mediaQuery.toString()); - } - } - } - final StringBuilder queries = new StringBuilder(); - for (final String string : mediaQ) { - queries.append(string); - queries.append(";"); - } - assertEquals(media, queries.toString()); - } - /** * Test unicode input based on a byte stream. * @@ -4459,6 +4127,26 @@ public void nonePropertyValue() throws Exception { assertEquals("*.test { display: none; }", rule.getCssText()); } + + /** + * @throws Exception if the test fails + */ + @Test + public void abc() throws Exception { + final String css = ".close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}"; + + final CSSStyleSheetImpl sheet = parse(css); + final CSSRuleListImpl rules = sheet.getCssRules(); + + assertEquals(1, rules.getLength()); + + final AbstractCSSRuleImpl rule = rules.getRules().get(0); + assertEquals("*.test { display: none; }", rule.toString()); + assertEquals("*.test { display: none; }", rule.getCssText()); + } + + + // /** // * @throws Exception if any error occurs // */ diff --git a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java index 566a97f..17bae83 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java @@ -99,7 +99,7 @@ public void hslRelative() throws Exception { color("foreground: hsl(from rgb(200 170 0) 7 11% 13%)", "foreground: hsl(from rgb(200 170 0) 7 11% 13%)"); color("foreground: hsl(from var(--base-color) 7 11% 13%)", "foreground: hsl(from var(--base-color) 7 11% 13%)"); - color("foreground: red calc(h + 7) calc(s - 11%) calc(l * 13%)", "foreground: red calc(h + 7) calc(s - 11%) calc(l * 13%)"); + color("foreground: hsl(from red calc(h + 7) calc(s - 11%) calc(l * 13%))", "foreground: hsl(from red calc(h + 7) calc(s - 11%) calc(l * 13%))"); } /** diff --git a/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java index f50f99f..2797803 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java @@ -52,6 +52,19 @@ public void hwbBlank() throws Exception { color("foreground: hwb(-270 60% 70% / none)", "foreground: hwb(-270 60% 70% / none)"); } + /** + * @throws Exception in case of failure + */ + @Test + public void hwbRelative() throws Exception { + color("foreground: hwb(from red h w b)", "foreground: hwb(from red h w b)"); + color("foreground: hwb(from red 7 11% 13%)", "foreground: hwb(from red 7 11% 13%)"); + color("foreground: hwb(from rgb(200 170 0) 7 11% 13%)", "foreground: hwb(from rgb(200 170 0) 7 11% 13%)"); + color("foreground: hwb(from var(--base-color) 7 11% 13%)", "foreground: hwb(from var(--base-color) 7 11% 13%)"); + + color("foreground: hwb(from red calc(h + 7) calc(w - 11%) calc(b * 13%))", "foreground: hwb(from red calc(h + 7) calc(w - 11%) calc(b * 13%))"); + } + /** * @throws Exception in case of failure */ diff --git a/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java index ee43731..10e9bf0 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java @@ -64,6 +64,19 @@ public void labMixed() throws Exception { color("foreground: lab(42% 128% 255%)", "foreground: lab(42% 128% 255%)"); } + /** + * @throws Exception in case of failure + */ + @Test + public void labRelative() throws Exception { + color("foreground: lab(from red l a b)", "foreground: lab(from red l a b)"); + color("foreground: lab(from red 7 11% 13%)", "foreground: lab(from red 7 11% 13%)"); + color("foreground: lab(from rgb(200 170 0) 7 11% 13%)", "foreground: lab(from rgb(200 170 0) 7 11% 13%)"); + color("foreground: lab(from var(--base-color) 7 11% 13%)", "foreground: lab(from var(--base-color) 7 11% 13%)"); + + color("foreground: lab(from red calc(h + 7) calc(w - 11%) calc(b * 13%))", "foreground: lab(from red calc(h + 7) calc(w - 11%) calc(b * 13%))"); + } + /** * @throws Exception in case of failure */ diff --git a/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java index b2c3164..74432b4 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java @@ -64,6 +64,19 @@ public void lchMixed() throws Exception { color("foreground: lch(42% 128% 255rad)", "foreground: lch(42% 128% 255rad)"); } + /** + * @throws Exception in case of failure + */ + @Test + public void lchRelative() throws Exception { + color("foreground: lch(from red l c h)", "foreground: lch(from red l c h)"); + color("foreground: lch(from red 7 11% 13deg)", "foreground: lch(from red 7 11% 13deg)"); + color("foreground: lch(from rgb(200 170 0) 7 11% 13deg)", "foreground: lch(from rgb(200 170 0) 7 11% 13deg)"); + color("foreground: lch(from var(--base-color) 7 11% 13deg)", "foreground: lch(from var(--base-color) 7 11% 13deg)"); + + color("foreground: lch(from red calc(h + 7) calc(w - 11%) calc(b * 13deg))", "foreground: lch(from red calc(h + 7) calc(w - 11%) calc(b * 13deg))"); + } + /** * @throws Exception in case of failure */ diff --git a/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java index 1932efc..e7c30be 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java @@ -64,6 +64,19 @@ public void oklabMixed() throws Exception { color("foreground: oklab(42% 128% 255%)", "foreground: oklab(42% 128% 255%)"); } + /** + * @throws Exception in case of failure + */ + @Test + public void labRelative() throws Exception { + color("foreground: oklab(from red l a b)", "foreground: oklab(from red l a b)"); + color("foreground: oklab(from red 7 11% 13%)", "foreground: oklab(from red 7 11% 13%)"); + color("foreground: oklab(from rgb(200 170 0) 7 11% 13%)", "foreground: oklab(from rgb(200 170 0) 7 11% 13%)"); + color("foreground: oklab(from var(--base-color) 7 11% 13%)", "foreground: oklab(from var(--base-color) 7 11% 13%)"); + + color("foreground: oklab(from red calc(h + 7) calc(w - 11%) calc(b * 13%))", "foreground: oklab(from red calc(h + 7) calc(w - 11%) calc(b * 13%))"); + } + /** * @throws Exception in case of failure */ diff --git a/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java index 9fd6b40..2e938ec 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java @@ -64,6 +64,19 @@ public void oklchMixed() throws Exception { color("foreground: oklch(42% 128% 255rad)", "foreground: oklch(42% 128% 255rad)"); } + /** + * @throws Exception in case of failure + */ + @Test + public void lchRelative() throws Exception { + color("foreground: oklch(from red l c h)", "foreground: oklch(from red l c h)"); + color("foreground: oklch(from red 7 11% 13deg)", "foreground: oklch(from red 7 11% 13deg)"); + color("foreground: oklch(from rgb(200 170 0) 7 11% 13deg)", "foreground: oklch(from rgb(200 170 0) 7 11% 13deg)"); + color("foreground: oklch(from var(--base-color) 7 11% 13deg)", "foreground: oklch(from var(--base-color) 7 11% 13deg)"); + + color("foreground: oklch(from red calc(h + 7) calc(w - 11%) calc(b * 13deg))", "foreground: oklch(from red calc(h + 7) calc(w - 11%) calc(b * 13deg))"); + } + /** * @throws Exception in case of failure */ From 4f0b22690b1bba133ea7ba9b579004351c90450a Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 8 Jan 2025 12:20:26 +0100 Subject: [PATCH 077/137] more tests --- .../parser/CSS3ParserRealWorldTest.java | 6 +- .../cssparser/parser/CSS3ParserTest.java | 20 - .../realworld/bootstrap-theme_3_4_1.css | 587 ++++++++++++++++++ .../realworld/bootstrap-theme_3_4_1.min.css | 6 + 4 files changed, 598 insertions(+), 21 deletions(-) create mode 100644 src/test/resources/realworld/bootstrap-theme_3_4_1.css create mode 100644 src/test/resources/realworld/bootstrap-theme_3_4_1.min.css diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java index 88ad5df..2d1e110 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -227,7 +227,7 @@ public void bootstrap_3_3_7() throws Exception { */ @Test public void bootstrap_3_4_1() throws Exception { - final String media = "(-webkit-transform-3d);" + String media = "(-webkit-transform-3d);" + "(max-device-width: 480px) and (orientation: landscape);" + "(max-width: 767px);" + "(min-width: 1200px);" @@ -240,6 +240,10 @@ public void bootstrap_3_4_1() throws Exception { + "screen and (min-width: 768px);"; realWorld("realworld/bootstrap_3_4_1.css", 1188, 2320, media, 0, 0); realWorld("realworld/bootstrap_3_4_1.min.css", 1188, 2319, media, 1, 0); + + media = "(max-width: 767px);"; + realWorld("realworld/bootstrap-theme_3_4_1.css", 63, 277, media, 0, 0); + realWorld("realworld/bootstrap-theme_3_4_1.min.css", 63, 277, media, 0, 0); } /** diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index c50b6b2..a1d99f2 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -4127,26 +4127,6 @@ public void nonePropertyValue() throws Exception { assertEquals("*.test { display: none; }", rule.getCssText()); } - - /** - * @throws Exception if the test fails - */ - @Test - public void abc() throws Exception { - final String css = ".close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}"; - - final CSSStyleSheetImpl sheet = parse(css); - final CSSRuleListImpl rules = sheet.getCssRules(); - - assertEquals(1, rules.getLength()); - - final AbstractCSSRuleImpl rule = rules.getRules().get(0); - assertEquals("*.test { display: none; }", rule.toString()); - assertEquals("*.test { display: none; }", rule.getCssText()); - } - - - // /** // * @throws Exception if any error occurs // */ diff --git a/src/test/resources/realworld/bootstrap-theme_3_4_1.css b/src/test/resources/realworld/bootstrap-theme_3_4_1.css new file mode 100644 index 0000000..ea33f76 --- /dev/null +++ b/src/test/resources/realworld/bootstrap-theme_3_4_1.css @@ -0,0 +1,587 @@ +/*! + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +.btn-default, +.btn-primary, +.btn-success, +.btn-info, +.btn-warning, +.btn-danger { + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); +} +.btn-default:active, +.btn-primary:active, +.btn-success:active, +.btn-info:active, +.btn-warning:active, +.btn-danger:active, +.btn-default.active, +.btn-primary.active, +.btn-success.active, +.btn-info.active, +.btn-warning.active, +.btn-danger.active { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-default.disabled, +.btn-primary.disabled, +.btn-success.disabled, +.btn-info.disabled, +.btn-warning.disabled, +.btn-danger.disabled, +.btn-default[disabled], +.btn-primary[disabled], +.btn-success[disabled], +.btn-info[disabled], +.btn-warning[disabled], +.btn-danger[disabled], +fieldset[disabled] .btn-default, +fieldset[disabled] .btn-primary, +fieldset[disabled] .btn-success, +fieldset[disabled] .btn-info, +fieldset[disabled] .btn-warning, +fieldset[disabled] .btn-danger { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-default .badge, +.btn-primary .badge, +.btn-success .badge, +.btn-info .badge, +.btn-warning .badge, +.btn-danger .badge { + text-shadow: none; +} +.btn:active, +.btn.active { + background-image: none; +} +.btn-default { + background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); + background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0)); + background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #dbdbdb; + text-shadow: 0 1px 0 #fff; + border-color: #ccc; +} +.btn-default:hover, +.btn-default:focus { + background-color: #e0e0e0; + background-position: 0 -15px; +} +.btn-default:active, +.btn-default.active { + background-color: #e0e0e0; + border-color: #dbdbdb; +} +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #e0e0e0; + background-image: none; +} +.btn-primary { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88)); + background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #245580; +} +.btn-primary:hover, +.btn-primary:focus { + background-color: #265a88; + background-position: 0 -15px; +} +.btn-primary:active, +.btn-primary.active { + background-color: #265a88; + border-color: #245580; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #265a88; + background-image: none; +} +.btn-success { + background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); + background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641)); + background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #3e8f3e; +} +.btn-success:hover, +.btn-success:focus { + background-color: #419641; + background-position: 0 -15px; +} +.btn-success:active, +.btn-success.active { + background-color: #419641; + border-color: #3e8f3e; +} +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #419641; + background-image: none; +} +.btn-info { + background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); + background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2)); + background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #28a4c9; +} +.btn-info:hover, +.btn-info:focus { + background-color: #2aabd2; + background-position: 0 -15px; +} +.btn-info:active, +.btn-info.active { + background-color: #2aabd2; + border-color: #28a4c9; +} +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #2aabd2; + background-image: none; +} +.btn-warning { + background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); + background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316)); + background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #e38d13; +} +.btn-warning:hover, +.btn-warning:focus { + background-color: #eb9316; + background-position: 0 -15px; +} +.btn-warning:active, +.btn-warning.active { + background-color: #eb9316; + border-color: #e38d13; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #eb9316; + background-image: none; +} +.btn-danger { + background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); + background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a)); + background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #b92c28; +} +.btn-danger:hover, +.btn-danger:focus { + background-color: #c12e2a; + background-position: 0 -15px; +} +.btn-danger:active, +.btn-danger.active { + background-color: #c12e2a; + border-color: #b92c28; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #c12e2a; + background-image: none; +} +.thumbnail, +.img-thumbnail { + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; + background-color: #e8e8e8; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; + background-color: #2e6da4; +} +.navbar-default { + background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%); + background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f8f8f8)); + background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .active > a { + background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); + background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2)); + background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0); + background-repeat: repeat-x; + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); +} +.navbar-brand, +.navbar-nav > li > a { + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25); +} +.navbar-inverse { + background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); + background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222)); + background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border-radius: 4px; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .active > a { + background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%); + background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f)); + background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0); + background-repeat: repeat-x; + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); +} +.navbar-inverse .navbar-brand, +.navbar-inverse .navbar-nav > li > a { + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.navbar-static-top, +.navbar-fixed-top, +.navbar-fixed-bottom { + border-radius: 0; +} +@media (max-width: 767px) { + .navbar .navbar-nav .open .dropdown-menu > .active > a, + .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; + } +} +.alert { + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); +} +.alert-success { + background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); + background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc)); + background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); + background-repeat: repeat-x; + border-color: #b2dba1; +} +.alert-info { + background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); + background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0)); + background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); + background-repeat: repeat-x; + border-color: #9acfea; +} +.alert-warning { + background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); + background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0)); + background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); + background-repeat: repeat-x; + border-color: #f5e79e; +} +.alert-danger { + background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); + background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3)); + background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); + background-repeat: repeat-x; + border-color: #dca7a7; +} +.progress { + background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); + background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5)); + background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090)); + background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-success { + background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); + background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44)); + background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-info { + background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); + background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5)); + background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-warning { + background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); + background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f)); + background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-danger { + background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); + background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c)); + background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.list-group { + border-radius: 4px; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + text-shadow: 0 -1px 0 #286090; + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0); + background-repeat: repeat-x; + border-color: #2b669a; +} +.list-group-item.active .badge, +.list-group-item.active:hover .badge, +.list-group-item.active:focus .badge { + text-shadow: none; +} +.panel { + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} +.panel-default > .panel-heading { + background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; +} +.panel-primary > .panel-heading { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; +} +.panel-success > .panel-heading { + background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); + background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6)); + background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); + background-repeat: repeat-x; +} +.panel-info > .panel-heading { + background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); + background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3)); + background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); + background-repeat: repeat-x; +} +.panel-warning > .panel-heading { + background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); + background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc)); + background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); + background-repeat: repeat-x; +} +.panel-danger > .panel-heading { + background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); + background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc)); + background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); + background-repeat: repeat-x; +} +.well { + background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); + background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5)); + background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); + background-repeat: repeat-x; + border-color: #dcdcdc; + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); +} +/*# sourceMappingURL=bootstrap-theme.css.map */ \ No newline at end of file diff --git a/src/test/resources/realworld/bootstrap-theme_3_4_1.min.css b/src/test/resources/realworld/bootstrap-theme_3_4_1.min.css new file mode 100644 index 0000000..2a69f48 --- /dev/null +++ b/src/test/resources/realworld/bootstrap-theme_3_4_1.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x;background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x;background-color:#2e6da4}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} +/*# sourceMappingURL=bootstrap-theme.min.css.map */ \ No newline at end of file From 053ca01801584faf49a28149b0afed9082c008dd Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 8 Jan 2025 12:31:54 +0100 Subject: [PATCH 078/137] rgb --- src/main/javacc/CSS3Parser.jj | 708 +++++++++++++----- .../cssparser/parser/RGBColorParserTest.java | 13 + 2 files changed, 538 insertions(+), 183 deletions(-) diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index da3f167..d9381b5 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1948,67 +1948,151 @@ LexicalUnit rgbColor(LexicalUnit prev) : ( )* ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - ) - ) - { op = ' '; next = param; } + ( { param = LexicalUnitImpl.createFrom(null); } + { next = param; } - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? + ( )* - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? + ( )* - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) - ( )* - ( - ( + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) ) + { op = ' '; } + ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? ) - ( )* - )? + | + ( ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + ) ) { return rgbColorInternal(prev, funct, param); @@ -2029,6 +2113,7 @@ LexicalUnit hslColor(LexicalUnit prev) : { t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } ( )* + ( ( { param = LexicalUnitImpl.createFrom(null); } { next = param; } @@ -2198,63 +2283,148 @@ LexicalUnit hwbColor(LexicalUnit prev) : t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } ( )* - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } - ) - ) - { op = ' '; next = param; } + ( ( { param = LexicalUnitImpl.createFrom(null); } + { next = param; } - ( )* + ( )* - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - ) - ) - { op = ' '; } + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) - ( )* + ( )* - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - ) - ) - { op = ' '; } + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | t = { next = LexicalUnitImpl.createDegree(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) - ( )* - )? + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) - - { - return hwbColorInternal(prev, funct, param); - } -} + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } + | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + ) + ) + + { + return hwbColorInternal(prev, funct, param); + } +} // lab() @@ -2272,56 +2442,142 @@ LexicalUnit labColor(LexicalUnit prev) : ( )* ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - ) - ) - { op = ' '; next = param; } + ( { param = LexicalUnitImpl.createFrom(null); } + { next = param; } - ( )* + ( )* - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) - ( )* + ( )* - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? ) - ( )* - )? + | + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + ) + ) { return labColorInternal(prev, funct, param); @@ -2344,58 +2600,144 @@ LexicalUnit lchColor(LexicalUnit prev) : ( )* ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - ) - ) - { op = ' '; next = param; } + ( { param = LexicalUnitImpl.createFrom(null); } + { next = param; } - ( )* + ( )* - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - ) - ) - { op = ' '; } + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) - ( )* + ( )* - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | t = { next = LexicalUnitImpl.createDegree(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } - ) - ) - { op = ' '; } + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + t = { next = LexicalUnitImpl.createDegree(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? ) - ( )* - )? + | + ( ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | t = { next = LexicalUnitImpl.createDegree(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } + | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + ) + + ( )* + )? + ) ) { return lchColorInternal(prev, funct, param); diff --git a/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java index a2b612c..8b36bc2 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java @@ -107,6 +107,19 @@ public void rgbMixed() throws Exception { color("foreground: rgb(42% 128% 255%)", "foreground: rgb(42% 128% 255%)"); } + /** + * @throws Exception in case of failure + */ + @Test + public void rgbRelative() throws Exception { + color("foreground: rgb(from red r g b)", "foreground: rgb(from red r g b)"); + color("foreground: rgb(from red 7 11% 13%)", "foreground: rgb(from red 7 11% 13%)"); + color("foreground: rgb(from rgb(200 170 0) 7 11% 13%)", "foreground: rgb(from rgb(200 170 0) 7 11% 13%)"); + color("foreground: rgb(from var(--base-color) 7 11% 13%)", "foreground: rgb(from var(--base-color) 7 11% 13%)"); + + color("foreground: rgb(from red calc(h + 7) calc(s - 11%) calc(l * 13%))", "foreground: rgb(from red calc(h + 7) calc(s - 11%) calc(l * 13%))"); + } + /** * @throws Exception in case of failure */ From 44aff364cec1277eed4241424be4ddf43f449101 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 8 Jan 2025 15:25:16 +0100 Subject: [PATCH 079/137] more tests --- .../cssparser/parser/HSLColorParserTest.java | 16 ---- .../cssparser/parser/HWBColorParserTest.java | 62 +++++++------ .../cssparser/parser/LABColorParserTest.java | 60 ++++++------ .../cssparser/parser/LCHColorParserTest.java | 60 ++++++------ .../parser/OKLABColorParserTest.java | 60 ++++++------ .../parser/OKLCHColorParserTest.java | 60 ++++++------ .../cssparser/parser/RGBColorParserTest.java | 93 ++++++++----------- 7 files changed, 196 insertions(+), 215 deletions(-) diff --git a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java index 17bae83..48ba758 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java @@ -177,7 +177,6 @@ public void hslaMixed() throws Exception { public void hslVariousErrors() throws Exception { // like browsers we ignore many errors during parsing - // separators color("foreground: hsl(10, 20% 30%)", "foreground: hsl(10, 20% 30%)"); color("foreground: hsl(10 20%, 30%)", "foreground: hsl(10 20%, 30%)"); @@ -197,21 +196,6 @@ public void hslVariousErrors() throws Exception { "foreground: hsl(10 20% -none)"); color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", "foreground: hsl(10 20% 30% / -none)"); -// -// // mixing numbers and percentages is supported by current browsers -// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20, 30)"); -// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20%, 30)"); -// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20%, 30)"); -// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20%, 30%)"); -// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10, 20, 30%)"); -// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad, 20, 30%)"); -// -// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20 30)"); -// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20% 30)"); -// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20% 30)"); -// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20% 30%)"); -// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10 20 30%)"); -// color("DOM exception: 'hsl mixing numbers and percentages.'", "foreground: hsl(10rad 20 30%)"); color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , .)", "foreground: hsl()"); diff --git a/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java index 2797803..e22fc03 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java @@ -70,35 +70,37 @@ public void hwbRelative() throws Exception { */ @Test public void hwbVariousErrors() throws Exception { -// color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", .)", -// "foreground: hwb(10, 20% 30%)"); -// color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", .)", "foreground: hwb(10 20%, 30%)"); -// -// color(1, "DOM exception: ''hwb' alpha value must be separated by '/'.'", "foreground: hwb(10 20% 30% 40)"); -// -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", -// "foreground: hwb(-none 20% 30%)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", .)", -// "foreground: hwb(10 -none 30%)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", .)", -// "foreground: hwb(10 20% -none)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: hwb(10 20% 30% / -none)"); -// -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", -// "foreground: hwb()"); -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", .)", -// "foreground: hwb(10)"); -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", .)", -// "foreground: hwb(10 20%)"); -// -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: hwb(10 20% 30%/)"); -// -// color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", .)", -// "foreground: hwb(10 20px 30)"); -// -// color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", , , , .)", -// "foreground: hwb('10' 20 30)"); + // like browsers we ignore many errors during parsing + + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10, 20% 30%)"); + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", .)", "foreground: hwb(10 20%, 30%)"); + + color("foreground: hwb(10 20% 30% 40)", "foreground: hwb(10 20% 30% 40)"); + + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , .)", + "foreground: hwb(-none 20% 30%)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10 -none 30%)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10 20% -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10 20% 30% / -none)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , .)", + "foreground: hwb()"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10 20%)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10 20% 30%/)"); + + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + "foreground: hwb(10 20px 30)"); + + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , .)", + "foreground: hwb('10' 20 30)"); } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java index 10e9bf0..c3a87bb 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java @@ -82,34 +82,36 @@ public void labRelative() throws Exception { */ @Test public void labVariousErrors() throws Exception { -// color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lab(10, 20 30)"); -// -// color(1, "DOM exception: ''lab' alpha value must be separated by '/'.'", "foreground: lab(10 20 30 40)"); -// -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lab(-none 20 30)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lab(10 -none 30)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lab(10 20 -none)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lab(10 20 30 / -none)"); -// -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lab()"); -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lab(10)"); -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lab(10 20)"); -// -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lab(10 20 30/)"); -// -// color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lab(10 20px 30)"); -// -// color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lab('10' 20 30)"); + // like browsers we ignore many errors during parsing + + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10, 20 30)"); + + color("foreground: lab(10 20 30 40)", "foreground: lab(10 20 30 40)"); + + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: lab(-none 20 30)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10 -none 30)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10 20 -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10 20 30 / -none)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: lab()"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10 20)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10 20 30/)"); + + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lab(10 20px 30)"); + + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: lab('10' 20 30)"); } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java index 74432b4..7dacd56 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java @@ -82,34 +82,36 @@ public void lchRelative() throws Exception { */ @Test public void lchVariousErrors() throws Exception { -// color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lch(10, 20 30deg)"); -// -// color(1, "DOM exception: ''lch' alpha value must be separated by '/'.'", "foreground: lch(10 20 30deg 40)"); -// -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lch(-none 20 30deg)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lch(10 -none 30deg)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", -// "foreground: lch(10 20 -none)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lch(10 20 30deg / -none)"); -// -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lch()"); -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lch(10)"); -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", -// "foreground: lch(10 20)"); -// -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lch(10 20 30deg/)"); -// -// color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lch(10 20px 30deg)"); -// -// color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: lch('10' 20 30deg)"); + // like browsers we ignore many errors during parsing + + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch(10, 20 30deg)"); + + color("foreground: lch(10 20 30deg 40)", "foreground: lch(10 20 30deg 40)"); + + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: lch(-none 20 30deg)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch(10 -none 30deg)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", + "foreground: lch(10 20 -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch(10 20 30deg / -none)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: lch()"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch(10)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", + "foreground: lch(10 20)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch(10 20 30deg/)"); + + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: lch(10 20px 30deg)"); + + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: lch('10' 20 30deg)"); } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java index e7c30be..3de035e 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java @@ -82,34 +82,36 @@ public void labRelative() throws Exception { */ @Test public void oklabVariousErrors() throws Exception { -// color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklab(10, 20 30)"); -// -// color(1, "DOM exception: ''oklab' alpha value must be separated by '/'.'", "foreground: oklab(10 20 30 40)"); -// -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklab(-none 20 30)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklab(10 -none 30)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklab(10 20 -none)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklab(10 20 30 / -none)"); -// -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklab()"); -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklab(10)"); -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklab(10 20)"); -// -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklab(10 20 30/)"); -// -// color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklab(10 20px 30)"); -// -// color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklab('10' 20 30)"); + // like browsers we ignore many errors during parsing + + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10, 20 30)"); + + color("foreground: oklab(10 20 30 40)", "foreground: oklab(10 20 30 40)"); + + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: oklab(-none 20 30)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10 -none 30)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10 20 -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10 20 30 / -none)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: oklab()"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10 20)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10 20 30/)"); + + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklab(10 20px 30)"); + + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: oklab('10' 20 30)"); } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java index 2e938ec..68a97a5 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java @@ -82,34 +82,36 @@ public void lchRelative() throws Exception { */ @Test public void oklchVariousErrors() throws Exception { -// color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklch(10, 20 30deg)"); -// -// color(1, "DOM exception: ''oklch' alpha value must be separated by '/'.'", "foreground: oklch(10 20 30deg 40)"); -// -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklch(-none 20 30deg)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklch(10 -none 30deg)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", -// "foreground: oklch(10 20 -none)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklch(10 20 30deg / -none)"); -// -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklch()"); -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklch(10)"); -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", -// "foreground: oklch(10 20)"); -// -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklch(10 20 30deg/)"); -// -// color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklch(10 20px 30deg)"); -// -// color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: oklch('10' 20 30deg)"); + // like browsers we ignore many errors during parsing + + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch(10, 20 30deg)"); + + color("foreground: oklch(10 20 30deg 40)", "foreground: oklch(10 20 30deg 40)"); + + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: oklch(-none 20 30deg)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch(10 -none 30deg)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", + "foreground: oklch(10 20 -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch(10 20 30deg / -none)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: oklch()"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch(10)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", + "foreground: oklch(10 20)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch(10 20 30deg/)"); + + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: oklch(10 20px 30deg)"); + + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: oklch('10' 20 30deg)"); } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java index 8b36bc2..7e69863 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java @@ -211,59 +211,46 @@ public void rgbaMixed() throws Exception { */ @Test public void rgbVariousErrors() throws Exception { -// color(1, "DOM exception: ''rgb' parameters must be separated by ','.'", "foreground: rgb(10, 20 30)"); -// color(1, "DOM exception: ''rgb' requires consitent separators (blank or comma).'", "foreground: rgb(10 20, 30)"); -// -// color(1, "DOM exception: ''rgb' alpha value must be separated by '/'.'", "foreground: rgb(10 20 30 40)"); -// -// color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(none, 20, 30)"); -// color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(10, none, 30)"); -// color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(10, 20, none)"); -// color(1, "DOM exception: ''rgb' has to use blank as separator if none is used.'", "foreground: rgb(10, 20, 30, none)"); -// -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: rgb(-none 20 30)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", -// "foreground: rgb(10 -none 30)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", -// "foreground: rgb(10 20 -none)"); -// color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: rgb(10 20 30 / -none)"); -// -// // mixing numbers and percentages is supported by current browsers -// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20, 30)"); -// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20%, 30)"); -// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20%, 30)"); -// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20%, 30%)"); -// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10, 20, 30%)"); -// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10%, 20, 30%)"); -// // -// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20 30)"); -// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20% 30)"); -// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20% 30)"); -// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20% 30%)"); -// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10 20 30%)"); -// // color(1, "DOM exception: 'rgb mixing numbers and percentages.'", "foreground: rgb(10% 20 30%)"); -// -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: rgb()"); -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", -// "foreground: rgb(10)"); -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", -// "foreground: rgb(10 20)"); -// -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: rgb(10, 20, 30,)"); -// color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: rgb(10, 20, 30/)"); -// -// color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: rgb(10, 20px, 30)"); -// color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", -// "foreground: rgb(10 20px 30)"); -// -// color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", -// "foreground: rgb('10', 20, 30,)"); + // like browsers we ignore many errors during parsing + + color("foreground: rgb(10, 20 30)", "foreground: rgb(10, 20 30)"); + color("foreground: rgb(10 20, 30)", "foreground: rgb(10 20, 30)"); + + color("foreground: rgb(10 20 30 40)", "foreground: rgb(10 20 30 40)"); + + color("foreground: rgb(none, 20, 30)", "foreground: rgb(none, 20, 30)"); + color("foreground: rgb(10, none, 30)", "foreground: rgb(10, none, 30)"); + color("foreground: rgb(10, 20, none)", "foreground: rgb(10, 20, none)"); + color("foreground: rgb(10, 20, 30, none)", "foreground: rgb(10, 20, 30, none)"); + + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: rgb(-none 20 30)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", + "foreground: rgb(10 -none 30)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", + "foreground: rgb(10 20 -none)"); + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: rgb(10 20 30 / -none)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: rgb()"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", + "foreground: rgb(10)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", + "foreground: rgb(10 20)"); + + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: rgb(10, 20, 30,)"); + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: rgb(10, 20, 30/)"); + + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + "foreground: rgb(10, 20px, 30)"); + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", + "foreground: rgb(10 20px 30)"); + + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + "foreground: rgb('10', 20, 30,)"); } /** From c02a55b12f819875607b1762d38fb266e2225090 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 8 Jan 2025 16:37:11 +0100 Subject: [PATCH 080/137] more color tests --- .../htmlunit/cssparser/parser/HSLColorParserTest.java | 5 +++++ .../htmlunit/cssparser/parser/HWBColorParserTest.java | 5 +++++ .../htmlunit/cssparser/parser/LABColorParserTest.java | 7 ++++++- .../htmlunit/cssparser/parser/LCHColorParserTest.java | 7 ++++++- .../htmlunit/cssparser/parser/OKLABColorParserTest.java | 9 +++++++-- .../htmlunit/cssparser/parser/OKLCHColorParserTest.java | 9 +++++++-- .../htmlunit/cssparser/parser/RGBColorParserTest.java | 7 ++++++- 7 files changed, 42 insertions(+), 7 deletions(-) diff --git a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java index 48ba758..b0d6608 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java @@ -95,11 +95,16 @@ public void hslMixed() throws Exception { @Test public void hslRelative() throws Exception { color("foreground: hsl(from red h s l)", "foreground: hsl(from red h s l)"); + color("foreground: hsl(from red h s l / alpha)", "foreground: hsl(from red h s l / alpha)"); + color("foreground: hsl(from red 7 11% 13%)", "foreground: hsl(from red 7 11% 13%)"); + color("foreground: hsl(from red 7 11% 13% / 0.7)", "foreground: hsl(from red 7 11% 13% / 0.7)"); + color("foreground: hsl(from rgb(200 170 0) 7 11% 13%)", "foreground: hsl(from rgb(200 170 0) 7 11% 13%)"); color("foreground: hsl(from var(--base-color) 7 11% 13%)", "foreground: hsl(from var(--base-color) 7 11% 13%)"); color("foreground: hsl(from red calc(h + 7) calc(s - 11%) calc(l * 13%))", "foreground: hsl(from red calc(h + 7) calc(s - 11%) calc(l * 13%))"); + color("foreground: hsl(from red calc(h + 7) calc(s - 11%) calc(l * 13%) / calc(alpha / 2))", "foreground: hsl(from red calc(h + 7) calc(s - 11%) calc(l * 13%) / calc(alpha / 2))"); } /** diff --git a/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java index e22fc03..4fb14ca 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java @@ -58,11 +58,16 @@ public void hwbBlank() throws Exception { @Test public void hwbRelative() throws Exception { color("foreground: hwb(from red h w b)", "foreground: hwb(from red h w b)"); + color("foreground: hwb(from red h w b / alpha)", "foreground: hwb(from red h w b / alpha)"); + color("foreground: hwb(from red 7 11% 13%)", "foreground: hwb(from red 7 11% 13%)"); + color("foreground: hwb(from red 7 11% 13% / 0.7)", "foreground: hwb(from red 7 11% 13% / 0.7)"); + color("foreground: hwb(from rgb(200 170 0) 7 11% 13%)", "foreground: hwb(from rgb(200 170 0) 7 11% 13%)"); color("foreground: hwb(from var(--base-color) 7 11% 13%)", "foreground: hwb(from var(--base-color) 7 11% 13%)"); color("foreground: hwb(from red calc(h + 7) calc(w - 11%) calc(b * 13%))", "foreground: hwb(from red calc(h + 7) calc(w - 11%) calc(b * 13%))"); + color("foreground: hwb(from red calc(h + 7) calc(w - 11%) calc(b * 13%) / calc(alpha / 2))", "foreground: hwb(from red calc(h + 7) calc(w - 11%) calc(b * 13%) / calc(alpha / 2))"); } /** diff --git a/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java index c3a87bb..58177e0 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java @@ -70,11 +70,16 @@ public void labMixed() throws Exception { @Test public void labRelative() throws Exception { color("foreground: lab(from red l a b)", "foreground: lab(from red l a b)"); + color("foreground: lab(from red l a b / alpha)", "foreground: lab(from red l a b / alpha)"); + color("foreground: lab(from red 7 11% 13%)", "foreground: lab(from red 7 11% 13%)"); + color("foreground: lab(from red 7 11% 13% / 0.7)", "foreground: lab(from red 7 11% 13% / 0.7)"); + color("foreground: lab(from rgb(200 170 0) 7 11% 13%)", "foreground: lab(from rgb(200 170 0) 7 11% 13%)"); color("foreground: lab(from var(--base-color) 7 11% 13%)", "foreground: lab(from var(--base-color) 7 11% 13%)"); - color("foreground: lab(from red calc(h + 7) calc(w - 11%) calc(b * 13%))", "foreground: lab(from red calc(h + 7) calc(w - 11%) calc(b * 13%))"); + color("foreground: lab(from red calc(l + 7) calc(a - 11%) calc(b * 13%))", "foreground: lab(from red calc(l + 7) calc(a - 11%) calc(b * 13%))"); + color("foreground: lab(from red calc(l + 7) calc(a - 11%) calc(b * 13%) / calc(alpha / 2))", "foreground: lab(from red calc(l + 7) calc(a - 11%) calc(b * 13%) / calc(alpha / 2))"); } /** diff --git a/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java index 7dacd56..fa06ce4 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java @@ -70,11 +70,16 @@ public void lchMixed() throws Exception { @Test public void lchRelative() throws Exception { color("foreground: lch(from red l c h)", "foreground: lch(from red l c h)"); + color("foreground: lch(from red l c h / alpha)", "foreground: lch(from red l c h / alpha)"); + color("foreground: lch(from red 7 11% 13deg)", "foreground: lch(from red 7 11% 13deg)"); + color("foreground: lch(from red 7 11% 13deg / 0.7)", "foreground: lch(from red 7 11% 13deg / 0.7)"); + color("foreground: lch(from rgb(200 170 0) 7 11% 13deg)", "foreground: lch(from rgb(200 170 0) 7 11% 13deg)"); color("foreground: lch(from var(--base-color) 7 11% 13deg)", "foreground: lch(from var(--base-color) 7 11% 13deg)"); - color("foreground: lch(from red calc(h + 7) calc(w - 11%) calc(b * 13deg))", "foreground: lch(from red calc(h + 7) calc(w - 11%) calc(b * 13deg))"); + color("foreground: lch(from red calc(l + 7) calc(c - 11%) calc(h * 13deg))", "foreground: lch(from red calc(l + 7) calc(c - 11%) calc(h * 13deg))"); + color("foreground: lch(from red calc(l + 7) calc(c - 11%) calc(h * 13deg) / calc(alpha / 2))", "foreground: lch(from red calc(l + 7) calc(c - 11%) calc(h * 13deg) / calc(alpha / 2))"); } /** diff --git a/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java index 3de035e..a5bb1ad 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java @@ -68,13 +68,18 @@ public void oklabMixed() throws Exception { * @throws Exception in case of failure */ @Test - public void labRelative() throws Exception { + public void oklabRelative() throws Exception { color("foreground: oklab(from red l a b)", "foreground: oklab(from red l a b)"); + color("foreground: oklab(from red l a b / alpha)", "foreground: oklab(from red l a b / alpha)"); + color("foreground: oklab(from red 7 11% 13%)", "foreground: oklab(from red 7 11% 13%)"); + color("foreground: oklab(from red 7 11% 13% / 0.7)", "foreground: oklab(from red 7 11% 13% / 0.7)"); + color("foreground: oklab(from rgb(200 170 0) 7 11% 13%)", "foreground: oklab(from rgb(200 170 0) 7 11% 13%)"); color("foreground: oklab(from var(--base-color) 7 11% 13%)", "foreground: oklab(from var(--base-color) 7 11% 13%)"); - color("foreground: oklab(from red calc(h + 7) calc(w - 11%) calc(b * 13%))", "foreground: oklab(from red calc(h + 7) calc(w - 11%) calc(b * 13%))"); + color("foreground: oklab(from red calc(l + 7) calc(a - 11%) calc(b * 13%))", "foreground: oklab(from red calc(l + 7) calc(a - 11%) calc(b * 13%))"); + color("foreground: oklab(from red calc(l + 7) calc(a - 11%) calc(b * 13%) / calc(alpha / 2))", "foreground: oklab(from red calc(l + 7) calc(a - 11%) calc(b * 13%) / calc(alpha / 2))"); } /** diff --git a/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java index 68a97a5..abdcb5d 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java @@ -68,13 +68,18 @@ public void oklchMixed() throws Exception { * @throws Exception in case of failure */ @Test - public void lchRelative() throws Exception { + public void oklchRelative() throws Exception { color("foreground: oklch(from red l c h)", "foreground: oklch(from red l c h)"); + color("foreground: oklch(from red l c h / alpha)", "foreground: oklch(from red l c h / alpha)"); + color("foreground: oklch(from red 7 11% 13deg)", "foreground: oklch(from red 7 11% 13deg)"); + color("foreground: oklch(from red 7 11% 13deg / 0.7)", "foreground: oklch(from red 7 11% 13deg / 0.7)"); + color("foreground: oklch(from rgb(200 170 0) 7 11% 13deg)", "foreground: oklch(from rgb(200 170 0) 7 11% 13deg)"); color("foreground: oklch(from var(--base-color) 7 11% 13deg)", "foreground: oklch(from var(--base-color) 7 11% 13deg)"); - color("foreground: oklch(from red calc(h + 7) calc(w - 11%) calc(b * 13deg))", "foreground: oklch(from red calc(h + 7) calc(w - 11%) calc(b * 13deg))"); + color("foreground: oklch(from red calc(l + 7) calc(c - 11%) calc(h * 13deg))", "foreground: oklch(from red calc(l + 7) calc(c - 11%) calc(h * 13deg))"); + color("foreground: oklch(from red calc(l + 7) calc(c - 11%) calc(h * 13deg) / calc(alpha / 2))", "foreground: oklch(from red calc(l + 7) calc(c - 11%) calc(h * 13deg) / calc(alpha / 2))"); } /** diff --git a/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java index 7e69863..d1e9990 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java @@ -113,11 +113,16 @@ public void rgbMixed() throws Exception { @Test public void rgbRelative() throws Exception { color("foreground: rgb(from red r g b)", "foreground: rgb(from red r g b)"); + color("foreground: rgb(from red r g b / alpha)", "foreground: rgb(from red r g b / alpha)"); + color("foreground: rgb(from red 7 11% 13%)", "foreground: rgb(from red 7 11% 13%)"); + color("foreground: rgb(from red 7 11% 13% / 0.7)", "foreground: rgb(from red 7 11% 13% / 0.7)"); + color("foreground: rgb(from rgb(200 170 0) 7 11% 13%)", "foreground: rgb(from rgb(200 170 0) 7 11% 13%)"); color("foreground: rgb(from var(--base-color) 7 11% 13%)", "foreground: rgb(from var(--base-color) 7 11% 13%)"); - color("foreground: rgb(from red calc(h + 7) calc(s - 11%) calc(l * 13%))", "foreground: rgb(from red calc(h + 7) calc(s - 11%) calc(l * 13%))"); + color("foreground: rgb(from red calc(r + 7) calc(g - 11%) calc(b * 13%))", "foreground: rgb(from red calc(r + 7) calc(g - 11%) calc(b * 13%))"); + color("foreground: rgb(from red calc(r + 7) calc(g - 11%) calc(b * 13%) / calc(alpha / 2))", "foreground: rgb(from red calc(r + 7) calc(g - 11%) calc(b * 13%) / calc(alpha / 2))"); } /** From 67733fbf961b2edb831dcb86c8449703c9610790 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Thu, 9 Jan 2025 10:25:26 +0100 Subject: [PATCH 081/137] more tests --- .../parser/CSS3ParserRealWorldTest.java | 98 + .../resources/realworld/foundation_6_9_0.css | 7753 ++++ .../realworld/foundation_6_9_0.min.css | 1 + .../resources/realworld/materialize_1_0_0.css | 9067 ++++ .../realworld/materialize_1_0_0.min.css | 13 + src/test/resources/realworld/pure_3_0_0.css | 1311 + .../resources/realworld/pure_3_0_0.min.css | 11 + .../resources/realworld/semantic_2_5_0.css | 38759 ++++++++++++++++ .../realworld/semantic_2_5_0.min.css | 372 + 9 files changed, 57385 insertions(+) create mode 100644 src/test/resources/realworld/foundation_6_9_0.css create mode 100644 src/test/resources/realworld/foundation_6_9_0.min.css create mode 100644 src/test/resources/realworld/materialize_1_0_0.css create mode 100644 src/test/resources/realworld/materialize_1_0_0.min.css create mode 100644 src/test/resources/realworld/pure_3_0_0.css create mode 100644 src/test/resources/realworld/pure_3_0_0.min.css create mode 100644 src/test/resources/realworld/semantic_2_5_0.css create mode 100644 src/test/resources/realworld/semantic_2_5_0.min.css diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java index 2d1e110..7a33c19 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -290,6 +290,104 @@ public void bootstrap_5_2_0() throws Exception { realWorld("realworld/bootstrap_5_2_0.min.css", 1198, 3033, media, 40, 0); } + /** + * @throws Exception if any error occurs + */ + @Test + public void foundation_6_9_0() throws Exception { + String media = "(-ms-high-contrast: active);" + + "all and (-ms-high-contrast: none);" + + "print;" + + "screen and (max-width: 0em);" + + "screen and (max-width: 39.99875em);" + + "screen and (max-width: 63.99875em);" + + "screen and (max-width: 74.99875em);" + + "screen and (min-width: 0\\0 );" + + "screen and (min-width: 40em);" + + "screen and (min-width: 40em) and (max-width: 63.99875em);" + + "screen and (min-width: 64em);" + + "screen and (min-width: 64em) and (max-width: 74.99875em);" + + "screen and (min-width: 75em);" + + "screen and (orientation: landscape);" + + "screen and (orientation: portrait);" + + "screen and (prefers-color-scheme: dark);"; + realWorld("realworld/foundation_6_9_0.css", 1048, 2759, media, 0, 0); + + media = media.replace("screen and (min-width: 0\\0 );", "screen and (min-width: 0\\0);"); + realWorld("realworld/foundation_6_9_0.min.css", 1048, 2759, media, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void materialize_1_0_0() throws Exception { + final String media = "only screen and (max-width: 360px);" + + "only screen and (max-width: 600px);" + + "only screen and (max-width: 992px);" + + "only screen and (min-width: 0);" + + "only screen and (min-width: 1200px);" + + "only screen and (min-width: 1201px);" + + "only screen and (min-width: 360px);" + + "only screen and (min-width: 390px);" + + "only screen and (min-width: 420px);" + + "only screen and (min-width: 450px);" + + "only screen and (min-width: 480px);" + + "only screen and (min-width: 510px);" + + "only screen and (min-width: 540px);" + + "only screen and (min-width: 570px);" + + "only screen and (min-width: 600px);" + + "only screen and (min-width: 600px) and (max-width: 992px);" + + "only screen and (min-width: 601px);" + + "only screen and (min-width: 601px) and (max-width: 992px);" + + "only screen and (min-width: 630px);" + + "only screen and (min-width: 660px);" + + "only screen and (min-width: 690px);" + + "only screen and (min-width: 720px);" + + "only screen and (min-width: 750px);" + + "only screen and (min-width: 780px);" + + "only screen and (min-width: 810px);" + + "only screen and (min-width: 840px);" + + "only screen and (min-width: 870px);" + + "only screen and (min-width: 900px);" + + "only screen and (min-width: 930px);" + + "only screen and (min-width: 960px);" + + "only screen and (min-width: 992px);" + + "only screen and (min-width: 993px);"; + realWorld("realworld/materialize_1_0_0.css", 1368, 2986, media, 0, 0); + realWorld("realworld/materialize_1_0_0.min.css", 1367, 2986, media, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void pure_3_0_0() throws Exception { + final String media = "only screen and (max-width: 480px);"; + realWorld("realworld/pure_3_0_0.css", 165, 334, media, 0, 0); + realWorld("realworld/pure_3_0_0.min.css", 165, 334, media, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void semantic_2_5_0() throws Exception { + final String media = "all and (-ms-high-contrast: none);" + + "only screen and (max-width: 767px);" + + "only screen and (max-width: 991px);" + + "only screen and (min-width: 1200px);" + + "only screen and (min-width: 1200px) and (max-width: 1919px);" + + "only screen and (min-width: 1920px);" + + "only screen and (min-width: 320px) and (max-width: 767px);" + + "only screen and (min-width: 768px);" + + "only screen and (min-width: 768px) and (max-width: 991px);" + + "only screen and (min-width: 992px);" + + "only screen and (min-width: 992px) and (max-width: 1199px);"; + realWorld("realworld/semantic_2_5_0.css", 5486, 10068, media, 7, 4); + realWorld("realworld/semantic_2_5_0.min.css", 5486, 10068, media, 7, 4); + } + /** * @throws Exception if any error occurs */ diff --git a/src/test/resources/realworld/foundation_6_9_0.css b/src/test/resources/realworld/foundation_6_9_0.css new file mode 100644 index 0000000..4b7da17 --- /dev/null +++ b/src/test/resources/realworld/foundation_6_9_0.css @@ -0,0 +1,7753 @@ +@charset "UTF-8"; +/** + * Foundation for Sites + * Version 6.9.0 + * https://get.foundation + * Licensed under MIT Open Source + */ +@media print, screen and (min-width: 40em) { + .reveal.large, .reveal.small, .reveal.tiny, .reveal { + right: auto; + left: auto; + margin: 0 auto; + } +} +/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */ +html { + line-height: 1.15; + -webkit-text-size-adjust: 100%; +} + +body { + margin: 0; +} + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +hr { + -webkit-box-sizing: content-box; + box-sizing: content-box; + height: 0; + overflow: visible; +} + +pre { + font-family: monospace, monospace; + font-size: 1em; +} + +a { + background-color: transparent; +} + +abbr[title] { + border-bottom: 0; + -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: -0.25em; +} + +sup { + top: -0.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; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} + +button::-moz-focus-inner, +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +button:-moz-focusring, +[type=button]:-moz-focusring, +[type=reset]:-moz-focusring, +[type=submit]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +legend { + -webkit-box-sizing: border-box; + 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] { + -webkit-box-sizing: border-box; + 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; +} + +[data-whatintent=mouse] *, [data-whatintent=mouse] *:focus, +[data-whatintent=touch] *, +[data-whatintent=touch] *:focus, +[data-whatinput=mouse] *, +[data-whatinput=mouse] *:focus, +[data-whatinput=touch] *, +[data-whatinput=touch] *:focus { + outline: none; +} + +[draggable=false] { + -webkit-touch-callout: none; + -webkit-user-select: none; +} + +.foundation-mq { + font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; +} + +html { + -webkit-box-sizing: border-box; + box-sizing: border-box; + font-size: 100%; +} + +*, +*::before, +*::after { + -webkit-box-sizing: inherit; + box-sizing: inherit; +} + +body { + margin: 0; + padding: 0; + background: #fefefe; + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-weight: normal; + line-height: 1.5; + color: #0a0a0a; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +img { + display: inline-block; + vertical-align: middle; + max-width: 100%; + height: auto; + -ms-interpolation-mode: bicubic; +} + +textarea { + height: auto; + min-height: 50px; + border-radius: 0; +} + +select { + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + border-radius: 0; +} + +.map_canvas img, +.map_canvas embed, +.map_canvas object, +.mqa-display img, +.mqa-display embed, +.mqa-display object { + max-width: none !important; +} + +button { + padding: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border: 0; + border-radius: 0; + background: transparent; + line-height: 1; + cursor: auto; +} +[data-whatinput=mouse] button { + outline: 0; +} + +pre { + overflow: auto; + -webkit-overflow-scrolling: touch; +} + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; +} + +.is-visible { + display: block !important; +} + +.is-hidden { + display: none !important; +} + +.grid-container { + max-width: 75rem; + margin-left: auto; + margin-right: auto; + padding-right: 0.625rem; + padding-left: 0.625rem; +} +@media print, screen and (min-width: 40em) { + .grid-container { + padding-right: 0.9375rem; + padding-left: 0.9375rem; + } +} +.grid-container.fluid { + max-width: 100%; + margin-left: auto; + margin-right: auto; + padding-right: 0.625rem; + padding-left: 0.625rem; +} +@media print, screen and (min-width: 40em) { + .grid-container.fluid { + padding-right: 0.9375rem; + padding-left: 0.9375rem; + } +} +.grid-container.full { + max-width: 100%; + margin-left: auto; + margin-right: auto; + padding-right: 0; + padding-left: 0; +} + +.grid-x { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; +} + +.cell { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + min-height: 0; + min-width: 0; + width: 100%; +} +.cell.auto { + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0; +} +.cell.shrink { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; +} + +.grid-x > .auto { + width: auto; +} +.grid-x > .shrink { + width: auto; +} + +.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 { + -ms-flex-preferred-size: auto; + flex-basis: auto; +} + +@media print, screen and (min-width: 40em) { + .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 { + -ms-flex-preferred-size: auto; + flex-basis: auto; + } +} +@media print, screen and (min-width: 64em) { + .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 { + -ms-flex-preferred-size: auto; + flex-basis: auto; + } +} +.grid-x > .small-12, .grid-x > .small-11, .grid-x > .small-10, .grid-x > .small-9, .grid-x > .small-8, .grid-x > .small-7, .grid-x > .small-6, .grid-x > .small-5, .grid-x > .small-4, .grid-x > .small-3, .grid-x > .small-2, .grid-x > .small-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; +} + +.grid-x > .small-1 { + width: 8.3333333333%; +} + +.grid-x > .small-2 { + width: 16.6666666667%; +} + +.grid-x > .small-3 { + width: 25%; +} + +.grid-x > .small-4 { + width: 33.3333333333%; +} + +.grid-x > .small-5 { + width: 41.6666666667%; +} + +.grid-x > .small-6 { + width: 50%; +} + +.grid-x > .small-7 { + width: 58.3333333333%; +} + +.grid-x > .small-8 { + width: 66.6666666667%; +} + +.grid-x > .small-9 { + width: 75%; +} + +.grid-x > .small-10 { + width: 83.3333333333%; +} + +.grid-x > .small-11 { + width: 91.6666666667%; +} + +.grid-x > .small-12 { + width: 100%; +} + +@media print, screen and (min-width: 40em) { + .grid-x > .medium-auto { + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0; + width: auto; + } + .grid-x > .medium-12, .grid-x > .medium-11, .grid-x > .medium-10, .grid-x > .medium-9, .grid-x > .medium-8, .grid-x > .medium-7, .grid-x > .medium-6, .grid-x > .medium-5, .grid-x > .medium-4, .grid-x > .medium-3, .grid-x > .medium-2, .grid-x > .medium-1, .grid-x > .medium-shrink { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + } + .grid-x > .medium-shrink { + width: auto; + } + .grid-x > .medium-1 { + width: 8.3333333333%; + } + .grid-x > .medium-2 { + width: 16.6666666667%; + } + .grid-x > .medium-3 { + width: 25%; + } + .grid-x > .medium-4 { + width: 33.3333333333%; + } + .grid-x > .medium-5 { + width: 41.6666666667%; + } + .grid-x > .medium-6 { + width: 50%; + } + .grid-x > .medium-7 { + width: 58.3333333333%; + } + .grid-x > .medium-8 { + width: 66.6666666667%; + } + .grid-x > .medium-9 { + width: 75%; + } + .grid-x > .medium-10 { + width: 83.3333333333%; + } + .grid-x > .medium-11 { + width: 91.6666666667%; + } + .grid-x > .medium-12 { + width: 100%; + } +} +@media print, screen and (min-width: 64em) { + .grid-x > .large-auto { + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0; + width: auto; + } + .grid-x > .large-12, .grid-x > .large-11, .grid-x > .large-10, .grid-x > .large-9, .grid-x > .large-8, .grid-x > .large-7, .grid-x > .large-6, .grid-x > .large-5, .grid-x > .large-4, .grid-x > .large-3, .grid-x > .large-2, .grid-x > .large-1, .grid-x > .large-shrink { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + } + .grid-x > .large-shrink { + width: auto; + } + .grid-x > .large-1 { + width: 8.3333333333%; + } + .grid-x > .large-2 { + width: 16.6666666667%; + } + .grid-x > .large-3 { + width: 25%; + } + .grid-x > .large-4 { + width: 33.3333333333%; + } + .grid-x > .large-5 { + width: 41.6666666667%; + } + .grid-x > .large-6 { + width: 50%; + } + .grid-x > .large-7 { + width: 58.3333333333%; + } + .grid-x > .large-8 { + width: 66.6666666667%; + } + .grid-x > .large-9 { + width: 75%; + } + .grid-x > .large-10 { + width: 83.3333333333%; + } + .grid-x > .large-11 { + width: 91.6666666667%; + } + .grid-x > .large-12 { + width: 100%; + } +} +.grid-margin-x:not(.grid-x) > .cell { + width: auto; +} + +.grid-margin-y:not(.grid-y) > .cell { + height: auto; +} + +.grid-margin-x { + margin-left: -0.625rem; + margin-right: -0.625rem; +} +@media print, screen and (min-width: 40em) { + .grid-margin-x { + margin-left: -0.9375rem; + margin-right: -0.9375rem; + } +} +.grid-margin-x > .cell { + width: calc(100% - 1.25rem); + margin-left: 0.625rem; + margin-right: 0.625rem; +} +@media print, screen and (min-width: 40em) { + .grid-margin-x > .cell { + width: calc(100% - 1.875rem); + margin-left: 0.9375rem; + margin-right: 0.9375rem; + } +} +.grid-margin-x > .auto { + width: auto; +} +.grid-margin-x > .shrink { + width: auto; +} +.grid-margin-x > .small-1 { + width: calc(8.3333333333% - 1.25rem); +} +.grid-margin-x > .small-2 { + width: calc(16.6666666667% - 1.25rem); +} +.grid-margin-x > .small-3 { + width: calc(25% - 1.25rem); +} +.grid-margin-x > .small-4 { + width: calc(33.3333333333% - 1.25rem); +} +.grid-margin-x > .small-5 { + width: calc(41.6666666667% - 1.25rem); +} +.grid-margin-x > .small-6 { + width: calc(50% - 1.25rem); +} +.grid-margin-x > .small-7 { + width: calc(58.3333333333% - 1.25rem); +} +.grid-margin-x > .small-8 { + width: calc(66.6666666667% - 1.25rem); +} +.grid-margin-x > .small-9 { + width: calc(75% - 1.25rem); +} +.grid-margin-x > .small-10 { + width: calc(83.3333333333% - 1.25rem); +} +.grid-margin-x > .small-11 { + width: calc(91.6666666667% - 1.25rem); +} +.grid-margin-x > .small-12 { + width: calc(100% - 1.25rem); +} +@media print, screen and (min-width: 40em) { + .grid-margin-x > .auto { + width: auto; + } + .grid-margin-x > .shrink { + width: auto; + } + .grid-margin-x > .small-1 { + width: calc(8.3333333333% - 1.875rem); + } + .grid-margin-x > .small-2 { + width: calc(16.6666666667% - 1.875rem); + } + .grid-margin-x > .small-3 { + width: calc(25% - 1.875rem); + } + .grid-margin-x > .small-4 { + width: calc(33.3333333333% - 1.875rem); + } + .grid-margin-x > .small-5 { + width: calc(41.6666666667% - 1.875rem); + } + .grid-margin-x > .small-6 { + width: calc(50% - 1.875rem); + } + .grid-margin-x > .small-7 { + width: calc(58.3333333333% - 1.875rem); + } + .grid-margin-x > .small-8 { + width: calc(66.6666666667% - 1.875rem); + } + .grid-margin-x > .small-9 { + width: calc(75% - 1.875rem); + } + .grid-margin-x > .small-10 { + width: calc(83.3333333333% - 1.875rem); + } + .grid-margin-x > .small-11 { + width: calc(91.6666666667% - 1.875rem); + } + .grid-margin-x > .small-12 { + width: calc(100% - 1.875rem); + } + .grid-margin-x > .medium-auto { + width: auto; + } + .grid-margin-x > .medium-shrink { + width: auto; + } + .grid-margin-x > .medium-1 { + width: calc(8.3333333333% - 1.875rem); + } + .grid-margin-x > .medium-2 { + width: calc(16.6666666667% - 1.875rem); + } + .grid-margin-x > .medium-3 { + width: calc(25% - 1.875rem); + } + .grid-margin-x > .medium-4 { + width: calc(33.3333333333% - 1.875rem); + } + .grid-margin-x > .medium-5 { + width: calc(41.6666666667% - 1.875rem); + } + .grid-margin-x > .medium-6 { + width: calc(50% - 1.875rem); + } + .grid-margin-x > .medium-7 { + width: calc(58.3333333333% - 1.875rem); + } + .grid-margin-x > .medium-8 { + width: calc(66.6666666667% - 1.875rem); + } + .grid-margin-x > .medium-9 { + width: calc(75% - 1.875rem); + } + .grid-margin-x > .medium-10 { + width: calc(83.3333333333% - 1.875rem); + } + .grid-margin-x > .medium-11 { + width: calc(91.6666666667% - 1.875rem); + } + .grid-margin-x > .medium-12 { + width: calc(100% - 1.875rem); + } +} +@media print, screen and (min-width: 64em) { + .grid-margin-x > .large-auto { + width: auto; + } + .grid-margin-x > .large-shrink { + width: auto; + } + .grid-margin-x > .large-1 { + width: calc(8.3333333333% - 1.875rem); + } + .grid-margin-x > .large-2 { + width: calc(16.6666666667% - 1.875rem); + } + .grid-margin-x > .large-3 { + width: calc(25% - 1.875rem); + } + .grid-margin-x > .large-4 { + width: calc(33.3333333333% - 1.875rem); + } + .grid-margin-x > .large-5 { + width: calc(41.6666666667% - 1.875rem); + } + .grid-margin-x > .large-6 { + width: calc(50% - 1.875rem); + } + .grid-margin-x > .large-7 { + width: calc(58.3333333333% - 1.875rem); + } + .grid-margin-x > .large-8 { + width: calc(66.6666666667% - 1.875rem); + } + .grid-margin-x > .large-9 { + width: calc(75% - 1.875rem); + } + .grid-margin-x > .large-10 { + width: calc(83.3333333333% - 1.875rem); + } + .grid-margin-x > .large-11 { + width: calc(91.6666666667% - 1.875rem); + } + .grid-margin-x > .large-12 { + width: calc(100% - 1.875rem); + } +} + +.grid-padding-x .grid-padding-x { + margin-right: -0.625rem; + margin-left: -0.625rem; +} +@media print, screen and (min-width: 40em) { + .grid-padding-x .grid-padding-x { + margin-right: -0.9375rem; + margin-left: -0.9375rem; + } +} +.grid-container:not(.full) > .grid-padding-x { + margin-right: -0.625rem; + margin-left: -0.625rem; +} +@media print, screen and (min-width: 40em) { + .grid-container:not(.full) > .grid-padding-x { + margin-right: -0.9375rem; + margin-left: -0.9375rem; + } +} +.grid-padding-x > .cell { + padding-right: 0.625rem; + padding-left: 0.625rem; +} +@media print, screen and (min-width: 40em) { + .grid-padding-x > .cell { + padding-right: 0.9375rem; + padding-left: 0.9375rem; + } +} + +.small-up-1 > .cell { + width: 100%; +} + +.small-up-2 > .cell { + width: 50%; +} + +.small-up-3 > .cell { + width: 33.3333333333%; +} + +.small-up-4 > .cell { + width: 25%; +} + +.small-up-5 > .cell { + width: 20%; +} + +.small-up-6 > .cell { + width: 16.6666666667%; +} + +.small-up-7 > .cell { + width: 14.2857142857%; +} + +.small-up-8 > .cell { + width: 12.5%; +} + +@media print, screen and (min-width: 40em) { + .medium-up-1 > .cell { + width: 100%; + } + .medium-up-2 > .cell { + width: 50%; + } + .medium-up-3 > .cell { + width: 33.3333333333%; + } + .medium-up-4 > .cell { + width: 25%; + } + .medium-up-5 > .cell { + width: 20%; + } + .medium-up-6 > .cell { + width: 16.6666666667%; + } + .medium-up-7 > .cell { + width: 14.2857142857%; + } + .medium-up-8 > .cell { + width: 12.5%; + } +} +@media print, screen and (min-width: 64em) { + .large-up-1 > .cell { + width: 100%; + } + .large-up-2 > .cell { + width: 50%; + } + .large-up-3 > .cell { + width: 33.3333333333%; + } + .large-up-4 > .cell { + width: 25%; + } + .large-up-5 > .cell { + width: 20%; + } + .large-up-6 > .cell { + width: 16.6666666667%; + } + .large-up-7 > .cell { + width: 14.2857142857%; + } + .large-up-8 > .cell { + width: 12.5%; + } +} +.grid-margin-x.small-up-1 > .cell { + width: calc(100% - 1.25rem); +} + +.grid-margin-x.small-up-2 > .cell { + width: calc(50% - 1.25rem); +} + +.grid-margin-x.small-up-3 > .cell { + width: calc(33.3333333333% - 1.25rem); +} + +.grid-margin-x.small-up-4 > .cell { + width: calc(25% - 1.25rem); +} + +.grid-margin-x.small-up-5 > .cell { + width: calc(20% - 1.25rem); +} + +.grid-margin-x.small-up-6 > .cell { + width: calc(16.6666666667% - 1.25rem); +} + +.grid-margin-x.small-up-7 > .cell { + width: calc(14.2857142857% - 1.25rem); +} + +.grid-margin-x.small-up-8 > .cell { + width: calc(12.5% - 1.25rem); +} + +@media print, screen and (min-width: 40em) { + .grid-margin-x.small-up-1 > .cell { + width: calc(100% - 1.875rem); + } + .grid-margin-x.small-up-2 > .cell { + width: calc(50% - 1.875rem); + } + .grid-margin-x.small-up-3 > .cell { + width: calc(33.3333333333% - 1.875rem); + } + .grid-margin-x.small-up-4 > .cell { + width: calc(25% - 1.875rem); + } + .grid-margin-x.small-up-5 > .cell { + width: calc(20% - 1.875rem); + } + .grid-margin-x.small-up-6 > .cell { + width: calc(16.6666666667% - 1.875rem); + } + .grid-margin-x.small-up-7 > .cell { + width: calc(14.2857142857% - 1.875rem); + } + .grid-margin-x.small-up-8 > .cell { + width: calc(12.5% - 1.875rem); + } + .grid-margin-x.medium-up-1 > .cell { + width: calc(100% - 1.875rem); + } + .grid-margin-x.medium-up-2 > .cell { + width: calc(50% - 1.875rem); + } + .grid-margin-x.medium-up-3 > .cell { + width: calc(33.3333333333% - 1.875rem); + } + .grid-margin-x.medium-up-4 > .cell { + width: calc(25% - 1.875rem); + } + .grid-margin-x.medium-up-5 > .cell { + width: calc(20% - 1.875rem); + } + .grid-margin-x.medium-up-6 > .cell { + width: calc(16.6666666667% - 1.875rem); + } + .grid-margin-x.medium-up-7 > .cell { + width: calc(14.2857142857% - 1.875rem); + } + .grid-margin-x.medium-up-8 > .cell { + width: calc(12.5% - 1.875rem); + } +} +@media print, screen and (min-width: 64em) { + .grid-margin-x.large-up-1 > .cell { + width: calc(100% - 1.875rem); + } + .grid-margin-x.large-up-2 > .cell { + width: calc(50% - 1.875rem); + } + .grid-margin-x.large-up-3 > .cell { + width: calc(33.3333333333% - 1.875rem); + } + .grid-margin-x.large-up-4 > .cell { + width: calc(25% - 1.875rem); + } + .grid-margin-x.large-up-5 > .cell { + width: calc(20% - 1.875rem); + } + .grid-margin-x.large-up-6 > .cell { + width: calc(16.6666666667% - 1.875rem); + } + .grid-margin-x.large-up-7 > .cell { + width: calc(14.2857142857% - 1.875rem); + } + .grid-margin-x.large-up-8 > .cell { + width: calc(12.5% - 1.875rem); + } +} +.small-margin-collapse { + margin-right: 0; + margin-left: 0; +} +.small-margin-collapse > .cell { + margin-right: 0; + margin-left: 0; +} +.small-margin-collapse > .small-1 { + width: 8.3333333333%; +} +.small-margin-collapse > .small-2 { + width: 16.6666666667%; +} +.small-margin-collapse > .small-3 { + width: 25%; +} +.small-margin-collapse > .small-4 { + width: 33.3333333333%; +} +.small-margin-collapse > .small-5 { + width: 41.6666666667%; +} +.small-margin-collapse > .small-6 { + width: 50%; +} +.small-margin-collapse > .small-7 { + width: 58.3333333333%; +} +.small-margin-collapse > .small-8 { + width: 66.6666666667%; +} +.small-margin-collapse > .small-9 { + width: 75%; +} +.small-margin-collapse > .small-10 { + width: 83.3333333333%; +} +.small-margin-collapse > .small-11 { + width: 91.6666666667%; +} +.small-margin-collapse > .small-12 { + width: 100%; +} +@media print, screen and (min-width: 40em) { + .small-margin-collapse > .medium-1 { + width: 8.3333333333%; + } + .small-margin-collapse > .medium-2 { + width: 16.6666666667%; + } + .small-margin-collapse > .medium-3 { + width: 25%; + } + .small-margin-collapse > .medium-4 { + width: 33.3333333333%; + } + .small-margin-collapse > .medium-5 { + width: 41.6666666667%; + } + .small-margin-collapse > .medium-6 { + width: 50%; + } + .small-margin-collapse > .medium-7 { + width: 58.3333333333%; + } + .small-margin-collapse > .medium-8 { + width: 66.6666666667%; + } + .small-margin-collapse > .medium-9 { + width: 75%; + } + .small-margin-collapse > .medium-10 { + width: 83.3333333333%; + } + .small-margin-collapse > .medium-11 { + width: 91.6666666667%; + } + .small-margin-collapse > .medium-12 { + width: 100%; + } +} +@media print, screen and (min-width: 64em) { + .small-margin-collapse > .large-1 { + width: 8.3333333333%; + } + .small-margin-collapse > .large-2 { + width: 16.6666666667%; + } + .small-margin-collapse > .large-3 { + width: 25%; + } + .small-margin-collapse > .large-4 { + width: 33.3333333333%; + } + .small-margin-collapse > .large-5 { + width: 41.6666666667%; + } + .small-margin-collapse > .large-6 { + width: 50%; + } + .small-margin-collapse > .large-7 { + width: 58.3333333333%; + } + .small-margin-collapse > .large-8 { + width: 66.6666666667%; + } + .small-margin-collapse > .large-9 { + width: 75%; + } + .small-margin-collapse > .large-10 { + width: 83.3333333333%; + } + .small-margin-collapse > .large-11 { + width: 91.6666666667%; + } + .small-margin-collapse > .large-12 { + width: 100%; + } +} + +.small-padding-collapse { + margin-right: 0; + margin-left: 0; +} +.small-padding-collapse > .cell { + padding-right: 0; + padding-left: 0; +} + +@media print, screen and (min-width: 40em) { + .medium-margin-collapse { + margin-right: 0; + margin-left: 0; + } + .medium-margin-collapse > .cell { + margin-right: 0; + margin-left: 0; + } +} +@media print, screen and (min-width: 40em) { + .medium-margin-collapse > .small-1 { + width: 8.3333333333%; + } + .medium-margin-collapse > .small-2 { + width: 16.6666666667%; + } + .medium-margin-collapse > .small-3 { + width: 25%; + } + .medium-margin-collapse > .small-4 { + width: 33.3333333333%; + } + .medium-margin-collapse > .small-5 { + width: 41.6666666667%; + } + .medium-margin-collapse > .small-6 { + width: 50%; + } + .medium-margin-collapse > .small-7 { + width: 58.3333333333%; + } + .medium-margin-collapse > .small-8 { + width: 66.6666666667%; + } + .medium-margin-collapse > .small-9 { + width: 75%; + } + .medium-margin-collapse > .small-10 { + width: 83.3333333333%; + } + .medium-margin-collapse > .small-11 { + width: 91.6666666667%; + } + .medium-margin-collapse > .small-12 { + width: 100%; + } +} +@media print, screen and (min-width: 40em) { + .medium-margin-collapse > .medium-1 { + width: 8.3333333333%; + } + .medium-margin-collapse > .medium-2 { + width: 16.6666666667%; + } + .medium-margin-collapse > .medium-3 { + width: 25%; + } + .medium-margin-collapse > .medium-4 { + width: 33.3333333333%; + } + .medium-margin-collapse > .medium-5 { + width: 41.6666666667%; + } + .medium-margin-collapse > .medium-6 { + width: 50%; + } + .medium-margin-collapse > .medium-7 { + width: 58.3333333333%; + } + .medium-margin-collapse > .medium-8 { + width: 66.6666666667%; + } + .medium-margin-collapse > .medium-9 { + width: 75%; + } + .medium-margin-collapse > .medium-10 { + width: 83.3333333333%; + } + .medium-margin-collapse > .medium-11 { + width: 91.6666666667%; + } + .medium-margin-collapse > .medium-12 { + width: 100%; + } +} +@media print, screen and (min-width: 64em) { + .medium-margin-collapse > .large-1 { + width: 8.3333333333%; + } + .medium-margin-collapse > .large-2 { + width: 16.6666666667%; + } + .medium-margin-collapse > .large-3 { + width: 25%; + } + .medium-margin-collapse > .large-4 { + width: 33.3333333333%; + } + .medium-margin-collapse > .large-5 { + width: 41.6666666667%; + } + .medium-margin-collapse > .large-6 { + width: 50%; + } + .medium-margin-collapse > .large-7 { + width: 58.3333333333%; + } + .medium-margin-collapse > .large-8 { + width: 66.6666666667%; + } + .medium-margin-collapse > .large-9 { + width: 75%; + } + .medium-margin-collapse > .large-10 { + width: 83.3333333333%; + } + .medium-margin-collapse > .large-11 { + width: 91.6666666667%; + } + .medium-margin-collapse > .large-12 { + width: 100%; + } +} + +@media print, screen and (min-width: 40em) { + .medium-padding-collapse { + margin-right: 0; + margin-left: 0; + } + .medium-padding-collapse > .cell { + padding-right: 0; + padding-left: 0; + } +} + +@media print, screen and (min-width: 64em) { + .large-margin-collapse { + margin-right: 0; + margin-left: 0; + } + .large-margin-collapse > .cell { + margin-right: 0; + margin-left: 0; + } +} +@media print, screen and (min-width: 64em) { + .large-margin-collapse > .small-1 { + width: 8.3333333333%; + } + .large-margin-collapse > .small-2 { + width: 16.6666666667%; + } + .large-margin-collapse > .small-3 { + width: 25%; + } + .large-margin-collapse > .small-4 { + width: 33.3333333333%; + } + .large-margin-collapse > .small-5 { + width: 41.6666666667%; + } + .large-margin-collapse > .small-6 { + width: 50%; + } + .large-margin-collapse > .small-7 { + width: 58.3333333333%; + } + .large-margin-collapse > .small-8 { + width: 66.6666666667%; + } + .large-margin-collapse > .small-9 { + width: 75%; + } + .large-margin-collapse > .small-10 { + width: 83.3333333333%; + } + .large-margin-collapse > .small-11 { + width: 91.6666666667%; + } + .large-margin-collapse > .small-12 { + width: 100%; + } +} +@media print, screen and (min-width: 64em) { + .large-margin-collapse > .medium-1 { + width: 8.3333333333%; + } + .large-margin-collapse > .medium-2 { + width: 16.6666666667%; + } + .large-margin-collapse > .medium-3 { + width: 25%; + } + .large-margin-collapse > .medium-4 { + width: 33.3333333333%; + } + .large-margin-collapse > .medium-5 { + width: 41.6666666667%; + } + .large-margin-collapse > .medium-6 { + width: 50%; + } + .large-margin-collapse > .medium-7 { + width: 58.3333333333%; + } + .large-margin-collapse > .medium-8 { + width: 66.6666666667%; + } + .large-margin-collapse > .medium-9 { + width: 75%; + } + .large-margin-collapse > .medium-10 { + width: 83.3333333333%; + } + .large-margin-collapse > .medium-11 { + width: 91.6666666667%; + } + .large-margin-collapse > .medium-12 { + width: 100%; + } +} +@media print, screen and (min-width: 64em) { + .large-margin-collapse > .large-1 { + width: 8.3333333333%; + } + .large-margin-collapse > .large-2 { + width: 16.6666666667%; + } + .large-margin-collapse > .large-3 { + width: 25%; + } + .large-margin-collapse > .large-4 { + width: 33.3333333333%; + } + .large-margin-collapse > .large-5 { + width: 41.6666666667%; + } + .large-margin-collapse > .large-6 { + width: 50%; + } + .large-margin-collapse > .large-7 { + width: 58.3333333333%; + } + .large-margin-collapse > .large-8 { + width: 66.6666666667%; + } + .large-margin-collapse > .large-9 { + width: 75%; + } + .large-margin-collapse > .large-10 { + width: 83.3333333333%; + } + .large-margin-collapse > .large-11 { + width: 91.6666666667%; + } + .large-margin-collapse > .large-12 { + width: 100%; + } +} + +@media print, screen and (min-width: 64em) { + .large-padding-collapse { + margin-right: 0; + margin-left: 0; + } + .large-padding-collapse > .cell { + padding-right: 0; + padding-left: 0; + } +} + +.small-offset-0 { + margin-left: 0%; +} + +.grid-margin-x > .small-offset-0 { + margin-left: calc(0% + 1.25rem / 2); +} + +.small-offset-1 { + margin-left: 8.3333333333%; +} + +.grid-margin-x > .small-offset-1 { + margin-left: calc(8.3333333333% + 1.25rem / 2); +} + +.small-offset-2 { + margin-left: 16.6666666667%; +} + +.grid-margin-x > .small-offset-2 { + margin-left: calc(16.6666666667% + 1.25rem / 2); +} + +.small-offset-3 { + margin-left: 25%; +} + +.grid-margin-x > .small-offset-3 { + margin-left: calc(25% + 1.25rem / 2); +} + +.small-offset-4 { + margin-left: 33.3333333333%; +} + +.grid-margin-x > .small-offset-4 { + margin-left: calc(33.3333333333% + 1.25rem / 2); +} + +.small-offset-5 { + margin-left: 41.6666666667%; +} + +.grid-margin-x > .small-offset-5 { + margin-left: calc(41.6666666667% + 1.25rem / 2); +} + +.small-offset-6 { + margin-left: 50%; +} + +.grid-margin-x > .small-offset-6 { + margin-left: calc(50% + 1.25rem / 2); +} + +.small-offset-7 { + margin-left: 58.3333333333%; +} + +.grid-margin-x > .small-offset-7 { + margin-left: calc(58.3333333333% + 1.25rem / 2); +} + +.small-offset-8 { + margin-left: 66.6666666667%; +} + +.grid-margin-x > .small-offset-8 { + margin-left: calc(66.6666666667% + 1.25rem / 2); +} + +.small-offset-9 { + margin-left: 75%; +} + +.grid-margin-x > .small-offset-9 { + margin-left: calc(75% + 1.25rem / 2); +} + +.small-offset-10 { + margin-left: 83.3333333333%; +} + +.grid-margin-x > .small-offset-10 { + margin-left: calc(83.3333333333% + 1.25rem / 2); +} + +.small-offset-11 { + margin-left: 91.6666666667%; +} + +.grid-margin-x > .small-offset-11 { + margin-left: calc(91.6666666667% + 1.25rem / 2); +} + +@media print, screen and (min-width: 40em) { + .medium-offset-0 { + margin-left: 0%; + } + .grid-margin-x > .medium-offset-0 { + margin-left: calc(0% + 1.875rem / 2); + } + .medium-offset-1 { + margin-left: 8.3333333333%; + } + .grid-margin-x > .medium-offset-1 { + margin-left: calc(8.3333333333% + 1.875rem / 2); + } + .medium-offset-2 { + margin-left: 16.6666666667%; + } + .grid-margin-x > .medium-offset-2 { + margin-left: calc(16.6666666667% + 1.875rem / 2); + } + .medium-offset-3 { + margin-left: 25%; + } + .grid-margin-x > .medium-offset-3 { + margin-left: calc(25% + 1.875rem / 2); + } + .medium-offset-4 { + margin-left: 33.3333333333%; + } + .grid-margin-x > .medium-offset-4 { + margin-left: calc(33.3333333333% + 1.875rem / 2); + } + .medium-offset-5 { + margin-left: 41.6666666667%; + } + .grid-margin-x > .medium-offset-5 { + margin-left: calc(41.6666666667% + 1.875rem / 2); + } + .medium-offset-6 { + margin-left: 50%; + } + .grid-margin-x > .medium-offset-6 { + margin-left: calc(50% + 1.875rem / 2); + } + .medium-offset-7 { + margin-left: 58.3333333333%; + } + .grid-margin-x > .medium-offset-7 { + margin-left: calc(58.3333333333% + 1.875rem / 2); + } + .medium-offset-8 { + margin-left: 66.6666666667%; + } + .grid-margin-x > .medium-offset-8 { + margin-left: calc(66.6666666667% + 1.875rem / 2); + } + .medium-offset-9 { + margin-left: 75%; + } + .grid-margin-x > .medium-offset-9 { + margin-left: calc(75% + 1.875rem / 2); + } + .medium-offset-10 { + margin-left: 83.3333333333%; + } + .grid-margin-x > .medium-offset-10 { + margin-left: calc(83.3333333333% + 1.875rem / 2); + } + .medium-offset-11 { + margin-left: 91.6666666667%; + } + .grid-margin-x > .medium-offset-11 { + margin-left: calc(91.6666666667% + 1.875rem / 2); + } +} +@media print, screen and (min-width: 64em) { + .large-offset-0 { + margin-left: 0%; + } + .grid-margin-x > .large-offset-0 { + margin-left: calc(0% + 1.875rem / 2); + } + .large-offset-1 { + margin-left: 8.3333333333%; + } + .grid-margin-x > .large-offset-1 { + margin-left: calc(8.3333333333% + 1.875rem / 2); + } + .large-offset-2 { + margin-left: 16.6666666667%; + } + .grid-margin-x > .large-offset-2 { + margin-left: calc(16.6666666667% + 1.875rem / 2); + } + .large-offset-3 { + margin-left: 25%; + } + .grid-margin-x > .large-offset-3 { + margin-left: calc(25% + 1.875rem / 2); + } + .large-offset-4 { + margin-left: 33.3333333333%; + } + .grid-margin-x > .large-offset-4 { + margin-left: calc(33.3333333333% + 1.875rem / 2); + } + .large-offset-5 { + margin-left: 41.6666666667%; + } + .grid-margin-x > .large-offset-5 { + margin-left: calc(41.6666666667% + 1.875rem / 2); + } + .large-offset-6 { + margin-left: 50%; + } + .grid-margin-x > .large-offset-6 { + margin-left: calc(50% + 1.875rem / 2); + } + .large-offset-7 { + margin-left: 58.3333333333%; + } + .grid-margin-x > .large-offset-7 { + margin-left: calc(58.3333333333% + 1.875rem / 2); + } + .large-offset-8 { + margin-left: 66.6666666667%; + } + .grid-margin-x > .large-offset-8 { + margin-left: calc(66.6666666667% + 1.875rem / 2); + } + .large-offset-9 { + margin-left: 75%; + } + .grid-margin-x > .large-offset-9 { + margin-left: calc(75% + 1.875rem / 2); + } + .large-offset-10 { + margin-left: 83.3333333333%; + } + .grid-margin-x > .large-offset-10 { + margin-left: calc(83.3333333333% + 1.875rem / 2); + } + .large-offset-11 { + margin-left: 91.6666666667%; + } + .grid-margin-x > .large-offset-11 { + margin-left: calc(91.6666666667% + 1.875rem / 2); + } +} +.grid-y { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-flow: column nowrap; + flex-flow: column nowrap; +} +.grid-y > .cell { + height: auto; + max-height: none; +} +.grid-y > .auto { + height: auto; +} +.grid-y > .shrink { + height: auto; +} +.grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 { + -ms-flex-preferred-size: auto; + flex-basis: auto; +} +@media print, screen and (min-width: 40em) { + .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 { + -ms-flex-preferred-size: auto; + flex-basis: auto; + } +} +@media print, screen and (min-width: 64em) { + .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 { + -ms-flex-preferred-size: auto; + flex-basis: auto; + } +} +.grid-y > .small-12, .grid-y > .small-11, .grid-y > .small-10, .grid-y > .small-9, .grid-y > .small-8, .grid-y > .small-7, .grid-y > .small-6, .grid-y > .small-5, .grid-y > .small-4, .grid-y > .small-3, .grid-y > .small-2, .grid-y > .small-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; +} +.grid-y > .small-1 { + height: 8.3333333333%; +} +.grid-y > .small-2 { + height: 16.6666666667%; +} +.grid-y > .small-3 { + height: 25%; +} +.grid-y > .small-4 { + height: 33.3333333333%; +} +.grid-y > .small-5 { + height: 41.6666666667%; +} +.grid-y > .small-6 { + height: 50%; +} +.grid-y > .small-7 { + height: 58.3333333333%; +} +.grid-y > .small-8 { + height: 66.6666666667%; +} +.grid-y > .small-9 { + height: 75%; +} +.grid-y > .small-10 { + height: 83.3333333333%; +} +.grid-y > .small-11 { + height: 91.6666666667%; +} +.grid-y > .small-12 { + height: 100%; +} +@media print, screen and (min-width: 40em) { + .grid-y > .medium-auto { + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0; + height: auto; + } + .grid-y > .medium-12, .grid-y > .medium-11, .grid-y > .medium-10, .grid-y > .medium-9, .grid-y > .medium-8, .grid-y > .medium-7, .grid-y > .medium-6, .grid-y > .medium-5, .grid-y > .medium-4, .grid-y > .medium-3, .grid-y > .medium-2, .grid-y > .medium-1, .grid-y > .medium-shrink { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + } + .grid-y > .medium-shrink { + height: auto; + } + .grid-y > .medium-1 { + height: 8.3333333333%; + } + .grid-y > .medium-2 { + height: 16.6666666667%; + } + .grid-y > .medium-3 { + height: 25%; + } + .grid-y > .medium-4 { + height: 33.3333333333%; + } + .grid-y > .medium-5 { + height: 41.6666666667%; + } + .grid-y > .medium-6 { + height: 50%; + } + .grid-y > .medium-7 { + height: 58.3333333333%; + } + .grid-y > .medium-8 { + height: 66.6666666667%; + } + .grid-y > .medium-9 { + height: 75%; + } + .grid-y > .medium-10 { + height: 83.3333333333%; + } + .grid-y > .medium-11 { + height: 91.6666666667%; + } + .grid-y > .medium-12 { + height: 100%; + } +} +@media print, screen and (min-width: 64em) { + .grid-y > .large-auto { + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0; + height: auto; + } + .grid-y > .large-12, .grid-y > .large-11, .grid-y > .large-10, .grid-y > .large-9, .grid-y > .large-8, .grid-y > .large-7, .grid-y > .large-6, .grid-y > .large-5, .grid-y > .large-4, .grid-y > .large-3, .grid-y > .large-2, .grid-y > .large-1, .grid-y > .large-shrink { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + } + .grid-y > .large-shrink { + height: auto; + } + .grid-y > .large-1 { + height: 8.3333333333%; + } + .grid-y > .large-2 { + height: 16.6666666667%; + } + .grid-y > .large-3 { + height: 25%; + } + .grid-y > .large-4 { + height: 33.3333333333%; + } + .grid-y > .large-5 { + height: 41.6666666667%; + } + .grid-y > .large-6 { + height: 50%; + } + .grid-y > .large-7 { + height: 58.3333333333%; + } + .grid-y > .large-8 { + height: 66.6666666667%; + } + .grid-y > .large-9 { + height: 75%; + } + .grid-y > .large-10 { + height: 83.3333333333%; + } + .grid-y > .large-11 { + height: 91.6666666667%; + } + .grid-y > .large-12 { + height: 100%; + } +} + +.grid-padding-y .grid-padding-y { + margin-top: -0.625rem; + margin-bottom: -0.625rem; +} +@media print, screen and (min-width: 40em) { + .grid-padding-y .grid-padding-y { + margin-top: -0.9375rem; + margin-bottom: -0.9375rem; + } +} +.grid-padding-y > .cell { + padding-top: 0.625rem; + padding-bottom: 0.625rem; +} +@media print, screen and (min-width: 40em) { + .grid-padding-y > .cell { + padding-top: 0.9375rem; + padding-bottom: 0.9375rem; + } +} + +.grid-margin-y { + margin-top: -0.625rem; + margin-bottom: -0.625rem; +} +@media print, screen and (min-width: 40em) { + .grid-margin-y { + margin-top: -0.9375rem; + margin-bottom: -0.9375rem; + } +} +.grid-margin-y > .cell { + height: calc(100% - 1.25rem); + margin-top: 0.625rem; + margin-bottom: 0.625rem; +} +@media print, screen and (min-width: 40em) { + .grid-margin-y > .cell { + height: calc(100% - 1.875rem); + margin-top: 0.9375rem; + margin-bottom: 0.9375rem; + } +} +.grid-margin-y > .auto { + height: auto; +} +.grid-margin-y > .shrink { + height: auto; +} +.grid-margin-y > .small-1 { + height: calc(8.3333333333% - 1.25rem); +} +.grid-margin-y > .small-2 { + height: calc(16.6666666667% - 1.25rem); +} +.grid-margin-y > .small-3 { + height: calc(25% - 1.25rem); +} +.grid-margin-y > .small-4 { + height: calc(33.3333333333% - 1.25rem); +} +.grid-margin-y > .small-5 { + height: calc(41.6666666667% - 1.25rem); +} +.grid-margin-y > .small-6 { + height: calc(50% - 1.25rem); +} +.grid-margin-y > .small-7 { + height: calc(58.3333333333% - 1.25rem); +} +.grid-margin-y > .small-8 { + height: calc(66.6666666667% - 1.25rem); +} +.grid-margin-y > .small-9 { + height: calc(75% - 1.25rem); +} +.grid-margin-y > .small-10 { + height: calc(83.3333333333% - 1.25rem); +} +.grid-margin-y > .small-11 { + height: calc(91.6666666667% - 1.25rem); +} +.grid-margin-y > .small-12 { + height: calc(100% - 1.25rem); +} +@media print, screen and (min-width: 40em) { + .grid-margin-y > .auto { + height: auto; + } + .grid-margin-y > .shrink { + height: auto; + } + .grid-margin-y > .small-1 { + height: calc(8.3333333333% - 1.875rem); + } + .grid-margin-y > .small-2 { + height: calc(16.6666666667% - 1.875rem); + } + .grid-margin-y > .small-3 { + height: calc(25% - 1.875rem); + } + .grid-margin-y > .small-4 { + height: calc(33.3333333333% - 1.875rem); + } + .grid-margin-y > .small-5 { + height: calc(41.6666666667% - 1.875rem); + } + .grid-margin-y > .small-6 { + height: calc(50% - 1.875rem); + } + .grid-margin-y > .small-7 { + height: calc(58.3333333333% - 1.875rem); + } + .grid-margin-y > .small-8 { + height: calc(66.6666666667% - 1.875rem); + } + .grid-margin-y > .small-9 { + height: calc(75% - 1.875rem); + } + .grid-margin-y > .small-10 { + height: calc(83.3333333333% - 1.875rem); + } + .grid-margin-y > .small-11 { + height: calc(91.6666666667% - 1.875rem); + } + .grid-margin-y > .small-12 { + height: calc(100% - 1.875rem); + } + .grid-margin-y > .medium-auto { + height: auto; + } + .grid-margin-y > .medium-shrink { + height: auto; + } + .grid-margin-y > .medium-1 { + height: calc(8.3333333333% - 1.875rem); + } + .grid-margin-y > .medium-2 { + height: calc(16.6666666667% - 1.875rem); + } + .grid-margin-y > .medium-3 { + height: calc(25% - 1.875rem); + } + .grid-margin-y > .medium-4 { + height: calc(33.3333333333% - 1.875rem); + } + .grid-margin-y > .medium-5 { + height: calc(41.6666666667% - 1.875rem); + } + .grid-margin-y > .medium-6 { + height: calc(50% - 1.875rem); + } + .grid-margin-y > .medium-7 { + height: calc(58.3333333333% - 1.875rem); + } + .grid-margin-y > .medium-8 { + height: calc(66.6666666667% - 1.875rem); + } + .grid-margin-y > .medium-9 { + height: calc(75% - 1.875rem); + } + .grid-margin-y > .medium-10 { + height: calc(83.3333333333% - 1.875rem); + } + .grid-margin-y > .medium-11 { + height: calc(91.6666666667% - 1.875rem); + } + .grid-margin-y > .medium-12 { + height: calc(100% - 1.875rem); + } +} +@media print, screen and (min-width: 64em) { + .grid-margin-y > .large-auto { + height: auto; + } + .grid-margin-y > .large-shrink { + height: auto; + } + .grid-margin-y > .large-1 { + height: calc(8.3333333333% - 1.875rem); + } + .grid-margin-y > .large-2 { + height: calc(16.6666666667% - 1.875rem); + } + .grid-margin-y > .large-3 { + height: calc(25% - 1.875rem); + } + .grid-margin-y > .large-4 { + height: calc(33.3333333333% - 1.875rem); + } + .grid-margin-y > .large-5 { + height: calc(41.6666666667% - 1.875rem); + } + .grid-margin-y > .large-6 { + height: calc(50% - 1.875rem); + } + .grid-margin-y > .large-7 { + height: calc(58.3333333333% - 1.875rem); + } + .grid-margin-y > .large-8 { + height: calc(66.6666666667% - 1.875rem); + } + .grid-margin-y > .large-9 { + height: calc(75% - 1.875rem); + } + .grid-margin-y > .large-10 { + height: calc(83.3333333333% - 1.875rem); + } + .grid-margin-y > .large-11 { + height: calc(91.6666666667% - 1.875rem); + } + .grid-margin-y > .large-12 { + height: calc(100% - 1.875rem); + } +} + +.grid-frame { + overflow: hidden; + position: relative; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + width: 100vw; +} + +.cell .grid-frame { + width: 100%; +} + +.cell-block { + overflow-x: auto; + max-width: 100%; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; +} + +.cell-block-y { + overflow-y: auto; + max-height: 100%; + min-height: 100%; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; +} + +.cell-block-container { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + max-height: 100%; +} +.cell-block-container > .grid-x { + max-height: 100%; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; +} + +@media print, screen and (min-width: 40em) { + .medium-grid-frame { + overflow: hidden; + position: relative; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + width: 100vw; + } + .cell .medium-grid-frame { + width: 100%; + } + .medium-cell-block { + overflow-x: auto; + max-width: 100%; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .medium-cell-block-container { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + max-height: 100%; + } + .medium-cell-block-container > .grid-x { + max-height: 100%; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .medium-cell-block-y { + overflow-y: auto; + max-height: 100%; + min-height: 100%; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } +} +@media print, screen and (min-width: 64em) { + .large-grid-frame { + overflow: hidden; + position: relative; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + width: 100vw; + } + .cell .large-grid-frame { + width: 100%; + } + .large-cell-block { + overflow-x: auto; + max-width: 100%; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .large-cell-block-container { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + max-height: 100%; + } + .large-cell-block-container > .grid-x { + max-height: 100%; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .large-cell-block-y { + overflow-y: auto; + max-height: 100%; + min-height: 100%; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } +} +.grid-y.grid-frame { + overflow: hidden; + position: relative; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + height: 100vh; + width: auto; +} +@media print, screen and (min-width: 40em) { + .grid-y.medium-grid-frame { + overflow: hidden; + position: relative; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + height: 100vh; + width: auto; + } +} +@media print, screen and (min-width: 64em) { + .grid-y.large-grid-frame { + overflow: hidden; + position: relative; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + height: 100vh; + width: auto; + } +} + +.cell .grid-y.grid-frame { + height: 100%; +} +@media print, screen and (min-width: 40em) { + .cell .grid-y.medium-grid-frame { + height: 100%; + } +} +@media print, screen and (min-width: 64em) { + .cell .grid-y.large-grid-frame { + height: 100%; + } +} + +.grid-margin-y { + margin-top: -0.625rem; + margin-bottom: -0.625rem; +} +@media print, screen and (min-width: 40em) { + .grid-margin-y { + margin-top: -0.9375rem; + margin-bottom: -0.9375rem; + } +} +.grid-margin-y > .cell { + height: calc(100% - 1.25rem); + margin-top: 0.625rem; + margin-bottom: 0.625rem; +} +@media print, screen and (min-width: 40em) { + .grid-margin-y > .cell { + height: calc(100% - 1.875rem); + margin-top: 0.9375rem; + margin-bottom: 0.9375rem; + } +} +.grid-margin-y > .auto { + height: auto; +} +.grid-margin-y > .shrink { + height: auto; +} +.grid-margin-y > .small-1 { + height: calc(8.3333333333% - 1.25rem); +} +.grid-margin-y > .small-2 { + height: calc(16.6666666667% - 1.25rem); +} +.grid-margin-y > .small-3 { + height: calc(25% - 1.25rem); +} +.grid-margin-y > .small-4 { + height: calc(33.3333333333% - 1.25rem); +} +.grid-margin-y > .small-5 { + height: calc(41.6666666667% - 1.25rem); +} +.grid-margin-y > .small-6 { + height: calc(50% - 1.25rem); +} +.grid-margin-y > .small-7 { + height: calc(58.3333333333% - 1.25rem); +} +.grid-margin-y > .small-8 { + height: calc(66.6666666667% - 1.25rem); +} +.grid-margin-y > .small-9 { + height: calc(75% - 1.25rem); +} +.grid-margin-y > .small-10 { + height: calc(83.3333333333% - 1.25rem); +} +.grid-margin-y > .small-11 { + height: calc(91.6666666667% - 1.25rem); +} +.grid-margin-y > .small-12 { + height: calc(100% - 1.25rem); +} +@media print, screen and (min-width: 40em) { + .grid-margin-y > .auto { + height: auto; + } + .grid-margin-y > .shrink { + height: auto; + } + .grid-margin-y > .small-1 { + height: calc(8.3333333333% - 1.875rem); + } + .grid-margin-y > .small-2 { + height: calc(16.6666666667% - 1.875rem); + } + .grid-margin-y > .small-3 { + height: calc(25% - 1.875rem); + } + .grid-margin-y > .small-4 { + height: calc(33.3333333333% - 1.875rem); + } + .grid-margin-y > .small-5 { + height: calc(41.6666666667% - 1.875rem); + } + .grid-margin-y > .small-6 { + height: calc(50% - 1.875rem); + } + .grid-margin-y > .small-7 { + height: calc(58.3333333333% - 1.875rem); + } + .grid-margin-y > .small-8 { + height: calc(66.6666666667% - 1.875rem); + } + .grid-margin-y > .small-9 { + height: calc(75% - 1.875rem); + } + .grid-margin-y > .small-10 { + height: calc(83.3333333333% - 1.875rem); + } + .grid-margin-y > .small-11 { + height: calc(91.6666666667% - 1.875rem); + } + .grid-margin-y > .small-12 { + height: calc(100% - 1.875rem); + } + .grid-margin-y > .medium-auto { + height: auto; + } + .grid-margin-y > .medium-shrink { + height: auto; + } + .grid-margin-y > .medium-1 { + height: calc(8.3333333333% - 1.875rem); + } + .grid-margin-y > .medium-2 { + height: calc(16.6666666667% - 1.875rem); + } + .grid-margin-y > .medium-3 { + height: calc(25% - 1.875rem); + } + .grid-margin-y > .medium-4 { + height: calc(33.3333333333% - 1.875rem); + } + .grid-margin-y > .medium-5 { + height: calc(41.6666666667% - 1.875rem); + } + .grid-margin-y > .medium-6 { + height: calc(50% - 1.875rem); + } + .grid-margin-y > .medium-7 { + height: calc(58.3333333333% - 1.875rem); + } + .grid-margin-y > .medium-8 { + height: calc(66.6666666667% - 1.875rem); + } + .grid-margin-y > .medium-9 { + height: calc(75% - 1.875rem); + } + .grid-margin-y > .medium-10 { + height: calc(83.3333333333% - 1.875rem); + } + .grid-margin-y > .medium-11 { + height: calc(91.6666666667% - 1.875rem); + } + .grid-margin-y > .medium-12 { + height: calc(100% - 1.875rem); + } +} +@media print, screen and (min-width: 64em) { + .grid-margin-y > .large-auto { + height: auto; + } + .grid-margin-y > .large-shrink { + height: auto; + } + .grid-margin-y > .large-1 { + height: calc(8.3333333333% - 1.875rem); + } + .grid-margin-y > .large-2 { + height: calc(16.6666666667% - 1.875rem); + } + .grid-margin-y > .large-3 { + height: calc(25% - 1.875rem); + } + .grid-margin-y > .large-4 { + height: calc(33.3333333333% - 1.875rem); + } + .grid-margin-y > .large-5 { + height: calc(41.6666666667% - 1.875rem); + } + .grid-margin-y > .large-6 { + height: calc(50% - 1.875rem); + } + .grid-margin-y > .large-7 { + height: calc(58.3333333333% - 1.875rem); + } + .grid-margin-y > .large-8 { + height: calc(66.6666666667% - 1.875rem); + } + .grid-margin-y > .large-9 { + height: calc(75% - 1.875rem); + } + .grid-margin-y > .large-10 { + height: calc(83.3333333333% - 1.875rem); + } + .grid-margin-y > .large-11 { + height: calc(91.6666666667% - 1.875rem); + } + .grid-margin-y > .large-12 { + height: calc(100% - 1.875rem); + } +} + +.grid-frame.grid-margin-y { + height: calc(100vh + 1.25rem); +} +@media print, screen and (min-width: 40em) { + .grid-frame.grid-margin-y { + height: calc(100vh + 1.875rem); + } +} +@media print, screen and (min-width: 64em) { + .grid-frame.grid-margin-y { + height: calc(100vh + 1.875rem); + } +} + +@media print, screen and (min-width: 40em) { + .grid-margin-y.medium-grid-frame { + height: calc(100vh + 1.875rem); + } +} +@media print, screen and (min-width: 64em) { + .grid-margin-y.large-grid-frame { + height: calc(100vh + 1.875rem); + } +} +.align-left { + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.align-right { + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; +} + +.align-center { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} + +.align-justify { + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.align-spaced { + -ms-flex-pack: distribute; + justify-content: space-around; +} + +.align-left.vertical.menu > li > a { + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.align-right.vertical.menu > li > a { + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; +} + +.align-center.vertical.menu > li > a { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} + +.align-top { + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; +} + +.align-self-top { + -ms-flex-item-align: start; + align-self: flex-start; +} + +.align-bottom { + -webkit-box-align: end; + -ms-flex-align: end; + align-items: flex-end; +} + +.align-self-bottom { + -ms-flex-item-align: end; + align-self: flex-end; +} + +.align-middle { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} + +.align-self-middle { + -ms-flex-item-align: center; + align-self: center; +} + +.align-stretch { + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; +} + +.align-self-stretch { + -ms-flex-item-align: stretch; + align-self: stretch; +} + +.align-center-middle { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -ms-flex-line-pack: center; + align-content: center; +} + +.small-order-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; +} + +.small-order-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; +} + +.small-order-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; +} + +.small-order-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; +} + +.small-order-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; +} + +.small-order-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; +} + +@media print, screen and (min-width: 40em) { + .medium-order-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + .medium-order-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + } + .medium-order-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; + } + .medium-order-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; + } + .medium-order-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; + } + .medium-order-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; + } +} +@media print, screen and (min-width: 64em) { + .large-order-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + .large-order-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + } + .large-order-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; + } + .large-order-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; + } + .large-order-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; + } + .large-order-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; + } +} +.flex-container { + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} + +.flex-child-auto { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; +} + +.flex-child-grow { + -webkit-box-flex: 1; + -ms-flex: 1 0 auto; + flex: 1 0 auto; +} + +.flex-child-shrink { + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; +} + +.flex-dir-row { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; +} + +.flex-dir-row-reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; +} + +.flex-dir-column { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.flex-dir-column-reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; +} + +@media print, screen and (min-width: 40em) { + .medium-flex-container { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + } + .medium-flex-child-auto { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + } + .medium-flex-child-grow { + -webkit-box-flex: 1; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + } + .medium-flex-child-shrink { + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + } + .medium-flex-dir-row { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .medium-flex-dir-row-reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + } + .medium-flex-dir-column { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + } + .medium-flex-dir-column-reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + } +} +@media print, screen and (min-width: 64em) { + .large-flex-container { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + } + .large-flex-child-auto { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + } + .large-flex-child-grow { + -webkit-box-flex: 1; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + } + .large-flex-child-shrink { + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + } + .large-flex-dir-row { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .large-flex-dir-row-reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + } + .large-flex-dir-column { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + } + .large-flex-dir-column-reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + } +} +div, +dl, +dt, +dd, +ul, +ol, +li, +h1, +h2, +h3, +h4, +h5, +h6, +pre, +form, +p, +blockquote, +th, +td { + margin: 0; + padding: 0; +} + +p { + margin-bottom: 1rem; + font-size: inherit; + line-height: 1.6; + text-rendering: optimizeLegibility; +} + +em, +i { + font-style: italic; + line-height: inherit; +} + +strong, +b { + font-weight: bold; + line-height: inherit; +} + +small { + font-size: 80%; + line-height: inherit; +} + +h1, .h1, +h2, .h2, +h3, .h3, +h4, .h4, +h5, .h5, +h6, .h6 { + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-style: normal; + font-weight: normal; + color: inherit; + text-rendering: optimizeLegibility; +} +h1 small, .h1 small, +h2 small, .h2 small, +h3 small, .h3 small, +h4 small, .h4 small, +h5 small, .h5 small, +h6 small, .h6 small { + line-height: 0; + color: #cacaca; +} + +h1, .h1 { + font-size: 1.5rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; +} + +h2, .h2 { + font-size: 1.25rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; +} + +h3, .h3 { + font-size: 1.1875rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; +} + +h4, .h4 { + font-size: 1.125rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; +} + +h5, .h5 { + font-size: 1.0625rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; +} + +h6, .h6 { + font-size: 1rem; + line-height: 1.4; + margin-top: 0; + margin-bottom: 0.5rem; +} + +@media print, screen and (min-width: 40em) { + h1, .h1 { + font-size: 3rem; + } + h2, .h2 { + font-size: 2.5rem; + } + h3, .h3 { + font-size: 1.9375rem; + } + h4, .h4 { + font-size: 1.5625rem; + } + h5, .h5 { + font-size: 1.25rem; + } + h6, .h6 { + font-size: 1rem; + } +} +a { + line-height: inherit; + color: #1779ba; + text-decoration: none; + cursor: pointer; +} +a:hover, a:focus { + color: rgb(19.78, 104.06, 159.96); +} +a img { + border: 0; +} + +hr { + clear: both; + max-width: 75rem; + height: 0; + margin: 1.25rem auto; + border-top: 0; + border-right: 0; + border-bottom: 1px solid #cacaca; + border-left: 0; +} + +ul, +ol, +dl { + margin-bottom: 1rem; + list-style-position: outside; + line-height: 1.6; +} + +li { + font-size: inherit; +} + +ul { + margin-left: 1.25rem; + list-style-type: disc; +} + +ol { + margin-left: 1.25rem; +} + +ul ul, ul ol, ol ul, ol ol { + margin-left: 1.25rem; + margin-bottom: 0; +} + +dl { + margin-bottom: 1rem; +} +dl dt { + margin-bottom: 0.3rem; + font-weight: bold; +} + +blockquote { + margin: 0 0 1rem; + padding: 0.5625rem 1.25rem 0 1.1875rem; + border-left: 1px solid #cacaca; +} +blockquote, blockquote p { + line-height: 1.6; + color: #8a8a8a; +} + +abbr, abbr[title] { + border-bottom: 1px dotted #0a0a0a; + cursor: help; + text-decoration: none; +} + +figure { + margin: 0; +} + +kbd { + margin: 0; + padding: 0.125rem 0.25rem 0; + background-color: #e6e6e6; + font-family: Consolas, "Liberation Mono", Courier, monospace; + color: #0a0a0a; +} + +.subheader { + margin-top: 0.2rem; + margin-bottom: 0.5rem; + font-weight: normal; + line-height: 1.4; + color: #8a8a8a; +} + +.lead { + font-size: 125%; + line-height: 1.6; +} + +.stat { + font-size: 2.5rem; + line-height: 1; +} +p + .stat { + margin-top: -1rem; +} + +ul.no-bullet, ol.no-bullet { + margin-left: 0; + list-style: none; +} + +.cite-block, cite { + display: block; + color: #8a8a8a; + font-size: 0.8125rem; +} +.cite-block:before, cite:before { + content: "— "; +} + +.code-inline, code { + border: 1px solid #cacaca; + background-color: #e6e6e6; + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-weight: normal; + color: #0a0a0a; + display: inline; + max-width: 100%; + word-wrap: break-word; + padding: 0.125rem 0.3125rem 0.0625rem; +} + +.code-block { + border: 1px solid #cacaca; + background-color: #e6e6e6; + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-weight: normal; + color: #0a0a0a; + display: block; + overflow: auto; + white-space: pre; + padding: 1rem; + margin-bottom: 1.5rem; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-center { + text-align: center; +} + +.text-justify { + text-align: justify; +} + +@media print, screen and (min-width: 40em) { + .medium-text-left { + text-align: left; + } + .medium-text-right { + text-align: right; + } + .medium-text-center { + text-align: center; + } + .medium-text-justify { + text-align: justify; + } +} +@media print, screen and (min-width: 64em) { + .large-text-left { + text-align: left; + } + .large-text-right { + text-align: right; + } + .large-text-center { + text-align: center; + } + .large-text-justify { + text-align: justify; + } +} +.show-for-print { + display: none !important; +} + +@media print { + * { + background: transparent !important; + color: black !important; + -webkit-print-color-adjust: economy; + print-color-adjust: economy; + -webkit-box-shadow: none !important; + box-shadow: none !important; + text-shadow: none !important; + } + .show-for-print { + display: block !important; + } + .hide-for-print { + display: none !important; + } + table.show-for-print { + display: table !important; + } + thead.show-for-print { + display: table-header-group !important; + } + tbody.show-for-print { + display: table-row-group !important; + } + tr.show-for-print { + display: table-row !important; + } + td.show-for-print { + display: table-cell !important; + } + th.show-for-print { + display: table-cell !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + pre, + blockquote { + border: 1px solid #8a8a8a; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 0.5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .print-break-inside { + page-break-inside: auto; + } +} +.button { + display: inline-block; + vertical-align: middle; + margin: 0 0 1rem 0; + border: 1px solid transparent; + border-radius: 0; + -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out; + transition: background-color 0.25s ease-out, color 0.25s ease-out; + font-family: inherit; + font-size: 0.9rem; + -webkit-appearance: none; + line-height: 1; + text-align: center; + cursor: pointer; + padding: 0.85em 1em; +} +[data-whatinput=mouse] .button { + outline: 0; +} +.button.tiny { + font-size: 0.6rem; +} +.button.small { + font-size: 0.75rem; +} +.button.large { + font-size: 1.25rem; +} +.button.expanded { + display: block; + width: 100%; + margin-right: 0; + margin-left: 0; +} +.button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus { + background-color: #1779ba; + color: #fefefe; +} +.button:hover, .button:focus { + background-color: rgb(19.55, 102.85, 158.1); + color: #fefefe; +} +.button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus { + background-color: #1779ba; + color: #fefefe; +} +.button.primary:hover, .button.primary:focus { + background-color: rgb(18.4, 96.8, 148.8); + color: #fefefe; +} +.button.secondary, .button.secondary.disabled, .button.secondary[disabled], .button.secondary.disabled:hover, .button.secondary[disabled]:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:focus { + background-color: #767676; + color: #fefefe; +} +.button.secondary:hover, .button.secondary:focus { + background-color: rgb(94.4, 94.4, 94.4); + color: #fefefe; +} +.button.success, .button.success.disabled, .button.success[disabled], .button.success.disabled:hover, .button.success[disabled]:hover, .button.success.disabled:focus, .button.success[disabled]:focus { + background-color: #3adb76; + color: #0a0a0a; +} +.button.success:hover, .button.success:focus { + background-color: rgb(34.2386266094, 187.3613733906, 91.3030042918); + color: #0a0a0a; +} +.button.warning, .button.warning.disabled, .button.warning[disabled], .button.warning.disabled:hover, .button.warning[disabled]:hover, .button.warning.disabled:focus, .button.warning[disabled]:focus { + background-color: #ffae00; + color: #0a0a0a; +} +.button.warning:hover, .button.warning:focus { + background-color: rgb(204, 139.2, 0); + color: #0a0a0a; +} +.button.alert, .button.alert.disabled, .button.alert[disabled], .button.alert.disabled:hover, .button.alert[disabled]:hover, .button.alert.disabled:focus, .button.alert[disabled]:focus { + background-color: #cc4b37; + color: #fefefe; +} +.button.alert:hover, .button.alert:focus { + background-color: rgb(165.0996015936, 58.6103585657, 42.1003984064); + color: #fefefe; +} +.button.hollow, .button.hollow:hover, .button.hollow:focus, .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus { + background-color: transparent; +} +.button.hollow, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus { + border: 1px solid #1779ba; + color: #1779ba; +} +.button.hollow:hover, .button.hollow:focus { + border-color: rgb(11.5, 60.5, 93); + color: rgb(11.5, 60.5, 93); +} +.button.hollow.primary, .button.hollow.primary.disabled, .button.hollow.primary[disabled], .button.hollow.primary.disabled:hover, .button.hollow.primary[disabled]:hover, .button.hollow.primary.disabled:focus, .button.hollow.primary[disabled]:focus { + border: 1px solid #1779ba; + color: #1779ba; +} +.button.hollow.primary:hover, .button.hollow.primary:focus { + border-color: rgb(11.5, 60.5, 93); + color: rgb(11.5, 60.5, 93); +} +.button.hollow.secondary, .button.hollow.secondary.disabled, .button.hollow.secondary[disabled], .button.hollow.secondary.disabled:hover, .button.hollow.secondary[disabled]:hover, .button.hollow.secondary.disabled:focus, .button.hollow.secondary[disabled]:focus { + border: 1px solid #767676; + color: #767676; +} +.button.hollow.secondary:hover, .button.hollow.secondary:focus { + border-color: #3b3b3b; + color: #3b3b3b; +} +.button.hollow.success, .button.hollow.success.disabled, .button.hollow.success[disabled], .button.hollow.success.disabled:hover, .button.hollow.success[disabled]:hover, .button.hollow.success.disabled:focus, .button.hollow.success[disabled]:focus { + border: 1px solid #3adb76; + color: #3adb76; +} +.button.hollow.success:hover, .button.hollow.success:focus { + border-color: rgb(21.3991416309, 117.1008583691, 57.0643776824); + color: rgb(21.3991416309, 117.1008583691, 57.0643776824); +} +.button.hollow.warning, .button.hollow.warning.disabled, .button.hollow.warning[disabled], .button.hollow.warning.disabled:hover, .button.hollow.warning[disabled]:hover, .button.hollow.warning.disabled:focus, .button.hollow.warning[disabled]:focus { + border: 1px solid #ffae00; + color: #ffae00; +} +.button.hollow.warning:hover, .button.hollow.warning:focus { + border-color: rgb(127.5, 87, 0); + color: rgb(127.5, 87, 0); +} +.button.hollow.alert, .button.hollow.alert.disabled, .button.hollow.alert[disabled], .button.hollow.alert.disabled:hover, .button.hollow.alert[disabled]:hover, .button.hollow.alert.disabled:focus, .button.hollow.alert[disabled]:focus { + border: 1px solid #cc4b37; + color: #cc4b37; +} +.button.hollow.alert:hover, .button.hollow.alert:focus { + border-color: rgb(103.187250996, 36.6314741036, 26.312749004); + color: rgb(103.187250996, 36.6314741036, 26.312749004); +} +.button.clear, .button.clear:hover, .button.clear:focus, .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus { + border-color: transparent; + background-color: transparent; +} +.button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear.disabled:hover, .button.clear[disabled]:hover, .button.clear.disabled:focus, .button.clear[disabled]:focus { + color: #1779ba; +} +.button.clear:hover, .button.clear:focus { + color: rgb(11.5, 60.5, 93); +} +.button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary.disabled:hover, .button.clear.primary[disabled]:hover, .button.clear.primary.disabled:focus, .button.clear.primary[disabled]:focus { + color: #1779ba; +} +.button.clear.primary:hover, .button.clear.primary:focus { + color: rgb(11.5, 60.5, 93); +} +.button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary.disabled:hover, .button.clear.secondary[disabled]:hover, .button.clear.secondary.disabled:focus, .button.clear.secondary[disabled]:focus { + color: #767676; +} +.button.clear.secondary:hover, .button.clear.secondary:focus { + color: #3b3b3b; +} +.button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success.disabled:hover, .button.clear.success[disabled]:hover, .button.clear.success.disabled:focus, .button.clear.success[disabled]:focus { + color: #3adb76; +} +.button.clear.success:hover, .button.clear.success:focus { + color: rgb(21.3991416309, 117.1008583691, 57.0643776824); +} +.button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning.disabled:hover, .button.clear.warning[disabled]:hover, .button.clear.warning.disabled:focus, .button.clear.warning[disabled]:focus { + color: #ffae00; +} +.button.clear.warning:hover, .button.clear.warning:focus { + color: rgb(127.5, 87, 0); +} +.button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert.disabled:hover, .button.clear.alert[disabled]:hover, .button.clear.alert.disabled:focus, .button.clear.alert[disabled]:focus { + color: #cc4b37; +} +.button.clear.alert:hover, .button.clear.alert:focus { + color: rgb(103.187250996, 36.6314741036, 26.312749004); +} +.button.disabled, .button[disabled] { + opacity: 0.25; + cursor: not-allowed; +} +.button.dropdown::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 0.4em; + content: ""; + border-bottom-width: 0; + border-color: #fefefe transparent transparent; + position: relative; + top: 0.4em; + display: inline-block; + float: right; + margin-left: 1em; +} +.button.dropdown.hollow::after, .button.dropdown.clear::after { + border-top-color: #1779ba; +} +.button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after { + border-top-color: #1779ba; +} +.button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after { + border-top-color: #767676; +} +.button.dropdown.hollow.success::after, .button.dropdown.clear.success::after { + border-top-color: #3adb76; +} +.button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after { + border-top-color: #ffae00; +} +.button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after { + border-top-color: #cc4b37; +} +.button.arrow-only::after { + top: -0.1em; + float: none; + margin-left: 0; +} + +a.button:hover, a.button:focus { + text-decoration: none; +} + +[type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color], +textarea { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + display: block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + height: 2.4375rem; + margin: 0 0 1rem; + padding: 0.5rem; + border: 1px solid #cacaca; + border-radius: 0; + background-color: #fefefe; + -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); + box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); + font-family: inherit; + font-size: 1rem; + font-weight: normal; + line-height: 1.5; + color: #0a0a0a; + -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; +} +[type=text]:focus, [type=password]:focus, [type=date]:focus, [type=datetime]:focus, [type=datetime-local]:focus, [type=month]:focus, [type=week]:focus, [type=email]:focus, [type=number]:focus, [type=search]:focus, [type=tel]:focus, [type=time]:focus, [type=url]:focus, [type=color]:focus, +textarea:focus { + outline: none; + border: 1px solid #8a8a8a; + background-color: #fefefe; + -webkit-box-shadow: 0 0 5px #cacaca; + box-shadow: 0 0 5px #cacaca; + -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; +} + +textarea { + max-width: 100%; +} +textarea[rows] { + height: auto; +} + +input:disabled, input[readonly], +textarea:disabled, +textarea[readonly] { + background-color: #e6e6e6; + cursor: not-allowed; +} + +[type=submit], +[type=button] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0; +} + +input[type=search] { + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +::-webkit-input-placeholder { + color: #cacaca; +} + +::-moz-placeholder { + color: #cacaca; +} + +:-ms-input-placeholder { + color: #cacaca; +} + +::-ms-input-placeholder { + color: #cacaca; +} + +::placeholder { + color: #cacaca; +} + +[type=file], +[type=checkbox], +[type=radio] { + margin: 0 0 1rem; +} + +[type=checkbox] + label, +[type=radio] + label { + display: inline-block; + vertical-align: baseline; + margin-left: 0.5rem; + margin-right: 1rem; + margin-bottom: 0; +} +[type=checkbox] + label[for], +[type=radio] + label[for] { + cursor: pointer; +} + +label > [type=checkbox], +label > [type=radio] { + margin-right: 0.5rem; +} + +[type=file] { + width: 100%; +} + +label { + display: block; + margin: 0; + font-size: 0.875rem; + font-weight: normal; + line-height: 1.8; + color: #0a0a0a; +} +label.middle { + margin: 0 0 1rem; + line-height: 1.5; + padding: 0.5625rem 0; +} + +.help-text { + margin-top: -0.5rem; + font-size: 0.8125rem; + font-style: italic; + color: #0a0a0a; +} + +.input-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + width: 100%; + margin-bottom: 1rem; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; +} +.input-group > :first-child, .input-group > :first-child.input-group-button > * { + border-radius: 0 0 0 0; +} +.input-group > :last-child, .input-group > :last-child.input-group-button > * { + border-radius: 0 0 0 0; +} + +.input-group-button a, +.input-group-button input, +.input-group-button button, +.input-group-button label, .input-group-button, .input-group-field, .input-group-label { + margin: 0; + white-space: nowrap; +} + +.input-group-label { + padding: 0 1rem; + border: 1px solid #cacaca; + background: #e6e6e6; + color: #0a0a0a; + text-align: center; + white-space: nowrap; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} +.input-group-label:first-child { + border-right: 0; +} +.input-group-label:last-child { + border-left: 0; +} + +.input-group-field { + border-radius: 0; + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0px; + min-width: 0; +} + +.input-group-button { + padding-top: 0; + padding-bottom: 0; + text-align: center; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; +} +.input-group-button a, +.input-group-button input, +.input-group-button button, +.input-group-button label { + -ms-flex-item-align: stretch; + align-self: stretch; + height: auto; + padding-top: 0; + padding-bottom: 0; + font-size: 1rem; +} + +fieldset { + margin: 0; + padding: 0; + border: 0; +} + +legend { + max-width: 100%; + margin-bottom: 0.5rem; +} + +.fieldset { + margin: 1.125rem 0; + padding: 1.25rem; + border: 1px solid #cacaca; +} +.fieldset legend { + margin: 0; + margin-left: -0.1875rem; + padding: 0 0.1875rem; +} + +select { + height: 2.4375rem; + margin: 0 0 1rem; + padding: 0.5rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border: 1px solid #cacaca; + border-radius: 0; + background-color: #fefefe; + font-family: inherit; + font-size: 1rem; + font-weight: normal; + line-height: 1.5; + color: #0a0a0a; + -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + background-origin: content-box; + background-position: right -1rem center; + background-repeat: no-repeat; + background-size: 9px 6px; + padding-right: 1.5rem; + background-image: url('data:image/svg+xml;utf8,'); +} +@media screen and (min-width: 0\0 ) { + select { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); + } +} +select:focus { + outline: none; + border: 1px solid #8a8a8a; + background-color: #fefefe; + -webkit-box-shadow: 0 0 5px #cacaca; + box-shadow: 0 0 5px #cacaca; + -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out; + transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; +} +select:disabled { + background-color: #e6e6e6; + cursor: not-allowed; +} +select::-ms-expand { + display: none; +} +select[multiple] { + height: auto; + background-image: none; +} +select:not([multiple]) { + padding-top: 0; + padding-bottom: 0; +} + +.is-invalid-input:not(:focus) { + border-color: #cc4b37; + background-color: rgb(249, 236.1, 234.1); +} +.is-invalid-input:not(:focus)::-webkit-input-placeholder { + color: #cc4b37; +} +.is-invalid-input:not(:focus)::-moz-placeholder { + color: #cc4b37; +} +.is-invalid-input:not(:focus):-ms-input-placeholder { + color: #cc4b37; +} +.is-invalid-input:not(:focus)::-ms-input-placeholder { + color: #cc4b37; +} +.is-invalid-input:not(:focus)::placeholder { + color: #cc4b37; +} + +.is-invalid-label { + color: #cc4b37; +} + +.form-error { + display: none; + margin-top: -0.5rem; + margin-bottom: 1rem; + font-size: 0.75rem; + font-weight: bold; + color: #cc4b37; +} +.form-error.is-visible { + display: block; +} + +.accordion { + margin-left: 0; + background: #fefefe; + list-style-type: none; +} +.accordion[disabled] .accordion-title { + cursor: not-allowed; +} + +.accordion-item:first-child > :first-child { + border-radius: 0 0 0 0; +} +.accordion-item:last-child > :last-child { + border-radius: 0 0 0 0; +} + +.accordion-title { + position: relative; + display: block; + padding: 1.25rem 1rem; + border: 1px solid #e6e6e6; + border-bottom: 0; + font-size: 0.75rem; + line-height: 1; + color: #1779ba; +} +:last-child:not(.is-active) > .accordion-title { + border-bottom: 1px solid #e6e6e6; + border-radius: 0 0 0 0; +} +.accordion-title:hover, .accordion-title:focus { + background-color: #e6e6e6; +} +.accordion-title::before { + position: absolute; + top: 50%; + right: 1rem; + margin-top: -0.5rem; + content: "+"; +} +.is-active > .accordion-title::before { + content: "–"; +} + +.accordion-content { + display: none; + padding: 1rem; + border: 1px solid #e6e6e6; + border-bottom: 0; + background-color: #fefefe; + color: #0a0a0a; +} +:last-child > .accordion-content:last-child { + border-bottom: 1px solid #e6e6e6; +} + +.accordion-menu li { + width: 100%; +} +.accordion-menu a { + padding: 0.7rem 1rem; +} +.accordion-menu .is-accordion-submenu a { + padding: 0.7rem 1rem; +} +.accordion-menu .nested.is-accordion-submenu { + margin-right: 0; + margin-left: 1rem; +} +.accordion-menu.align-right .nested.is-accordion-submenu { + margin-right: 1rem; + margin-left: 0; +} +.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a { + position: relative; +} +.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-bottom-width: 0; + border-color: #1779ba transparent transparent; + position: absolute; + top: 50%; + margin-top: -3px; + right: 1rem; +} +.accordion-menu.align-left .is-accordion-submenu-parent > a::after { + right: 1rem; + left: auto; +} +.accordion-menu.align-right .is-accordion-submenu-parent > a::after { + right: auto; + left: 1rem; +} +.accordion-menu .is-accordion-submenu-parent[aria-expanded=true] > a::after { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; +} + +.is-accordion-submenu-parent { + position: relative; +} + +.has-submenu-toggle > a { + margin-right: 40px; +} + +.submenu-toggle { + position: absolute; + top: 0; + right: 0; + width: 40px; + height: 40px; + cursor: pointer; +} +.submenu-toggle::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-bottom-width: 0; + border-color: #1779ba transparent transparent; + top: 0; + bottom: 0; + margin: auto; +} + +.submenu-toggle[aria-expanded=true]::after { + -webkit-transform: scaleY(-1); + transform: scaleY(-1); + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; +} + +.submenu-toggle-text { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +.badge { + display: inline-block; + min-width: 2.1em; + padding: 0.3em; + border-radius: 50%; + font-size: 0.6rem; + text-align: center; + background: #1779ba; + color: #fefefe; +} +.badge.primary { + background: #1779ba; + color: #fefefe; +} +.badge.secondary { + background: #767676; + color: #fefefe; +} +.badge.success { + background: #3adb76; + color: #0a0a0a; +} +.badge.warning { + background: #ffae00; + color: #0a0a0a; +} +.badge.alert { + background: #cc4b37; + color: #fefefe; +} + +.breadcrumbs { + margin: 0 0 1rem 0; + list-style: none; +} +.breadcrumbs::before, .breadcrumbs::after { + display: table; + content: " "; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; +} +.breadcrumbs::after { + clear: both; +} +.breadcrumbs li { + float: left; + font-size: 0.6875rem; + color: #0a0a0a; + cursor: default; + text-transform: uppercase; +} +.breadcrumbs li:not(:last-child)::after { + position: relative; + margin: 0 0.75rem; + opacity: 1; + content: "/"; + color: #cacaca; +} +.breadcrumbs a { + color: #1779ba; +} +.breadcrumbs a:hover { + text-decoration: underline; +} +.breadcrumbs .disabled { + color: #cacaca; + cursor: not-allowed; +} + +.button-group { + margin-bottom: 1rem; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; +} +.button-group::before, .button-group::after { + display: none; +} +.button-group::before, .button-group::after { + display: table; + content: " "; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; +} +.button-group::after { + clear: both; +} +.button-group .button { + margin: 0; + margin-right: 1px; + margin-bottom: 1px; + font-size: 0.9rem; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; +} +.button-group .button:last-child { + margin-right: 0; +} +.button-group.tiny .button { + font-size: 0.6rem; +} +.button-group.small .button { + font-size: 0.75rem; +} +.button-group.large .button { + font-size: 1.25rem; +} +.button-group.expanded .button { + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0px; +} +.button-group.primary .button, .button-group.primary .button.disabled, .button-group.primary .button[disabled], .button-group.primary .button.disabled:hover, .button-group.primary .button[disabled]:hover, .button-group.primary .button.disabled:focus, .button-group.primary .button[disabled]:focus { + background-color: #1779ba; + color: #fefefe; +} +.button-group.primary .button:hover, .button-group.primary .button:focus { + background-color: rgb(18.4, 96.8, 148.8); + color: #fefefe; +} +.button-group.secondary .button, .button-group.secondary .button.disabled, .button-group.secondary .button[disabled], .button-group.secondary .button.disabled:hover, .button-group.secondary .button[disabled]:hover, .button-group.secondary .button.disabled:focus, .button-group.secondary .button[disabled]:focus { + background-color: #767676; + color: #fefefe; +} +.button-group.secondary .button:hover, .button-group.secondary .button:focus { + background-color: rgb(94.4, 94.4, 94.4); + color: #fefefe; +} +.button-group.success .button, .button-group.success .button.disabled, .button-group.success .button[disabled], .button-group.success .button.disabled:hover, .button-group.success .button[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .button[disabled]:focus { + background-color: #3adb76; + color: #0a0a0a; +} +.button-group.success .button:hover, .button-group.success .button:focus { + background-color: rgb(34.2386266094, 187.3613733906, 91.3030042918); + color: #0a0a0a; +} +.button-group.warning .button, .button-group.warning .button.disabled, .button-group.warning .button[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .button[disabled]:focus { + background-color: #ffae00; + color: #0a0a0a; +} +.button-group.warning .button:hover, .button-group.warning .button:focus { + background-color: rgb(204, 139.2, 0); + color: #0a0a0a; +} +.button-group.alert .button, .button-group.alert .button.disabled, .button-group.alert .button[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .button[disabled]:focus { + background-color: #cc4b37; + color: #fefefe; +} +.button-group.alert .button:hover, .button-group.alert .button:focus { + background-color: rgb(165.0996015936, 58.6103585657, 42.1003984064); + color: #fefefe; +} +.button-group.hollow .button, .button-group.hollow .button:hover, .button-group.hollow .button:focus, .button-group.hollow .button.disabled, .button-group.hollow .button.disabled:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled], .button-group.hollow .button[disabled]:hover, .button-group.hollow .button[disabled]:focus { + background-color: transparent; +} +.button-group.hollow .button, .button-group.hollow .button.disabled, .button-group.hollow .button[disabled], .button-group.hollow .button.disabled:hover, .button-group.hollow .button[disabled]:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled]:focus { + border: 1px solid #1779ba; + color: #1779ba; +} +.button-group.hollow .button:hover, .button-group.hollow .button:focus { + border-color: rgb(11.5, 60.5, 93); + color: rgb(11.5, 60.5, 93); +} +.button-group.hollow.primary .button, .button-group.hollow.primary .button.disabled, .button-group.hollow.primary .button[disabled], .button-group.hollow.primary .button.disabled:hover, .button-group.hollow.primary .button[disabled]:hover, .button-group.hollow.primary .button.disabled:focus, .button-group.hollow.primary .button[disabled]:focus, .button-group.hollow .button.primary, .button-group.hollow .button.primary.disabled, .button-group.hollow .button.primary[disabled], .button-group.hollow .button.primary.disabled:hover, .button-group.hollow .button.primary[disabled]:hover, .button-group.hollow .button.primary.disabled:focus, .button-group.hollow .button.primary[disabled]:focus { + border: 1px solid #1779ba; + color: #1779ba; +} +.button-group.hollow.primary .button:hover, .button-group.hollow.primary .button:focus, .button-group.hollow .button.primary:hover, .button-group.hollow .button.primary:focus { + border-color: rgb(11.5, 60.5, 93); + color: rgb(11.5, 60.5, 93); +} +.button-group.hollow.secondary .button, .button-group.hollow.secondary .button.disabled, .button-group.hollow.secondary .button[disabled], .button-group.hollow.secondary .button.disabled:hover, .button-group.hollow.secondary .button[disabled]:hover, .button-group.hollow.secondary .button.disabled:focus, .button-group.hollow.secondary .button[disabled]:focus, .button-group.hollow .button.secondary, .button-group.hollow .button.secondary.disabled, .button-group.hollow .button.secondary[disabled], .button-group.hollow .button.secondary.disabled:hover, .button-group.hollow .button.secondary[disabled]:hover, .button-group.hollow .button.secondary.disabled:focus, .button-group.hollow .button.secondary[disabled]:focus { + border: 1px solid #767676; + color: #767676; +} +.button-group.hollow.secondary .button:hover, .button-group.hollow.secondary .button:focus, .button-group.hollow .button.secondary:hover, .button-group.hollow .button.secondary:focus { + border-color: #3b3b3b; + color: #3b3b3b; +} +.button-group.hollow.success .button, .button-group.hollow.success .button.disabled, .button-group.hollow.success .button[disabled], .button-group.hollow.success .button.disabled:hover, .button-group.hollow.success .button[disabled]:hover, .button-group.hollow.success .button.disabled:focus, .button-group.hollow.success .button[disabled]:focus, .button-group.hollow .button.success, .button-group.hollow .button.success.disabled, .button-group.hollow .button.success[disabled], .button-group.hollow .button.success.disabled:hover, .button-group.hollow .button.success[disabled]:hover, .button-group.hollow .button.success.disabled:focus, .button-group.hollow .button.success[disabled]:focus { + border: 1px solid #3adb76; + color: #3adb76; +} +.button-group.hollow.success .button:hover, .button-group.hollow.success .button:focus, .button-group.hollow .button.success:hover, .button-group.hollow .button.success:focus { + border-color: rgb(21.3991416309, 117.1008583691, 57.0643776824); + color: rgb(21.3991416309, 117.1008583691, 57.0643776824); +} +.button-group.hollow.warning .button, .button-group.hollow.warning .button.disabled, .button-group.hollow.warning .button[disabled], .button-group.hollow.warning .button.disabled:hover, .button-group.hollow.warning .button[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .button-group.hollow.warning .button[disabled]:focus, .button-group.hollow .button.warning, .button-group.hollow .button.warning.disabled, .button-group.hollow .button.warning[disabled], .button-group.hollow .button.warning.disabled:hover, .button-group.hollow .button.warning[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .button-group.hollow .button.warning[disabled]:focus { + border: 1px solid #ffae00; + color: #ffae00; +} +.button-group.hollow.warning .button:hover, .button-group.hollow.warning .button:focus, .button-group.hollow .button.warning:hover, .button-group.hollow .button.warning:focus { + border-color: rgb(127.5, 87, 0); + color: rgb(127.5, 87, 0); +} +.button-group.hollow.alert .button, .button-group.hollow.alert .button.disabled, .button-group.hollow.alert .button[disabled], .button-group.hollow.alert .button.disabled:hover, .button-group.hollow.alert .button[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .button-group.hollow.alert .button[disabled]:focus, .button-group.hollow .button.alert, .button-group.hollow .button.alert.disabled, .button-group.hollow .button.alert[disabled], .button-group.hollow .button.alert.disabled:hover, .button-group.hollow .button.alert[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .button-group.hollow .button.alert[disabled]:focus { + border: 1px solid #cc4b37; + color: #cc4b37; +} +.button-group.hollow.alert .button:hover, .button-group.hollow.alert .button:focus, .button-group.hollow .button.alert:hover, .button-group.hollow .button.alert:focus { + border-color: rgb(103.187250996, 36.6314741036, 26.312749004); + color: rgb(103.187250996, 36.6314741036, 26.312749004); +} +.button-group.clear .button, .button-group.clear .button:hover, .button-group.clear .button:focus, .button-group.clear .button.disabled, .button-group.clear .button.disabled:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .button[disabled]:focus { + border-color: transparent; + background-color: transparent; +} +.button-group.clear .button, .button-group.clear .button.disabled, .button-group.clear .button[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled]:focus { + color: #1779ba; +} +.button-group.clear .button:hover, .button-group.clear .button:focus { + color: rgb(11.5, 60.5, 93); +} +.button-group.clear.primary .button, .button-group.clear.primary .button.disabled, .button-group.clear.primary .button[disabled], .button-group.clear.primary .button.disabled:hover, .button-group.clear.primary .button[disabled]:hover, .button-group.clear.primary .button.disabled:focus, .button-group.clear.primary .button[disabled]:focus, .button-group.clear .button.primary, .button-group.clear .button.primary.disabled, .button-group.clear .button.primary[disabled], .button-group.clear .button.primary.disabled:hover, .button-group.clear .button.primary[disabled]:hover, .button-group.clear .button.primary.disabled:focus, .button-group.clear .button.primary[disabled]:focus { + color: #1779ba; +} +.button-group.clear.primary .button:hover, .button-group.clear.primary .button:focus, .button-group.clear .button.primary:hover, .button-group.clear .button.primary:focus { + color: rgb(11.5, 60.5, 93); +} +.button-group.clear.secondary .button, .button-group.clear.secondary .button.disabled, .button-group.clear.secondary .button[disabled], .button-group.clear.secondary .button.disabled:hover, .button-group.clear.secondary .button[disabled]:hover, .button-group.clear.secondary .button.disabled:focus, .button-group.clear.secondary .button[disabled]:focus, .button-group.clear .button.secondary, .button-group.clear .button.secondary.disabled, .button-group.clear .button.secondary[disabled], .button-group.clear .button.secondary.disabled:hover, .button-group.clear .button.secondary[disabled]:hover, .button-group.clear .button.secondary.disabled:focus, .button-group.clear .button.secondary[disabled]:focus { + color: #767676; +} +.button-group.clear.secondary .button:hover, .button-group.clear.secondary .button:focus, .button-group.clear .button.secondary:hover, .button-group.clear .button.secondary:focus { + color: #3b3b3b; +} +.button-group.clear.success .button, .button-group.clear.success .button.disabled, .button-group.clear.success .button[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear .button.success, .button-group.clear .button.success.disabled, .button-group.clear .button.success[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .button.success[disabled]:focus { + color: #3adb76; +} +.button-group.clear.success .button:hover, .button-group.clear.success .button:focus, .button-group.clear .button.success:hover, .button-group.clear .button.success:focus { + color: rgb(21.3991416309, 117.1008583691, 57.0643776824); +} +.button-group.clear.warning .button, .button-group.clear.warning .button.disabled, .button-group.clear.warning .button[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .button.warning.disabled, .button-group.clear .button.warning[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .button.warning[disabled]:focus { + color: #ffae00; +} +.button-group.clear.warning .button:hover, .button-group.clear.warning .button:focus, .button-group.clear .button.warning:hover, .button-group.clear .button.warning:focus { + color: rgb(127.5, 87, 0); +} +.button-group.clear.alert .button, .button-group.clear.alert .button.disabled, .button-group.clear.alert .button[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .button.alert.disabled, .button-group.clear .button.alert[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .button.alert[disabled]:focus { + color: #cc4b37; +} +.button-group.clear.alert .button:hover, .button-group.clear.alert .button:focus, .button-group.clear .button.alert:hover, .button-group.clear .button.alert:focus { + color: rgb(103.187250996, 36.6314741036, 26.312749004); +} +.button-group.no-gaps .button { + margin-right: -0.0625rem; +} +.button-group.no-gaps .button + .button { + border-left-color: transparent; +} +.button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium { + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} +.button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; +} +.button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child { + margin-bottom: 0; +} +.button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button { + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0px; +} +@media print, screen and (min-width: 40em) { + .button-group.stacked-for-small .button { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + margin-bottom: 0; + } +} +@media print, screen and (min-width: 64em) { + .button-group.stacked-for-medium .button { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + margin-bottom: 0; + } +} +@media print, screen and (max-width: 39.99875em) { + .button-group.stacked-for-small.expanded { + display: block; + } + .button-group.stacked-for-small.expanded .button { + display: block; + margin-right: 0; + } +} +@media print, screen and (max-width: 63.99875em) { + .button-group.stacked-for-medium.expanded { + display: block; + } + .button-group.stacked-for-medium.expanded .button { + display: block; + margin-right: 0; + } +} + +.card { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + margin-bottom: 1rem; + border: 1px solid #e6e6e6; + border-radius: 0; + background: #fefefe; + -webkit-box-shadow: none; + box-shadow: none; + overflow: hidden; + color: #0a0a0a; +} +.card > :last-child { + margin-bottom: 0; +} + +.card-divider { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + padding: 1rem; + background: #e6e6e6; +} +.card-divider > :last-child { + margin-bottom: 0; +} + +.card-section { + -webkit-box-flex: 1; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + padding: 1rem; +} +.card-section > :last-child { + margin-bottom: 0; +} + +.card-image { + min-height: 1px; +} + +.callout { + background-color: rgb(254.85, 254.85, 254.85); + color: #0a0a0a; + position: relative; + margin: 0 0 1rem 0; + padding: 1rem; + border: 1px solid rgba(10, 10, 10, 0.25); + border-radius: 0; +} +.callout > :first-child { + margin-top: 0; +} +.callout > :last-child { + margin-bottom: 0; +} +.callout.primary { + background-color: rgb(214.8186602871, 235.9894736842, 250.0313397129); + color: #0a0a0a; +} +.callout.secondary { + background-color: rgb(234.45, 234.45, 234.45); + color: #0a0a0a; +} +.callout.success { + background-color: rgb(225.45, 249.6, 234.45); + color: #0a0a0a; +} +.callout.warning { + background-color: rgb(255, 242.85, 216.75); + color: #0a0a0a; +} +.callout.alert { + background-color: rgb(247.35, 228, 225); + color: #0a0a0a; +} +.callout.small { + padding-top: 0.5rem; + padding-right: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 0.5rem; +} +.callout.large { + padding-top: 3rem; + padding-right: 3rem; + padding-bottom: 3rem; + padding-left: 3rem; +} + +.close-button { + position: absolute; + z-index: 10; + color: #8a8a8a; + cursor: pointer; +} +[data-whatinput=mouse] .close-button { + outline: 0; +} +.close-button:hover, .close-button:focus { + color: #0a0a0a; +} +.close-button.small { + right: 0.66rem; + top: 0.33em; + font-size: 1.5em; + line-height: 1; +} + +.close-button.medium, .close-button { + right: 1rem; + top: 0.5rem; + font-size: 2em; + line-height: 1; +} + +.menu { + padding: 0; + margin: 0; + list-style: none; + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} +[data-whatinput=mouse] .menu li { + outline: 0; +} +.menu a, +.menu .button { + line-height: 1; + text-decoration: none; + display: block; + padding: 0.7rem 1rem; +} +.menu input, +.menu select, +.menu a, +.menu button { + margin-bottom: 0; +} +.menu input { + display: inline-block; +} +.menu, .menu.horizontal { + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; +} +.menu.vertical { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} +.menu.vertical.icon-top li a img, +.menu.vertical.icon-top li a i, +.menu.vertical.icon-top li a svg, .menu.vertical.icon-bottom li a img, +.menu.vertical.icon-bottom li a i, +.menu.vertical.icon-bottom li a svg { + text-align: left; +} +.menu.expanded li { + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0px; +} +.menu.expanded.icon-top li a img, +.menu.expanded.icon-top li a i, +.menu.expanded.icon-top li a svg, .menu.expanded.icon-bottom li a img, +.menu.expanded.icon-bottom li a i, +.menu.expanded.icon-bottom li a svg { + text-align: left; +} +.menu.simple { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} +.menu.simple li + li { + margin-left: 1rem; +} +.menu.simple a { + padding: 0; +} +@media print, screen and (min-width: 40em) { + .menu.medium-horizontal { + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .menu.medium-vertical { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + } + .menu.medium-expanded li { + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0px; + } + .menu.medium-simple li { + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0px; + } +} +@media print, screen and (min-width: 64em) { + .menu.large-horizontal { + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .menu.large-vertical { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + } + .menu.large-expanded li { + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0px; + } + .menu.large-simple li { + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0px; + } +} +.menu.nested { + margin-right: 0; + margin-left: 1rem; +} +.menu.icons a { + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} +.menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a { + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} +.menu.icon-left li a, .menu.nested.icon-left li a { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; +} +.menu.icon-left li a img, +.menu.icon-left li a i, +.menu.icon-left li a svg, .menu.nested.icon-left li a img, +.menu.nested.icon-left li a i, +.menu.nested.icon-left li a svg { + margin-right: 0.25rem; +} +.menu.icon-right li a, .menu.nested.icon-right li a { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; +} +.menu.icon-right li a img, +.menu.icon-right li a i, +.menu.icon-right li a svg, .menu.nested.icon-right li a img, +.menu.nested.icon-right li a i, +.menu.nested.icon-right li a svg { + margin-left: 0.25rem; +} +.menu.icon-top li a, .menu.nested.icon-top li a { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-flow: column nowrap; + flex-flow: column nowrap; +} +.menu.icon-top li a img, +.menu.icon-top li a i, +.menu.icon-top li a svg, .menu.nested.icon-top li a img, +.menu.nested.icon-top li a i, +.menu.nested.icon-top li a svg { + -ms-flex-item-align: stretch; + align-self: stretch; + margin-bottom: 0.25rem; + text-align: center; +} +.menu.icon-bottom li a, .menu.nested.icon-bottom li a { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-flow: column nowrap; + flex-flow: column nowrap; +} +.menu.icon-bottom li a img, +.menu.icon-bottom li a i, +.menu.icon-bottom li a svg, .menu.nested.icon-bottom li a img, +.menu.nested.icon-bottom li a i, +.menu.nested.icon-bottom li a svg { + -ms-flex-item-align: stretch; + align-self: stretch; + margin-bottom: 0.25rem; + text-align: center; +} +.menu .is-active > a { + background: #1779ba; + color: #fefefe; +} +.menu .active > a { + background: #1779ba; + color: #fefefe; +} +.menu.align-left { + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; +} +.menu.align-right li { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; +} +.menu.align-right li .submenu li { + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; +} +.menu.align-right.vertical li { + display: block; + text-align: right; +} +.menu.align-right.vertical li .submenu li { + text-align: right; +} +.menu.align-right.icon-top li a img, +.menu.align-right.icon-top li a i, +.menu.align-right.icon-top li a svg, .menu.align-right.icon-bottom li a img, +.menu.align-right.icon-bottom li a i, +.menu.align-right.icon-bottom li a svg { + text-align: right; +} +.menu.align-right .nested { + margin-right: 1rem; + margin-left: 0; +} +.menu.align-center li { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} +.menu.align-center li .submenu li { + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; +} +.menu .menu-text { + padding: 0.7rem 1rem; + font-weight: bold; + line-height: 1; + color: inherit; +} + +.menu-centered > .menu { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} +.menu-centered > .menu li { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} +.menu-centered > .menu li .submenu li { + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.no-js [data-responsive-menu] ul { + display: none; +} + +.menu-icon { + position: relative; + display: inline-block; + vertical-align: middle; + width: 20px; + height: 16px; + cursor: pointer; +} +.menu-icon::after { + position: absolute; + top: 0; + left: 0; + display: block; + width: 100%; + height: 2px; + background: #fefefe; + -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe; + box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe; + content: ""; +} +.menu-icon:hover::after { + background: #cacaca; + -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; + box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; +} + +.menu-icon.dark { + position: relative; + display: inline-block; + vertical-align: middle; + width: 20px; + height: 16px; + cursor: pointer; +} +.menu-icon.dark::after { + position: absolute; + top: 0; + left: 0; + display: block; + width: 100%; + height: 2px; + background: #0a0a0a; + -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; + box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; + content: ""; +} +.menu-icon.dark:hover::after { + background: #8a8a8a; + -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; + box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; +} + +.is-drilldown { + position: relative; + overflow: hidden; +} +.is-drilldown li { + display: block; +} +.is-drilldown.animate-height { + -webkit-transition: height 0.5s; + transition: height 0.5s; +} + +.drilldown a { + padding: 0.7rem 1rem; + background: #fefefe; +} +.drilldown .is-drilldown-submenu { + position: absolute; + top: 0; + left: 100%; + z-index: -1; + width: 100%; + background: #fefefe; + -webkit-transition: -webkit-transform 0.15s linear; + transition: -webkit-transform 0.15s linear; + transition: transform 0.15s linear; + transition: transform 0.15s linear, -webkit-transform 0.15s linear; +} +.drilldown .is-drilldown-submenu.is-active { + z-index: 1; + display: block; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} +.drilldown .is-drilldown-submenu.is-closing { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} +.drilldown .is-drilldown-submenu a { + padding: 0.7rem 1rem; +} +.drilldown .nested.is-drilldown-submenu { + margin-right: 0; + margin-left: 0; +} +.drilldown .drilldown-submenu-cover-previous { + min-height: 100%; +} +.drilldown .is-drilldown-submenu-parent > a { + position: relative; +} +.drilldown .is-drilldown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-right-width: 0; + border-color: transparent transparent transparent #1779ba; + position: absolute; + top: 50%; + margin-top: -6px; + right: 1rem; +} +.drilldown.align-left .is-drilldown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-right-width: 0; + border-color: transparent transparent transparent #1779ba; + right: 1rem; + left: auto; +} +.drilldown.align-right .is-drilldown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-left-width: 0; + border-color: transparent #1779ba transparent transparent; + right: auto; + left: 1rem; +} +.drilldown .js-drilldown-back > a::before { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-left-width: 0; + border-color: transparent #1779ba transparent transparent; + display: inline-block; + vertical-align: middle; + margin-right: 0.75rem; +} + +.dropdown-pane { + position: absolute; + z-index: 10; + display: none; + width: 300px; + padding: 1rem; + visibility: hidden; + border: 1px solid #cacaca; + border-radius: 0; + background-color: #fefefe; + font-size: 1rem; +} +.dropdown-pane.is-opening { + display: block; +} +.dropdown-pane.is-open { + display: block; + visibility: visible; +} + +.dropdown-pane.tiny { + width: 100px; +} + +.dropdown-pane.small { + width: 200px; +} + +.dropdown-pane.large { + width: 400px; +} + +.dropdown.menu > li.opens-left > .is-dropdown-submenu { + top: 100%; + right: 0; + left: auto; +} +.dropdown.menu > li.opens-right > .is-dropdown-submenu { + top: 100%; + right: auto; + left: 0; +} +.dropdown.menu > li.is-dropdown-submenu-parent > a { + position: relative; + padding-right: 1.5rem; +} +.dropdown.menu > li.is-dropdown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-bottom-width: 0; + border-color: #1779ba transparent transparent; + right: 5px; + left: auto; + margin-top: -3px; +} +[data-whatinput=mouse] .dropdown.menu a { + outline: 0; +} +.dropdown.menu > li > a { + padding: 0.7rem 1rem; +} +.dropdown.menu > li.is-active > a { + background: transparent; + color: #1779ba; +} +.no-js .dropdown.menu ul { + display: none; +} +.dropdown.menu .nested.is-dropdown-submenu { + margin-right: 0; + margin-left: 0; +} +.dropdown.menu.vertical > li .is-dropdown-submenu { + top: 0; +} +.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu { + top: 0; + right: 100%; + left: auto; +} +.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu { + right: auto; + left: 100%; +} +.dropdown.menu.vertical > li > a::after { + right: 14px; +} +.dropdown.menu.vertical > li.opens-left > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-left-width: 0; + border-color: transparent #1779ba transparent transparent; + right: auto; + left: 5px; +} +.dropdown.menu.vertical > li.opens-right > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-right-width: 0; + border-color: transparent transparent transparent #1779ba; +} +@media print, screen and (min-width: 40em) { + .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu { + top: 100%; + right: 0; + left: auto; + } + .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu { + top: 100%; + right: auto; + left: 0; + } + .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a { + position: relative; + padding-right: 1.5rem; + } + .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-bottom-width: 0; + border-color: #1779ba transparent transparent; + right: 5px; + left: auto; + margin-top: -3px; + } + .dropdown.menu.medium-vertical > li .is-dropdown-submenu { + top: 0; + } + .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu { + top: 0; + right: 100%; + left: auto; + } + .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu { + right: auto; + left: 100%; + } + .dropdown.menu.medium-vertical > li > a::after { + right: 14px; + } + .dropdown.menu.medium-vertical > li.opens-left > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-left-width: 0; + border-color: transparent #1779ba transparent transparent; + right: auto; + left: 5px; + } + .dropdown.menu.medium-vertical > li.opens-right > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-right-width: 0; + border-color: transparent transparent transparent #1779ba; + } +} +@media print, screen and (min-width: 64em) { + .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu { + top: 100%; + right: 0; + left: auto; + } + .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu { + top: 100%; + right: auto; + left: 0; + } + .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a { + position: relative; + padding-right: 1.5rem; + } + .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-bottom-width: 0; + border-color: #1779ba transparent transparent; + right: 5px; + left: auto; + margin-top: -3px; + } + .dropdown.menu.large-vertical > li .is-dropdown-submenu { + top: 0; + } + .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu { + top: 0; + right: 100%; + left: auto; + } + .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu { + right: auto; + left: 100%; + } + .dropdown.menu.large-vertical > li > a::after { + right: 14px; + } + .dropdown.menu.large-vertical > li.opens-left > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-left-width: 0; + border-color: transparent #1779ba transparent transparent; + right: auto; + left: 5px; + } + .dropdown.menu.large-vertical > li.opens-right > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-right-width: 0; + border-color: transparent transparent transparent #1779ba; + } +} +.dropdown.menu.align-right .is-dropdown-submenu.first-sub { + top: 100%; + right: 0; + left: auto; +} + +.is-dropdown-menu.vertical { + width: 100px; +} +.is-dropdown-menu.vertical.align-right { + float: right; +} + +.is-dropdown-submenu-parent { + position: relative; +} +.is-dropdown-submenu-parent a::after { + position: absolute; + top: 50%; + right: 5px; + left: auto; + margin-top: -6px; +} +.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu { + top: 100%; + left: auto; +} +.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu { + right: 100%; + left: auto; +} +.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu { + right: auto; + left: 100%; +} + +.is-dropdown-submenu { + position: absolute; + top: 0; + left: 100%; + z-index: 1; + display: none; + min-width: 200px; + border: 1px solid #cacaca; + background: #fefefe; +} +.dropdown .is-dropdown-submenu a { + padding: 0.7rem 1rem; +} +.is-dropdown-submenu .is-dropdown-submenu-parent > a::after { + right: 14px; +} +.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-left-width: 0; + border-color: transparent #1779ba transparent transparent; + right: auto; + left: 5px; +} +.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 6px; + content: ""; + border-right-width: 0; + border-color: transparent transparent transparent #1779ba; +} +.is-dropdown-submenu .is-dropdown-submenu { + margin-top: -1px; +} +.is-dropdown-submenu > li { + width: 100%; +} +.is-dropdown-submenu.js-dropdown-active { + display: block; +} + +.responsive-embed, +.flex-video { + position: relative; + height: 0; + margin-bottom: 1rem; + padding-bottom: 75%; + overflow: hidden; +} +.responsive-embed iframe, +.responsive-embed object, +.responsive-embed embed, +.responsive-embed video, +.flex-video iframe, +.flex-video object, +.flex-video embed, +.flex-video video { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.responsive-embed.widescreen, +.flex-video.widescreen { + padding-bottom: 56.25%; +} + +.label { + display: inline-block; + padding: 0.33333rem 0.5rem; + border-radius: 0; + font-size: 0.8rem; + line-height: 1; + white-space: nowrap; + cursor: default; + background: #1779ba; + color: #fefefe; +} +.label.primary { + background: #1779ba; + color: #fefefe; +} +.label.secondary { + background: #767676; + color: #fefefe; +} +.label.success { + background: #3adb76; + color: #0a0a0a; +} +.label.warning { + background: #ffae00; + color: #0a0a0a; +} +.label.alert { + background: #cc4b37; + color: #fefefe; +} + +.media-object { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + margin-bottom: 1rem; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; +} +.media-object img { + max-width: none; +} +@media print, screen and (max-width: 39.99875em) { + .media-object.stack-for-small { + -ms-flex-wrap: wrap; + flex-wrap: wrap; + } +} + +.media-object-section { + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; +} +.media-object-section:first-child { + padding-right: 1rem; +} +.media-object-section:last-child:not(:nth-child(2)) { + padding-left: 1rem; +} +.media-object-section > :last-child { + margin-bottom: 0; +} +@media print, screen and (max-width: 39.99875em) { + .stack-for-small .media-object-section { + padding: 0; + padding-bottom: 1rem; + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + max-width: 100%; + } + .stack-for-small .media-object-section img { + width: 100%; + } +} +.media-object-section.main-section { + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0px; +} + +.is-off-canvas-open { + overflow: hidden; +} + +.js-off-canvas-overlay { + position: absolute; + top: 0; + left: 0; + z-index: 11; + width: 100%; + height: 100%; + -webkit-transition: opacity 0.5s ease, visibility 0.5s ease; + transition: opacity 0.5s ease, visibility 0.5s ease; + background: rgba(254, 254, 254, 0.25); + opacity: 0; + visibility: hidden; + overflow: hidden; +} +.js-off-canvas-overlay.is-visible { + opacity: 1; + visibility: visible; +} +.js-off-canvas-overlay.is-closable { + cursor: pointer; +} +.js-off-canvas-overlay.is-overlay-absolute { + position: absolute; +} +.js-off-canvas-overlay.is-overlay-fixed { + position: fixed; +} + +.off-canvas-wrapper { + position: relative; + overflow: hidden; +} + +.off-canvas { + z-index: 12; + -webkit-transition: -webkit-transform 0.5s ease; + transition: -webkit-transform 0.5s ease; + transition: transform 0.5s ease; + transition: transform 0.5s ease, -webkit-transform 0.5s ease; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + background: #e6e6e6; + position: fixed; +} +[data-whatinput=mouse] .off-canvas { + outline: 0; +} +.off-canvas.is-transition-push { + z-index: 12; +} +.off-canvas.is-closed { + visibility: hidden; +} +.off-canvas.is-transition-overlap { + z-index: 13; +} +.off-canvas.is-transition-overlap.is-open { + -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); + box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); +} +.off-canvas.is-open { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); +} + +.off-canvas-absolute { + z-index: 12; + -webkit-transition: -webkit-transform 0.5s ease; + transition: -webkit-transform 0.5s ease; + transition: transform 0.5s ease; + transition: transform 0.5s ease, -webkit-transform 0.5s ease; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + background: #e6e6e6; + position: absolute; +} +[data-whatinput=mouse] .off-canvas-absolute { + outline: 0; +} +.off-canvas-absolute.is-transition-push { + z-index: 12; +} +.off-canvas-absolute.is-closed { + visibility: hidden; +} +.off-canvas-absolute.is-transition-overlap { + z-index: 13; +} +.off-canvas-absolute.is-transition-overlap.is-open { + -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); + box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); +} +.off-canvas-absolute.is-open { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); +} + +.position-left { + top: 0; + left: 0; + height: 100%; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + width: 250px; + -webkit-transform: translateX(-250px); + transform: translateX(-250px); +} +.off-canvas-content .off-canvas.position-left { + -webkit-transform: translateX(-250px); + transform: translateX(-250px); +} +.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); +} + +.off-canvas-content.is-open-left.has-transition-push { + -webkit-transform: translateX(250px); + transform: translateX(250px); +} + +.position-left.is-transition-push { + -webkit-box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); + box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); +} + +.position-right { + top: 0; + right: 0; + height: 100%; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + width: 250px; + -webkit-transform: translateX(250px); + transform: translateX(250px); +} +.off-canvas-content .off-canvas.position-right { + -webkit-transform: translateX(250px); + transform: translateX(250px); +} +.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); +} + +.off-canvas-content.is-open-right.has-transition-push { + -webkit-transform: translateX(-250px); + transform: translateX(-250px); +} + +.position-right.is-transition-push { + -webkit-box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); + box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); +} + +.position-top { + top: 0; + left: 0; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + height: 250px; + -webkit-transform: translateY(-250px); + transform: translateY(-250px); +} +.off-canvas-content .off-canvas.position-top { + -webkit-transform: translateY(-250px); + transform: translateY(-250px); +} +.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); +} + +.off-canvas-content.is-open-top.has-transition-push { + -webkit-transform: translateY(250px); + transform: translateY(250px); +} + +.position-top.is-transition-push { + -webkit-box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); + box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); +} + +.position-bottom { + bottom: 0; + left: 0; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + height: 250px; + -webkit-transform: translateY(250px); + transform: translateY(250px); +} +.off-canvas-content .off-canvas.position-bottom { + -webkit-transform: translateY(250px); + transform: translateY(250px); +} +.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); +} + +.off-canvas-content.is-open-bottom.has-transition-push { + -webkit-transform: translateY(-250px); + transform: translateY(-250px); +} + +.position-bottom.is-transition-push { + -webkit-box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); + box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); +} + +.off-canvas-content { + -webkit-transform: none; + transform: none; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.off-canvas-content.has-transition-overlap, .off-canvas-content.has-transition-push { + -webkit-transition: -webkit-transform 0.5s ease; + transition: -webkit-transform 0.5s ease; + transition: transform 0.5s ease; + transition: transform 0.5s ease, -webkit-transform 0.5s ease; +} +.off-canvas-content.has-transition-push { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); +} +.off-canvas-content .off-canvas.is-open { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); +} + +@media print, screen and (min-width: 40em) { + .position-left.reveal-for-medium { + -webkit-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; + } + .position-left.reveal-for-medium .close-button { + display: none; + } + .off-canvas-content .position-left.reveal-for-medium { + -webkit-transform: none; + transform: none; + } + .off-canvas-content.has-reveal-left { + margin-left: 250px; + } + .position-left.reveal-for-medium ~ .off-canvas-content { + margin-left: 250px; + } + .position-right.reveal-for-medium { + -webkit-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; + } + .position-right.reveal-for-medium .close-button { + display: none; + } + .off-canvas-content .position-right.reveal-for-medium { + -webkit-transform: none; + transform: none; + } + .off-canvas-content.has-reveal-right { + margin-right: 250px; + } + .position-right.reveal-for-medium ~ .off-canvas-content { + margin-right: 250px; + } + .position-top.reveal-for-medium { + -webkit-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; + } + .position-top.reveal-for-medium .close-button { + display: none; + } + .off-canvas-content .position-top.reveal-for-medium { + -webkit-transform: none; + transform: none; + } + .off-canvas-content.has-reveal-top { + margin-top: 250px; + } + .position-top.reveal-for-medium ~ .off-canvas-content { + margin-top: 250px; + } + .position-bottom.reveal-for-medium { + -webkit-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; + } + .position-bottom.reveal-for-medium .close-button { + display: none; + } + .off-canvas-content .position-bottom.reveal-for-medium { + -webkit-transform: none; + transform: none; + } + .off-canvas-content.has-reveal-bottom { + margin-bottom: 250px; + } + .position-bottom.reveal-for-medium ~ .off-canvas-content { + margin-bottom: 250px; + } +} +@media print, screen and (min-width: 64em) { + .position-left.reveal-for-large { + -webkit-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; + } + .position-left.reveal-for-large .close-button { + display: none; + } + .off-canvas-content .position-left.reveal-for-large { + -webkit-transform: none; + transform: none; + } + .off-canvas-content.has-reveal-left { + margin-left: 250px; + } + .position-left.reveal-for-large ~ .off-canvas-content { + margin-left: 250px; + } + .position-right.reveal-for-large { + -webkit-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; + } + .position-right.reveal-for-large .close-button { + display: none; + } + .off-canvas-content .position-right.reveal-for-large { + -webkit-transform: none; + transform: none; + } + .off-canvas-content.has-reveal-right { + margin-right: 250px; + } + .position-right.reveal-for-large ~ .off-canvas-content { + margin-right: 250px; + } + .position-top.reveal-for-large { + -webkit-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; + } + .position-top.reveal-for-large .close-button { + display: none; + } + .off-canvas-content .position-top.reveal-for-large { + -webkit-transform: none; + transform: none; + } + .off-canvas-content.has-reveal-top { + margin-top: 250px; + } + .position-top.reveal-for-large ~ .off-canvas-content { + margin-top: 250px; + } + .position-bottom.reveal-for-large { + -webkit-transform: none; + transform: none; + z-index: 12; + -webkit-transition: none; + transition: none; + visibility: visible; + } + .position-bottom.reveal-for-large .close-button { + display: none; + } + .off-canvas-content .position-bottom.reveal-for-large { + -webkit-transform: none; + transform: none; + } + .off-canvas-content.has-reveal-bottom { + margin-bottom: 250px; + } + .position-bottom.reveal-for-large ~ .off-canvas-content { + margin-bottom: 250px; + } +} +@media print, screen and (min-width: 40em) { + .off-canvas.in-canvas-for-medium { + visibility: visible; + height: auto; + position: static; + background: none; + width: auto; + overflow: visible; + -webkit-transition: none; + transition: none; + } + .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom { + -webkit-box-shadow: none; + box-shadow: none; + -webkit-transform: none; + transform: none; + } + .off-canvas.in-canvas-for-medium .close-button { + display: none; + } +} +@media print, screen and (min-width: 64em) { + .off-canvas.in-canvas-for-large { + visibility: visible; + height: auto; + position: static; + background: none; + width: auto; + overflow: visible; + -webkit-transition: none; + transition: none; + } + .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom { + -webkit-box-shadow: none; + box-shadow: none; + -webkit-transform: none; + transform: none; + } + .off-canvas.in-canvas-for-large .close-button { + display: none; + } +} +.orbit { + position: relative; +} + +.orbit-container { + position: relative; + height: 0; + margin: 0; + list-style: none; + overflow: hidden; +} + +.orbit-slide { + width: 100%; + position: absolute; +} +.orbit-slide.no-motionui.is-active { + top: 0; + left: 0; +} + +.orbit-figure { + margin: 0; +} + +.orbit-image { + width: 100%; + max-width: 100%; + margin: 0; +} + +.orbit-caption { + position: absolute; + bottom: 0; + width: 100%; + margin-bottom: 0; + padding: 1rem; + background-color: rgba(10, 10, 10, 0.5); + color: #fefefe; +} + +.orbit-next, .orbit-previous { + z-index: 10; + padding: 1rem; + color: #fefefe; + position: absolute; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} +[data-whatinput=mouse] .orbit-next, [data-whatinput=mouse] .orbit-previous { + outline: 0; +} +.orbit-next:hover, .orbit-previous:hover, .orbit-next:active, .orbit-previous:active, .orbit-next:focus, .orbit-previous:focus { + background-color: rgba(10, 10, 10, 0.5); +} + +.orbit-previous { + left: 0; +} + +.orbit-next { + left: auto; + right: 0; +} + +.orbit-bullets { + position: relative; + margin-top: 0.8rem; + margin-bottom: 0.8rem; + text-align: center; +} +[data-whatinput=mouse] .orbit-bullets { + outline: 0; +} +.orbit-bullets button { + width: 1.2rem; + height: 1.2rem; + margin: 0.1rem; + border-radius: 50%; + background-color: #cacaca; +} +.orbit-bullets button:hover { + background-color: #8a8a8a; +} +.orbit-bullets button.is-active { + background-color: #8a8a8a; +} + +.pagination { + margin-left: 0; + margin-bottom: 1rem; +} +.pagination::before, .pagination::after { + display: table; + content: " "; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; +} +.pagination::after { + clear: both; +} +.pagination li { + margin-right: 0.0625rem; + border-radius: 0; + font-size: 0.875rem; + display: none; +} +.pagination li:last-child, .pagination li:first-child { + display: inline-block; +} +@media print, screen and (min-width: 40em) { + .pagination li { + display: inline-block; + } +} +.pagination a, +.pagination button { + display: block; + padding: 0.1875rem 0.625rem; + border-radius: 0; + color: #0a0a0a; +} +.pagination a:hover, +.pagination button:hover { + background: #e6e6e6; +} +.pagination .current { + padding: 0.1875rem 0.625rem; + background: #1779ba; + color: #fefefe; + cursor: default; +} +.pagination .disabled { + padding: 0.1875rem 0.625rem; + color: #cacaca; + cursor: not-allowed; +} +.pagination .disabled:hover { + background: transparent; +} +.pagination .ellipsis::after { + padding: 0.1875rem 0.625rem; + content: "…"; + color: #0a0a0a; +} + +.pagination-previous a::before, +.pagination-previous.disabled::before { + display: inline-block; + margin-right: 0.5rem; + content: "«"; +} + +.pagination-next a::after, +.pagination-next.disabled::after { + display: inline-block; + margin-left: 0.5rem; + content: "»"; +} + +.progress { + height: 1rem; + margin-bottom: 1rem; + border-radius: 0; + background-color: #cacaca; +} +.progress.primary .progress-meter { + background-color: #1779ba; +} +.progress.secondary .progress-meter { + background-color: #767676; +} +.progress.success .progress-meter { + background-color: #3adb76; +} +.progress.warning .progress-meter { + background-color: #ffae00; +} +.progress.alert .progress-meter { + background-color: #cc4b37; +} + +.progress-meter { + position: relative; + display: block; + width: 0%; + height: 100%; + background-color: #1779ba; +} + +.progress-meter-text { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + margin: 0; + font-size: 0.75rem; + font-weight: bold; + color: #fefefe; + white-space: nowrap; +} + +html.is-reveal-open { + position: fixed; + width: 100%; + overflow-y: hidden; +} +html.is-reveal-open.zf-has-scroll { + overflow-y: scroll; + -webkit-overflow-scrolling: touch; +} +html.is-reveal-open body { + overflow-y: hidden; +} + +.reveal-overlay { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1005; + display: none; + background-color: rgba(10, 10, 10, 0.45); + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} + +.reveal { + position: relative; + top: 100px; + margin-right: auto; + margin-left: auto; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1006; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + display: none; + padding: 1rem; + border: 1px solid #cacaca; + border-radius: 0; + background-color: #fefefe; +} +[data-whatinput=mouse] .reveal { + outline: 0; +} +@media print, screen and (min-width: 40em) { + .reveal { + min-height: 0; + } +} +.reveal .column { + min-width: 0; +} +.reveal > :last-child { + margin-bottom: 0; +} +@media print, screen and (min-width: 40em) { + .reveal { + width: 600px; + max-width: 75rem; + } +} +.reveal.collapse { + padding: 0; +} +@media print, screen and (min-width: 40em) { + .reveal.tiny { + width: 30%; + max-width: 75rem; + } +} +@media print, screen and (min-width: 40em) { + .reveal.small { + width: 50%; + max-width: 75rem; + } +} +@media print, screen and (min-width: 40em) { + .reveal.large { + width: 90%; + max-width: 75rem; + } +} +.reveal.full { + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + max-width: none; + height: 100%; + min-height: 100%; + margin-left: 0; + border: 0; + border-radius: 0; +} +@media print, screen and (max-width: 39.99875em) { + .reveal { + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + max-width: none; + height: 100%; + min-height: 100%; + margin-left: 0; + border: 0; + border-radius: 0; + } +} +.reveal.without-overlay { + position: fixed; +} + +.slider { + position: relative; + height: 0.5rem; + margin-top: 1.25rem; + margin-bottom: 2.25rem; + background-color: #e6e6e6; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -ms-touch-action: none; + touch-action: none; +} + +.slider-fill { + position: absolute; + top: 0; + left: 0; + display: inline-block; + max-width: 100%; + height: 0.5rem; + background-color: #cacaca; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +.slider-fill.is-dragging { + -webkit-transition: all 0s linear; + transition: all 0s linear; +} + +.slider-handle { + left: 0; + z-index: 1; + cursor: -webkit-grab; + cursor: grab; + display: inline-block; + width: 1.4rem; + height: 1.4rem; + border-radius: 0; + background-color: #1779ba; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + -ms-touch-action: manipulation; + touch-action: manipulation; + position: absolute; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} +[data-whatinput=mouse] .slider-handle { + outline: 0; +} +.slider-handle:hover { + background-color: rgb(19.55, 102.85, 158.1); +} +.slider-handle.is-dragging { + -webkit-transition: all 0s linear; + transition: all 0s linear; + cursor: -webkit-grabbing; + cursor: grabbing; +} + +.slider.disabled, +.slider[disabled] { + opacity: 0.25; + cursor: not-allowed; +} + +.slider.vertical { + display: inline-block; + width: 0.5rem; + height: 12.5rem; + margin: 0 1.25rem; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); +} +.slider.vertical .slider-fill { + top: 0; + width: 0.5rem; + max-height: 100%; +} +.slider.vertical .slider-handle { + position: absolute; + top: 0; + left: 50%; + width: 1.4rem; + height: 1.4rem; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); +} + +.sticky-container { + position: relative; +} + +.sticky { + position: relative; + z-index: 0; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.sticky.is-stuck { + position: fixed; + z-index: 5; + width: 100%; +} +.sticky.is-stuck.is-at-top { + top: 0; +} +.sticky.is-stuck.is-at-bottom { + bottom: 0; +} + +.sticky.is-anchored { + position: relative; + right: auto; + left: auto; +} +.sticky.is-anchored.is-at-bottom { + bottom: 0; +} + +.switch { + position: relative; + margin-bottom: 1rem; + outline: 0; + font-size: 0.875rem; + font-weight: bold; + color: #fefefe; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + height: 2rem; +} + +.switch-input { + position: absolute; + margin-bottom: 0; + opacity: 0; +} + +.switch-paddle { + position: relative; + display: block; + width: 4rem; + height: 2rem; + border-radius: 0; + background: #cacaca; + -webkit-transition: all 0.25s ease-out; + transition: all 0.25s ease-out; + font-weight: inherit; + color: inherit; + cursor: pointer; +} +input + .switch-paddle { + margin: 0; +} +.switch-paddle::after { + position: absolute; + top: 0.25rem; + left: 0.25rem; + display: block; + width: 1.5rem; + height: 1.5rem; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + border-radius: 0; + background: #fefefe; + -webkit-transition: all 0.25s ease-out; + transition: all 0.25s ease-out; + content: ""; +} +input:checked ~ .switch-paddle { + background: #1779ba; +} +input:checked ~ .switch-paddle::after { + left: 2.25rem; +} +input:focus-visible ~ .switch-paddle { + background: rgb(181.8, 181.8, 181.8); +} +input:focus-visible ~ .switch-paddle::after { + background: #fefefe; +} +input:checked:focus-visible ~ .switch-paddle { + background: rgb(19.55, 102.85, 158.1); +} +input:disabled ~ .switch-paddle { + cursor: not-allowed; + opacity: 0.5; +} +[data-whatinput=mouse] input:focus ~ .switch-paddle { + outline: 0; +} + +.switch-inactive, .switch-active { + position: absolute; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} + +.switch-active { + left: 8%; + display: none; +} +input:checked + label > .switch-active { + display: block; +} + +.switch-inactive { + right: 15%; +} +input:checked + label > .switch-inactive { + display: none; +} + +.switch.tiny { + height: 1.5rem; +} +.switch.tiny .switch-paddle { + width: 3rem; + height: 1.5rem; + font-size: 0.625rem; +} +.switch.tiny .switch-paddle::after { + top: 0.25rem; + left: 0.25rem; + width: 1rem; + height: 1rem; +} +.switch.tiny input:checked ~ .switch-paddle::after { + left: 1.75rem; +} + +.switch.small { + height: 1.75rem; +} +.switch.small .switch-paddle { + width: 3.5rem; + height: 1.75rem; + font-size: 0.75rem; +} +.switch.small .switch-paddle::after { + top: 0.25rem; + left: 0.25rem; + width: 1.25rem; + height: 1.25rem; +} +.switch.small input:checked ~ .switch-paddle::after { + left: 2rem; +} + +.switch.large { + height: 2.5rem; +} +.switch.large .switch-paddle { + width: 5rem; + height: 2.5rem; + font-size: 1rem; +} +.switch.large .switch-paddle::after { + top: 0.25rem; + left: 0.25rem; + width: 2rem; + height: 2rem; +} +.switch.large input:checked ~ .switch-paddle::after { + left: 2.75rem; +} + +table { + border-collapse: collapse; + width: 100%; + margin-bottom: 1rem; + border-radius: 0; +} +thead, +tbody, +tfoot { + border: 1px solid rgb(241.3, 241.3, 241.3); + background-color: #fefefe; +} + +caption { + padding: 0.5rem 0.625rem 0.625rem; + font-weight: bold; +} + +thead { + background: rgb(247.65, 247.65, 247.65); + color: #0a0a0a; +} + +tfoot { + background: rgb(241.3, 241.3, 241.3); + color: #0a0a0a; +} + +thead tr, +tfoot tr { + background: transparent; +} +thead th, +thead td, +tfoot th, +tfoot td { + padding: 0.5rem 0.625rem 0.625rem; + font-weight: bold; + text-align: left; +} + +tbody th, +tbody td { + padding: 0.5rem 0.625rem 0.625rem; +} + +tbody tr:nth-child(even) { + border-bottom: 0; + background-color: rgb(241.3, 241.3, 241.3); +} + +table.unstriped tbody { + background-color: #fefefe; +} +table.unstriped tbody tr { + border-bottom: 1px solid rgb(241.3, 241.3, 241.3); + background-color: #fefefe; +} + +@media print, screen and (max-width: 63.99875em) { + table.stack thead { + display: none; + } + table.stack tfoot { + display: none; + } + table.stack tr, + table.stack th, + table.stack td { + display: block; + } + table.stack td { + border-top: 0; + } +} + +table.scroll { + display: block; + width: 100%; + overflow-x: auto; +} + +table.hover thead tr:hover { + background-color: rgb(242.55, 242.55, 242.55); +} +table.hover tfoot tr:hover { + background-color: rgb(236.2, 236.2, 236.2); +} +table.hover tbody tr:hover { + background-color: rgb(248.9, 248.9, 248.9); +} +table.hover:not(.unstriped) tr:nth-of-type(even):hover { + background-color: rgb(236.15, 236.15, 236.15); +} + +.table-scroll { + overflow-x: auto; +} + +.tabs { + margin: 0; + border: 1px solid #e6e6e6; + background: #fefefe; + list-style-type: none; +} +.tabs::before, .tabs::after { + display: table; + content: " "; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; +} +.tabs::after { + clear: both; +} + +.tabs.vertical > li { + display: block; + float: none; + width: auto; +} + +.tabs.simple > li > a { + padding: 0; +} +.tabs.simple > li > a:hover { + background: transparent; +} + +.tabs.primary { + background: #1779ba; +} +.tabs.primary > li > a { + color: #fefefe; +} +.tabs.primary > li > a:hover, .tabs.primary > li > a:focus { + background: rgb(21.85, 114.95, 176.7); +} + +.tabs-title { + float: left; +} +.tabs-title > a { + display: block; + padding: 1.25rem 1.5rem; + font-size: 0.75rem; + line-height: 1; + color: #1779ba; +} +[data-whatinput=mouse] .tabs-title > a { + outline: 0; +} +.tabs-title > a:hover { + background: #fefefe; + color: rgb(19.78, 104.06, 159.96); +} +.tabs-title > a:focus, .tabs-title > a[aria-selected=true] { + background: #e6e6e6; + color: #1779ba; +} + +.tabs-content { + border: 1px solid #e6e6e6; + border-top: 0; + background: #fefefe; + color: #0a0a0a; + -webkit-transition: all 0.5s ease; + transition: all 0.5s ease; +} + +.tabs-content.vertical { + border: 1px solid #e6e6e6; + border-left: 0; +} + +.tabs-panel { + display: none; + padding: 1rem; +} +.tabs-panel.is-active { + display: block; +} + +.thumbnail { + display: inline-block; + max-width: 100%; + margin-bottom: 1rem; + border: 4px solid #fefefe; + border-radius: 0; + -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2); + box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2); + line-height: 0; +} + +a.thumbnail { + -webkit-transition: -webkit-box-shadow 200ms ease-out; + transition: -webkit-box-shadow 200ms ease-out; + transition: box-shadow 200ms ease-out; + transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out; +} +a.thumbnail:hover, a.thumbnail:focus { + -webkit-box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); + box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); +} +a.thumbnail image { + -webkit-box-shadow: none; + box-shadow: none; +} + +.title-bar { + padding: 0.5rem; + background: #0a0a0a; + color: #fefefe; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} +.title-bar .menu-icon { + margin-left: 0.25rem; + margin-right: 0.25rem; +} + +.title-bar-left, +.title-bar-right { + -webkit-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0px; +} + +.title-bar-right { + text-align: right; +} + +.title-bar-title { + display: inline-block; + vertical-align: middle; + font-weight: bold; +} + +.has-tip { + position: relative; + display: inline-block; + border-bottom: dotted 1px #8a8a8a; + font-weight: bold; + cursor: help; +} + +.tooltip { + position: absolute; + top: calc(100% + 0.6495rem); + z-index: 1200; + max-width: 10rem; + padding: 0.75rem; + border-radius: 0; + background-color: #0a0a0a; + font-size: 80%; + color: #fefefe; +} +.tooltip::before { + position: absolute; +} +.tooltip.bottom::before { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 0.75rem; + content: ""; + border-top-width: 0; + border-color: transparent transparent #0a0a0a; + bottom: 100%; +} +.tooltip.bottom.align-center::before { + left: 50%; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); +} +.tooltip.top::before { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 0.75rem; + content: ""; + border-bottom-width: 0; + border-color: #0a0a0a transparent transparent; + top: 100%; + bottom: auto; +} +.tooltip.top.align-center::before { + left: 50%; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); +} +.tooltip.left::before { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 0.75rem; + content: ""; + border-right-width: 0; + border-color: transparent transparent transparent #0a0a0a; + left: 100%; +} +.tooltip.left.align-center::before { + bottom: auto; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} +.tooltip.right::before { + display: block; + width: 0; + height: 0; + border-style: solid; + border-width: 0.75rem; + content: ""; + border-left-width: 0; + border-color: transparent #0a0a0a transparent transparent; + right: 100%; + left: auto; +} +.tooltip.right.align-center::before { + bottom: auto; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} +.tooltip.align-top::before { + bottom: auto; + top: 10%; +} +.tooltip.align-bottom::before { + bottom: 10%; + top: auto; +} +.tooltip.align-left::before { + left: 10%; + right: auto; +} +.tooltip.align-right::before { + left: auto; + right: 10%; +} + +.top-bar { + padding: 0.5rem; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} +.top-bar, +.top-bar ul { + background-color: #e6e6e6; +} +.top-bar input { + max-width: 200px; + margin-right: 1rem; +} +.top-bar .input-group-field { + width: 100%; + margin-right: 0; +} +.top-bar input.button { + width: auto; +} + +.top-bar { + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} +.top-bar .top-bar-left, +.top-bar .top-bar-right { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +@media print, screen and (min-width: 40em) { + .top-bar { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .top-bar .top-bar-left { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + margin-right: auto; + } + .top-bar .top-bar-right { + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + margin-left: auto; + } +} +@media print, screen and (max-width: 63.99875em) { + .top-bar.stacked-for-medium { + -ms-flex-wrap: wrap; + flex-wrap: wrap; + } + .top-bar.stacked-for-medium .top-bar-left, + .top-bar.stacked-for-medium .top-bar-right { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } +} +@media print, screen and (max-width: 74.99875em) { + .top-bar.stacked-for-large { + -ms-flex-wrap: wrap; + flex-wrap: wrap; + } + .top-bar.stacked-for-large .top-bar-left, + .top-bar.stacked-for-large .top-bar-right { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } +} + +.top-bar-title { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + margin: 0.5rem 1rem 0.5rem 0; +} + +.top-bar-left, +.top-bar-right { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; +} + +.hide { + display: none !important; +} + +.invisible { + visibility: hidden; +} + +.visible { + visibility: visible; +} + +@media print, screen and (max-width: 39.99875em) { + .hide-for-small-only { + display: none !important; + } +} + +@media screen and (max-width: 0em), screen and (min-width: 40em) { + .show-for-small-only { + display: none !important; + } +} + +@media print, screen and (min-width: 40em) { + .hide-for-medium { + display: none !important; + } +} + +@media screen and (max-width: 39.99875em) { + .show-for-medium { + display: none !important; + } +} + +@media print, screen and (min-width: 40em) and (max-width: 63.99875em) { + .hide-for-medium-only { + display: none !important; + } +} + +@media screen and (max-width: 39.99875em), screen and (min-width: 64em) { + .show-for-medium-only { + display: none !important; + } +} + +@media print, screen and (min-width: 64em) { + .hide-for-large { + display: none !important; + } +} + +@media screen and (max-width: 63.99875em) { + .show-for-large { + display: none !important; + } +} + +@media print, screen and (min-width: 64em) and (max-width: 74.99875em) { + .hide-for-large-only { + display: none !important; + } +} + +@media screen and (max-width: 63.99875em), screen and (min-width: 75em) { + .show-for-large-only { + display: none !important; + } +} + +.show-for-sr, +.show-on-focus { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +.show-on-focus:active, .show-on-focus:focus { + position: static !important; + width: auto !important; + height: auto !important; + overflow: visible !important; + clip: auto !important; + white-space: normal !important; +} + +.show-for-landscape, +.hide-for-portrait { + display: block !important; +} +@media screen and (orientation: landscape) { + .show-for-landscape, + .hide-for-portrait { + display: block !important; + } +} +@media screen and (orientation: portrait) { + .show-for-landscape, + .hide-for-portrait { + display: none !important; + } +} + +.hide-for-landscape, +.show-for-portrait { + display: none !important; +} +@media screen and (orientation: landscape) { + .hide-for-landscape, + .show-for-portrait { + display: none !important; + } +} +@media screen and (orientation: portrait) { + .hide-for-landscape, + .show-for-portrait { + display: block !important; + } +} + +.show-for-dark-mode { + display: none; +} + +.hide-for-dark-mode { + display: block; +} + +@media screen and (prefers-color-scheme: dark) { + .show-for-dark-mode { + display: block !important; + } + .hide-for-dark-mode { + display: none !important; + } +} +.show-for-ie { + display: none; +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .show-for-ie { + display: block !important; + } + .hide-for-ie { + display: none !important; + } +} +.show-for-sticky { + display: none; +} + +.is-stuck .show-for-sticky { + display: block; +} + +.is-stuck .hide-for-sticky { + display: none; +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-center { + display: block; + margin-right: auto; + margin-left: auto; +} + +.clearfix::before, .clearfix::after { + display: table; + content: " "; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; +} +.clearfix::after { + clear: both; +} + +.slide-in-down.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateY(-100%); + transform: translateY(-100%); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.slide-in-down.mui-enter.mui-enter-active { + -webkit-transform: translateY(0); + transform: translateY(0); +} + +.slide-in-left.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.slide-in-left.mui-enter.mui-enter-active { + -webkit-transform: translateX(0); + transform: translateX(0); +} + +.slide-in-up.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateY(100%); + transform: translateY(100%); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.slide-in-up.mui-enter.mui-enter-active { + -webkit-transform: translateY(0); + transform: translateY(0); +} + +.slide-in-right.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateX(100%); + transform: translateX(100%); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.slide-in-right.mui-enter.mui-enter-active { + -webkit-transform: translateX(0); + transform: translateX(0); +} + +.slide-out-down.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateY(0); + transform: translateY(0); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.slide-out-down.mui-leave.mui-leave-active { + -webkit-transform: translateY(100%); + transform: translateY(100%); +} + +.slide-out-right.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateX(0); + transform: translateX(0); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.slide-out-right.mui-leave.mui-leave-active { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +.slide-out-up.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateY(0); + transform: translateY(0); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.slide-out-up.mui-leave.mui-leave-active { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); +} + +.slide-out-left.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: translateX(0); + transform: translateX(0); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.slide-out-left.mui-leave.mui-leave-active { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +.fade-in.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + opacity: 0; + -webkit-transition-property: opacity; + transition-property: opacity; +} + +.fade-in.mui-enter.mui-enter-active { + opacity: 1; +} + +.fade-out.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + opacity: 1; + -webkit-transition-property: opacity; + transition-property: opacity; +} + +.fade-out.mui-leave.mui-leave-active { + opacity: 0; +} + +.hinge-in-from-top.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotateX(-90deg); + transform: perspective(2000px) rotateX(-90deg); + -webkit-transform-origin: top; + transform-origin: top; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; +} + +.hinge-in-from-top.mui-enter.mui-enter-active { + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} + +.hinge-in-from-right.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotateY(-90deg); + transform: perspective(2000px) rotateY(-90deg); + -webkit-transform-origin: right; + transform-origin: right; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; +} + +.hinge-in-from-right.mui-enter.mui-enter-active { + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} + +.hinge-in-from-bottom.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotateX(90deg); + transform: perspective(2000px) rotateX(90deg); + -webkit-transform-origin: bottom; + transform-origin: bottom; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; +} + +.hinge-in-from-bottom.mui-enter.mui-enter-active { + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} + +.hinge-in-from-left.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotateY(90deg); + transform: perspective(2000px) rotateY(90deg); + -webkit-transform-origin: left; + transform-origin: left; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; +} + +.hinge-in-from-left.mui-enter.mui-enter-active { + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} + +.hinge-in-from-middle-x.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotateX(-90deg); + transform: perspective(2000px) rotateX(-90deg); + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; +} + +.hinge-in-from-middle-x.mui-enter.mui-enter-active { + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} + +.hinge-in-from-middle-y.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotateY(-90deg); + transform: perspective(2000px) rotateY(-90deg); + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; +} + +.hinge-in-from-middle-y.mui-enter.mui-enter-active { + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + opacity: 1; +} + +.hinge-out-from-top.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + -webkit-transform-origin: top; + transform-origin: top; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; +} + +.hinge-out-from-top.mui-leave.mui-leave-active { + -webkit-transform: perspective(2000px) rotateX(90deg); + transform: perspective(2000px) rotateX(90deg); + opacity: 0; +} + +.hinge-out-from-right.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + -webkit-transform-origin: right; + transform-origin: right; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; +} + +.hinge-out-from-right.mui-leave.mui-leave-active { + -webkit-transform: perspective(2000px) rotateY(90deg); + transform: perspective(2000px) rotateY(90deg); + opacity: 0; +} + +.hinge-out-from-bottom.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + -webkit-transform-origin: bottom; + transform-origin: bottom; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; +} + +.hinge-out-from-bottom.mui-leave.mui-leave-active { + -webkit-transform: perspective(2000px) rotateX(-90deg); + transform: perspective(2000px) rotateX(-90deg); + opacity: 0; +} + +.hinge-out-from-left.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + -webkit-transform-origin: left; + transform-origin: left; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; +} + +.hinge-out-from-left.mui-leave.mui-leave-active { + -webkit-transform: perspective(2000px) rotateY(-90deg); + transform: perspective(2000px) rotateY(-90deg); + opacity: 0; +} + +.hinge-out-from-middle-x.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; +} + +.hinge-out-from-middle-x.mui-leave.mui-leave-active { + -webkit-transform: perspective(2000px) rotateX(90deg); + transform: perspective(2000px) rotateX(90deg); + opacity: 0; +} + +.hinge-out-from-middle-y.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: perspective(2000px) rotate(0deg); + transform: perspective(2000px) rotate(0deg); + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; +} + +.hinge-out-from-middle-y.mui-leave.mui-leave-active { + -webkit-transform: perspective(2000px) rotateY(90deg); + transform: perspective(2000px) rotateY(90deg); + opacity: 0; +} + +.scale-in-up.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: scale(0.5); + transform: scale(0.5); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; +} + +.scale-in-up.mui-enter.mui-enter-active { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 1; +} + +.scale-in-down.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: scale(1.5); + transform: scale(1.5); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; +} + +.scale-in-down.mui-enter.mui-enter-active { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 1; +} + +.scale-out-up.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: scale(1); + transform: scale(1); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; +} + +.scale-out-up.mui-leave.mui-leave-active { + -webkit-transform: scale(1.5); + transform: scale(1.5); + opacity: 0; +} + +.scale-out-down.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: scale(1); + transform: scale(1); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; +} + +.scale-out-down.mui-leave.mui-leave-active { + -webkit-transform: scale(0.5); + transform: scale(0.5); + opacity: 0; +} + +.spin-in.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: rotate(-0.75turn); + transform: rotate(-0.75turn); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; +} + +.spin-in.mui-enter.mui-enter-active { + -webkit-transform: rotate(0); + transform: rotate(0); + opacity: 1; +} + +.spin-out.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: rotate(0); + transform: rotate(0); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; +} + +.spin-out.mui-leave.mui-leave-active { + -webkit-transform: rotate(0.75turn); + transform: rotate(0.75turn); + opacity: 0; +} + +.spin-in-ccw.mui-enter { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: rotate(0.75turn); + transform: rotate(0.75turn); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 0; +} + +.spin-in-ccw.mui-enter.mui-enter-active { + -webkit-transform: rotate(0); + transform: rotate(0); + opacity: 1; +} + +.spin-out-ccw.mui-leave { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transform: rotate(0); + transform: rotate(0); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + opacity: 1; +} + +.spin-out-ccw.mui-leave.mui-leave-active { + -webkit-transform: rotate(-0.75turn); + transform: rotate(-0.75turn); + opacity: 0; +} + +.slow { + -webkit-transition-duration: 750ms !important; + transition-duration: 750ms !important; +} + +.fast { + -webkit-transition-duration: 250ms !important; + transition-duration: 250ms !important; +} + +.linear { + -webkit-transition-timing-function: linear !important; + transition-timing-function: linear !important; +} + +.ease { + -webkit-transition-timing-function: ease !important; + transition-timing-function: ease !important; +} + +.ease-in { + -webkit-transition-timing-function: ease-in !important; + transition-timing-function: ease-in !important; +} + +.ease-out { + -webkit-transition-timing-function: ease-out !important; + transition-timing-function: ease-out !important; +} + +.ease-in-out { + -webkit-transition-timing-function: ease-in-out !important; + transition-timing-function: ease-in-out !important; +} + +.bounce-in { + -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; + transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; +} + +.bounce-out { + -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; + transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; +} + +.bounce-in-out { + -webkit-transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; + transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; +} + +.short-delay { + -webkit-transition-delay: 300ms !important; + transition-delay: 300ms !important; +} + +.long-delay { + -webkit-transition-delay: 700ms !important; + transition-delay: 700ms !important; +} + +.shake { + -webkit-animation-name: shake-7; + animation-name: shake-7; +} +@-webkit-keyframes shake-7 { + 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% { + -webkit-transform: translateX(7%); + transform: translateX(7%); + } + 5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% { + -webkit-transform: translateX(-7%); + transform: translateX(-7%); + } +} +@keyframes shake-7 { + 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% { + -webkit-transform: translateX(7%); + transform: translateX(7%); + } + 5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% { + -webkit-transform: translateX(-7%); + transform: translateX(-7%); + } +} + +.spin-cw { + -webkit-animation-name: spin-cw-1turn; + animation-name: spin-cw-1turn; +} +@-webkit-keyframes spin-cw-1turn { + 0% { + -webkit-transform: rotate(-1turn); + transform: rotate(-1turn); + } + 100% { + -webkit-transform: rotate(0); + transform: rotate(0); + } +} +@keyframes spin-cw-1turn { + 0% { + -webkit-transform: rotate(-1turn); + transform: rotate(-1turn); + } + 100% { + -webkit-transform: rotate(0); + transform: rotate(0); + } +} + +.spin-ccw { + -webkit-animation-name: spin-ccw-1turn; + animation-name: spin-ccw-1turn; +} +@-webkit-keyframes spin-ccw-1turn { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + 100% { + -webkit-transform: rotate(-1turn); + transform: rotate(-1turn); + } +} +@keyframes spin-ccw-1turn { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + 100% { + -webkit-transform: rotate(-1turn); + transform: rotate(-1turn); + } +} + +.wiggle { + -webkit-animation-name: wiggle-7deg; + animation-name: wiggle-7deg; +} +@-webkit-keyframes wiggle-7deg { + 40%, 50%, 60% { + -webkit-transform: rotate(7deg); + transform: rotate(7deg); + } + 35%, 45%, 55%, 65% { + -webkit-transform: rotate(-7deg); + transform: rotate(-7deg); + } + 0%, 30%, 70%, 100% { + -webkit-transform: rotate(0); + transform: rotate(0); + } +} +@keyframes wiggle-7deg { + 40%, 50%, 60% { + -webkit-transform: rotate(7deg); + transform: rotate(7deg); + } + 35%, 45%, 55%, 65% { + -webkit-transform: rotate(-7deg); + transform: rotate(-7deg); + } + 0%, 30%, 70%, 100% { + -webkit-transform: rotate(0); + transform: rotate(0); + } +} + +.shake, +.spin-cw, +.spin-ccw, +.wiggle { + -webkit-animation-duration: 500ms; + animation-duration: 500ms; +} + +.infinite { + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; +} + +.slow { + -webkit-animation-duration: 750ms !important; + animation-duration: 750ms !important; +} + +.fast { + -webkit-animation-duration: 250ms !important; + animation-duration: 250ms !important; +} + +.linear { + -webkit-animation-timing-function: linear !important; + animation-timing-function: linear !important; +} + +.ease { + -webkit-animation-timing-function: ease !important; + animation-timing-function: ease !important; +} + +.ease-in { + -webkit-animation-timing-function: ease-in !important; + animation-timing-function: ease-in !important; +} + +.ease-out { + -webkit-animation-timing-function: ease-out !important; + animation-timing-function: ease-out !important; +} + +.ease-in-out { + -webkit-animation-timing-function: ease-in-out !important; + animation-timing-function: ease-in-out !important; +} + +.bounce-in { + -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; + animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; +} + +.bounce-out { + -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; + animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; +} + +.bounce-in-out { + -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; + animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; +} + +.short-delay { + -webkit-animation-delay: 300ms !important; + animation-delay: 300ms !important; +} + +.long-delay { + -webkit-animation-delay: 700ms !important; + animation-delay: 700ms !important; +} \ No newline at end of file diff --git a/src/test/resources/realworld/foundation_6_9_0.min.css b/src/test/resources/realworld/foundation_6_9_0.min.css new file mode 100644 index 0000000..a39518d --- /dev/null +++ b/src/test/resources/realworld/foundation_6_9_0.min.css @@ -0,0 +1 @@ +@charset "UTF-8";@media print,screen and (min-width:40em){.reveal,.reveal.large,.reveal.small,.reveal.tiny{right:auto;left:auto;margin:0 auto}}/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:0;-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{-webkit-box-sizing:border-box;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]{-webkit-box-sizing:border-box;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}[data-whatinput=mouse] *,[data-whatinput=mouse] :focus,[data-whatinput=touch] *,[data-whatinput=touch] :focus,[data-whatintent=mouse] *,[data-whatintent=mouse] :focus,[data-whatintent=touch] *,[data-whatintent=touch] :focus{outline:0}[draggable=false]{-webkit-touch-callout:none;-webkit-user-select:none}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:100%}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}body{margin:0;padding:0;background:#fefefe;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:400;line-height:1.5;color:#0a0a0a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle;max-width:100%;height:auto;-ms-interpolation-mode:bicubic}textarea{height:auto;min-height:50px;border-radius:0}select{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;border-radius:0}.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none!important}button{padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;background:0 0;line-height:1;cursor:auto}[data-whatinput=mouse] button{outline:0}pre{overflow:auto;-webkit-overflow-scrolling:touch}button,input,optgroup,select,textarea{font-family:inherit}.is-visible{display:block!important}.is-hidden{display:none!important}.grid-container{max-width:75rem;margin-left:auto;margin-right:auto;padding-right:.625rem;padding-left:.625rem}@media print,screen and (min-width:40em){.grid-container{padding-right:.9375rem;padding-left:.9375rem}}.grid-container.fluid{max-width:100%;margin-left:auto;margin-right:auto;padding-right:.625rem;padding-left:.625rem}@media print,screen and (min-width:40em){.grid-container.fluid{padding-right:.9375rem;padding-left:.9375rem}}.grid-container.full{max-width:100%;margin-left:auto;margin-right:auto;padding-right:0;padding-left:0}.grid-x{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.cell{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;min-height:0;min-width:0;width:100%}.cell.auto{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0}.cell.shrink{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.auto{width:auto}.grid-x>.shrink{width:auto}.grid-x>.small-1,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-full,.grid-x>.small-shrink{-ms-flex-preferred-size:auto;flex-basis:auto}@media print,screen and (min-width:40em){.grid-x>.medium-1,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-full,.grid-x>.medium-shrink{-ms-flex-preferred-size:auto;flex-basis:auto}}@media print,screen and (min-width:64em){.grid-x>.large-1,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-full,.grid-x>.large-shrink{-ms-flex-preferred-size:auto;flex-basis:auto}}.grid-x>.small-1,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.small-1{width:8.3333333333%}.grid-x>.small-2{width:16.6666666667%}.grid-x>.small-3{width:25%}.grid-x>.small-4{width:33.3333333333%}.grid-x>.small-5{width:41.6666666667%}.grid-x>.small-6{width:50%}.grid-x>.small-7{width:58.3333333333%}.grid-x>.small-8{width:66.6666666667%}.grid-x>.small-9{width:75%}.grid-x>.small-10{width:83.3333333333%}.grid-x>.small-11{width:91.6666666667%}.grid-x>.small-12{width:100%}@media print,screen and (min-width:40em){.grid-x>.medium-auto{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;width:auto}.grid-x>.medium-1,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-shrink{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.medium-shrink{width:auto}.grid-x>.medium-1{width:8.3333333333%}.grid-x>.medium-2{width:16.6666666667%}.grid-x>.medium-3{width:25%}.grid-x>.medium-4{width:33.3333333333%}.grid-x>.medium-5{width:41.6666666667%}.grid-x>.medium-6{width:50%}.grid-x>.medium-7{width:58.3333333333%}.grid-x>.medium-8{width:66.6666666667%}.grid-x>.medium-9{width:75%}.grid-x>.medium-10{width:83.3333333333%}.grid-x>.medium-11{width:91.6666666667%}.grid-x>.medium-12{width:100%}}@media print,screen and (min-width:64em){.grid-x>.large-auto{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;width:auto}.grid-x>.large-1,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-shrink{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.large-shrink{width:auto}.grid-x>.large-1{width:8.3333333333%}.grid-x>.large-2{width:16.6666666667%}.grid-x>.large-3{width:25%}.grid-x>.large-4{width:33.3333333333%}.grid-x>.large-5{width:41.6666666667%}.grid-x>.large-6{width:50%}.grid-x>.large-7{width:58.3333333333%}.grid-x>.large-8{width:66.6666666667%}.grid-x>.large-9{width:75%}.grid-x>.large-10{width:83.3333333333%}.grid-x>.large-11{width:91.6666666667%}.grid-x>.large-12{width:100%}}.grid-margin-x:not(.grid-x)>.cell{width:auto}.grid-margin-y:not(.grid-y)>.cell{height:auto}.grid-margin-x{margin-left:-.625rem;margin-right:-.625rem}@media print,screen and (min-width:40em){.grid-margin-x{margin-left:-.9375rem;margin-right:-.9375rem}}.grid-margin-x>.cell{width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}@media print,screen and (min-width:40em){.grid-margin-x>.cell{width:calc(100% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem}}.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.3333333333% - 1.25rem)}.grid-margin-x>.small-2{width:calc(16.6666666667% - 1.25rem)}.grid-margin-x>.small-3{width:calc(25% - 1.25rem)}.grid-margin-x>.small-4{width:calc(33.3333333333% - 1.25rem)}.grid-margin-x>.small-5{width:calc(41.6666666667% - 1.25rem)}.grid-margin-x>.small-6{width:calc(50% - 1.25rem)}.grid-margin-x>.small-7{width:calc(58.3333333333% - 1.25rem)}.grid-margin-x>.small-8{width:calc(66.6666666667% - 1.25rem)}.grid-margin-x>.small-9{width:calc(75% - 1.25rem)}.grid-margin-x>.small-10{width:calc(83.3333333333% - 1.25rem)}.grid-margin-x>.small-11{width:calc(91.6666666667% - 1.25rem)}.grid-margin-x>.small-12{width:calc(100% - 1.25rem)}@media print,screen and (min-width:40em){.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.3333333333% - 1.875rem)}.grid-margin-x>.small-2{width:calc(16.6666666667% - 1.875rem)}.grid-margin-x>.small-3{width:calc(25% - 1.875rem)}.grid-margin-x>.small-4{width:calc(33.3333333333% - 1.875rem)}.grid-margin-x>.small-5{width:calc(41.6666666667% - 1.875rem)}.grid-margin-x>.small-6{width:calc(50% - 1.875rem)}.grid-margin-x>.small-7{width:calc(58.3333333333% - 1.875rem)}.grid-margin-x>.small-8{width:calc(66.6666666667% - 1.875rem)}.grid-margin-x>.small-9{width:calc(75% - 1.875rem)}.grid-margin-x>.small-10{width:calc(83.3333333333% - 1.875rem)}.grid-margin-x>.small-11{width:calc(91.6666666667% - 1.875rem)}.grid-margin-x>.small-12{width:calc(100% - 1.875rem)}.grid-margin-x>.medium-auto{width:auto}.grid-margin-x>.medium-shrink{width:auto}.grid-margin-x>.medium-1{width:calc(8.3333333333% - 1.875rem)}.grid-margin-x>.medium-2{width:calc(16.6666666667% - 1.875rem)}.grid-margin-x>.medium-3{width:calc(25% - 1.875rem)}.grid-margin-x>.medium-4{width:calc(33.3333333333% - 1.875rem)}.grid-margin-x>.medium-5{width:calc(41.6666666667% - 1.875rem)}.grid-margin-x>.medium-6{width:calc(50% - 1.875rem)}.grid-margin-x>.medium-7{width:calc(58.3333333333% - 1.875rem)}.grid-margin-x>.medium-8{width:calc(66.6666666667% - 1.875rem)}.grid-margin-x>.medium-9{width:calc(75% - 1.875rem)}.grid-margin-x>.medium-10{width:calc(83.3333333333% - 1.875rem)}.grid-margin-x>.medium-11{width:calc(91.6666666667% - 1.875rem)}.grid-margin-x>.medium-12{width:calc(100% - 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-x>.large-auto{width:auto}.grid-margin-x>.large-shrink{width:auto}.grid-margin-x>.large-1{width:calc(8.3333333333% - 1.875rem)}.grid-margin-x>.large-2{width:calc(16.6666666667% - 1.875rem)}.grid-margin-x>.large-3{width:calc(25% - 1.875rem)}.grid-margin-x>.large-4{width:calc(33.3333333333% - 1.875rem)}.grid-margin-x>.large-5{width:calc(41.6666666667% - 1.875rem)}.grid-margin-x>.large-6{width:calc(50% - 1.875rem)}.grid-margin-x>.large-7{width:calc(58.3333333333% - 1.875rem)}.grid-margin-x>.large-8{width:calc(66.6666666667% - 1.875rem)}.grid-margin-x>.large-9{width:calc(75% - 1.875rem)}.grid-margin-x>.large-10{width:calc(83.3333333333% - 1.875rem)}.grid-margin-x>.large-11{width:calc(91.6666666667% - 1.875rem)}.grid-margin-x>.large-12{width:calc(100% - 1.875rem)}}.grid-padding-x .grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print,screen and (min-width:40em){.grid-padding-x .grid-padding-x{margin-right:-.9375rem;margin-left:-.9375rem}}.grid-container:not(.full)>.grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print,screen and (min-width:40em){.grid-container:not(.full)>.grid-padding-x{margin-right:-.9375rem;margin-left:-.9375rem}}.grid-padding-x>.cell{padding-right:.625rem;padding-left:.625rem}@media print,screen and (min-width:40em){.grid-padding-x>.cell{padding-right:.9375rem;padding-left:.9375rem}}.small-up-1>.cell{width:100%}.small-up-2>.cell{width:50%}.small-up-3>.cell{width:33.3333333333%}.small-up-4>.cell{width:25%}.small-up-5>.cell{width:20%}.small-up-6>.cell{width:16.6666666667%}.small-up-7>.cell{width:14.2857142857%}.small-up-8>.cell{width:12.5%}@media print,screen and (min-width:40em){.medium-up-1>.cell{width:100%}.medium-up-2>.cell{width:50%}.medium-up-3>.cell{width:33.3333333333%}.medium-up-4>.cell{width:25%}.medium-up-5>.cell{width:20%}.medium-up-6>.cell{width:16.6666666667%}.medium-up-7>.cell{width:14.2857142857%}.medium-up-8>.cell{width:12.5%}}@media print,screen and (min-width:64em){.large-up-1>.cell{width:100%}.large-up-2>.cell{width:50%}.large-up-3>.cell{width:33.3333333333%}.large-up-4>.cell{width:25%}.large-up-5>.cell{width:20%}.large-up-6>.cell{width:16.6666666667%}.large-up-7>.cell{width:14.2857142857%}.large-up-8>.cell{width:12.5%}}.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.3333333333% - 1.25rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.6666666667% - 1.25rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.2857142857% - 1.25rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}@media print,screen and (min-width:40em){.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.3333333333% - 1.875rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.6666666667% - 1.875rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.2857142857% - 1.875rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.875rem)}.grid-margin-x.medium-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.medium-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.medium-up-3>.cell{width:calc(33.3333333333% - 1.875rem)}.grid-margin-x.medium-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.medium-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.medium-up-6>.cell{width:calc(16.6666666667% - 1.875rem)}.grid-margin-x.medium-up-7>.cell{width:calc(14.2857142857% - 1.875rem)}.grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-x.large-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.large-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.large-up-3>.cell{width:calc(33.3333333333% - 1.875rem)}.grid-margin-x.large-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.large-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.large-up-6>.cell{width:calc(16.6666666667% - 1.875rem)}.grid-margin-x.large-up-7>.cell{width:calc(14.2857142857% - 1.875rem)}.grid-margin-x.large-up-8>.cell{width:calc(12.5% - 1.875rem)}}.small-margin-collapse{margin-right:0;margin-left:0}.small-margin-collapse>.cell{margin-right:0;margin-left:0}.small-margin-collapse>.small-1{width:8.3333333333%}.small-margin-collapse>.small-2{width:16.6666666667%}.small-margin-collapse>.small-3{width:25%}.small-margin-collapse>.small-4{width:33.3333333333%}.small-margin-collapse>.small-5{width:41.6666666667%}.small-margin-collapse>.small-6{width:50%}.small-margin-collapse>.small-7{width:58.3333333333%}.small-margin-collapse>.small-8{width:66.6666666667%}.small-margin-collapse>.small-9{width:75%}.small-margin-collapse>.small-10{width:83.3333333333%}.small-margin-collapse>.small-11{width:91.6666666667%}.small-margin-collapse>.small-12{width:100%}@media print,screen and (min-width:40em){.small-margin-collapse>.medium-1{width:8.3333333333%}.small-margin-collapse>.medium-2{width:16.6666666667%}.small-margin-collapse>.medium-3{width:25%}.small-margin-collapse>.medium-4{width:33.3333333333%}.small-margin-collapse>.medium-5{width:41.6666666667%}.small-margin-collapse>.medium-6{width:50%}.small-margin-collapse>.medium-7{width:58.3333333333%}.small-margin-collapse>.medium-8{width:66.6666666667%}.small-margin-collapse>.medium-9{width:75%}.small-margin-collapse>.medium-10{width:83.3333333333%}.small-margin-collapse>.medium-11{width:91.6666666667%}.small-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width:64em){.small-margin-collapse>.large-1{width:8.3333333333%}.small-margin-collapse>.large-2{width:16.6666666667%}.small-margin-collapse>.large-3{width:25%}.small-margin-collapse>.large-4{width:33.3333333333%}.small-margin-collapse>.large-5{width:41.6666666667%}.small-margin-collapse>.large-6{width:50%}.small-margin-collapse>.large-7{width:58.3333333333%}.small-margin-collapse>.large-8{width:66.6666666667%}.small-margin-collapse>.large-9{width:75%}.small-margin-collapse>.large-10{width:83.3333333333%}.small-margin-collapse>.large-11{width:91.6666666667%}.small-margin-collapse>.large-12{width:100%}}.small-padding-collapse{margin-right:0;margin-left:0}.small-padding-collapse>.cell{padding-right:0;padding-left:0}@media print,screen and (min-width:40em){.medium-margin-collapse{margin-right:0;margin-left:0}.medium-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print,screen and (min-width:40em){.medium-margin-collapse>.small-1{width:8.3333333333%}.medium-margin-collapse>.small-2{width:16.6666666667%}.medium-margin-collapse>.small-3{width:25%}.medium-margin-collapse>.small-4{width:33.3333333333%}.medium-margin-collapse>.small-5{width:41.6666666667%}.medium-margin-collapse>.small-6{width:50%}.medium-margin-collapse>.small-7{width:58.3333333333%}.medium-margin-collapse>.small-8{width:66.6666666667%}.medium-margin-collapse>.small-9{width:75%}.medium-margin-collapse>.small-10{width:83.3333333333%}.medium-margin-collapse>.small-11{width:91.6666666667%}.medium-margin-collapse>.small-12{width:100%}}@media print,screen and (min-width:40em){.medium-margin-collapse>.medium-1{width:8.3333333333%}.medium-margin-collapse>.medium-2{width:16.6666666667%}.medium-margin-collapse>.medium-3{width:25%}.medium-margin-collapse>.medium-4{width:33.3333333333%}.medium-margin-collapse>.medium-5{width:41.6666666667%}.medium-margin-collapse>.medium-6{width:50%}.medium-margin-collapse>.medium-7{width:58.3333333333%}.medium-margin-collapse>.medium-8{width:66.6666666667%}.medium-margin-collapse>.medium-9{width:75%}.medium-margin-collapse>.medium-10{width:83.3333333333%}.medium-margin-collapse>.medium-11{width:91.6666666667%}.medium-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width:64em){.medium-margin-collapse>.large-1{width:8.3333333333%}.medium-margin-collapse>.large-2{width:16.6666666667%}.medium-margin-collapse>.large-3{width:25%}.medium-margin-collapse>.large-4{width:33.3333333333%}.medium-margin-collapse>.large-5{width:41.6666666667%}.medium-margin-collapse>.large-6{width:50%}.medium-margin-collapse>.large-7{width:58.3333333333%}.medium-margin-collapse>.large-8{width:66.6666666667%}.medium-margin-collapse>.large-9{width:75%}.medium-margin-collapse>.large-10{width:83.3333333333%}.medium-margin-collapse>.large-11{width:91.6666666667%}.medium-margin-collapse>.large-12{width:100%}}@media print,screen and (min-width:40em){.medium-padding-collapse{margin-right:0;margin-left:0}.medium-padding-collapse>.cell{padding-right:0;padding-left:0}}@media print,screen and (min-width:64em){.large-margin-collapse{margin-right:0;margin-left:0}.large-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print,screen and (min-width:64em){.large-margin-collapse>.small-1{width:8.3333333333%}.large-margin-collapse>.small-2{width:16.6666666667%}.large-margin-collapse>.small-3{width:25%}.large-margin-collapse>.small-4{width:33.3333333333%}.large-margin-collapse>.small-5{width:41.6666666667%}.large-margin-collapse>.small-6{width:50%}.large-margin-collapse>.small-7{width:58.3333333333%}.large-margin-collapse>.small-8{width:66.6666666667%}.large-margin-collapse>.small-9{width:75%}.large-margin-collapse>.small-10{width:83.3333333333%}.large-margin-collapse>.small-11{width:91.6666666667%}.large-margin-collapse>.small-12{width:100%}}@media print,screen and (min-width:64em){.large-margin-collapse>.medium-1{width:8.3333333333%}.large-margin-collapse>.medium-2{width:16.6666666667%}.large-margin-collapse>.medium-3{width:25%}.large-margin-collapse>.medium-4{width:33.3333333333%}.large-margin-collapse>.medium-5{width:41.6666666667%}.large-margin-collapse>.medium-6{width:50%}.large-margin-collapse>.medium-7{width:58.3333333333%}.large-margin-collapse>.medium-8{width:66.6666666667%}.large-margin-collapse>.medium-9{width:75%}.large-margin-collapse>.medium-10{width:83.3333333333%}.large-margin-collapse>.medium-11{width:91.6666666667%}.large-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width:64em){.large-margin-collapse>.large-1{width:8.3333333333%}.large-margin-collapse>.large-2{width:16.6666666667%}.large-margin-collapse>.large-3{width:25%}.large-margin-collapse>.large-4{width:33.3333333333%}.large-margin-collapse>.large-5{width:41.6666666667%}.large-margin-collapse>.large-6{width:50%}.large-margin-collapse>.large-7{width:58.3333333333%}.large-margin-collapse>.large-8{width:66.6666666667%}.large-margin-collapse>.large-9{width:75%}.large-margin-collapse>.large-10{width:83.3333333333%}.large-margin-collapse>.large-11{width:91.6666666667%}.large-margin-collapse>.large-12{width:100%}}@media print,screen and (min-width:64em){.large-padding-collapse{margin-right:0;margin-left:0}.large-padding-collapse>.cell{padding-right:0;padding-left:0}}.small-offset-0{margin-left:0}.grid-margin-x>.small-offset-0{margin-left:calc(0% + 1.25rem / 2)}.small-offset-1{margin-left:8.3333333333%}.grid-margin-x>.small-offset-1{margin-left:calc(8.3333333333% + 1.25rem / 2)}.small-offset-2{margin-left:16.6666666667%}.grid-margin-x>.small-offset-2{margin-left:calc(16.6666666667% + 1.25rem / 2)}.small-offset-3{margin-left:25%}.grid-margin-x>.small-offset-3{margin-left:calc(25% + 1.25rem / 2)}.small-offset-4{margin-left:33.3333333333%}.grid-margin-x>.small-offset-4{margin-left:calc(33.3333333333% + 1.25rem / 2)}.small-offset-5{margin-left:41.6666666667%}.grid-margin-x>.small-offset-5{margin-left:calc(41.6666666667% + 1.25rem / 2)}.small-offset-6{margin-left:50%}.grid-margin-x>.small-offset-6{margin-left:calc(50% + 1.25rem / 2)}.small-offset-7{margin-left:58.3333333333%}.grid-margin-x>.small-offset-7{margin-left:calc(58.3333333333% + 1.25rem / 2)}.small-offset-8{margin-left:66.6666666667%}.grid-margin-x>.small-offset-8{margin-left:calc(66.6666666667% + 1.25rem / 2)}.small-offset-9{margin-left:75%}.grid-margin-x>.small-offset-9{margin-left:calc(75% + 1.25rem / 2)}.small-offset-10{margin-left:83.3333333333%}.grid-margin-x>.small-offset-10{margin-left:calc(83.3333333333% + 1.25rem / 2)}.small-offset-11{margin-left:91.6666666667%}.grid-margin-x>.small-offset-11{margin-left:calc(91.6666666667% + 1.25rem / 2)}@media print,screen and (min-width:40em){.medium-offset-0{margin-left:0}.grid-margin-x>.medium-offset-0{margin-left:calc(0% + 1.875rem / 2)}.medium-offset-1{margin-left:8.3333333333%}.grid-margin-x>.medium-offset-1{margin-left:calc(8.3333333333% + 1.875rem / 2)}.medium-offset-2{margin-left:16.6666666667%}.grid-margin-x>.medium-offset-2{margin-left:calc(16.6666666667% + 1.875rem / 2)}.medium-offset-3{margin-left:25%}.grid-margin-x>.medium-offset-3{margin-left:calc(25% + 1.875rem / 2)}.medium-offset-4{margin-left:33.3333333333%}.grid-margin-x>.medium-offset-4{margin-left:calc(33.3333333333% + 1.875rem / 2)}.medium-offset-5{margin-left:41.6666666667%}.grid-margin-x>.medium-offset-5{margin-left:calc(41.6666666667% + 1.875rem / 2)}.medium-offset-6{margin-left:50%}.grid-margin-x>.medium-offset-6{margin-left:calc(50% + 1.875rem / 2)}.medium-offset-7{margin-left:58.3333333333%}.grid-margin-x>.medium-offset-7{margin-left:calc(58.3333333333% + 1.875rem / 2)}.medium-offset-8{margin-left:66.6666666667%}.grid-margin-x>.medium-offset-8{margin-left:calc(66.6666666667% + 1.875rem / 2)}.medium-offset-9{margin-left:75%}.grid-margin-x>.medium-offset-9{margin-left:calc(75% + 1.875rem / 2)}.medium-offset-10{margin-left:83.3333333333%}.grid-margin-x>.medium-offset-10{margin-left:calc(83.3333333333% + 1.875rem / 2)}.medium-offset-11{margin-left:91.6666666667%}.grid-margin-x>.medium-offset-11{margin-left:calc(91.6666666667% + 1.875rem / 2)}}@media print,screen and (min-width:64em){.large-offset-0{margin-left:0}.grid-margin-x>.large-offset-0{margin-left:calc(0% + 1.875rem / 2)}.large-offset-1{margin-left:8.3333333333%}.grid-margin-x>.large-offset-1{margin-left:calc(8.3333333333% + 1.875rem / 2)}.large-offset-2{margin-left:16.6666666667%}.grid-margin-x>.large-offset-2{margin-left:calc(16.6666666667% + 1.875rem / 2)}.large-offset-3{margin-left:25%}.grid-margin-x>.large-offset-3{margin-left:calc(25% + 1.875rem / 2)}.large-offset-4{margin-left:33.3333333333%}.grid-margin-x>.large-offset-4{margin-left:calc(33.3333333333% + 1.875rem / 2)}.large-offset-5{margin-left:41.6666666667%}.grid-margin-x>.large-offset-5{margin-left:calc(41.6666666667% + 1.875rem / 2)}.large-offset-6{margin-left:50%}.grid-margin-x>.large-offset-6{margin-left:calc(50% + 1.875rem / 2)}.large-offset-7{margin-left:58.3333333333%}.grid-margin-x>.large-offset-7{margin-left:calc(58.3333333333% + 1.875rem / 2)}.large-offset-8{margin-left:66.6666666667%}.grid-margin-x>.large-offset-8{margin-left:calc(66.6666666667% + 1.875rem / 2)}.large-offset-9{margin-left:75%}.grid-margin-x>.large-offset-9{margin-left:calc(75% + 1.875rem / 2)}.large-offset-10{margin-left:83.3333333333%}.grid-margin-x>.large-offset-10{margin-left:calc(83.3333333333% + 1.875rem / 2)}.large-offset-11{margin-left:91.6666666667%}.grid-margin-x>.large-offset-11{margin-left:calc(91.6666666667% + 1.875rem / 2)}}.grid-y{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.grid-y>.cell{height:auto;max-height:none}.grid-y>.auto{height:auto}.grid-y>.shrink{height:auto}.grid-y>.small-1,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-full,.grid-y>.small-shrink{-ms-flex-preferred-size:auto;flex-basis:auto}@media print,screen and (min-width:40em){.grid-y>.medium-1,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-full,.grid-y>.medium-shrink{-ms-flex-preferred-size:auto;flex-basis:auto}}@media print,screen and (min-width:64em){.grid-y>.large-1,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-full,.grid-y>.large-shrink{-ms-flex-preferred-size:auto;flex-basis:auto}}.grid-y>.small-1,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.small-1{height:8.3333333333%}.grid-y>.small-2{height:16.6666666667%}.grid-y>.small-3{height:25%}.grid-y>.small-4{height:33.3333333333%}.grid-y>.small-5{height:41.6666666667%}.grid-y>.small-6{height:50%}.grid-y>.small-7{height:58.3333333333%}.grid-y>.small-8{height:66.6666666667%}.grid-y>.small-9{height:75%}.grid-y>.small-10{height:83.3333333333%}.grid-y>.small-11{height:91.6666666667%}.grid-y>.small-12{height:100%}@media print,screen and (min-width:40em){.grid-y>.medium-auto{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;height:auto}.grid-y>.medium-1,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-shrink{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.medium-shrink{height:auto}.grid-y>.medium-1{height:8.3333333333%}.grid-y>.medium-2{height:16.6666666667%}.grid-y>.medium-3{height:25%}.grid-y>.medium-4{height:33.3333333333%}.grid-y>.medium-5{height:41.6666666667%}.grid-y>.medium-6{height:50%}.grid-y>.medium-7{height:58.3333333333%}.grid-y>.medium-8{height:66.6666666667%}.grid-y>.medium-9{height:75%}.grid-y>.medium-10{height:83.3333333333%}.grid-y>.medium-11{height:91.6666666667%}.grid-y>.medium-12{height:100%}}@media print,screen and (min-width:64em){.grid-y>.large-auto{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;height:auto}.grid-y>.large-1,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-shrink{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.large-shrink{height:auto}.grid-y>.large-1{height:8.3333333333%}.grid-y>.large-2{height:16.6666666667%}.grid-y>.large-3{height:25%}.grid-y>.large-4{height:33.3333333333%}.grid-y>.large-5{height:41.6666666667%}.grid-y>.large-6{height:50%}.grid-y>.large-7{height:58.3333333333%}.grid-y>.large-8{height:66.6666666667%}.grid-y>.large-9{height:75%}.grid-y>.large-10{height:83.3333333333%}.grid-y>.large-11{height:91.6666666667%}.grid-y>.large-12{height:100%}}.grid-padding-y .grid-padding-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print,screen and (min-width:40em){.grid-padding-y .grid-padding-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-padding-y>.cell{padding-top:.625rem;padding-bottom:.625rem}@media print,screen and (min-width:40em){.grid-padding-y>.cell{padding-top:.9375rem;padding-bottom:.9375rem}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print,screen and (min-width:40em){.grid-margin-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print,screen and (min-width:40em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.9375rem;margin-bottom:.9375rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.3333333333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.6666666667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.3333333333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.6666666667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.3333333333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.6666666667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.3333333333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.6666666667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print,screen and (min-width:40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.3333333333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.6666666667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.3333333333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.6666666667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.3333333333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.6666666667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.3333333333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.6666666667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.3333333333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.6666666667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.3333333333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.6666666667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.3333333333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.6666666667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.3333333333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.6666666667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.3333333333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.6666666667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.3333333333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.6666666667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.3333333333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.6666666667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.3333333333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.6666666667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}.grid-frame{overflow:hidden;position:relative;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .grid-frame{width:100%}.cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:100%}.cell-block-container>.grid-x{max-height:100%;-ms-flex-wrap:nowrap;flex-wrap:nowrap}@media print,screen and (min-width:40em){.medium-grid-frame{overflow:hidden;position:relative;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .medium-grid-frame{width:100%}.medium-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.medium-cell-block-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:100%}.medium-cell-block-container>.grid-x{max-height:100%;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.medium-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}@media print,screen and (min-width:64em){.large-grid-frame{overflow:hidden;position:relative;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .large-grid-frame{width:100%}.large-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.large-cell-block-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:100%}.large-cell-block-container>.grid-x{max-height:100%;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.large-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}.grid-y.grid-frame{overflow:hidden;position:relative;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh;width:auto}@media print,screen and (min-width:40em){.grid-y.medium-grid-frame{overflow:hidden;position:relative;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh;width:auto}}@media print,screen and (min-width:64em){.grid-y.large-grid-frame{overflow:hidden;position:relative;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh;width:auto}}.cell .grid-y.grid-frame{height:100%}@media print,screen and (min-width:40em){.cell .grid-y.medium-grid-frame{height:100%}}@media print,screen and (min-width:64em){.cell .grid-y.large-grid-frame{height:100%}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print,screen and (min-width:40em){.grid-margin-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print,screen and (min-width:40em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.9375rem;margin-bottom:.9375rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.3333333333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.6666666667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.3333333333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.6666666667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.3333333333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.6666666667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.3333333333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.6666666667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print,screen and (min-width:40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.3333333333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.6666666667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.3333333333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.6666666667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.3333333333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.6666666667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.3333333333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.6666666667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.3333333333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.6666666667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.3333333333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.6666666667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.3333333333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.6666666667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.3333333333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.6666666667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.3333333333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.6666666667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.3333333333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.6666666667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.3333333333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.6666666667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.3333333333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.6666666667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}.grid-frame.grid-margin-y{height:calc(100vh + 1.25rem)}@media print,screen and (min-width:40em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print,screen and (min-width:64em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print,screen and (min-width:40em){.grid-margin-y.medium-grid-frame{height:calc(100vh + 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-y.large-grid-frame{height:calc(100vh + 1.875rem)}}.align-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.align-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.align-justify{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.align-spaced{-ms-flex-pack:distribute;justify-content:space-around}.align-left.vertical.menu>li>a{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.align-right.vertical.menu>li>a{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.align-center.vertical.menu>li>a{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.align-self-top{-ms-flex-item-align:start;align-self:flex-start}.align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.align-self-bottom{-ms-flex-item-align:end;align-self:flex-end}.align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.align-self-middle{-ms-flex-item-align:center;align-self:center}.align-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.align-self-stretch{-ms-flex-item-align:stretch;align-self:stretch}.align-center-middle{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center}.small-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.small-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.small-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.small-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.small-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.small-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}@media print,screen and (min-width:40em){.medium-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.medium-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.medium-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.medium-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.medium-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.medium-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}}@media print,screen and (min-width:64em){.large-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.large-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.large-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.large-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.large-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.large-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}}.flex-container{display:-webkit-box;display:-ms-flexbox;display:flex}.flex-child-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.flex-child-grow{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.flex-child-shrink{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}@media print,screen and (min-width:40em){.medium-flex-container{display:-webkit-box;display:-ms-flexbox;display:flex}.medium-flex-child-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.medium-flex-child-grow{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.medium-flex-child-shrink{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.medium-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.medium-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.medium-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.medium-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}@media print,screen and (min-width:64em){.large-flex-container{display:-webkit-box;display:-ms-flexbox;display:flex}.large-flex-child-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.large-flex-child-grow{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.large-flex-child-shrink{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.large-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.large-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.large-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.large-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{margin:0;padding:0}p{margin-bottom:1rem;font-size:inherit;line-height:1.6;text-rendering:optimizeLegibility}em,i{font-style:italic;line-height:inherit}b,strong{font-weight:700;line-height:inherit}small{font-size:80%;line-height:inherit}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-style:normal;font-weight:400;color:inherit;text-rendering:optimizeLegibility}.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{line-height:0;color:#cacaca}.h1,h1{font-size:1.5rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h2,h2{font-size:1.25rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h3,h3{font-size:1.1875rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h4,h4{font-size:1.125rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h5,h5{font-size:1.0625rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}.h6,h6{font-size:1rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}@media print,screen and (min-width:40em){.h1,h1{font-size:3rem}.h2,h2{font-size:2.5rem}.h3,h3{font-size:1.9375rem}.h4,h4{font-size:1.5625rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}}a{line-height:inherit;color:#1779ba;text-decoration:none;cursor:pointer}a:focus,a:hover{color:rgb(19.78,104.06,159.96)}a img{border:0}hr{clear:both;max-width:75rem;height:0;margin:1.25rem auto;border-top:0;border-right:0;border-bottom:1px solid #cacaca;border-left:0}dl,ol,ul{margin-bottom:1rem;list-style-position:outside;line-height:1.6}li{font-size:inherit}ul{margin-left:1.25rem;list-style-type:disc}ol{margin-left:1.25rem}ol ol,ol ul,ul ol,ul ul{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:700}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}abbr,abbr[title]{border-bottom:1px dotted #0a0a0a;cursor:help;text-decoration:none}figure{margin:0}kbd{margin:0;padding:.125rem .25rem 0;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;color:#0a0a0a}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:400;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}ol.no-bullet,ul.no-bullet{margin-left:0;list-style:none}.cite-block,cite{display:block;color:#8a8a8a;font-size:.8125rem}.cite-block:before,cite:before{content:"— "}.code-inline,code{border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:400;color:#0a0a0a;display:inline;max-width:100%;word-wrap:break-word;padding:.125rem .3125rem .0625rem}.code-block{border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:400;color:#0a0a0a;display:block;overflow:auto;white-space:pre;padding:1rem;margin-bottom:1.5rem}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media print,screen and (min-width:40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media print,screen and (min-width:64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none!important}@media print{*{background:0 0!important;color:#000!important;-webkit-print-color-adjust:economy;print-color-adjust:economy;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}.show-for-print{display:block!important}.hide-for-print{display:none!important}table.show-for-print{display:table!important}thead.show-for-print{display:table-header-group!important}tbody.show-for-print{display:table-row-group!important}tr.show-for-print{display:table-row!important}td.show-for-print{display:table-cell!important}th.show-for-print{display:table-cell!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}.button{display:inline-block;vertical-align:middle;margin:0 0 1rem 0;border:1px solid transparent;border-radius:0;-webkit-transition:background-color .25s ease-out,color .25s ease-out;transition:background-color .25s ease-out,color .25s ease-out;font-family:inherit;font-size:.9rem;-webkit-appearance:none;line-height:1;text-align:center;cursor:pointer;padding:.85em 1em}[data-whatinput=mouse] .button{outline:0}.button.tiny{font-size:.6rem}.button.small{font-size:.75rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-right:0;margin-left:0}.button,.button.disabled,.button.disabled:focus,.button.disabled:hover,.button[disabled],.button[disabled]:focus,.button[disabled]:hover{background-color:#1779ba;color:#fefefe}.button:focus,.button:hover{background-color:rgb(19.55,102.85,158.1);color:#fefefe}.button.primary,.button.primary.disabled,.button.primary.disabled:focus,.button.primary.disabled:hover,.button.primary[disabled],.button.primary[disabled]:focus,.button.primary[disabled]:hover{background-color:#1779ba;color:#fefefe}.button.primary:focus,.button.primary:hover{background-color:rgb(18.4,96.8,148.8);color:#fefefe}.button.secondary,.button.secondary.disabled,.button.secondary.disabled:focus,.button.secondary.disabled:hover,.button.secondary[disabled],.button.secondary[disabled]:focus,.button.secondary[disabled]:hover{background-color:#767676;color:#fefefe}.button.secondary:focus,.button.secondary:hover{background-color:rgb(94.4,94.4,94.4);color:#fefefe}.button.success,.button.success.disabled,.button.success.disabled:focus,.button.success.disabled:hover,.button.success[disabled],.button.success[disabled]:focus,.button.success[disabled]:hover{background-color:#3adb76;color:#0a0a0a}.button.success:focus,.button.success:hover{background-color:rgb(34.2386266094,187.3613733906,91.3030042918);color:#0a0a0a}.button.warning,.button.warning.disabled,.button.warning.disabled:focus,.button.warning.disabled:hover,.button.warning[disabled],.button.warning[disabled]:focus,.button.warning[disabled]:hover{background-color:#ffae00;color:#0a0a0a}.button.warning:focus,.button.warning:hover{background-color:rgb(204,139.2,0);color:#0a0a0a}.button.alert,.button.alert.disabled,.button.alert.disabled:focus,.button.alert.disabled:hover,.button.alert[disabled],.button.alert[disabled]:focus,.button.alert[disabled]:hover{background-color:#cc4b37;color:#fefefe}.button.alert:focus,.button.alert:hover{background-color:rgb(165.0996015936,58.6103585657,42.1003984064);color:#fefefe}.button.hollow,.button.hollow.disabled,.button.hollow.disabled:focus,.button.hollow.disabled:hover,.button.hollow:focus,.button.hollow:hover,.button.hollow[disabled],.button.hollow[disabled]:focus,.button.hollow[disabled]:hover{background-color:transparent}.button.hollow,.button.hollow.disabled,.button.hollow.disabled:focus,.button.hollow.disabled:hover,.button.hollow[disabled],.button.hollow[disabled]:focus,.button.hollow[disabled]:hover{border:1px solid #1779ba;color:#1779ba}.button.hollow:focus,.button.hollow:hover{border-color:rgb(11.5,60.5,93);color:rgb(11.5,60.5,93)}.button.hollow.primary,.button.hollow.primary.disabled,.button.hollow.primary.disabled:focus,.button.hollow.primary.disabled:hover,.button.hollow.primary[disabled],.button.hollow.primary[disabled]:focus,.button.hollow.primary[disabled]:hover{border:1px solid #1779ba;color:#1779ba}.button.hollow.primary:focus,.button.hollow.primary:hover{border-color:rgb(11.5,60.5,93);color:rgb(11.5,60.5,93)}.button.hollow.secondary,.button.hollow.secondary.disabled,.button.hollow.secondary.disabled:focus,.button.hollow.secondary.disabled:hover,.button.hollow.secondary[disabled],.button.hollow.secondary[disabled]:focus,.button.hollow.secondary[disabled]:hover{border:1px solid #767676;color:#767676}.button.hollow.secondary:focus,.button.hollow.secondary:hover{border-color:#3b3b3b;color:#3b3b3b}.button.hollow.success,.button.hollow.success.disabled,.button.hollow.success.disabled:focus,.button.hollow.success.disabled:hover,.button.hollow.success[disabled],.button.hollow.success[disabled]:focus,.button.hollow.success[disabled]:hover{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:focus,.button.hollow.success:hover{border-color:rgb(21.3991416309,117.1008583691,57.0643776824);color:rgb(21.3991416309,117.1008583691,57.0643776824)}.button.hollow.warning,.button.hollow.warning.disabled,.button.hollow.warning.disabled:focus,.button.hollow.warning.disabled:hover,.button.hollow.warning[disabled],.button.hollow.warning[disabled]:focus,.button.hollow.warning[disabled]:hover{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:focus,.button.hollow.warning:hover{border-color:rgb(127.5,87,0);color:rgb(127.5,87,0)}.button.hollow.alert,.button.hollow.alert.disabled,.button.hollow.alert.disabled:focus,.button.hollow.alert.disabled:hover,.button.hollow.alert[disabled],.button.hollow.alert[disabled]:focus,.button.hollow.alert[disabled]:hover{border:1px solid #cc4b37;color:#cc4b37}.button.hollow.alert:focus,.button.hollow.alert:hover{border-color:rgb(103.187250996,36.6314741036,26.312749004);color:rgb(103.187250996,36.6314741036,26.312749004)}.button.clear,.button.clear.disabled,.button.clear.disabled:focus,.button.clear.disabled:hover,.button.clear:focus,.button.clear:hover,.button.clear[disabled],.button.clear[disabled]:focus,.button.clear[disabled]:hover{border-color:transparent;background-color:transparent}.button.clear,.button.clear.disabled,.button.clear.disabled:focus,.button.clear.disabled:hover,.button.clear[disabled],.button.clear[disabled]:focus,.button.clear[disabled]:hover{color:#1779ba}.button.clear:focus,.button.clear:hover{color:rgb(11.5,60.5,93)}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary.disabled:focus,.button.clear.primary.disabled:hover,.button.clear.primary[disabled],.button.clear.primary[disabled]:focus,.button.clear.primary[disabled]:hover{color:#1779ba}.button.clear.primary:focus,.button.clear.primary:hover{color:rgb(11.5,60.5,93)}.button.clear.secondary,.button.clear.secondary.disabled,.button.clear.secondary.disabled:focus,.button.clear.secondary.disabled:hover,.button.clear.secondary[disabled],.button.clear.secondary[disabled]:focus,.button.clear.secondary[disabled]:hover{color:#767676}.button.clear.secondary:focus,.button.clear.secondary:hover{color:#3b3b3b}.button.clear.success,.button.clear.success.disabled,.button.clear.success.disabled:focus,.button.clear.success.disabled:hover,.button.clear.success[disabled],.button.clear.success[disabled]:focus,.button.clear.success[disabled]:hover{color:#3adb76}.button.clear.success:focus,.button.clear.success:hover{color:rgb(21.3991416309,117.1008583691,57.0643776824)}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning.disabled:focus,.button.clear.warning.disabled:hover,.button.clear.warning[disabled],.button.clear.warning[disabled]:focus,.button.clear.warning[disabled]:hover{color:#ffae00}.button.clear.warning:focus,.button.clear.warning:hover{color:rgb(127.5,87,0)}.button.clear.alert,.button.clear.alert.disabled,.button.clear.alert.disabled:focus,.button.clear.alert.disabled:hover,.button.clear.alert[disabled],.button.clear.alert[disabled]:focus,.button.clear.alert[disabled]:hover{color:#cc4b37}.button.clear.alert:focus,.button.clear.alert:hover{color:rgb(103.187250996,36.6314741036,26.312749004)}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.dropdown::after{display:block;width:0;height:0;border-style:solid;border-width:.4em;content:"";border-bottom-width:0;border-color:#fefefe transparent transparent;position:relative;top:.4em;display:inline-block;float:right;margin-left:1em}.button.dropdown.clear::after,.button.dropdown.hollow::after{border-top-color:#1779ba}.button.dropdown.clear.primary::after,.button.dropdown.hollow.primary::after{border-top-color:#1779ba}.button.dropdown.clear.secondary::after,.button.dropdown.hollow.secondary::after{border-top-color:#767676}.button.dropdown.clear.success::after,.button.dropdown.hollow.success::after{border-top-color:#3adb76}.button.dropdown.clear.warning::after,.button.dropdown.hollow.warning::after{border-top-color:#ffae00}.button.dropdown.clear.alert::after,.button.dropdown.hollow.alert::after{border-top-color:#cc4b37}.button.arrow-only::after{top:-.1em;float:none;margin-left:0}a.button:focus,a.button:hover{text-decoration:none}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:2.4375rem;margin:0 0 1rem;padding:.5rem;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;-webkit-box-shadow:inset 0 1px 2px rgba(10,10,10,.1);box-shadow:inset 0 1px 2px rgba(10,10,10,.1);font-family:inherit;font-size:1rem;font-weight:400;line-height:1.5;color:#0a0a0a;-webkit-transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out,-webkit-box-shadow .5s}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{outline:0;border:1px solid #8a8a8a;background-color:#fefefe;-webkit-box-shadow:0 0 5px #cacaca;box-shadow:0 0 5px #cacaca;-webkit-transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out,-webkit-box-shadow .5s}textarea{max-width:100%}textarea[rows]{height:auto}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}[type=button],[type=submit]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}input[type=search]{-webkit-box-sizing:border-box;box-sizing:border-box}::-webkit-input-placeholder{color:#cacaca}::-moz-placeholder{color:#cacaca}:-ms-input-placeholder{color:#cacaca}::-ms-input-placeholder{color:#cacaca}::placeholder{color:#cacaca}[type=checkbox],[type=file],[type=radio]{margin:0 0 1rem}[type=checkbox]+label,[type=radio]+label{display:inline-block;vertical-align:baseline;margin-left:.5rem;margin-right:1rem;margin-bottom:0}[type=checkbox]+label[for],[type=radio]+label[for]{cursor:pointer}label>[type=checkbox],label>[type=radio]{margin-right:.5rem}[type=file]{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:400;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;line-height:1.5;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.input-group{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;margin-bottom:1rem;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.input-group>:first-child,.input-group>:first-child.input-group-button>*{border-radius:0}.input-group>:last-child,.input-group>:last-child.input-group-button>*{border-radius:0}.input-group-button,.input-group-button a,.input-group-button button,.input-group-button input,.input-group-button label,.input-group-field,.input-group-label{margin:0;white-space:nowrap}.input-group-label{padding:0 1rem;border:1px solid #cacaca;background:#e6e6e6;color:#0a0a0a;text-align:center;white-space:nowrap;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px;min-width:0}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.input-group-button a,.input-group-button button,.input-group-button input,.input-group-button label{-ms-flex-item-align:stretch;align-self:stretch;height:auto;padding-top:0;padding-bottom:0;font-size:1rem}fieldset{margin:0;padding:0;border:0}legend{max-width:100%;margin-bottom:.5rem}.fieldset{margin:1.125rem 0;padding:1.25rem;border:1px solid #cacaca}.fieldset legend{margin:0;margin-left:-.1875rem;padding:0 .1875rem}select{height:2.4375rem;margin:0 0 1rem;padding:.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;font-family:inherit;font-size:1rem;font-weight:400;line-height:1.5;color:#0a0a0a;-webkit-transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out,-webkit-box-shadow .5s;background-origin:content-box;background-position:right -1rem center;background-repeat:no-repeat;background-size:9px 6px;padding-right:1.5rem;background-image:url('data:image/svg+xml;utf8,')}@media screen and (min-width:0\0){select{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==)}}select:focus{outline:0;border:1px solid #8a8a8a;background-color:#fefefe;-webkit-box-shadow:0 0 5px #cacaca;box-shadow:0 0 5px #cacaca;-webkit-transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out,-webkit-box-shadow .5s}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}select:not([multiple]){padding-top:0;padding-bottom:0}.is-invalid-input:not(:focus){border-color:#cc4b37;background-color:rgb(249,236.1,234.1)}.is-invalid-input:not(:focus)::-webkit-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus)::-moz-placeholder{color:#cc4b37}.is-invalid-input:not(:focus):-ms-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus)::-ms-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus)::placeholder{color:#cc4b37}.is-invalid-label{color:#cc4b37}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:700;color:#cc4b37}.form-error.is-visible{display:block}.accordion{margin-left:0;background:#fefefe;list-style-type:none}.accordion[disabled] .accordion-title{cursor:not-allowed}.accordion-item:first-child>:first-child{border-radius:0}.accordion-item:last-child>:last-child{border-radius:0}.accordion-title{position:relative;display:block;padding:1.25rem 1rem;border:1px solid #e6e6e6;border-bottom:0;font-size:.75rem;line-height:1;color:#1779ba}:last-child:not(.is-active)>.accordion-title{border-bottom:1px solid #e6e6e6;border-radius:0}.accordion-title:focus,.accordion-title:hover{background-color:#e6e6e6}.accordion-title::before{position:absolute;top:50%;right:1rem;margin-top:-.5rem;content:"+"}.is-active>.accordion-title::before{content:"–"}.accordion-content{display:none;padding:1rem;border:1px solid #e6e6e6;border-bottom:0;background-color:#fefefe;color:#0a0a0a}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.accordion-menu li{width:100%}.accordion-menu a{padding:.7rem 1rem}.accordion-menu .is-accordion-submenu a{padding:.7rem 1rem}.accordion-menu .nested.is-accordion-submenu{margin-right:0;margin-left:1rem}.accordion-menu.align-right .nested.is-accordion-submenu{margin-right:1rem;margin-left:0}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a{position:relative}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-bottom-width:0;border-color:#1779ba transparent transparent;position:absolute;top:50%;margin-top:-3px;right:1rem}.accordion-menu.align-left .is-accordion-submenu-parent>a::after{right:1rem;left:auto}.accordion-menu.align-right .is-accordion-submenu-parent>a::after{right:auto;left:1rem}.accordion-menu .is-accordion-submenu-parent[aria-expanded=true]>a::after{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.is-accordion-submenu-parent{position:relative}.has-submenu-toggle>a{margin-right:40px}.submenu-toggle{position:absolute;top:0;right:0;width:40px;height:40px;cursor:pointer}.submenu-toggle::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-bottom-width:0;border-color:#1779ba transparent transparent;top:0;bottom:0;margin:auto}.submenu-toggle[aria-expanded=true]::after{-webkit-transform:scaleY(-1);transform:scaleY(-1);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.submenu-toggle-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.badge{display:inline-block;min-width:2.1em;padding:.3em;border-radius:50%;font-size:.6rem;text-align:center;background:#1779ba;color:#fefefe}.badge.primary{background:#1779ba;color:#fefefe}.badge.secondary{background:#767676;color:#fefefe}.badge.success{background:#3adb76;color:#0a0a0a}.badge.warning{background:#ffae00;color:#0a0a0a}.badge.alert{background:#cc4b37;color:#fefefe}.breadcrumbs{margin:0 0 1rem 0;list-style:none}.breadcrumbs::after,.breadcrumbs::before{display:table;content:" ";-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.breadcrumbs::after{clear:both}.breadcrumbs li{float:left;font-size:.6875rem;color:#0a0a0a;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child)::after{position:relative;margin:0 .75rem;opacity:1;content:"/";color:#cacaca}.breadcrumbs a{color:#1779ba}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.button-group{margin-bottom:1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.button-group::after,.button-group::before{display:none}.button-group::after,.button-group::before{display:table;content:" ";-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.button-group::after{clear:both}.button-group .button{margin:0;margin-right:1px;margin-bottom:1px;font-size:.9rem;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.6rem}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded .button{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.button-group.primary .button,.button-group.primary .button.disabled,.button-group.primary .button.disabled:focus,.button-group.primary .button.disabled:hover,.button-group.primary .button[disabled],.button-group.primary .button[disabled]:focus,.button-group.primary .button[disabled]:hover{background-color:#1779ba;color:#fefefe}.button-group.primary .button:focus,.button-group.primary .button:hover{background-color:rgb(18.4,96.8,148.8);color:#fefefe}.button-group.secondary .button,.button-group.secondary .button.disabled,.button-group.secondary .button.disabled:focus,.button-group.secondary .button.disabled:hover,.button-group.secondary .button[disabled],.button-group.secondary .button[disabled]:focus,.button-group.secondary .button[disabled]:hover{background-color:#767676;color:#fefefe}.button-group.secondary .button:focus,.button-group.secondary .button:hover{background-color:rgb(94.4,94.4,94.4);color:#fefefe}.button-group.success .button,.button-group.success .button.disabled,.button-group.success .button.disabled:focus,.button-group.success .button.disabled:hover,.button-group.success .button[disabled],.button-group.success .button[disabled]:focus,.button-group.success .button[disabled]:hover{background-color:#3adb76;color:#0a0a0a}.button-group.success .button:focus,.button-group.success .button:hover{background-color:rgb(34.2386266094,187.3613733906,91.3030042918);color:#0a0a0a}.button-group.warning .button,.button-group.warning .button.disabled,.button-group.warning .button.disabled:focus,.button-group.warning .button.disabled:hover,.button-group.warning .button[disabled],.button-group.warning .button[disabled]:focus,.button-group.warning .button[disabled]:hover{background-color:#ffae00;color:#0a0a0a}.button-group.warning .button:focus,.button-group.warning .button:hover{background-color:rgb(204,139.2,0);color:#0a0a0a}.button-group.alert .button,.button-group.alert .button.disabled,.button-group.alert .button.disabled:focus,.button-group.alert .button.disabled:hover,.button-group.alert .button[disabled],.button-group.alert .button[disabled]:focus,.button-group.alert .button[disabled]:hover{background-color:#cc4b37;color:#fefefe}.button-group.alert .button:focus,.button-group.alert .button:hover{background-color:rgb(165.0996015936,58.6103585657,42.1003984064);color:#fefefe}.button-group.hollow .button,.button-group.hollow .button.disabled,.button-group.hollow .button.disabled:focus,.button-group.hollow .button.disabled:hover,.button-group.hollow .button:focus,.button-group.hollow .button:hover,.button-group.hollow .button[disabled],.button-group.hollow .button[disabled]:focus,.button-group.hollow .button[disabled]:hover{background-color:transparent}.button-group.hollow .button,.button-group.hollow .button.disabled,.button-group.hollow .button.disabled:focus,.button-group.hollow .button.disabled:hover,.button-group.hollow .button[disabled],.button-group.hollow .button[disabled]:focus,.button-group.hollow .button[disabled]:hover{border:1px solid #1779ba;color:#1779ba}.button-group.hollow .button:focus,.button-group.hollow .button:hover{border-color:rgb(11.5,60.5,93);color:rgb(11.5,60.5,93)}.button-group.hollow .button.primary,.button-group.hollow .button.primary.disabled,.button-group.hollow .button.primary.disabled:focus,.button-group.hollow .button.primary.disabled:hover,.button-group.hollow .button.primary[disabled],.button-group.hollow .button.primary[disabled]:focus,.button-group.hollow .button.primary[disabled]:hover,.button-group.hollow.primary .button,.button-group.hollow.primary .button.disabled,.button-group.hollow.primary .button.disabled:focus,.button-group.hollow.primary .button.disabled:hover,.button-group.hollow.primary .button[disabled],.button-group.hollow.primary .button[disabled]:focus,.button-group.hollow.primary .button[disabled]:hover{border:1px solid #1779ba;color:#1779ba}.button-group.hollow .button.primary:focus,.button-group.hollow .button.primary:hover,.button-group.hollow.primary .button:focus,.button-group.hollow.primary .button:hover{border-color:rgb(11.5,60.5,93);color:rgb(11.5,60.5,93)}.button-group.hollow .button.secondary,.button-group.hollow .button.secondary.disabled,.button-group.hollow .button.secondary.disabled:focus,.button-group.hollow .button.secondary.disabled:hover,.button-group.hollow .button.secondary[disabled],.button-group.hollow .button.secondary[disabled]:focus,.button-group.hollow .button.secondary[disabled]:hover,.button-group.hollow.secondary .button,.button-group.hollow.secondary .button.disabled,.button-group.hollow.secondary .button.disabled:focus,.button-group.hollow.secondary .button.disabled:hover,.button-group.hollow.secondary .button[disabled],.button-group.hollow.secondary .button[disabled]:focus,.button-group.hollow.secondary .button[disabled]:hover{border:1px solid #767676;color:#767676}.button-group.hollow .button.secondary:focus,.button-group.hollow .button.secondary:hover,.button-group.hollow.secondary .button:focus,.button-group.hollow.secondary .button:hover{border-color:#3b3b3b;color:#3b3b3b}.button-group.hollow .button.success,.button-group.hollow .button.success.disabled,.button-group.hollow .button.success.disabled:focus,.button-group.hollow .button.success.disabled:hover,.button-group.hollow .button.success[disabled],.button-group.hollow .button.success[disabled]:focus,.button-group.hollow .button.success[disabled]:hover,.button-group.hollow.success .button,.button-group.hollow.success .button.disabled,.button-group.hollow.success .button.disabled:focus,.button-group.hollow.success .button.disabled:hover,.button-group.hollow.success .button[disabled],.button-group.hollow.success .button[disabled]:focus,.button-group.hollow.success .button[disabled]:hover{border:1px solid #3adb76;color:#3adb76}.button-group.hollow .button.success:focus,.button-group.hollow .button.success:hover,.button-group.hollow.success .button:focus,.button-group.hollow.success .button:hover{border-color:rgb(21.3991416309,117.1008583691,57.0643776824);color:rgb(21.3991416309,117.1008583691,57.0643776824)}.button-group.hollow .button.warning,.button-group.hollow .button.warning.disabled,.button-group.hollow .button.warning.disabled:focus,.button-group.hollow .button.warning.disabled:hover,.button-group.hollow .button.warning[disabled],.button-group.hollow .button.warning[disabled]:focus,.button-group.hollow .button.warning[disabled]:hover,.button-group.hollow.warning .button,.button-group.hollow.warning .button.disabled,.button-group.hollow.warning .button.disabled:focus,.button-group.hollow.warning .button.disabled:hover,.button-group.hollow.warning .button[disabled],.button-group.hollow.warning .button[disabled]:focus,.button-group.hollow.warning .button[disabled]:hover{border:1px solid #ffae00;color:#ffae00}.button-group.hollow .button.warning:focus,.button-group.hollow .button.warning:hover,.button-group.hollow.warning .button:focus,.button-group.hollow.warning .button:hover{border-color:rgb(127.5,87,0);color:rgb(127.5,87,0)}.button-group.hollow .button.alert,.button-group.hollow .button.alert.disabled,.button-group.hollow .button.alert.disabled:focus,.button-group.hollow .button.alert.disabled:hover,.button-group.hollow .button.alert[disabled],.button-group.hollow .button.alert[disabled]:focus,.button-group.hollow .button.alert[disabled]:hover,.button-group.hollow.alert .button,.button-group.hollow.alert .button.disabled,.button-group.hollow.alert .button.disabled:focus,.button-group.hollow.alert .button.disabled:hover,.button-group.hollow.alert .button[disabled],.button-group.hollow.alert .button[disabled]:focus,.button-group.hollow.alert .button[disabled]:hover{border:1px solid #cc4b37;color:#cc4b37}.button-group.hollow .button.alert:focus,.button-group.hollow .button.alert:hover,.button-group.hollow.alert .button:focus,.button-group.hollow.alert .button:hover{border-color:rgb(103.187250996,36.6314741036,26.312749004);color:rgb(103.187250996,36.6314741036,26.312749004)}.button-group.clear .button,.button-group.clear .button.disabled,.button-group.clear .button.disabled:focus,.button-group.clear .button.disabled:hover,.button-group.clear .button:focus,.button-group.clear .button:hover,.button-group.clear .button[disabled],.button-group.clear .button[disabled]:focus,.button-group.clear .button[disabled]:hover{border-color:transparent;background-color:transparent}.button-group.clear .button,.button-group.clear .button.disabled,.button-group.clear .button.disabled:focus,.button-group.clear .button.disabled:hover,.button-group.clear .button[disabled],.button-group.clear .button[disabled]:focus,.button-group.clear .button[disabled]:hover{color:#1779ba}.button-group.clear .button:focus,.button-group.clear .button:hover{color:rgb(11.5,60.5,93)}.button-group.clear .button.primary,.button-group.clear .button.primary.disabled,.button-group.clear .button.primary.disabled:focus,.button-group.clear .button.primary.disabled:hover,.button-group.clear .button.primary[disabled],.button-group.clear .button.primary[disabled]:focus,.button-group.clear .button.primary[disabled]:hover,.button-group.clear.primary .button,.button-group.clear.primary .button.disabled,.button-group.clear.primary .button.disabled:focus,.button-group.clear.primary .button.disabled:hover,.button-group.clear.primary .button[disabled],.button-group.clear.primary .button[disabled]:focus,.button-group.clear.primary .button[disabled]:hover{color:#1779ba}.button-group.clear .button.primary:focus,.button-group.clear .button.primary:hover,.button-group.clear.primary .button:focus,.button-group.clear.primary .button:hover{color:rgb(11.5,60.5,93)}.button-group.clear .button.secondary,.button-group.clear .button.secondary.disabled,.button-group.clear .button.secondary.disabled:focus,.button-group.clear .button.secondary.disabled:hover,.button-group.clear .button.secondary[disabled],.button-group.clear .button.secondary[disabled]:focus,.button-group.clear .button.secondary[disabled]:hover,.button-group.clear.secondary .button,.button-group.clear.secondary .button.disabled,.button-group.clear.secondary .button.disabled:focus,.button-group.clear.secondary .button.disabled:hover,.button-group.clear.secondary .button[disabled],.button-group.clear.secondary .button[disabled]:focus,.button-group.clear.secondary .button[disabled]:hover{color:#767676}.button-group.clear .button.secondary:focus,.button-group.clear .button.secondary:hover,.button-group.clear.secondary .button:focus,.button-group.clear.secondary .button:hover{color:#3b3b3b}.button-group.clear .button.success,.button-group.clear .button.success.disabled,.button-group.clear .button.success.disabled:focus,.button-group.clear .button.success.disabled:hover,.button-group.clear .button.success[disabled],.button-group.clear .button.success[disabled]:focus,.button-group.clear .button.success[disabled]:hover,.button-group.clear.success .button,.button-group.clear.success .button.disabled,.button-group.clear.success .button.disabled:focus,.button-group.clear.success .button.disabled:hover,.button-group.clear.success .button[disabled],.button-group.clear.success .button[disabled]:focus,.button-group.clear.success .button[disabled]:hover{color:#3adb76}.button-group.clear .button.success:focus,.button-group.clear .button.success:hover,.button-group.clear.success .button:focus,.button-group.clear.success .button:hover{color:rgb(21.3991416309,117.1008583691,57.0643776824)}.button-group.clear .button.warning,.button-group.clear .button.warning.disabled,.button-group.clear .button.warning.disabled:focus,.button-group.clear .button.warning.disabled:hover,.button-group.clear .button.warning[disabled],.button-group.clear .button.warning[disabled]:focus,.button-group.clear .button.warning[disabled]:hover,.button-group.clear.warning .button,.button-group.clear.warning .button.disabled,.button-group.clear.warning .button.disabled:focus,.button-group.clear.warning .button.disabled:hover,.button-group.clear.warning .button[disabled],.button-group.clear.warning .button[disabled]:focus,.button-group.clear.warning .button[disabled]:hover{color:#ffae00}.button-group.clear .button.warning:focus,.button-group.clear .button.warning:hover,.button-group.clear.warning .button:focus,.button-group.clear.warning .button:hover{color:rgb(127.5,87,0)}.button-group.clear .button.alert,.button-group.clear .button.alert.disabled,.button-group.clear .button.alert.disabled:focus,.button-group.clear .button.alert.disabled:hover,.button-group.clear .button.alert[disabled],.button-group.clear .button.alert[disabled]:focus,.button-group.clear .button.alert[disabled]:hover,.button-group.clear.alert .button,.button-group.clear.alert .button.disabled,.button-group.clear.alert .button.disabled:focus,.button-group.clear.alert .button.disabled:hover,.button-group.clear.alert .button[disabled],.button-group.clear.alert .button[disabled]:focus,.button-group.clear.alert .button[disabled]:hover{color:#cc4b37}.button-group.clear .button.alert:focus,.button-group.clear .button.alert:hover,.button-group.clear.alert .button:focus,.button-group.clear.alert .button:hover{color:rgb(103.187250996,36.6314741036,26.312749004)}.button-group.no-gaps .button{margin-right:-.0625rem}.button-group.no-gaps .button+.button{border-left-color:transparent}.button-group.stacked,.button-group.stacked-for-medium,.button-group.stacked-for-small{-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group.stacked .button,.button-group.stacked-for-medium .button,.button-group.stacked-for-small .button{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%}.button-group.stacked .button:last-child,.button-group.stacked-for-medium .button:last-child,.button-group.stacked-for-small .button:last-child{margin-bottom:0}.button-group.stacked-for-medium.expanded .button,.button-group.stacked-for-small.expanded .button,.button-group.stacked.expanded .button{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}@media print,screen and (min-width:40em){.button-group.stacked-for-small .button{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:0}}@media print,screen and (min-width:64em){.button-group.stacked-for-medium .button{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:0}}@media print,screen and (max-width:39.99875em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}@media print,screen and (max-width:63.99875em){.button-group.stacked-for-medium.expanded{display:block}.button-group.stacked-for-medium.expanded .button{display:block;margin-right:0}}.card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin-bottom:1rem;border:1px solid #e6e6e6;border-radius:0;background:#fefefe;-webkit-box-shadow:none;box-shadow:none;overflow:hidden;color:#0a0a0a}.card>:last-child{margin-bottom:0}.card-divider{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;padding:1rem;background:#e6e6e6}.card-divider>:last-child{margin-bottom:0}.card-section{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;padding:1rem}.card-section>:last-child{margin-bottom:0}.card-image{min-height:1px}.callout{background-color:rgb(254.85,254.85,254.85);color:#0a0a0a;position:relative;margin:0 0 1rem 0;padding:1rem;border:1px solid rgba(10,10,10,.25);border-radius:0}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:rgb(214.8186602871,235.9894736842,250.0313397129);color:#0a0a0a}.callout.secondary{background-color:rgb(234.45,234.45,234.45);color:#0a0a0a}.callout.success{background-color:rgb(225.45,249.6,234.45);color:#0a0a0a}.callout.warning{background-color:rgb(255,242.85,216.75);color:#0a0a0a}.callout.alert{background-color:rgb(247.35,228,225);color:#0a0a0a}.callout.small{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}.callout.large{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}.close-button{position:absolute;z-index:10;color:#8a8a8a;cursor:pointer}[data-whatinput=mouse] .close-button{outline:0}.close-button:focus,.close-button:hover{color:#0a0a0a}.close-button.small{right:.66rem;top:.33em;font-size:1.5em;line-height:1}.close-button,.close-button.medium{right:1rem;top:.5rem;font-size:2em;line-height:1}.menu{padding:0;margin:0;list-style:none;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}[data-whatinput=mouse] .menu li{outline:0}.menu .button,.menu a{line-height:1;text-decoration:none;display:block;padding:.7rem 1rem}.menu a,.menu button,.menu input,.menu select{margin-bottom:0}.menu input{display:inline-block}.menu,.menu.horizontal{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.menu.vertical{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.menu.vertical.icon-bottom li a i,.menu.vertical.icon-bottom li a img,.menu.vertical.icon-bottom li a svg,.menu.vertical.icon-top li a i,.menu.vertical.icon-top li a img,.menu.vertical.icon-top li a svg{text-align:left}.menu.expanded li{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.menu.expanded.icon-bottom li a i,.menu.expanded.icon-bottom li a img,.menu.expanded.icon-bottom li a svg,.menu.expanded.icon-top li a i,.menu.expanded.icon-top li a img,.menu.expanded.icon-top li a svg{text-align:left}.menu.simple{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.menu.simple li+li{margin-left:1rem}.menu.simple a{padding:0}@media print,screen and (min-width:40em){.menu.medium-horizontal{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.menu.medium-vertical{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.menu.medium-expanded li{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.menu.medium-simple li{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}}@media print,screen and (min-width:64em){.menu.large-horizontal{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.menu.large-vertical{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.menu.large-expanded li{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.menu.large-simple li{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}}.menu.nested{margin-right:0;margin-left:1rem}.menu.icons a{display:-webkit-box;display:-ms-flexbox;display:flex}.menu.icon-bottom a,.menu.icon-left a,.menu.icon-right a,.menu.icon-top a{display:-webkit-box;display:-ms-flexbox;display:flex}.menu.icon-left li a,.menu.nested.icon-left li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.menu.icon-left li a i,.menu.icon-left li a img,.menu.icon-left li a svg,.menu.nested.icon-left li a i,.menu.nested.icon-left li a img,.menu.nested.icon-left li a svg{margin-right:.25rem}.menu.icon-right li a,.menu.nested.icon-right li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.menu.icon-right li a i,.menu.icon-right li a img,.menu.icon-right li a svg,.menu.nested.icon-right li a i,.menu.nested.icon-right li a img,.menu.nested.icon-right li a svg{margin-left:.25rem}.menu.icon-top li a,.menu.nested.icon-top li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.menu.icon-top li a i,.menu.icon-top li a img,.menu.icon-top li a svg,.menu.nested.icon-top li a i,.menu.nested.icon-top li a img,.menu.nested.icon-top li a svg{-ms-flex-item-align:stretch;align-self:stretch;margin-bottom:.25rem;text-align:center}.menu.icon-bottom li a,.menu.nested.icon-bottom li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.menu.icon-bottom li a i,.menu.icon-bottom li a img,.menu.icon-bottom li a svg,.menu.nested.icon-bottom li a i,.menu.nested.icon-bottom li a img,.menu.nested.icon-bottom li a svg{-ms-flex-item-align:stretch;align-self:stretch;margin-bottom:.25rem;text-align:center}.menu .is-active>a{background:#1779ba;color:#fefefe}.menu .active>a{background:#1779ba;color:#fefefe}.menu.align-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.menu.align-right li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.menu.align-right li .submenu li{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.menu.align-right.vertical li{display:block;text-align:right}.menu.align-right.vertical li .submenu li{text-align:right}.menu.align-right.icon-bottom li a i,.menu.align-right.icon-bottom li a img,.menu.align-right.icon-bottom li a svg,.menu.align-right.icon-top li a i,.menu.align-right.icon-top li a img,.menu.align-right.icon-top li a svg{text-align:right}.menu.align-right .nested{margin-right:1rem;margin-left:0}.menu.align-center li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.menu.align-center li .submenu li{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.menu .menu-text{padding:.7rem 1rem;font-weight:700;line-height:1;color:inherit}.menu-centered>.menu{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.menu-centered>.menu li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.menu-centered>.menu li .submenu li{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.no-js [data-responsive-menu] ul{display:none}.menu-icon{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#fefefe;-webkit-box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;content:""}.menu-icon:hover::after{background:#cacaca;-webkit-box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca;box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca}.menu-icon.dark{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon.dark::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#0a0a0a;-webkit-box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;content:""}.menu-icon.dark:hover::after{background:#8a8a8a;-webkit-box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block}.is-drilldown.animate-height{-webkit-transition:height .5s;transition:height .5s}.drilldown a{padding:.7rem 1rem;background:#fefefe}.drilldown .is-drilldown-submenu{position:absolute;top:0;left:100%;z-index:-1;width:100%;background:#fefefe;-webkit-transition:-webkit-transform .15s linear;transition:-webkit-transform .15s linear;transition:transform .15s linear;transition:transform .15s linear,-webkit-transform .15s linear}.drilldown .is-drilldown-submenu.is-active{z-index:1;display:block;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.drilldown .is-drilldown-submenu.is-closing{-webkit-transform:translateX(100%);transform:translateX(100%)}.drilldown .is-drilldown-submenu a{padding:.7rem 1rem}.drilldown .nested.is-drilldown-submenu{margin-right:0;margin-left:0}.drilldown .drilldown-submenu-cover-previous{min-height:100%}.drilldown .is-drilldown-submenu-parent>a{position:relative}.drilldown .is-drilldown-submenu-parent>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-right-width:0;border-color:transparent transparent transparent #1779ba;position:absolute;top:50%;margin-top:-6px;right:1rem}.drilldown.align-left .is-drilldown-submenu-parent>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-right-width:0;border-color:transparent transparent transparent #1779ba;right:1rem;left:auto}.drilldown.align-right .is-drilldown-submenu-parent>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-left-width:0;border-color:transparent #1779ba transparent transparent;right:auto;left:1rem}.drilldown .js-drilldown-back>a::before{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-left-width:0;border-color:transparent #1779ba transparent transparent;display:inline-block;vertical-align:middle;margin-right:.75rem}.dropdown-pane{position:absolute;z-index:10;display:none;width:300px;padding:1rem;visibility:hidden;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;font-size:1rem}.dropdown-pane.is-opening{display:block}.dropdown-pane.is-open{display:block;visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.dropdown.menu>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-bottom-width:0;border-color:#1779ba transparent transparent;right:5px;left:auto;margin-top:-3px}[data-whatinput=mouse] .dropdown.menu a{outline:0}.dropdown.menu>li>a{padding:.7rem 1rem}.dropdown.menu>li.is-active>a{background:0 0;color:#1779ba}.no-js .dropdown.menu ul{display:none}.dropdown.menu .nested.is-dropdown-submenu{margin-right:0;margin-left:0}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a::after{right:14px}.dropdown.menu.vertical>li.opens-left>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-left-width:0;border-color:transparent #1779ba transparent transparent;right:auto;left:5px}.dropdown.menu.vertical>li.opens-right>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-right-width:0;border-color:transparent transparent transparent #1779ba}@media print,screen and (min-width:40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-bottom-width:0;border-color:#1779ba transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a::after{right:14px}.dropdown.menu.medium-vertical>li.opens-left>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-left-width:0;border-color:transparent #1779ba transparent transparent;right:auto;left:5px}.dropdown.menu.medium-vertical>li.opens-right>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-right-width:0;border-color:transparent transparent transparent #1779ba}}@media print,screen and (min-width:64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-bottom-width:0;border-color:#1779ba transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a::after{right:14px}.dropdown.menu.large-vertical>li.opens-left>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-left-width:0;border-color:transparent #1779ba transparent transparent;right:auto;left:5px}.dropdown.menu.large-vertical>li.opens-right>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-right-width:0;border-color:transparent transparent transparent #1779ba}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;right:0;left:auto}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a::after{position:absolute;top:50%;right:5px;left:auto;margin-top:-6px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{right:100%;left:auto}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{position:absolute;top:0;left:100%;z-index:1;display:none;min-width:200px;border:1px solid #cacaca;background:#fefefe}.dropdown .is-dropdown-submenu a{padding:.7rem 1rem}.is-dropdown-submenu .is-dropdown-submenu-parent>a::after{right:14px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-left-width:0;border-color:transparent #1779ba transparent transparent;right:auto;left:5px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a::after{display:block;width:0;height:0;border-style:solid;border-width:6px;content:"";border-right-width:0;border-color:transparent transparent transparent #1779ba}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.flex-video,.responsive-embed{position:relative;height:0;margin-bottom:1rem;padding-bottom:75%;overflow:hidden}.flex-video embed,.flex-video iframe,.flex-video object,.flex-video video,.responsive-embed embed,.responsive-embed iframe,.responsive-embed object,.responsive-embed video{position:absolute;top:0;left:0;width:100%;height:100%}.flex-video.widescreen,.responsive-embed.widescreen{padding-bottom:56.25%}.label{display:inline-block;padding:.33333rem .5rem;border-radius:0;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;background:#1779ba;color:#fefefe}.label.primary{background:#1779ba;color:#fefefe}.label.secondary{background:#767676;color:#fefefe}.label.success{background:#3adb76;color:#0a0a0a}.label.warning{background:#ffae00;color:#0a0a0a}.label.alert{background:#cc4b37;color:#fefefe}.media-object{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:1rem;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.media-object img{max-width:none}@media print,screen and (max-width:39.99875em){.media-object.stack-for-small{-ms-flex-wrap:wrap;flex-wrap:wrap}}.media-object-section{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}@media print,screen and (max-width:39.99875em){.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.stack-for-small .media-object-section img{width:100%}}.media-object-section.main-section{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.is-off-canvas-open{overflow:hidden}.js-off-canvas-overlay{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;-webkit-transition:opacity .5s ease,visibility .5s ease;transition:opacity .5s ease,visibility .5s ease;background:rgba(254,254,254,.25);opacity:0;visibility:hidden;overflow:hidden}.js-off-canvas-overlay.is-visible{opacity:1;visibility:visible}.js-off-canvas-overlay.is-closable{cursor:pointer}.js-off-canvas-overlay.is-overlay-absolute{position:absolute}.js-off-canvas-overlay.is-overlay-fixed{position:fixed}.off-canvas-wrapper{position:relative;overflow:hidden}.off-canvas{z-index:12;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#e6e6e6;position:fixed}[data-whatinput=mouse] .off-canvas{outline:0}.off-canvas.is-transition-push{z-index:12}.off-canvas.is-closed{visibility:hidden}.off-canvas.is-transition-overlap{z-index:13}.off-canvas.is-transition-overlap.is-open{-webkit-box-shadow:0 0 10px rgba(10,10,10,.7);box-shadow:0 0 10px rgba(10,10,10,.7)}.off-canvas.is-open{-webkit-transform:translate(0,0);transform:translate(0,0)}.off-canvas-absolute{z-index:12;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#e6e6e6;position:absolute}[data-whatinput=mouse] .off-canvas-absolute{outline:0}.off-canvas-absolute.is-transition-push{z-index:12}.off-canvas-absolute.is-closed{visibility:hidden}.off-canvas-absolute.is-transition-overlap{z-index:13}.off-canvas-absolute.is-transition-overlap.is-open{-webkit-box-shadow:0 0 10px rgba(10,10,10,.7);box-shadow:0 0 10px rgba(10,10,10,.7)}.off-canvas-absolute.is-open{-webkit-transform:translate(0,0);transform:translate(0,0)}.position-left{top:0;left:0;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;width:250px;-webkit-transform:translateX(-250px);transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left{-webkit-transform:translateX(-250px);transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open{-webkit-transform:translate(0,0);transform:translate(0,0)}.off-canvas-content.is-open-left.has-transition-push{-webkit-transform:translateX(250px);transform:translateX(250px)}.position-left.is-transition-push{-webkit-box-shadow:inset -13px 0 20px -13px rgba(10,10,10,.25);box-shadow:inset -13px 0 20px -13px rgba(10,10,10,.25)}.position-right{top:0;right:0;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;width:250px;-webkit-transform:translateX(250px);transform:translateX(250px)}.off-canvas-content .off-canvas.position-right{-webkit-transform:translateX(250px);transform:translateX(250px)}.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open{-webkit-transform:translate(0,0);transform:translate(0,0)}.off-canvas-content.is-open-right.has-transition-push{-webkit-transform:translateX(-250px);transform:translateX(-250px)}.position-right.is-transition-push{-webkit-box-shadow:inset 13px 0 20px -13px rgba(10,10,10,.25);box-shadow:inset 13px 0 20px -13px rgba(10,10,10,.25)}.position-top{top:0;left:0;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;height:250px;-webkit-transform:translateY(-250px);transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top{-webkit-transform:translateY(-250px);transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open{-webkit-transform:translate(0,0);transform:translate(0,0)}.off-canvas-content.is-open-top.has-transition-push{-webkit-transform:translateY(250px);transform:translateY(250px)}.position-top.is-transition-push{-webkit-box-shadow:inset 0 -13px 20px -13px rgba(10,10,10,.25);box-shadow:inset 0 -13px 20px -13px rgba(10,10,10,.25)}.position-bottom{bottom:0;left:0;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;height:250px;-webkit-transform:translateY(250px);transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom{-webkit-transform:translateY(250px);transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open{-webkit-transform:translate(0,0);transform:translate(0,0)}.off-canvas-content.is-open-bottom.has-transition-push{-webkit-transform:translateY(-250px);transform:translateY(-250px)}.position-bottom.is-transition-push{-webkit-box-shadow:inset 0 13px 20px -13px rgba(10,10,10,.25);box-shadow:inset 0 13px 20px -13px rgba(10,10,10,.25)}.off-canvas-content{-webkit-transform:none;transform:none;-webkit-backface-visibility:hidden;backface-visibility:hidden}.off-canvas-content.has-transition-overlap,.off-canvas-content.has-transition-push{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.off-canvas-content.has-transition-push{-webkit-transform:translate(0,0);transform:translate(0,0)}.off-canvas-content .off-canvas.is-open{-webkit-transform:translate(0,0);transform:translate(0,0)}@media print,screen and (min-width:40em){.position-left.reveal-for-medium{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-left.reveal-for-medium .close-button{display:none}.off-canvas-content .position-left.reveal-for-medium{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-medium~.off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-right.reveal-for-medium .close-button{display:none}.off-canvas-content .position-right.reveal-for-medium{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-medium~.off-canvas-content{margin-right:250px}.position-top.reveal-for-medium{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-top.reveal-for-medium .close-button{display:none}.off-canvas-content .position-top.reveal-for-medium{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-medium~.off-canvas-content{margin-top:250px}.position-bottom.reveal-for-medium{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-bottom.reveal-for-medium .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-medium{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-medium~.off-canvas-content{margin-bottom:250px}}@media print,screen and (min-width:64em){.position-left.reveal-for-large{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-left.reveal-for-large .close-button{display:none}.off-canvas-content .position-left.reveal-for-large{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-large~.off-canvas-content{margin-left:250px}.position-right.reveal-for-large{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-right.reveal-for-large .close-button{display:none}.off-canvas-content .position-right.reveal-for-large{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-large~.off-canvas-content{margin-right:250px}.position-top.reveal-for-large{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-top.reveal-for-large .close-button{display:none}.off-canvas-content .position-top.reveal-for-large{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-large~.off-canvas-content{margin-top:250px}.position-bottom.reveal-for-large{-webkit-transform:none;transform:none;z-index:12;-webkit-transition:none;transition:none;visibility:visible}.position-bottom.reveal-for-large .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-large{-webkit-transform:none;transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-large~.off-canvas-content{margin-bottom:250px}}@media print,screen and (min-width:40em){.off-canvas.in-canvas-for-medium{visibility:visible;height:auto;position:static;background:0 0;width:auto;overflow:visible;-webkit-transition:none;transition:none}.off-canvas.in-canvas-for-medium.position-bottom,.off-canvas.in-canvas-for-medium.position-left,.off-canvas.in-canvas-for-medium.position-right,.off-canvas.in-canvas-for-medium.position-top{-webkit-box-shadow:none;box-shadow:none;-webkit-transform:none;transform:none}.off-canvas.in-canvas-for-medium .close-button{display:none}}@media print,screen and (min-width:64em){.off-canvas.in-canvas-for-large{visibility:visible;height:auto;position:static;background:0 0;width:auto;overflow:visible;-webkit-transition:none;transition:none}.off-canvas.in-canvas-for-large.position-bottom,.off-canvas.in-canvas-for-large.position-left,.off-canvas.in-canvas-for-large.position-right,.off-canvas.in-canvas-for-large.position-top{-webkit-box-shadow:none;box-shadow:none;-webkit-transform:none;transform:none}.off-canvas.in-canvas-for-large .close-button{display:none}}.orbit{position:relative}.orbit-container{position:relative;height:0;margin:0;list-style:none;overflow:hidden}.orbit-slide{width:100%;position:absolute}.orbit-slide.no-motionui.is-active{top:0;left:0}.orbit-figure{margin:0}.orbit-image{width:100%;max-width:100%;margin:0}.orbit-caption{position:absolute;bottom:0;width:100%;margin-bottom:0;padding:1rem;background-color:rgba(10,10,10,.5);color:#fefefe}.orbit-next,.orbit-previous{z-index:10;padding:1rem;color:#fefefe;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-whatinput=mouse] .orbit-next,[data-whatinput=mouse] .orbit-previous{outline:0}.orbit-next:active,.orbit-next:focus,.orbit-next:hover,.orbit-previous:active,.orbit-previous:focus,.orbit-previous:hover{background-color:rgba(10,10,10,.5)}.orbit-previous{left:0}.orbit-next{left:auto;right:0}.orbit-bullets{position:relative;margin-top:.8rem;margin-bottom:.8rem;text-align:center}[data-whatinput=mouse] .orbit-bullets{outline:0}.orbit-bullets button{width:1.2rem;height:1.2rem;margin:.1rem;border-radius:50%;background-color:#cacaca}.orbit-bullets button:hover{background-color:#8a8a8a}.orbit-bullets button.is-active{background-color:#8a8a8a}.pagination{margin-left:0;margin-bottom:1rem}.pagination::after,.pagination::before{display:table;content:" ";-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.pagination::after{clear:both}.pagination li{margin-right:.0625rem;border-radius:0;font-size:.875rem;display:none}.pagination li:first-child,.pagination li:last-child{display:inline-block}@media print,screen and (min-width:40em){.pagination li{display:inline-block}}.pagination a,.pagination button{display:block;padding:.1875rem .625rem;border-radius:0;color:#0a0a0a}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{padding:.1875rem .625rem;background:#1779ba;color:#fefefe;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#cacaca;cursor:not-allowed}.pagination .disabled:hover{background:0 0}.pagination .ellipsis::after{padding:.1875rem .625rem;content:"…";color:#0a0a0a}.pagination-previous a::before,.pagination-previous.disabled::before{display:inline-block;margin-right:.5rem;content:"«"}.pagination-next a::after,.pagination-next.disabled::after{display:inline-block;margin-left:.5rem;content:"»"}.progress{height:1rem;margin-bottom:1rem;border-radius:0;background-color:#cacaca}.progress.primary .progress-meter{background-color:#1779ba}.progress.secondary .progress-meter{background-color:#767676}.progress.success .progress-meter{background-color:#3adb76}.progress.warning .progress-meter{background-color:#ffae00}.progress.alert .progress-meter{background-color:#cc4b37}.progress-meter{position:relative;display:block;width:0%;height:100%;background-color:#1779ba}.progress-meter-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);margin:0;font-size:.75rem;font-weight:700;color:#fefefe;white-space:nowrap}html.is-reveal-open{position:fixed;width:100%;overflow-y:hidden}html.is-reveal-open.zf-has-scroll{overflow-y:scroll;-webkit-overflow-scrolling:touch}html.is-reveal-open body{overflow-y:hidden}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1005;display:none;background-color:rgba(10,10,10,.45);overflow-y:auto;-webkit-overflow-scrolling:touch}.reveal{position:relative;top:100px;margin-right:auto;margin-left:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:1006;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;padding:1rem;border:1px solid #cacaca;border-radius:0;background-color:#fefefe}[data-whatinput=mouse] .reveal{outline:0}@media print,screen and (min-width:40em){.reveal{min-height:0}}.reveal .column{min-width:0}.reveal>:last-child{margin-bottom:0}@media print,screen and (min-width:40em){.reveal{width:600px;max-width:75rem}}.reveal.collapse{padding:0}@media print,screen and (min-width:40em){.reveal.tiny{width:30%;max-width:75rem}}@media print,screen and (min-width:40em){.reveal.small{width:50%;max-width:75rem}}@media print,screen and (min-width:40em){.reveal.large{width:90%;max-width:75rem}}.reveal.full{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}@media print,screen and (max-width:39.99875em){.reveal{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.slider{position:relative;height:.5rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#e6e6e6;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.5rem;background-color:#cacaca;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.slider-fill.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider-handle{left:0;z-index:1;cursor:-webkit-grab;cursor:grab;display:inline-block;width:1.4rem;height:1.4rem;border-radius:0;background-color:#1779ba;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;-ms-touch-action:manipulation;touch-action:manipulation;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-whatinput=mouse] .slider-handle{outline:0}.slider-handle:hover{background-color:rgb(19.55,102.85,158.1)}.slider-handle.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear;cursor:-webkit-grabbing;cursor:grabbing}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;-webkit-transform:scale(1,-1);transform:scale(1,-1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4rem;height:1.4rem;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.sticky-container{position:relative}.sticky{position:relative;z-index:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.sticky.is-stuck{position:fixed;z-index:5;width:100%}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:relative;right:auto;left:auto}.sticky.is-anchored.is-at-bottom{bottom:0}.switch{position:relative;margin-bottom:1rem;outline:0;font-size:.875rem;font-weight:700;color:#fefefe;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:2rem}.switch-input{position:absolute;margin-bottom:0;opacity:0}.switch-paddle{position:relative;display:block;width:4rem;height:2rem;border-radius:0;background:#cacaca;-webkit-transition:all .25s ease-out;transition:all .25s ease-out;font-weight:inherit;color:inherit;cursor:pointer}input+.switch-paddle{margin:0}.switch-paddle::after{position:absolute;top:.25rem;left:.25rem;display:block;width:1.5rem;height:1.5rem;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);border-radius:0;background:#fefefe;-webkit-transition:all .25s ease-out;transition:all .25s ease-out;content:""}input:checked~.switch-paddle{background:#1779ba}input:checked~.switch-paddle::after{left:2.25rem}input:focus-visible~.switch-paddle{background:rgb(181.8,181.8,181.8)}input:focus-visible~.switch-paddle::after{background:#fefefe}input:checked:focus-visible~.switch-paddle{background:rgb(19.55,102.85,158.1)}input:disabled~.switch-paddle{cursor:not-allowed;opacity:.5}[data-whatinput=mouse] input:focus~.switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny{height:1.5rem}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle::after{top:.25rem;left:.25rem;width:1rem;height:1rem}.switch.tiny input:checked~.switch-paddle::after{left:1.75rem}.switch.small{height:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle::after{top:.25rem;left:.25rem;width:1.25rem;height:1.25rem}.switch.small input:checked~.switch-paddle::after{left:2rem}.switch.large{height:2.5rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle::after{top:.25rem;left:.25rem;width:2rem;height:2rem}.switch.large input:checked~.switch-paddle::after{left:2.75rem}table{border-collapse:collapse;width:100%;margin-bottom:1rem;border-radius:0}tbody,tfoot,thead{border:1px solid rgb(241.3,241.3,241.3);background-color:#fefefe}caption{padding:.5rem .625rem .625rem;font-weight:700}thead{background:rgb(247.65,247.65,247.65);color:#0a0a0a}tfoot{background:rgb(241.3,241.3,241.3);color:#0a0a0a}tfoot tr,thead tr{background:0 0}tfoot td,tfoot th,thead td,thead th{padding:.5rem .625rem .625rem;font-weight:700;text-align:left}tbody td,tbody th{padding:.5rem .625rem .625rem}tbody tr:nth-child(even){border-bottom:0;background-color:rgb(241.3,241.3,241.3)}table.unstriped tbody{background-color:#fefefe}table.unstriped tbody tr{border-bottom:1px solid rgb(241.3,241.3,241.3);background-color:#fefefe}@media print,screen and (max-width:63.99875em){table.stack thead{display:none}table.stack tfoot{display:none}table.stack td,table.stack th,table.stack tr{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover thead tr:hover{background-color:rgb(242.55,242.55,242.55)}table.hover tfoot tr:hover{background-color:rgb(236.2,236.2,236.2)}table.hover tbody tr:hover{background-color:rgb(248.9,248.9,248.9)}table.hover:not(.unstriped) tr:nth-of-type(even):hover{background-color:rgb(236.15,236.15,236.15)}.table-scroll{overflow-x:auto}.tabs{margin:0;border:1px solid #e6e6e6;background:#fefefe;list-style-type:none}.tabs::after,.tabs::before{display:table;content:" ";-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.tabs::after{clear:both}.tabs.vertical>li{display:block;float:none;width:auto}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:0 0}.tabs.primary{background:#1779ba}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:focus,.tabs.primary>li>a:hover{background:rgb(21.85,114.95,176.7)}.tabs-title{float:left}.tabs-title>a{display:block;padding:1.25rem 1.5rem;font-size:.75rem;line-height:1;color:#1779ba}[data-whatinput=mouse] .tabs-title>a{outline:0}.tabs-title>a:hover{background:#fefefe;color:rgb(19.78,104.06,159.96)}.tabs-title>a:focus,.tabs-title>a[aria-selected=true]{background:#e6e6e6;color:#1779ba}.tabs-content{border:1px solid #e6e6e6;border-top:0;background:#fefefe;color:#0a0a0a;-webkit-transition:all .5s ease;transition:all .5s ease}.tabs-content.vertical{border:1px solid #e6e6e6;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{display:inline-block;max-width:100%;margin-bottom:1rem;border:4px solid #fefefe;border-radius:0;-webkit-box-shadow:0 0 0 1px rgba(10,10,10,.2);box-shadow:0 0 0 1px rgba(10,10,10,.2);line-height:0}a.thumbnail{-webkit-transition:-webkit-box-shadow .2s ease-out;transition:-webkit-box-shadow .2s ease-out;transition:box-shadow .2s ease-out;transition:box-shadow .2s ease-out,-webkit-box-shadow .2s ease-out}a.thumbnail:focus,a.thumbnail:hover{-webkit-box-shadow:0 0 6px 1px rgba(23,121,186,.5);box-shadow:0 0 6px 1px rgba(23,121,186,.5)}a.thumbnail image{-webkit-box-shadow:none;box-shadow:none}.title-bar{padding:.5rem;background:#0a0a0a;color:#fefefe;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left,.title-bar-right{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0px}.title-bar-right{text-align:right}.title-bar-title{display:inline-block;vertical-align:middle;font-weight:700}.has-tip{position:relative;display:inline-block;border-bottom:dotted 1px #8a8a8a;font-weight:700;cursor:help}.tooltip{position:absolute;top:calc(100% + .6495rem);z-index:1200;max-width:10rem;padding:.75rem;border-radius:0;background-color:#0a0a0a;font-size:80%;color:#fefefe}.tooltip::before{position:absolute}.tooltip.bottom::before{display:block;width:0;height:0;border-style:solid;border-width:.75rem;content:"";border-top-width:0;border-color:transparent transparent #0a0a0a;bottom:100%}.tooltip.bottom.align-center::before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.top::before{display:block;width:0;height:0;border-style:solid;border-width:.75rem;content:"";border-bottom-width:0;border-color:#0a0a0a transparent transparent;top:100%;bottom:auto}.tooltip.top.align-center::before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.left::before{display:block;width:0;height:0;border-style:solid;border-width:.75rem;content:"";border-right-width:0;border-color:transparent transparent transparent #0a0a0a;left:100%}.tooltip.left.align-center::before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.right::before{display:block;width:0;height:0;border-style:solid;border-width:.75rem;content:"";border-left-width:0;border-color:transparent #0a0a0a transparent transparent;right:100%;left:auto}.tooltip.right.align-center::before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.align-top::before{bottom:auto;top:10%}.tooltip.align-bottom::before{bottom:10%;top:auto}.tooltip.align-left::before{left:10%;right:auto}.tooltip.align-right::before{left:auto;right:10%}.top-bar{padding:.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar input.button{width:auto}.top-bar{-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar .top-bar-left,.top-bar .top-bar-right{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}@media print,screen and (min-width:40em){.top-bar{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.top-bar .top-bar-left{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;margin-right:auto}.top-bar .top-bar-right{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;margin-left:auto}}@media print,screen and (max-width:63.99875em){.top-bar.stacked-for-medium{-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media print,screen and (max-width:74.99875em){.top-bar.stacked-for-large{-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}.top-bar-title{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin:.5rem 1rem .5rem 0}.top-bar-left,.top-bar-right{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.hide{display:none!important}.invisible{visibility:hidden}.visible{visibility:visible}@media print,screen and (max-width:39.99875em){.hide-for-small-only{display:none!important}}@media screen and (max-width:0em),screen and (min-width:40em){.show-for-small-only{display:none!important}}@media print,screen and (min-width:40em){.hide-for-medium{display:none!important}}@media screen and (max-width:39.99875em){.show-for-medium{display:none!important}}@media print,screen and (min-width:40em) and (max-width:63.99875em){.hide-for-medium-only{display:none!important}}@media screen and (max-width:39.99875em),screen and (min-width:64em){.show-for-medium-only{display:none!important}}@media print,screen and (min-width:64em){.hide-for-large{display:none!important}}@media screen and (max-width:63.99875em){.show-for-large{display:none!important}}@media print,screen and (min-width:64em) and (max-width:74.99875em){.hide-for-large-only{display:none!important}}@media screen and (max-width:63.99875em),screen and (min-width:75em){.show-for-large-only{display:none!important}}.show-for-sr,.show-on-focus{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.show-on-focus:active,.show-on-focus:focus{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;white-space:normal!important}.hide-for-portrait,.show-for-landscape{display:block!important}@media screen and (orientation:landscape){.hide-for-portrait,.show-for-landscape{display:block!important}}@media screen and (orientation:portrait){.hide-for-portrait,.show-for-landscape{display:none!important}}.hide-for-landscape,.show-for-portrait{display:none!important}@media screen and (orientation:landscape){.hide-for-landscape,.show-for-portrait{display:none!important}}@media screen and (orientation:portrait){.hide-for-landscape,.show-for-portrait{display:block!important}}.show-for-dark-mode{display:none}.hide-for-dark-mode{display:block}@media screen and (prefers-color-scheme:dark){.show-for-dark-mode{display:block!important}.hide-for-dark-mode{display:none!important}}.show-for-ie{display:none}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.show-for-ie{display:block!important}.hide-for-ie{display:none!important}}.show-for-sticky{display:none}.is-stuck .show-for-sticky{display:block}.is-stuck .hide-for-sticky{display:none}.float-left{float:left!important}.float-right{float:right!important}.float-center{display:block;margin-right:auto;margin-left:auto}.clearfix::after,.clearfix::before{display:table;content:" ";-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.clearfix::after{clear:both}.slide-in-down.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-down.mui-enter.mui-enter-active{-webkit-transform:translateY(0);transform:translateY(0)}.slide-in-left.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-left.mui-enter.mui-enter-active{-webkit-transform:translateX(0);transform:translateX(0)}.slide-in-up.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-up.mui-enter.mui-enter-active{-webkit-transform:translateY(0);transform:translateY(0)}.slide-in-right.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-right.mui-enter.mui-enter-active{-webkit-transform:translateX(0);transform:translateX(0)}.slide-out-down.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-down.mui-leave.mui-leave-active{-webkit-transform:translateY(100%);transform:translateY(100%)}.slide-out-right.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-right.mui-leave.mui-leave-active{-webkit-transform:translateX(100%);transform:translateX(100%)}.slide-out-up.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-up.mui-leave.mui-leave-active{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.slide-out-left.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-left.mui-leave.mui-leave-active{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.fade-in.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-in.mui-enter.mui-enter-active{opacity:1}.fade-out.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;opacity:1;-webkit-transition-property:opacity;transition-property:opacity}.fade-out.mui-leave.mui-leave-active{opacity:0}.hinge-in-from-top.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);-webkit-transform-origin:top;transform-origin:top;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:0}.hinge-in-from-top.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-right.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);-webkit-transform-origin:right;transform-origin:right;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:0}.hinge-in-from-right.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-bottom.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);-webkit-transform-origin:bottom;transform-origin:bottom;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:0}.hinge-in-from-bottom.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-left.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);-webkit-transform-origin:left;transform-origin:left;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:0}.hinge-in-from-left.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-middle-x.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);-webkit-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:0}.hinge-in-from-middle-x.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);opacity:1}.hinge-in-from-middle-y.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);-webkit-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:0}.hinge-in-from-middle-y.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);opacity:1}.hinge-out-from-top.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);-webkit-transform-origin:top;transform-origin:top;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:1}.hinge-out-from-top.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);opacity:0}.hinge-out-from-right.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);-webkit-transform-origin:right;transform-origin:right;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:1}.hinge-out-from-right.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}.hinge-out-from-bottom.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);-webkit-transform-origin:bottom;transform-origin:bottom;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:1}.hinge-out-from-bottom.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}.hinge-out-from-left.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);-webkit-transform-origin:left;transform-origin:left;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:1}.hinge-out-from-left.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);opacity:0}.hinge-out-from-middle-x.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);-webkit-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:1}.hinge-out-from-middle-x.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);opacity:0}.hinge-out-from-middle-y.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0);transform:perspective(2000px) rotate(0);-webkit-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:1}.hinge-out-from-middle-y.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}.scale-in-up.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:0}.scale-in-up.mui-enter.mui-enter-active{-webkit-transform:scale(1);transform:scale(1);opacity:1}.scale-in-down.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1.5);transform:scale(1.5);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:0}.scale-in-down.mui-enter.mui-enter-active{-webkit-transform:scale(1);transform:scale(1);opacity:1}.scale-out-up.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1);transform:scale(1);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:1}.scale-out-up.mui-leave.mui-leave-active{-webkit-transform:scale(1.5);transform:scale(1.5);opacity:0}.scale-out-down.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1);transform:scale(1);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:1}.scale-out-down.mui-leave.mui-leave-active{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}.spin-in.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(-.75turn);transform:rotate(-.75turn);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:0}.spin-in.mui-enter.mui-enter-active{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}.spin-out.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:1}.spin-out.mui-leave.mui-leave-active{-webkit-transform:rotate(.75turn);transform:rotate(.75turn);opacity:0}.spin-in-ccw.mui-enter{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(.75turn);transform:rotate(.75turn);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:0}.spin-in-ccw.mui-enter.mui-enter-active{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}.spin-out-ccw.mui-leave{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;opacity:1}.spin-out-ccw.mui-leave.mui-leave-active{-webkit-transform:rotate(-.75turn);transform:rotate(-.75turn);opacity:0}.slow{-webkit-transition-duration:750ms!important;transition-duration:750ms!important}.fast{-webkit-transition-duration:250ms!important;transition-duration:250ms!important}.linear{-webkit-transition-timing-function:linear!important;transition-timing-function:linear!important}.ease{-webkit-transition-timing-function:ease!important;transition-timing-function:ease!important}.ease-in{-webkit-transition-timing-function:ease-in!important;transition-timing-function:ease-in!important}.ease-out{-webkit-transition-timing-function:ease-out!important;transition-timing-function:ease-out!important}.ease-in-out{-webkit-transition-timing-function:ease-in-out!important;transition-timing-function:ease-in-out!important}.bounce-in{-webkit-transition-timing-function:cubic-bezier(.485,.155,.24,1.245)!important;transition-timing-function:cubic-bezier(.485,.155,.24,1.245)!important}.bounce-out{-webkit-transition-timing-function:cubic-bezier(.485,.155,.515,.845)!important;transition-timing-function:cubic-bezier(.485,.155,.515,.845)!important}.bounce-in-out{-webkit-transition-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important;transition-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important}.short-delay{-webkit-transition-delay:.3s!important;transition-delay:.3s!important}.long-delay{-webkit-transition-delay:.7s!important;transition-delay:.7s!important}.shake{-webkit-animation-name:shake-7;animation-name:shake-7}@-webkit-keyframes shake-7{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{-webkit-transform:translateX(7%);transform:translateX(7%)}15%,25%,35%,45%,5%,55%,65%,75%,85%,95%{-webkit-transform:translateX(-7%);transform:translateX(-7%)}}@keyframes shake-7{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{-webkit-transform:translateX(7%);transform:translateX(7%)}15%,25%,35%,45%,5%,55%,65%,75%,85%,95%{-webkit-transform:translateX(-7%);transform:translateX(-7%)}}.spin-cw{-webkit-animation-name:spin-cw-1turn;animation-name:spin-cw-1turn}@-webkit-keyframes spin-cw-1turn{0%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes spin-cw-1turn{0%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}.spin-ccw{-webkit-animation-name:spin-ccw-1turn;animation-name:spin-ccw-1turn}@-webkit-keyframes spin-ccw-1turn{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}@keyframes spin-ccw-1turn{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}.wiggle{-webkit-animation-name:wiggle-7deg;animation-name:wiggle-7deg}@-webkit-keyframes wiggle-7deg{40%,50%,60%{-webkit-transform:rotate(7deg);transform:rotate(7deg)}35%,45%,55%,65%{-webkit-transform:rotate(-7deg);transform:rotate(-7deg)}0%,100%,30%,70%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes wiggle-7deg{40%,50%,60%{-webkit-transform:rotate(7deg);transform:rotate(7deg)}35%,45%,55%,65%{-webkit-transform:rotate(-7deg);transform:rotate(-7deg)}0%,100%,30%,70%{-webkit-transform:rotate(0);transform:rotate(0)}}.shake,.spin-ccw,.spin-cw,.wiggle{-webkit-animation-duration:.5s;animation-duration:.5s}.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.slow{-webkit-animation-duration:750ms!important;animation-duration:750ms!important}.fast{-webkit-animation-duration:250ms!important;animation-duration:250ms!important}.linear{-webkit-animation-timing-function:linear!important;animation-timing-function:linear!important}.ease{-webkit-animation-timing-function:ease!important;animation-timing-function:ease!important}.ease-in{-webkit-animation-timing-function:ease-in!important;animation-timing-function:ease-in!important}.ease-out{-webkit-animation-timing-function:ease-out!important;animation-timing-function:ease-out!important}.ease-in-out{-webkit-animation-timing-function:ease-in-out!important;animation-timing-function:ease-in-out!important}.bounce-in{-webkit-animation-timing-function:cubic-bezier(.485,.155,.24,1.245)!important;animation-timing-function:cubic-bezier(.485,.155,.24,1.245)!important}.bounce-out{-webkit-animation-timing-function:cubic-bezier(.485,.155,.515,.845)!important;animation-timing-function:cubic-bezier(.485,.155,.515,.845)!important}.bounce-in-out{-webkit-animation-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important;animation-timing-function:cubic-bezier(.76,-.245,.24,1.245)!important}.short-delay{-webkit-animation-delay:.3s!important;animation-delay:.3s!important}.long-delay{-webkit-animation-delay:.7s!important;animation-delay:.7s!important} \ No newline at end of file diff --git a/src/test/resources/realworld/materialize_1_0_0.css b/src/test/resources/realworld/materialize_1_0_0.css new file mode 100644 index 0000000..e54da22 --- /dev/null +++ b/src/test/resources/realworld/materialize_1_0_0.css @@ -0,0 +1,9067 @@ +/*! + * Materialize v1.0.0 (http://materializecss.com) + * Copyright 2014-2017 Materialize + * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE) + */ +.materialize-red { + background-color: #e51c23 !important; +} + +.materialize-red-text { + color: #e51c23 !important; +} + +.materialize-red.lighten-5 { + background-color: #fdeaeb !important; +} + +.materialize-red-text.text-lighten-5 { + color: #fdeaeb !important; +} + +.materialize-red.lighten-4 { + background-color: #f8c1c3 !important; +} + +.materialize-red-text.text-lighten-4 { + color: #f8c1c3 !important; +} + +.materialize-red.lighten-3 { + background-color: #f3989b !important; +} + +.materialize-red-text.text-lighten-3 { + color: #f3989b !important; +} + +.materialize-red.lighten-2 { + background-color: #ee6e73 !important; +} + +.materialize-red-text.text-lighten-2 { + color: #ee6e73 !important; +} + +.materialize-red.lighten-1 { + background-color: #ea454b !important; +} + +.materialize-red-text.text-lighten-1 { + color: #ea454b !important; +} + +.materialize-red.darken-1 { + background-color: #d0181e !important; +} + +.materialize-red-text.text-darken-1 { + color: #d0181e !important; +} + +.materialize-red.darken-2 { + background-color: #b9151b !important; +} + +.materialize-red-text.text-darken-2 { + color: #b9151b !important; +} + +.materialize-red.darken-3 { + background-color: #a21318 !important; +} + +.materialize-red-text.text-darken-3 { + color: #a21318 !important; +} + +.materialize-red.darken-4 { + background-color: #8b1014 !important; +} + +.materialize-red-text.text-darken-4 { + color: #8b1014 !important; +} + +.red { + background-color: #F44336 !important; +} + +.red-text { + color: #F44336 !important; +} + +.red.lighten-5 { + background-color: #FFEBEE !important; +} + +.red-text.text-lighten-5 { + color: #FFEBEE !important; +} + +.red.lighten-4 { + background-color: #FFCDD2 !important; +} + +.red-text.text-lighten-4 { + color: #FFCDD2 !important; +} + +.red.lighten-3 { + background-color: #EF9A9A !important; +} + +.red-text.text-lighten-3 { + color: #EF9A9A !important; +} + +.red.lighten-2 { + background-color: #E57373 !important; +} + +.red-text.text-lighten-2 { + color: #E57373 !important; +} + +.red.lighten-1 { + background-color: #EF5350 !important; +} + +.red-text.text-lighten-1 { + color: #EF5350 !important; +} + +.red.darken-1 { + background-color: #E53935 !important; +} + +.red-text.text-darken-1 { + color: #E53935 !important; +} + +.red.darken-2 { + background-color: #D32F2F !important; +} + +.red-text.text-darken-2 { + color: #D32F2F !important; +} + +.red.darken-3 { + background-color: #C62828 !important; +} + +.red-text.text-darken-3 { + color: #C62828 !important; +} + +.red.darken-4 { + background-color: #B71C1C !important; +} + +.red-text.text-darken-4 { + color: #B71C1C !important; +} + +.red.accent-1 { + background-color: #FF8A80 !important; +} + +.red-text.text-accent-1 { + color: #FF8A80 !important; +} + +.red.accent-2 { + background-color: #FF5252 !important; +} + +.red-text.text-accent-2 { + color: #FF5252 !important; +} + +.red.accent-3 { + background-color: #FF1744 !important; +} + +.red-text.text-accent-3 { + color: #FF1744 !important; +} + +.red.accent-4 { + background-color: #D50000 !important; +} + +.red-text.text-accent-4 { + color: #D50000 !important; +} + +.pink { + background-color: #e91e63 !important; +} + +.pink-text { + color: #e91e63 !important; +} + +.pink.lighten-5 { + background-color: #fce4ec !important; +} + +.pink-text.text-lighten-5 { + color: #fce4ec !important; +} + +.pink.lighten-4 { + background-color: #f8bbd0 !important; +} + +.pink-text.text-lighten-4 { + color: #f8bbd0 !important; +} + +.pink.lighten-3 { + background-color: #f48fb1 !important; +} + +.pink-text.text-lighten-3 { + color: #f48fb1 !important; +} + +.pink.lighten-2 { + background-color: #f06292 !important; +} + +.pink-text.text-lighten-2 { + color: #f06292 !important; +} + +.pink.lighten-1 { + background-color: #ec407a !important; +} + +.pink-text.text-lighten-1 { + color: #ec407a !important; +} + +.pink.darken-1 { + background-color: #d81b60 !important; +} + +.pink-text.text-darken-1 { + color: #d81b60 !important; +} + +.pink.darken-2 { + background-color: #c2185b !important; +} + +.pink-text.text-darken-2 { + color: #c2185b !important; +} + +.pink.darken-3 { + background-color: #ad1457 !important; +} + +.pink-text.text-darken-3 { + color: #ad1457 !important; +} + +.pink.darken-4 { + background-color: #880e4f !important; +} + +.pink-text.text-darken-4 { + color: #880e4f !important; +} + +.pink.accent-1 { + background-color: #ff80ab !important; +} + +.pink-text.text-accent-1 { + color: #ff80ab !important; +} + +.pink.accent-2 { + background-color: #ff4081 !important; +} + +.pink-text.text-accent-2 { + color: #ff4081 !important; +} + +.pink.accent-3 { + background-color: #f50057 !important; +} + +.pink-text.text-accent-3 { + color: #f50057 !important; +} + +.pink.accent-4 { + background-color: #c51162 !important; +} + +.pink-text.text-accent-4 { + color: #c51162 !important; +} + +.purple { + background-color: #9c27b0 !important; +} + +.purple-text { + color: #9c27b0 !important; +} + +.purple.lighten-5 { + background-color: #f3e5f5 !important; +} + +.purple-text.text-lighten-5 { + color: #f3e5f5 !important; +} + +.purple.lighten-4 { + background-color: #e1bee7 !important; +} + +.purple-text.text-lighten-4 { + color: #e1bee7 !important; +} + +.purple.lighten-3 { + background-color: #ce93d8 !important; +} + +.purple-text.text-lighten-3 { + color: #ce93d8 !important; +} + +.purple.lighten-2 { + background-color: #ba68c8 !important; +} + +.purple-text.text-lighten-2 { + color: #ba68c8 !important; +} + +.purple.lighten-1 { + background-color: #ab47bc !important; +} + +.purple-text.text-lighten-1 { + color: #ab47bc !important; +} + +.purple.darken-1 { + background-color: #8e24aa !important; +} + +.purple-text.text-darken-1 { + color: #8e24aa !important; +} + +.purple.darken-2 { + background-color: #7b1fa2 !important; +} + +.purple-text.text-darken-2 { + color: #7b1fa2 !important; +} + +.purple.darken-3 { + background-color: #6a1b9a !important; +} + +.purple-text.text-darken-3 { + color: #6a1b9a !important; +} + +.purple.darken-4 { + background-color: #4a148c !important; +} + +.purple-text.text-darken-4 { + color: #4a148c !important; +} + +.purple.accent-1 { + background-color: #ea80fc !important; +} + +.purple-text.text-accent-1 { + color: #ea80fc !important; +} + +.purple.accent-2 { + background-color: #e040fb !important; +} + +.purple-text.text-accent-2 { + color: #e040fb !important; +} + +.purple.accent-3 { + background-color: #d500f9 !important; +} + +.purple-text.text-accent-3 { + color: #d500f9 !important; +} + +.purple.accent-4 { + background-color: #aa00ff !important; +} + +.purple-text.text-accent-4 { + color: #aa00ff !important; +} + +.deep-purple { + background-color: #673ab7 !important; +} + +.deep-purple-text { + color: #673ab7 !important; +} + +.deep-purple.lighten-5 { + background-color: #ede7f6 !important; +} + +.deep-purple-text.text-lighten-5 { + color: #ede7f6 !important; +} + +.deep-purple.lighten-4 { + background-color: #d1c4e9 !important; +} + +.deep-purple-text.text-lighten-4 { + color: #d1c4e9 !important; +} + +.deep-purple.lighten-3 { + background-color: #b39ddb !important; +} + +.deep-purple-text.text-lighten-3 { + color: #b39ddb !important; +} + +.deep-purple.lighten-2 { + background-color: #9575cd !important; +} + +.deep-purple-text.text-lighten-2 { + color: #9575cd !important; +} + +.deep-purple.lighten-1 { + background-color: #7e57c2 !important; +} + +.deep-purple-text.text-lighten-1 { + color: #7e57c2 !important; +} + +.deep-purple.darken-1 { + background-color: #5e35b1 !important; +} + +.deep-purple-text.text-darken-1 { + color: #5e35b1 !important; +} + +.deep-purple.darken-2 { + background-color: #512da8 !important; +} + +.deep-purple-text.text-darken-2 { + color: #512da8 !important; +} + +.deep-purple.darken-3 { + background-color: #4527a0 !important; +} + +.deep-purple-text.text-darken-3 { + color: #4527a0 !important; +} + +.deep-purple.darken-4 { + background-color: #311b92 !important; +} + +.deep-purple-text.text-darken-4 { + color: #311b92 !important; +} + +.deep-purple.accent-1 { + background-color: #b388ff !important; +} + +.deep-purple-text.text-accent-1 { + color: #b388ff !important; +} + +.deep-purple.accent-2 { + background-color: #7c4dff !important; +} + +.deep-purple-text.text-accent-2 { + color: #7c4dff !important; +} + +.deep-purple.accent-3 { + background-color: #651fff !important; +} + +.deep-purple-text.text-accent-3 { + color: #651fff !important; +} + +.deep-purple.accent-4 { + background-color: #6200ea !important; +} + +.deep-purple-text.text-accent-4 { + color: #6200ea !important; +} + +.indigo { + background-color: #3f51b5 !important; +} + +.indigo-text { + color: #3f51b5 !important; +} + +.indigo.lighten-5 { + background-color: #e8eaf6 !important; +} + +.indigo-text.text-lighten-5 { + color: #e8eaf6 !important; +} + +.indigo.lighten-4 { + background-color: #c5cae9 !important; +} + +.indigo-text.text-lighten-4 { + color: #c5cae9 !important; +} + +.indigo.lighten-3 { + background-color: #9fa8da !important; +} + +.indigo-text.text-lighten-3 { + color: #9fa8da !important; +} + +.indigo.lighten-2 { + background-color: #7986cb !important; +} + +.indigo-text.text-lighten-2 { + color: #7986cb !important; +} + +.indigo.lighten-1 { + background-color: #5c6bc0 !important; +} + +.indigo-text.text-lighten-1 { + color: #5c6bc0 !important; +} + +.indigo.darken-1 { + background-color: #3949ab !important; +} + +.indigo-text.text-darken-1 { + color: #3949ab !important; +} + +.indigo.darken-2 { + background-color: #303f9f !important; +} + +.indigo-text.text-darken-2 { + color: #303f9f !important; +} + +.indigo.darken-3 { + background-color: #283593 !important; +} + +.indigo-text.text-darken-3 { + color: #283593 !important; +} + +.indigo.darken-4 { + background-color: #1a237e !important; +} + +.indigo-text.text-darken-4 { + color: #1a237e !important; +} + +.indigo.accent-1 { + background-color: #8c9eff !important; +} + +.indigo-text.text-accent-1 { + color: #8c9eff !important; +} + +.indigo.accent-2 { + background-color: #536dfe !important; +} + +.indigo-text.text-accent-2 { + color: #536dfe !important; +} + +.indigo.accent-3 { + background-color: #3d5afe !important; +} + +.indigo-text.text-accent-3 { + color: #3d5afe !important; +} + +.indigo.accent-4 { + background-color: #304ffe !important; +} + +.indigo-text.text-accent-4 { + color: #304ffe !important; +} + +.blue { + background-color: #2196F3 !important; +} + +.blue-text { + color: #2196F3 !important; +} + +.blue.lighten-5 { + background-color: #E3F2FD !important; +} + +.blue-text.text-lighten-5 { + color: #E3F2FD !important; +} + +.blue.lighten-4 { + background-color: #BBDEFB !important; +} + +.blue-text.text-lighten-4 { + color: #BBDEFB !important; +} + +.blue.lighten-3 { + background-color: #90CAF9 !important; +} + +.blue-text.text-lighten-3 { + color: #90CAF9 !important; +} + +.blue.lighten-2 { + background-color: #64B5F6 !important; +} + +.blue-text.text-lighten-2 { + color: #64B5F6 !important; +} + +.blue.lighten-1 { + background-color: #42A5F5 !important; +} + +.blue-text.text-lighten-1 { + color: #42A5F5 !important; +} + +.blue.darken-1 { + background-color: #1E88E5 !important; +} + +.blue-text.text-darken-1 { + color: #1E88E5 !important; +} + +.blue.darken-2 { + background-color: #1976D2 !important; +} + +.blue-text.text-darken-2 { + color: #1976D2 !important; +} + +.blue.darken-3 { + background-color: #1565C0 !important; +} + +.blue-text.text-darken-3 { + color: #1565C0 !important; +} + +.blue.darken-4 { + background-color: #0D47A1 !important; +} + +.blue-text.text-darken-4 { + color: #0D47A1 !important; +} + +.blue.accent-1 { + background-color: #82B1FF !important; +} + +.blue-text.text-accent-1 { + color: #82B1FF !important; +} + +.blue.accent-2 { + background-color: #448AFF !important; +} + +.blue-text.text-accent-2 { + color: #448AFF !important; +} + +.blue.accent-3 { + background-color: #2979FF !important; +} + +.blue-text.text-accent-3 { + color: #2979FF !important; +} + +.blue.accent-4 { + background-color: #2962FF !important; +} + +.blue-text.text-accent-4 { + color: #2962FF !important; +} + +.light-blue { + background-color: #03a9f4 !important; +} + +.light-blue-text { + color: #03a9f4 !important; +} + +.light-blue.lighten-5 { + background-color: #e1f5fe !important; +} + +.light-blue-text.text-lighten-5 { + color: #e1f5fe !important; +} + +.light-blue.lighten-4 { + background-color: #b3e5fc !important; +} + +.light-blue-text.text-lighten-4 { + color: #b3e5fc !important; +} + +.light-blue.lighten-3 { + background-color: #81d4fa !important; +} + +.light-blue-text.text-lighten-3 { + color: #81d4fa !important; +} + +.light-blue.lighten-2 { + background-color: #4fc3f7 !important; +} + +.light-blue-text.text-lighten-2 { + color: #4fc3f7 !important; +} + +.light-blue.lighten-1 { + background-color: #29b6f6 !important; +} + +.light-blue-text.text-lighten-1 { + color: #29b6f6 !important; +} + +.light-blue.darken-1 { + background-color: #039be5 !important; +} + +.light-blue-text.text-darken-1 { + color: #039be5 !important; +} + +.light-blue.darken-2 { + background-color: #0288d1 !important; +} + +.light-blue-text.text-darken-2 { + color: #0288d1 !important; +} + +.light-blue.darken-3 { + background-color: #0277bd !important; +} + +.light-blue-text.text-darken-3 { + color: #0277bd !important; +} + +.light-blue.darken-4 { + background-color: #01579b !important; +} + +.light-blue-text.text-darken-4 { + color: #01579b !important; +} + +.light-blue.accent-1 { + background-color: #80d8ff !important; +} + +.light-blue-text.text-accent-1 { + color: #80d8ff !important; +} + +.light-blue.accent-2 { + background-color: #40c4ff !important; +} + +.light-blue-text.text-accent-2 { + color: #40c4ff !important; +} + +.light-blue.accent-3 { + background-color: #00b0ff !important; +} + +.light-blue-text.text-accent-3 { + color: #00b0ff !important; +} + +.light-blue.accent-4 { + background-color: #0091ea !important; +} + +.light-blue-text.text-accent-4 { + color: #0091ea !important; +} + +.cyan { + background-color: #00bcd4 !important; +} + +.cyan-text { + color: #00bcd4 !important; +} + +.cyan.lighten-5 { + background-color: #e0f7fa !important; +} + +.cyan-text.text-lighten-5 { + color: #e0f7fa !important; +} + +.cyan.lighten-4 { + background-color: #b2ebf2 !important; +} + +.cyan-text.text-lighten-4 { + color: #b2ebf2 !important; +} + +.cyan.lighten-3 { + background-color: #80deea !important; +} + +.cyan-text.text-lighten-3 { + color: #80deea !important; +} + +.cyan.lighten-2 { + background-color: #4dd0e1 !important; +} + +.cyan-text.text-lighten-2 { + color: #4dd0e1 !important; +} + +.cyan.lighten-1 { + background-color: #26c6da !important; +} + +.cyan-text.text-lighten-1 { + color: #26c6da !important; +} + +.cyan.darken-1 { + background-color: #00acc1 !important; +} + +.cyan-text.text-darken-1 { + color: #00acc1 !important; +} + +.cyan.darken-2 { + background-color: #0097a7 !important; +} + +.cyan-text.text-darken-2 { + color: #0097a7 !important; +} + +.cyan.darken-3 { + background-color: #00838f !important; +} + +.cyan-text.text-darken-3 { + color: #00838f !important; +} + +.cyan.darken-4 { + background-color: #006064 !important; +} + +.cyan-text.text-darken-4 { + color: #006064 !important; +} + +.cyan.accent-1 { + background-color: #84ffff !important; +} + +.cyan-text.text-accent-1 { + color: #84ffff !important; +} + +.cyan.accent-2 { + background-color: #18ffff !important; +} + +.cyan-text.text-accent-2 { + color: #18ffff !important; +} + +.cyan.accent-3 { + background-color: #00e5ff !important; +} + +.cyan-text.text-accent-3 { + color: #00e5ff !important; +} + +.cyan.accent-4 { + background-color: #00b8d4 !important; +} + +.cyan-text.text-accent-4 { + color: #00b8d4 !important; +} + +.teal { + background-color: #009688 !important; +} + +.teal-text { + color: #009688 !important; +} + +.teal.lighten-5 { + background-color: #e0f2f1 !important; +} + +.teal-text.text-lighten-5 { + color: #e0f2f1 !important; +} + +.teal.lighten-4 { + background-color: #b2dfdb !important; +} + +.teal-text.text-lighten-4 { + color: #b2dfdb !important; +} + +.teal.lighten-3 { + background-color: #80cbc4 !important; +} + +.teal-text.text-lighten-3 { + color: #80cbc4 !important; +} + +.teal.lighten-2 { + background-color: #4db6ac !important; +} + +.teal-text.text-lighten-2 { + color: #4db6ac !important; +} + +.teal.lighten-1 { + background-color: #26a69a !important; +} + +.teal-text.text-lighten-1 { + color: #26a69a !important; +} + +.teal.darken-1 { + background-color: #00897b !important; +} + +.teal-text.text-darken-1 { + color: #00897b !important; +} + +.teal.darken-2 { + background-color: #00796b !important; +} + +.teal-text.text-darken-2 { + color: #00796b !important; +} + +.teal.darken-3 { + background-color: #00695c !important; +} + +.teal-text.text-darken-3 { + color: #00695c !important; +} + +.teal.darken-4 { + background-color: #004d40 !important; +} + +.teal-text.text-darken-4 { + color: #004d40 !important; +} + +.teal.accent-1 { + background-color: #a7ffeb !important; +} + +.teal-text.text-accent-1 { + color: #a7ffeb !important; +} + +.teal.accent-2 { + background-color: #64ffda !important; +} + +.teal-text.text-accent-2 { + color: #64ffda !important; +} + +.teal.accent-3 { + background-color: #1de9b6 !important; +} + +.teal-text.text-accent-3 { + color: #1de9b6 !important; +} + +.teal.accent-4 { + background-color: #00bfa5 !important; +} + +.teal-text.text-accent-4 { + color: #00bfa5 !important; +} + +.green { + background-color: #4CAF50 !important; +} + +.green-text { + color: #4CAF50 !important; +} + +.green.lighten-5 { + background-color: #E8F5E9 !important; +} + +.green-text.text-lighten-5 { + color: #E8F5E9 !important; +} + +.green.lighten-4 { + background-color: #C8E6C9 !important; +} + +.green-text.text-lighten-4 { + color: #C8E6C9 !important; +} + +.green.lighten-3 { + background-color: #A5D6A7 !important; +} + +.green-text.text-lighten-3 { + color: #A5D6A7 !important; +} + +.green.lighten-2 { + background-color: #81C784 !important; +} + +.green-text.text-lighten-2 { + color: #81C784 !important; +} + +.green.lighten-1 { + background-color: #66BB6A !important; +} + +.green-text.text-lighten-1 { + color: #66BB6A !important; +} + +.green.darken-1 { + background-color: #43A047 !important; +} + +.green-text.text-darken-1 { + color: #43A047 !important; +} + +.green.darken-2 { + background-color: #388E3C !important; +} + +.green-text.text-darken-2 { + color: #388E3C !important; +} + +.green.darken-3 { + background-color: #2E7D32 !important; +} + +.green-text.text-darken-3 { + color: #2E7D32 !important; +} + +.green.darken-4 { + background-color: #1B5E20 !important; +} + +.green-text.text-darken-4 { + color: #1B5E20 !important; +} + +.green.accent-1 { + background-color: #B9F6CA !important; +} + +.green-text.text-accent-1 { + color: #B9F6CA !important; +} + +.green.accent-2 { + background-color: #69F0AE !important; +} + +.green-text.text-accent-2 { + color: #69F0AE !important; +} + +.green.accent-3 { + background-color: #00E676 !important; +} + +.green-text.text-accent-3 { + color: #00E676 !important; +} + +.green.accent-4 { + background-color: #00C853 !important; +} + +.green-text.text-accent-4 { + color: #00C853 !important; +} + +.light-green { + background-color: #8bc34a !important; +} + +.light-green-text { + color: #8bc34a !important; +} + +.light-green.lighten-5 { + background-color: #f1f8e9 !important; +} + +.light-green-text.text-lighten-5 { + color: #f1f8e9 !important; +} + +.light-green.lighten-4 { + background-color: #dcedc8 !important; +} + +.light-green-text.text-lighten-4 { + color: #dcedc8 !important; +} + +.light-green.lighten-3 { + background-color: #c5e1a5 !important; +} + +.light-green-text.text-lighten-3 { + color: #c5e1a5 !important; +} + +.light-green.lighten-2 { + background-color: #aed581 !important; +} + +.light-green-text.text-lighten-2 { + color: #aed581 !important; +} + +.light-green.lighten-1 { + background-color: #9ccc65 !important; +} + +.light-green-text.text-lighten-1 { + color: #9ccc65 !important; +} + +.light-green.darken-1 { + background-color: #7cb342 !important; +} + +.light-green-text.text-darken-1 { + color: #7cb342 !important; +} + +.light-green.darken-2 { + background-color: #689f38 !important; +} + +.light-green-text.text-darken-2 { + color: #689f38 !important; +} + +.light-green.darken-3 { + background-color: #558b2f !important; +} + +.light-green-text.text-darken-3 { + color: #558b2f !important; +} + +.light-green.darken-4 { + background-color: #33691e !important; +} + +.light-green-text.text-darken-4 { + color: #33691e !important; +} + +.light-green.accent-1 { + background-color: #ccff90 !important; +} + +.light-green-text.text-accent-1 { + color: #ccff90 !important; +} + +.light-green.accent-2 { + background-color: #b2ff59 !important; +} + +.light-green-text.text-accent-2 { + color: #b2ff59 !important; +} + +.light-green.accent-3 { + background-color: #76ff03 !important; +} + +.light-green-text.text-accent-3 { + color: #76ff03 !important; +} + +.light-green.accent-4 { + background-color: #64dd17 !important; +} + +.light-green-text.text-accent-4 { + color: #64dd17 !important; +} + +.lime { + background-color: #cddc39 !important; +} + +.lime-text { + color: #cddc39 !important; +} + +.lime.lighten-5 { + background-color: #f9fbe7 !important; +} + +.lime-text.text-lighten-5 { + color: #f9fbe7 !important; +} + +.lime.lighten-4 { + background-color: #f0f4c3 !important; +} + +.lime-text.text-lighten-4 { + color: #f0f4c3 !important; +} + +.lime.lighten-3 { + background-color: #e6ee9c !important; +} + +.lime-text.text-lighten-3 { + color: #e6ee9c !important; +} + +.lime.lighten-2 { + background-color: #dce775 !important; +} + +.lime-text.text-lighten-2 { + color: #dce775 !important; +} + +.lime.lighten-1 { + background-color: #d4e157 !important; +} + +.lime-text.text-lighten-1 { + color: #d4e157 !important; +} + +.lime.darken-1 { + background-color: #c0ca33 !important; +} + +.lime-text.text-darken-1 { + color: #c0ca33 !important; +} + +.lime.darken-2 { + background-color: #afb42b !important; +} + +.lime-text.text-darken-2 { + color: #afb42b !important; +} + +.lime.darken-3 { + background-color: #9e9d24 !important; +} + +.lime-text.text-darken-3 { + color: #9e9d24 !important; +} + +.lime.darken-4 { + background-color: #827717 !important; +} + +.lime-text.text-darken-4 { + color: #827717 !important; +} + +.lime.accent-1 { + background-color: #f4ff81 !important; +} + +.lime-text.text-accent-1 { + color: #f4ff81 !important; +} + +.lime.accent-2 { + background-color: #eeff41 !important; +} + +.lime-text.text-accent-2 { + color: #eeff41 !important; +} + +.lime.accent-3 { + background-color: #c6ff00 !important; +} + +.lime-text.text-accent-3 { + color: #c6ff00 !important; +} + +.lime.accent-4 { + background-color: #aeea00 !important; +} + +.lime-text.text-accent-4 { + color: #aeea00 !important; +} + +.yellow { + background-color: #ffeb3b !important; +} + +.yellow-text { + color: #ffeb3b !important; +} + +.yellow.lighten-5 { + background-color: #fffde7 !important; +} + +.yellow-text.text-lighten-5 { + color: #fffde7 !important; +} + +.yellow.lighten-4 { + background-color: #fff9c4 !important; +} + +.yellow-text.text-lighten-4 { + color: #fff9c4 !important; +} + +.yellow.lighten-3 { + background-color: #fff59d !important; +} + +.yellow-text.text-lighten-3 { + color: #fff59d !important; +} + +.yellow.lighten-2 { + background-color: #fff176 !important; +} + +.yellow-text.text-lighten-2 { + color: #fff176 !important; +} + +.yellow.lighten-1 { + background-color: #ffee58 !important; +} + +.yellow-text.text-lighten-1 { + color: #ffee58 !important; +} + +.yellow.darken-1 { + background-color: #fdd835 !important; +} + +.yellow-text.text-darken-1 { + color: #fdd835 !important; +} + +.yellow.darken-2 { + background-color: #fbc02d !important; +} + +.yellow-text.text-darken-2 { + color: #fbc02d !important; +} + +.yellow.darken-3 { + background-color: #f9a825 !important; +} + +.yellow-text.text-darken-3 { + color: #f9a825 !important; +} + +.yellow.darken-4 { + background-color: #f57f17 !important; +} + +.yellow-text.text-darken-4 { + color: #f57f17 !important; +} + +.yellow.accent-1 { + background-color: #ffff8d !important; +} + +.yellow-text.text-accent-1 { + color: #ffff8d !important; +} + +.yellow.accent-2 { + background-color: #ffff00 !important; +} + +.yellow-text.text-accent-2 { + color: #ffff00 !important; +} + +.yellow.accent-3 { + background-color: #ffea00 !important; +} + +.yellow-text.text-accent-3 { + color: #ffea00 !important; +} + +.yellow.accent-4 { + background-color: #ffd600 !important; +} + +.yellow-text.text-accent-4 { + color: #ffd600 !important; +} + +.amber { + background-color: #ffc107 !important; +} + +.amber-text { + color: #ffc107 !important; +} + +.amber.lighten-5 { + background-color: #fff8e1 !important; +} + +.amber-text.text-lighten-5 { + color: #fff8e1 !important; +} + +.amber.lighten-4 { + background-color: #ffecb3 !important; +} + +.amber-text.text-lighten-4 { + color: #ffecb3 !important; +} + +.amber.lighten-3 { + background-color: #ffe082 !important; +} + +.amber-text.text-lighten-3 { + color: #ffe082 !important; +} + +.amber.lighten-2 { + background-color: #ffd54f !important; +} + +.amber-text.text-lighten-2 { + color: #ffd54f !important; +} + +.amber.lighten-1 { + background-color: #ffca28 !important; +} + +.amber-text.text-lighten-1 { + color: #ffca28 !important; +} + +.amber.darken-1 { + background-color: #ffb300 !important; +} + +.amber-text.text-darken-1 { + color: #ffb300 !important; +} + +.amber.darken-2 { + background-color: #ffa000 !important; +} + +.amber-text.text-darken-2 { + color: #ffa000 !important; +} + +.amber.darken-3 { + background-color: #ff8f00 !important; +} + +.amber-text.text-darken-3 { + color: #ff8f00 !important; +} + +.amber.darken-4 { + background-color: #ff6f00 !important; +} + +.amber-text.text-darken-4 { + color: #ff6f00 !important; +} + +.amber.accent-1 { + background-color: #ffe57f !important; +} + +.amber-text.text-accent-1 { + color: #ffe57f !important; +} + +.amber.accent-2 { + background-color: #ffd740 !important; +} + +.amber-text.text-accent-2 { + color: #ffd740 !important; +} + +.amber.accent-3 { + background-color: #ffc400 !important; +} + +.amber-text.text-accent-3 { + color: #ffc400 !important; +} + +.amber.accent-4 { + background-color: #ffab00 !important; +} + +.amber-text.text-accent-4 { + color: #ffab00 !important; +} + +.orange { + background-color: #ff9800 !important; +} + +.orange-text { + color: #ff9800 !important; +} + +.orange.lighten-5 { + background-color: #fff3e0 !important; +} + +.orange-text.text-lighten-5 { + color: #fff3e0 !important; +} + +.orange.lighten-4 { + background-color: #ffe0b2 !important; +} + +.orange-text.text-lighten-4 { + color: #ffe0b2 !important; +} + +.orange.lighten-3 { + background-color: #ffcc80 !important; +} + +.orange-text.text-lighten-3 { + color: #ffcc80 !important; +} + +.orange.lighten-2 { + background-color: #ffb74d !important; +} + +.orange-text.text-lighten-2 { + color: #ffb74d !important; +} + +.orange.lighten-1 { + background-color: #ffa726 !important; +} + +.orange-text.text-lighten-1 { + color: #ffa726 !important; +} + +.orange.darken-1 { + background-color: #fb8c00 !important; +} + +.orange-text.text-darken-1 { + color: #fb8c00 !important; +} + +.orange.darken-2 { + background-color: #f57c00 !important; +} + +.orange-text.text-darken-2 { + color: #f57c00 !important; +} + +.orange.darken-3 { + background-color: #ef6c00 !important; +} + +.orange-text.text-darken-3 { + color: #ef6c00 !important; +} + +.orange.darken-4 { + background-color: #e65100 !important; +} + +.orange-text.text-darken-4 { + color: #e65100 !important; +} + +.orange.accent-1 { + background-color: #ffd180 !important; +} + +.orange-text.text-accent-1 { + color: #ffd180 !important; +} + +.orange.accent-2 { + background-color: #ffab40 !important; +} + +.orange-text.text-accent-2 { + color: #ffab40 !important; +} + +.orange.accent-3 { + background-color: #ff9100 !important; +} + +.orange-text.text-accent-3 { + color: #ff9100 !important; +} + +.orange.accent-4 { + background-color: #ff6d00 !important; +} + +.orange-text.text-accent-4 { + color: #ff6d00 !important; +} + +.deep-orange { + background-color: #ff5722 !important; +} + +.deep-orange-text { + color: #ff5722 !important; +} + +.deep-orange.lighten-5 { + background-color: #fbe9e7 !important; +} + +.deep-orange-text.text-lighten-5 { + color: #fbe9e7 !important; +} + +.deep-orange.lighten-4 { + background-color: #ffccbc !important; +} + +.deep-orange-text.text-lighten-4 { + color: #ffccbc !important; +} + +.deep-orange.lighten-3 { + background-color: #ffab91 !important; +} + +.deep-orange-text.text-lighten-3 { + color: #ffab91 !important; +} + +.deep-orange.lighten-2 { + background-color: #ff8a65 !important; +} + +.deep-orange-text.text-lighten-2 { + color: #ff8a65 !important; +} + +.deep-orange.lighten-1 { + background-color: #ff7043 !important; +} + +.deep-orange-text.text-lighten-1 { + color: #ff7043 !important; +} + +.deep-orange.darken-1 { + background-color: #f4511e !important; +} + +.deep-orange-text.text-darken-1 { + color: #f4511e !important; +} + +.deep-orange.darken-2 { + background-color: #e64a19 !important; +} + +.deep-orange-text.text-darken-2 { + color: #e64a19 !important; +} + +.deep-orange.darken-3 { + background-color: #d84315 !important; +} + +.deep-orange-text.text-darken-3 { + color: #d84315 !important; +} + +.deep-orange.darken-4 { + background-color: #bf360c !important; +} + +.deep-orange-text.text-darken-4 { + color: #bf360c !important; +} + +.deep-orange.accent-1 { + background-color: #ff9e80 !important; +} + +.deep-orange-text.text-accent-1 { + color: #ff9e80 !important; +} + +.deep-orange.accent-2 { + background-color: #ff6e40 !important; +} + +.deep-orange-text.text-accent-2 { + color: #ff6e40 !important; +} + +.deep-orange.accent-3 { + background-color: #ff3d00 !important; +} + +.deep-orange-text.text-accent-3 { + color: #ff3d00 !important; +} + +.deep-orange.accent-4 { + background-color: #dd2c00 !important; +} + +.deep-orange-text.text-accent-4 { + color: #dd2c00 !important; +} + +.brown { + background-color: #795548 !important; +} + +.brown-text { + color: #795548 !important; +} + +.brown.lighten-5 { + background-color: #efebe9 !important; +} + +.brown-text.text-lighten-5 { + color: #efebe9 !important; +} + +.brown.lighten-4 { + background-color: #d7ccc8 !important; +} + +.brown-text.text-lighten-4 { + color: #d7ccc8 !important; +} + +.brown.lighten-3 { + background-color: #bcaaa4 !important; +} + +.brown-text.text-lighten-3 { + color: #bcaaa4 !important; +} + +.brown.lighten-2 { + background-color: #a1887f !important; +} + +.brown-text.text-lighten-2 { + color: #a1887f !important; +} + +.brown.lighten-1 { + background-color: #8d6e63 !important; +} + +.brown-text.text-lighten-1 { + color: #8d6e63 !important; +} + +.brown.darken-1 { + background-color: #6d4c41 !important; +} + +.brown-text.text-darken-1 { + color: #6d4c41 !important; +} + +.brown.darken-2 { + background-color: #5d4037 !important; +} + +.brown-text.text-darken-2 { + color: #5d4037 !important; +} + +.brown.darken-3 { + background-color: #4e342e !important; +} + +.brown-text.text-darken-3 { + color: #4e342e !important; +} + +.brown.darken-4 { + background-color: #3e2723 !important; +} + +.brown-text.text-darken-4 { + color: #3e2723 !important; +} + +.blue-grey { + background-color: #607d8b !important; +} + +.blue-grey-text { + color: #607d8b !important; +} + +.blue-grey.lighten-5 { + background-color: #eceff1 !important; +} + +.blue-grey-text.text-lighten-5 { + color: #eceff1 !important; +} + +.blue-grey.lighten-4 { + background-color: #cfd8dc !important; +} + +.blue-grey-text.text-lighten-4 { + color: #cfd8dc !important; +} + +.blue-grey.lighten-3 { + background-color: #b0bec5 !important; +} + +.blue-grey-text.text-lighten-3 { + color: #b0bec5 !important; +} + +.blue-grey.lighten-2 { + background-color: #90a4ae !important; +} + +.blue-grey-text.text-lighten-2 { + color: #90a4ae !important; +} + +.blue-grey.lighten-1 { + background-color: #78909c !important; +} + +.blue-grey-text.text-lighten-1 { + color: #78909c !important; +} + +.blue-grey.darken-1 { + background-color: #546e7a !important; +} + +.blue-grey-text.text-darken-1 { + color: #546e7a !important; +} + +.blue-grey.darken-2 { + background-color: #455a64 !important; +} + +.blue-grey-text.text-darken-2 { + color: #455a64 !important; +} + +.blue-grey.darken-3 { + background-color: #37474f !important; +} + +.blue-grey-text.text-darken-3 { + color: #37474f !important; +} + +.blue-grey.darken-4 { + background-color: #263238 !important; +} + +.blue-grey-text.text-darken-4 { + color: #263238 !important; +} + +.grey { + background-color: #9e9e9e !important; +} + +.grey-text { + color: #9e9e9e !important; +} + +.grey.lighten-5 { + background-color: #fafafa !important; +} + +.grey-text.text-lighten-5 { + color: #fafafa !important; +} + +.grey.lighten-4 { + background-color: #f5f5f5 !important; +} + +.grey-text.text-lighten-4 { + color: #f5f5f5 !important; +} + +.grey.lighten-3 { + background-color: #eeeeee !important; +} + +.grey-text.text-lighten-3 { + color: #eeeeee !important; +} + +.grey.lighten-2 { + background-color: #e0e0e0 !important; +} + +.grey-text.text-lighten-2 { + color: #e0e0e0 !important; +} + +.grey.lighten-1 { + background-color: #bdbdbd !important; +} + +.grey-text.text-lighten-1 { + color: #bdbdbd !important; +} + +.grey.darken-1 { + background-color: #757575 !important; +} + +.grey-text.text-darken-1 { + color: #757575 !important; +} + +.grey.darken-2 { + background-color: #616161 !important; +} + +.grey-text.text-darken-2 { + color: #616161 !important; +} + +.grey.darken-3 { + background-color: #424242 !important; +} + +.grey-text.text-darken-3 { + color: #424242 !important; +} + +.grey.darken-4 { + background-color: #212121 !important; +} + +.grey-text.text-darken-4 { + color: #212121 !important; +} + +.black { + background-color: #000000 !important; +} + +.black-text { + color: #000000 !important; +} + +.white { + background-color: #FFFFFF !important; +} + +.white-text { + color: #FFFFFF !important; +} + +.transparent { + background-color: transparent !important; +} + +.transparent-text { + color: transparent !important; +} + +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ +/* Document + ========================================================================== */ +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ +html { + line-height: 1.15; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} + +/* Sections + ========================================================================== */ +/** + * Remove the margin in all browsers (opinionated). + */ +body { + margin: 0; +} + +/** + * Add the correct display in IE 9-. + */ +article, +aside, +footer, +header, +nav, +section { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ +/** + * Add the correct display in IE 9-. + * 1. Add the correct display in IE. + */ +figcaption, +figure, +main { + /* 1 */ + display: block; +} + +/** + * Add the correct margin in IE 8. + */ +figure { + margin: 1em 40px; +} + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +hr { + -webkit-box-sizing: content-box; + box-sizing: content-box; + /* 1 */ + height: 0; + /* 1 */ + overflow: visible; + /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +pre { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ +/** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ +a { + background-color: transparent; + /* 1 */ + -webkit-text-decoration-skip: objects; + /* 2 */ +} + +/** + * 1. Remove the bottom border in Chrome 57- and Firefox 39-. + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ +abbr[title] { + border-bottom: none; + /* 1 */ + text-decoration: underline; + /* 2 */ + -webkit-text-decoration: underline dotted; + -moz-text-decoration: underline dotted; + text-decoration: underline dotted; + /* 2 */ +} + +/** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ +b, +strong { + font-weight: inherit; +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +code, +kbd, +samp { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/** + * Add the correct font style in Android 4.3-. + */ +dfn { + font-style: italic; +} + +/** + * Add the correct background and color in IE 9-. + */ +mark { + background-color: #ff0; + color: #000; +} + +/** + * Add the correct font size in all browsers. + */ +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ +/** + * Add the correct display in IE 9-. + */ +audio, +video { + display: inline-block; +} + +/** + * Add the correct display in iOS 4-7. + */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Remove the border on images inside links in IE 10-. + */ +img { + border-style: none; +} + +/** + * Hide the overflow in IE. + */ +svg:not(:root) { + overflow: hidden; +} + +/* Forms + ========================================================================== */ +/** + * 1. Change the font styles in all browsers (opinionated). + * 2. Remove the margin in Firefox and Safari. + */ +button, +input, +optgroup, +select, +textarea { + font-family: sans-serif; + /* 1 */ + font-size: 100%; + /* 1 */ + line-height: 1.15; + /* 1 */ + margin: 0; + /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` + * controls in Android 4. + * 2. Correct the inability to style clickable types in iOS and Safari. + */ +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; + /* 2 */ +} + +/** + * Remove the inner border and padding in Firefox. + */ +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +legend { + -webkit-box-sizing: border-box; + box-sizing: border-box; + /* 1 */ + color: inherit; + /* 2 */ + display: table; + /* 1 */ + max-width: 100%; + /* 1 */ + padding: 0; + /* 3 */ + white-space: normal; + /* 1 */ +} + +/** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +progress { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ +} + +/** + * Remove the default vertical scrollbar in IE. + */ +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ +[type="checkbox"], +[type="radio"] { + -webkit-box-sizing: border-box; + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* Interactive + ========================================================================== */ +/* + * Add the correct display in IE 9-. + * 1. Add the correct display in Edge, IE, and Firefox. + */ +details, +menu { + display: block; +} + +/* + * Add the correct display in all browsers. + */ +summary { + display: list-item; +} + +/* Scripting + ========================================================================== */ +/** + * Add the correct display in IE 9-. + */ +canvas { + display: inline-block; +} + +/** + * Add the correct display in IE. + */ +template { + display: none; +} + +/* Hidden + ========================================================================== */ +/** + * Add the correct display in IE 10-. + */ +[hidden] { + display: none; +} + +html { + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +*, *:before, *:after { + -webkit-box-sizing: inherit; + box-sizing: inherit; +} + +button, +input, +optgroup, +select, +textarea { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} + +ul:not(.browser-default) { + padding-left: 0; + list-style-type: none; +} + +ul:not(.browser-default) > li { + list-style-type: none; +} + +a { + color: #039be5; + text-decoration: none; + -webkit-tap-highlight-color: transparent; +} + +.valign-wrapper { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; +} + +.clearfix { + clear: both; +} + +.z-depth-0 { + -webkit-box-shadow: none !important; + box-shadow: none !important; +} + +/* 2dp elevation modified*/ +.z-depth-1, nav, .card-panel, .card, .toast, .btn, .btn-large, .btn-small, .btn-floating, .dropdown-content, .collapsible, .sidenav { + -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); +} + +.z-depth-1-half, .btn:hover, .btn-large:hover, .btn-small:hover, .btn-floating:hover { + -webkit-box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2); + box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2); +} + +/* 6dp elevation modified*/ +.z-depth-2 { + -webkit-box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); +} + +/* 12dp elevation modified*/ +.z-depth-3 { + -webkit-box-shadow: 0 8px 17px 2px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2); + box-shadow: 0 8px 17px 2px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2); +} + +/* 16dp elevation */ +.z-depth-4 { + -webkit-box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -7px rgba(0, 0, 0, 0.2); + box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -7px rgba(0, 0, 0, 0.2); +} + +/* 24dp elevation */ +.z-depth-5, .modal { + -webkit-box-shadow: 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12), 0 11px 15px -7px rgba(0, 0, 0, 0.2); + box-shadow: 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12), 0 11px 15px -7px rgba(0, 0, 0, 0.2); +} + +.hoverable { + -webkit-transition: -webkit-box-shadow .25s; + transition: -webkit-box-shadow .25s; + transition: box-shadow .25s; + transition: box-shadow .25s, -webkit-box-shadow .25s; +} + +.hoverable:hover { + -webkit-box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); + box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); +} + +.divider { + height: 1px; + overflow: hidden; + background-color: #e0e0e0; +} + +blockquote { + margin: 20px 0; + padding-left: 1.5rem; + border-left: 5px solid #ee6e73; +} + +i { + line-height: inherit; +} + +i.left { + float: left; + margin-right: 15px; +} + +i.right { + float: right; + margin-left: 15px; +} + +i.tiny { + font-size: 1rem; +} + +i.small { + font-size: 2rem; +} + +i.medium { + font-size: 4rem; +} + +i.large { + font-size: 6rem; +} + +img.responsive-img, +video.responsive-video { + max-width: 100%; + height: auto; +} + +.pagination li { + display: inline-block; + border-radius: 2px; + text-align: center; + vertical-align: top; + height: 30px; +} + +.pagination li a { + color: #444; + display: inline-block; + font-size: 1.2rem; + padding: 0 10px; + line-height: 30px; +} + +.pagination li.active a { + color: #fff; +} + +.pagination li.active { + background-color: #ee6e73; +} + +.pagination li.disabled a { + cursor: default; + color: #999; +} + +.pagination li i { + font-size: 2rem; +} + +.pagination li.pages ul li { + display: inline-block; + float: none; +} + +@media only screen and (max-width: 992px) { + .pagination { + width: 100%; + } + .pagination li.prev, + .pagination li.next { + width: 10%; + } + .pagination li.pages { + width: 80%; + overflow: hidden; + white-space: nowrap; + } +} + +.breadcrumb { + font-size: 18px; + color: rgba(255, 255, 255, 0.7); +} + +.breadcrumb i, +.breadcrumb [class^="mdi-"], .breadcrumb [class*="mdi-"], +.breadcrumb i.material-icons { + display: inline-block; + float: left; + font-size: 24px; +} + +.breadcrumb:before { + content: '\E5CC'; + color: rgba(255, 255, 255, 0.7); + vertical-align: top; + display: inline-block; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 25px; + margin: 0 10px 0 8px; + -webkit-font-smoothing: antialiased; +} + +.breadcrumb:first-child:before { + display: none; +} + +.breadcrumb:last-child { + color: #fff; +} + +.parallax-container { + position: relative; + overflow: hidden; + height: 500px; +} + +.parallax-container .parallax { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: -1; +} + +.parallax-container .parallax img { + opacity: 0; + position: absolute; + left: 50%; + bottom: 0; + min-width: 100%; + min-height: 100%; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transform: translateX(-50%); + transform: translateX(-50%); +} + +.pin-top, .pin-bottom { + position: relative; +} + +.pinned { + position: fixed !important; +} + +/********************* + Transition Classes +**********************/ +ul.staggered-list li { + opacity: 0; +} + +.fade-in { + opacity: 0; + -webkit-transform-origin: 0 50%; + transform-origin: 0 50%; +} + +/********************* + Media Query Classes +**********************/ +@media only screen and (max-width: 600px) { + .hide-on-small-only, .hide-on-small-and-down { + display: none !important; + } +} + +@media only screen and (max-width: 992px) { + .hide-on-med-and-down { + display: none !important; + } +} + +@media only screen and (min-width: 601px) { + .hide-on-med-and-up { + display: none !important; + } +} + +@media only screen and (min-width: 600px) and (max-width: 992px) { + .hide-on-med-only { + display: none !important; + } +} + +@media only screen and (min-width: 993px) { + .hide-on-large-only { + display: none !important; + } +} + +@media only screen and (min-width: 1201px) { + .hide-on-extra-large-only { + display: none !important; + } +} + +@media only screen and (min-width: 1201px) { + .show-on-extra-large { + display: block !important; + } +} + +@media only screen and (min-width: 993px) { + .show-on-large { + display: block !important; + } +} + +@media only screen and (min-width: 600px) and (max-width: 992px) { + .show-on-medium { + display: block !important; + } +} + +@media only screen and (max-width: 600px) { + .show-on-small { + display: block !important; + } +} + +@media only screen and (min-width: 601px) { + .show-on-medium-and-up { + display: block !important; + } +} + +@media only screen and (max-width: 992px) { + .show-on-medium-and-down { + display: block !important; + } +} + +@media only screen and (max-width: 600px) { + .center-on-small-only { + text-align: center; + } +} + +.page-footer { + padding-top: 20px; + color: #fff; + background-color: #ee6e73; +} + +.page-footer .footer-copyright { + overflow: hidden; + min-height: 50px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 10px 0px; + color: rgba(255, 255, 255, 0.8); + background-color: rgba(51, 51, 51, 0.08); +} + +table, th, td { + border: none; +} + +table { + width: 100%; + display: table; + border-collapse: collapse; + border-spacing: 0; +} + +table.striped tr { + border-bottom: none; +} + +table.striped > tbody > tr:nth-child(odd) { + background-color: rgba(242, 242, 242, 0.5); +} + +table.striped > tbody > tr > td { + border-radius: 0; +} + +table.highlight > tbody > tr { + -webkit-transition: background-color .25s ease; + transition: background-color .25s ease; +} + +table.highlight > tbody > tr:hover { + background-color: rgba(242, 242, 242, 0.5); +} + +table.centered thead tr th, table.centered tbody tr td { + text-align: center; +} + +tr { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} + +td, th { + padding: 15px 5px; + display: table-cell; + text-align: left; + vertical-align: middle; + border-radius: 2px; +} + +@media only screen and (max-width: 992px) { + table.responsive-table { + width: 100%; + border-collapse: collapse; + border-spacing: 0; + display: block; + position: relative; + /* sort out borders */ + } + table.responsive-table td:empty:before { + content: '\00a0'; + } + table.responsive-table th, + table.responsive-table td { + margin: 0; + vertical-align: top; + } + table.responsive-table th { + text-align: left; + } + table.responsive-table thead { + display: block; + float: left; + } + table.responsive-table thead tr { + display: block; + padding: 0 10px 0 0; + } + table.responsive-table thead tr th::before { + content: "\00a0"; + } + table.responsive-table tbody { + display: block; + width: auto; + position: relative; + overflow-x: auto; + white-space: nowrap; + } + table.responsive-table tbody tr { + display: inline-block; + vertical-align: top; + } + table.responsive-table th { + display: block; + text-align: right; + } + table.responsive-table td { + display: block; + min-height: 1.25em; + text-align: left; + } + table.responsive-table tr { + border-bottom: none; + padding: 0 10px; + } + table.responsive-table thead { + border: 0; + border-right: 1px solid rgba(0, 0, 0, 0.12); + } +} + +.collection { + margin: 0.5rem 0 1rem 0; + border: 1px solid #e0e0e0; + border-radius: 2px; + overflow: hidden; + position: relative; +} + +.collection .collection-item { + background-color: #fff; + line-height: 1.5rem; + padding: 10px 20px; + margin: 0; + border-bottom: 1px solid #e0e0e0; +} + +.collection .collection-item.avatar { + min-height: 84px; + padding-left: 72px; + position: relative; +} + +.collection .collection-item.avatar:not(.circle-clipper) > .circle, +.collection .collection-item.avatar :not(.circle-clipper) > .circle { + position: absolute; + width: 42px; + height: 42px; + overflow: hidden; + left: 15px; + display: inline-block; + vertical-align: middle; +} + +.collection .collection-item.avatar i.circle { + font-size: 18px; + line-height: 42px; + color: #fff; + background-color: #999; + text-align: center; +} + +.collection .collection-item.avatar .title { + font-size: 16px; +} + +.collection .collection-item.avatar p { + margin: 0; +} + +.collection .collection-item.avatar .secondary-content { + position: absolute; + top: 16px; + right: 16px; +} + +.collection .collection-item:last-child { + border-bottom: none; +} + +.collection .collection-item.active { + background-color: #26a69a; + color: #eafaf9; +} + +.collection .collection-item.active .secondary-content { + color: #fff; +} + +.collection a.collection-item { + display: block; + -webkit-transition: .25s; + transition: .25s; + color: #26a69a; +} + +.collection a.collection-item:not(.active):hover { + background-color: #ddd; +} + +.collection.with-header .collection-header { + background-color: #fff; + border-bottom: 1px solid #e0e0e0; + padding: 10px 20px; +} + +.collection.with-header .collection-item { + padding-left: 30px; +} + +.collection.with-header .collection-item.avatar { + padding-left: 72px; +} + +.secondary-content { + float: right; + color: #26a69a; +} + +.collapsible .collection { + margin: 0; + border: none; +} + +.video-container { + position: relative; + padding-bottom: 56.25%; + height: 0; + overflow: hidden; +} + +.video-container iframe, .video-container object, .video-container embed { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.progress { + position: relative; + height: 4px; + display: block; + width: 100%; + background-color: #acece6; + border-radius: 2px; + margin: 0.5rem 0 1rem 0; + overflow: hidden; +} + +.progress .determinate { + position: absolute; + top: 0; + left: 0; + bottom: 0; + background-color: #26a69a; + -webkit-transition: width .3s linear; + transition: width .3s linear; +} + +.progress .indeterminate { + background-color: #26a69a; +} + +.progress .indeterminate:before { + content: ''; + position: absolute; + background-color: inherit; + top: 0; + left: 0; + bottom: 0; + will-change: left, right; + -webkit-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; + animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; +} + +.progress .indeterminate:after { + content: ''; + position: absolute; + background-color: inherit; + top: 0; + left: 0; + bottom: 0; + will-change: left, right; + -webkit-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; + animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; + -webkit-animation-delay: 1.15s; + animation-delay: 1.15s; +} + +@-webkit-keyframes indeterminate { + 0% { + left: -35%; + right: 100%; + } + 60% { + left: 100%; + right: -90%; + } + 100% { + left: 100%; + right: -90%; + } +} + +@keyframes indeterminate { + 0% { + left: -35%; + right: 100%; + } + 60% { + left: 100%; + right: -90%; + } + 100% { + left: 100%; + right: -90%; + } +} + +@-webkit-keyframes indeterminate-short { + 0% { + left: -200%; + right: 100%; + } + 60% { + left: 107%; + right: -8%; + } + 100% { + left: 107%; + right: -8%; + } +} + +@keyframes indeterminate-short { + 0% { + left: -200%; + right: 100%; + } + 60% { + left: 107%; + right: -8%; + } + 100% { + left: 107%; + right: -8%; + } +} + +/******************* + Utility Classes +*******************/ +.hide { + display: none !important; +} + +.left-align { + text-align: left; +} + +.right-align { + text-align: right; +} + +.center, .center-align { + text-align: center; +} + +.left { + float: left !important; +} + +.right { + float: right !important; +} + +.no-select, input[type=range], +input[type=range] + .thumb { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.circle { + border-radius: 50%; +} + +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} + +.truncate { + display: block; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.no-padding { + padding: 0 !important; +} + +span.badge { + min-width: 3rem; + padding: 0 6px; + margin-left: 14px; + text-align: center; + font-size: 1rem; + line-height: 22px; + height: 22px; + color: #757575; + float: right; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +span.badge.new { + font-weight: 300; + font-size: 0.8rem; + color: #fff; + background-color: #26a69a; + border-radius: 2px; +} + +span.badge.new:after { + content: " new"; +} + +span.badge[data-badge-caption]::after { + content: " " attr(data-badge-caption); +} + +nav ul a span.badge { + display: inline-block; + float: none; + margin-left: 4px; + line-height: 22px; + height: 22px; + -webkit-font-smoothing: auto; +} + +.collection-item span.badge { + margin-top: calc(0.75rem - 11px); +} + +.collapsible span.badge { + margin-left: auto; +} + +.sidenav span.badge { + margin-top: calc(24px - 11px); +} + +table span.badge { + display: inline-block; + float: none; + margin-left: auto; +} + +/* This is needed for some mobile phones to display the Google Icon font properly */ +.material-icons { + text-rendering: optimizeLegibility; + -webkit-font-feature-settings: 'liga'; + -moz-font-feature-settings: 'liga'; + font-feature-settings: 'liga'; +} + +.container { + margin: 0 auto; + max-width: 1280px; + width: 90%; +} + +@media only screen and (min-width: 601px) { + .container { + width: 85%; + } +} + +@media only screen and (min-width: 993px) { + .container { + width: 70%; + } +} + +.col .row { + margin-left: -0.75rem; + margin-right: -0.75rem; +} + +.section { + padding-top: 1rem; + padding-bottom: 1rem; +} + +.section.no-pad { + padding: 0; +} + +.section.no-pad-bot { + padding-bottom: 0; +} + +.section.no-pad-top { + padding-top: 0; +} + +.row { + margin-left: auto; + margin-right: auto; + margin-bottom: 20px; +} + +.row:after { + content: ""; + display: table; + clear: both; +} + +.row .col { + float: left; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0 0.75rem; + min-height: 1px; +} + +.row .col[class*="push-"], .row .col[class*="pull-"] { + position: relative; +} + +.row .col.s1 { + width: 8.3333333333%; + margin-left: auto; + left: auto; + right: auto; +} + +.row .col.s2 { + width: 16.6666666667%; + margin-left: auto; + left: auto; + right: auto; +} + +.row .col.s3 { + width: 25%; + margin-left: auto; + left: auto; + right: auto; +} + +.row .col.s4 { + width: 33.3333333333%; + margin-left: auto; + left: auto; + right: auto; +} + +.row .col.s5 { + width: 41.6666666667%; + margin-left: auto; + left: auto; + right: auto; +} + +.row .col.s6 { + width: 50%; + margin-left: auto; + left: auto; + right: auto; +} + +.row .col.s7 { + width: 58.3333333333%; + margin-left: auto; + left: auto; + right: auto; +} + +.row .col.s8 { + width: 66.6666666667%; + margin-left: auto; + left: auto; + right: auto; +} + +.row .col.s9 { + width: 75%; + margin-left: auto; + left: auto; + right: auto; +} + +.row .col.s10 { + width: 83.3333333333%; + margin-left: auto; + left: auto; + right: auto; +} + +.row .col.s11 { + width: 91.6666666667%; + margin-left: auto; + left: auto; + right: auto; +} + +.row .col.s12 { + width: 100%; + margin-left: auto; + left: auto; + right: auto; +} + +.row .col.offset-s1 { + margin-left: 8.3333333333%; +} + +.row .col.pull-s1 { + right: 8.3333333333%; +} + +.row .col.push-s1 { + left: 8.3333333333%; +} + +.row .col.offset-s2 { + margin-left: 16.6666666667%; +} + +.row .col.pull-s2 { + right: 16.6666666667%; +} + +.row .col.push-s2 { + left: 16.6666666667%; +} + +.row .col.offset-s3 { + margin-left: 25%; +} + +.row .col.pull-s3 { + right: 25%; +} + +.row .col.push-s3 { + left: 25%; +} + +.row .col.offset-s4 { + margin-left: 33.3333333333%; +} + +.row .col.pull-s4 { + right: 33.3333333333%; +} + +.row .col.push-s4 { + left: 33.3333333333%; +} + +.row .col.offset-s5 { + margin-left: 41.6666666667%; +} + +.row .col.pull-s5 { + right: 41.6666666667%; +} + +.row .col.push-s5 { + left: 41.6666666667%; +} + +.row .col.offset-s6 { + margin-left: 50%; +} + +.row .col.pull-s6 { + right: 50%; +} + +.row .col.push-s6 { + left: 50%; +} + +.row .col.offset-s7 { + margin-left: 58.3333333333%; +} + +.row .col.pull-s7 { + right: 58.3333333333%; +} + +.row .col.push-s7 { + left: 58.3333333333%; +} + +.row .col.offset-s8 { + margin-left: 66.6666666667%; +} + +.row .col.pull-s8 { + right: 66.6666666667%; +} + +.row .col.push-s8 { + left: 66.6666666667%; +} + +.row .col.offset-s9 { + margin-left: 75%; +} + +.row .col.pull-s9 { + right: 75%; +} + +.row .col.push-s9 { + left: 75%; +} + +.row .col.offset-s10 { + margin-left: 83.3333333333%; +} + +.row .col.pull-s10 { + right: 83.3333333333%; +} + +.row .col.push-s10 { + left: 83.3333333333%; +} + +.row .col.offset-s11 { + margin-left: 91.6666666667%; +} + +.row .col.pull-s11 { + right: 91.6666666667%; +} + +.row .col.push-s11 { + left: 91.6666666667%; +} + +.row .col.offset-s12 { + margin-left: 100%; +} + +.row .col.pull-s12 { + right: 100%; +} + +.row .col.push-s12 { + left: 100%; +} + +@media only screen and (min-width: 601px) { + .row .col.m1 { + width: 8.3333333333%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.m2 { + width: 16.6666666667%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.m3 { + width: 25%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.m4 { + width: 33.3333333333%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.m5 { + width: 41.6666666667%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.m6 { + width: 50%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.m7 { + width: 58.3333333333%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.m8 { + width: 66.6666666667%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.m9 { + width: 75%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.m10 { + width: 83.3333333333%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.m11 { + width: 91.6666666667%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.m12 { + width: 100%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.offset-m1 { + margin-left: 8.3333333333%; + } + .row .col.pull-m1 { + right: 8.3333333333%; + } + .row .col.push-m1 { + left: 8.3333333333%; + } + .row .col.offset-m2 { + margin-left: 16.6666666667%; + } + .row .col.pull-m2 { + right: 16.6666666667%; + } + .row .col.push-m2 { + left: 16.6666666667%; + } + .row .col.offset-m3 { + margin-left: 25%; + } + .row .col.pull-m3 { + right: 25%; + } + .row .col.push-m3 { + left: 25%; + } + .row .col.offset-m4 { + margin-left: 33.3333333333%; + } + .row .col.pull-m4 { + right: 33.3333333333%; + } + .row .col.push-m4 { + left: 33.3333333333%; + } + .row .col.offset-m5 { + margin-left: 41.6666666667%; + } + .row .col.pull-m5 { + right: 41.6666666667%; + } + .row .col.push-m5 { + left: 41.6666666667%; + } + .row .col.offset-m6 { + margin-left: 50%; + } + .row .col.pull-m6 { + right: 50%; + } + .row .col.push-m6 { + left: 50%; + } + .row .col.offset-m7 { + margin-left: 58.3333333333%; + } + .row .col.pull-m7 { + right: 58.3333333333%; + } + .row .col.push-m7 { + left: 58.3333333333%; + } + .row .col.offset-m8 { + margin-left: 66.6666666667%; + } + .row .col.pull-m8 { + right: 66.6666666667%; + } + .row .col.push-m8 { + left: 66.6666666667%; + } + .row .col.offset-m9 { + margin-left: 75%; + } + .row .col.pull-m9 { + right: 75%; + } + .row .col.push-m9 { + left: 75%; + } + .row .col.offset-m10 { + margin-left: 83.3333333333%; + } + .row .col.pull-m10 { + right: 83.3333333333%; + } + .row .col.push-m10 { + left: 83.3333333333%; + } + .row .col.offset-m11 { + margin-left: 91.6666666667%; + } + .row .col.pull-m11 { + right: 91.6666666667%; + } + .row .col.push-m11 { + left: 91.6666666667%; + } + .row .col.offset-m12 { + margin-left: 100%; + } + .row .col.pull-m12 { + right: 100%; + } + .row .col.push-m12 { + left: 100%; + } +} + +@media only screen and (min-width: 993px) { + .row .col.l1 { + width: 8.3333333333%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.l2 { + width: 16.6666666667%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.l3 { + width: 25%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.l4 { + width: 33.3333333333%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.l5 { + width: 41.6666666667%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.l6 { + width: 50%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.l7 { + width: 58.3333333333%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.l8 { + width: 66.6666666667%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.l9 { + width: 75%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.l10 { + width: 83.3333333333%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.l11 { + width: 91.6666666667%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.l12 { + width: 100%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.offset-l1 { + margin-left: 8.3333333333%; + } + .row .col.pull-l1 { + right: 8.3333333333%; + } + .row .col.push-l1 { + left: 8.3333333333%; + } + .row .col.offset-l2 { + margin-left: 16.6666666667%; + } + .row .col.pull-l2 { + right: 16.6666666667%; + } + .row .col.push-l2 { + left: 16.6666666667%; + } + .row .col.offset-l3 { + margin-left: 25%; + } + .row .col.pull-l3 { + right: 25%; + } + .row .col.push-l3 { + left: 25%; + } + .row .col.offset-l4 { + margin-left: 33.3333333333%; + } + .row .col.pull-l4 { + right: 33.3333333333%; + } + .row .col.push-l4 { + left: 33.3333333333%; + } + .row .col.offset-l5 { + margin-left: 41.6666666667%; + } + .row .col.pull-l5 { + right: 41.6666666667%; + } + .row .col.push-l5 { + left: 41.6666666667%; + } + .row .col.offset-l6 { + margin-left: 50%; + } + .row .col.pull-l6 { + right: 50%; + } + .row .col.push-l6 { + left: 50%; + } + .row .col.offset-l7 { + margin-left: 58.3333333333%; + } + .row .col.pull-l7 { + right: 58.3333333333%; + } + .row .col.push-l7 { + left: 58.3333333333%; + } + .row .col.offset-l8 { + margin-left: 66.6666666667%; + } + .row .col.pull-l8 { + right: 66.6666666667%; + } + .row .col.push-l8 { + left: 66.6666666667%; + } + .row .col.offset-l9 { + margin-left: 75%; + } + .row .col.pull-l9 { + right: 75%; + } + .row .col.push-l9 { + left: 75%; + } + .row .col.offset-l10 { + margin-left: 83.3333333333%; + } + .row .col.pull-l10 { + right: 83.3333333333%; + } + .row .col.push-l10 { + left: 83.3333333333%; + } + .row .col.offset-l11 { + margin-left: 91.6666666667%; + } + .row .col.pull-l11 { + right: 91.6666666667%; + } + .row .col.push-l11 { + left: 91.6666666667%; + } + .row .col.offset-l12 { + margin-left: 100%; + } + .row .col.pull-l12 { + right: 100%; + } + .row .col.push-l12 { + left: 100%; + } +} + +@media only screen and (min-width: 1201px) { + .row .col.xl1 { + width: 8.3333333333%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.xl2 { + width: 16.6666666667%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.xl3 { + width: 25%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.xl4 { + width: 33.3333333333%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.xl5 { + width: 41.6666666667%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.xl6 { + width: 50%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.xl7 { + width: 58.3333333333%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.xl8 { + width: 66.6666666667%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.xl9 { + width: 75%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.xl10 { + width: 83.3333333333%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.xl11 { + width: 91.6666666667%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.xl12 { + width: 100%; + margin-left: auto; + left: auto; + right: auto; + } + .row .col.offset-xl1 { + margin-left: 8.3333333333%; + } + .row .col.pull-xl1 { + right: 8.3333333333%; + } + .row .col.push-xl1 { + left: 8.3333333333%; + } + .row .col.offset-xl2 { + margin-left: 16.6666666667%; + } + .row .col.pull-xl2 { + right: 16.6666666667%; + } + .row .col.push-xl2 { + left: 16.6666666667%; + } + .row .col.offset-xl3 { + margin-left: 25%; + } + .row .col.pull-xl3 { + right: 25%; + } + .row .col.push-xl3 { + left: 25%; + } + .row .col.offset-xl4 { + margin-left: 33.3333333333%; + } + .row .col.pull-xl4 { + right: 33.3333333333%; + } + .row .col.push-xl4 { + left: 33.3333333333%; + } + .row .col.offset-xl5 { + margin-left: 41.6666666667%; + } + .row .col.pull-xl5 { + right: 41.6666666667%; + } + .row .col.push-xl5 { + left: 41.6666666667%; + } + .row .col.offset-xl6 { + margin-left: 50%; + } + .row .col.pull-xl6 { + right: 50%; + } + .row .col.push-xl6 { + left: 50%; + } + .row .col.offset-xl7 { + margin-left: 58.3333333333%; + } + .row .col.pull-xl7 { + right: 58.3333333333%; + } + .row .col.push-xl7 { + left: 58.3333333333%; + } + .row .col.offset-xl8 { + margin-left: 66.6666666667%; + } + .row .col.pull-xl8 { + right: 66.6666666667%; + } + .row .col.push-xl8 { + left: 66.6666666667%; + } + .row .col.offset-xl9 { + margin-left: 75%; + } + .row .col.pull-xl9 { + right: 75%; + } + .row .col.push-xl9 { + left: 75%; + } + .row .col.offset-xl10 { + margin-left: 83.3333333333%; + } + .row .col.pull-xl10 { + right: 83.3333333333%; + } + .row .col.push-xl10 { + left: 83.3333333333%; + } + .row .col.offset-xl11 { + margin-left: 91.6666666667%; + } + .row .col.pull-xl11 { + right: 91.6666666667%; + } + .row .col.push-xl11 { + left: 91.6666666667%; + } + .row .col.offset-xl12 { + margin-left: 100%; + } + .row .col.pull-xl12 { + right: 100%; + } + .row .col.push-xl12 { + left: 100%; + } +} + +nav { + color: #fff; + background-color: #ee6e73; + width: 100%; + height: 56px; + line-height: 56px; +} + +nav.nav-extended { + height: auto; +} + +nav.nav-extended .nav-wrapper { + min-height: 56px; + height: auto; +} + +nav.nav-extended .nav-content { + position: relative; + line-height: normal; +} + +nav a { + color: #fff; +} + +nav i, +nav [class^="mdi-"], nav [class*="mdi-"], +nav i.material-icons { + display: block; + font-size: 24px; + height: 56px; + line-height: 56px; +} + +nav .nav-wrapper { + position: relative; + height: 100%; +} + +@media only screen and (min-width: 993px) { + nav a.sidenav-trigger { + display: none; + } +} + +nav .sidenav-trigger { + float: left; + position: relative; + z-index: 1; + height: 56px; + margin: 0 18px; +} + +nav .sidenav-trigger i { + height: 56px; + line-height: 56px; +} + +nav .brand-logo { + position: absolute; + color: #fff; + display: inline-block; + font-size: 2.1rem; + padding: 0; +} + +nav .brand-logo.center { + left: 50%; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); +} + +@media only screen and (max-width: 992px) { + nav .brand-logo { + left: 50%; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + } + nav .brand-logo.left, nav .brand-logo.right { + padding: 0; + -webkit-transform: none; + transform: none; + } + nav .brand-logo.left { + left: 0.5rem; + } + nav .brand-logo.right { + right: 0.5rem; + left: auto; + } +} + +nav .brand-logo.right { + right: 0.5rem; + padding: 0; +} + +nav .brand-logo i, +nav .brand-logo [class^="mdi-"], nav .brand-logo [class*="mdi-"], +nav .brand-logo i.material-icons { + float: left; + margin-right: 15px; +} + +nav .nav-title { + display: inline-block; + font-size: 32px; + padding: 28px 0; +} + +nav ul { + margin: 0; +} + +nav ul li { + -webkit-transition: background-color .3s; + transition: background-color .3s; + float: left; + padding: 0; +} + +nav ul li.active { + background-color: rgba(0, 0, 0, 0.1); +} + +nav ul a { + -webkit-transition: background-color .3s; + transition: background-color .3s; + font-size: 1rem; + color: #fff; + display: block; + padding: 0 15px; + cursor: pointer; +} + +nav ul a.btn, nav ul a.btn-large, nav ul a.btn-small, nav ul a.btn-large, nav ul a.btn-flat, nav ul a.btn-floating { + margin-top: -2px; + margin-left: 15px; + margin-right: 15px; +} + +nav ul a.btn > .material-icons, nav ul a.btn-large > .material-icons, nav ul a.btn-small > .material-icons, nav ul a.btn-large > .material-icons, nav ul a.btn-flat > .material-icons, nav ul a.btn-floating > .material-icons { + height: inherit; + line-height: inherit; +} + +nav ul a:hover { + background-color: rgba(0, 0, 0, 0.1); +} + +nav ul.left { + float: left; +} + +nav form { + height: 100%; +} + +nav .input-field { + margin: 0; + height: 100%; +} + +nav .input-field input { + height: 100%; + font-size: 1.2rem; + border: none; + padding-left: 2rem; +} + +nav .input-field input:focus, nav .input-field input[type=text]:valid, nav .input-field input[type=password]:valid, nav .input-field input[type=email]:valid, nav .input-field input[type=url]:valid, nav .input-field input[type=date]:valid { + border: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +nav .input-field label { + top: 0; + left: 0; +} + +nav .input-field label i { + color: rgba(255, 255, 255, 0.7); + -webkit-transition: color .3s; + transition: color .3s; +} + +nav .input-field label.active i { + color: #fff; +} + +.navbar-fixed { + position: relative; + height: 56px; + z-index: 997; +} + +.navbar-fixed nav { + position: fixed; +} + +@media only screen and (min-width: 601px) { + nav.nav-extended .nav-wrapper { + min-height: 64px; + } + nav, nav .nav-wrapper i, nav a.sidenav-trigger, nav a.sidenav-trigger i { + height: 64px; + line-height: 64px; + } + .navbar-fixed { + height: 64px; + } +} + +a { + text-decoration: none; +} + +html { + line-height: 1.5; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-weight: normal; + color: rgba(0, 0, 0, 0.87); +} + +@media only screen and (min-width: 0) { + html { + font-size: 14px; + } +} + +@media only screen and (min-width: 992px) { + html { + font-size: 14.5px; + } +} + +@media only screen and (min-width: 1200px) { + html { + font-size: 15px; + } +} + +h1, h2, h3, h4, h5, h6 { + font-weight: 400; + line-height: 1.3; +} + +h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + font-weight: inherit; +} + +h1 { + font-size: 4.2rem; + line-height: 110%; + margin: 2.8rem 0 1.68rem 0; +} + +h2 { + font-size: 3.56rem; + line-height: 110%; + margin: 2.3733333333rem 0 1.424rem 0; +} + +h3 { + font-size: 2.92rem; + line-height: 110%; + margin: 1.9466666667rem 0 1.168rem 0; +} + +h4 { + font-size: 2.28rem; + line-height: 110%; + margin: 1.52rem 0 0.912rem 0; +} + +h5 { + font-size: 1.64rem; + line-height: 110%; + margin: 1.0933333333rem 0 0.656rem 0; +} + +h6 { + font-size: 1.15rem; + line-height: 110%; + margin: 0.7666666667rem 0 0.46rem 0; +} + +em { + font-style: italic; +} + +strong { + font-weight: 500; +} + +small { + font-size: 75%; +} + +.light { + font-weight: 300; +} + +.thin { + font-weight: 200; +} + +@media only screen and (min-width: 360px) { + .flow-text { + font-size: 1.2rem; + } +} + +@media only screen and (min-width: 390px) { + .flow-text { + font-size: 1.224rem; + } +} + +@media only screen and (min-width: 420px) { + .flow-text { + font-size: 1.248rem; + } +} + +@media only screen and (min-width: 450px) { + .flow-text { + font-size: 1.272rem; + } +} + +@media only screen and (min-width: 480px) { + .flow-text { + font-size: 1.296rem; + } +} + +@media only screen and (min-width: 510px) { + .flow-text { + font-size: 1.32rem; + } +} + +@media only screen and (min-width: 540px) { + .flow-text { + font-size: 1.344rem; + } +} + +@media only screen and (min-width: 570px) { + .flow-text { + font-size: 1.368rem; + } +} + +@media only screen and (min-width: 600px) { + .flow-text { + font-size: 1.392rem; + } +} + +@media only screen and (min-width: 630px) { + .flow-text { + font-size: 1.416rem; + } +} + +@media only screen and (min-width: 660px) { + .flow-text { + font-size: 1.44rem; + } +} + +@media only screen and (min-width: 690px) { + .flow-text { + font-size: 1.464rem; + } +} + +@media only screen and (min-width: 720px) { + .flow-text { + font-size: 1.488rem; + } +} + +@media only screen and (min-width: 750px) { + .flow-text { + font-size: 1.512rem; + } +} + +@media only screen and (min-width: 780px) { + .flow-text { + font-size: 1.536rem; + } +} + +@media only screen and (min-width: 810px) { + .flow-text { + font-size: 1.56rem; + } +} + +@media only screen and (min-width: 840px) { + .flow-text { + font-size: 1.584rem; + } +} + +@media only screen and (min-width: 870px) { + .flow-text { + font-size: 1.608rem; + } +} + +@media only screen and (min-width: 900px) { + .flow-text { + font-size: 1.632rem; + } +} + +@media only screen and (min-width: 930px) { + .flow-text { + font-size: 1.656rem; + } +} + +@media only screen and (min-width: 960px) { + .flow-text { + font-size: 1.68rem; + } +} + +@media only screen and (max-width: 360px) { + .flow-text { + font-size: 1.2rem; + } +} + +.scale-transition { + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important; + transition: -webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important; + transition: transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important; + transition: transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63), -webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important; +} + +.scale-transition.scale-out { + -webkit-transform: scale(0); + transform: scale(0); + -webkit-transition: -webkit-transform .2s !important; + transition: -webkit-transform .2s !important; + transition: transform .2s !important; + transition: transform .2s, -webkit-transform .2s !important; +} + +.scale-transition.scale-in { + -webkit-transform: scale(1); + transform: scale(1); +} + +.card-panel { + -webkit-transition: -webkit-box-shadow .25s; + transition: -webkit-box-shadow .25s; + transition: box-shadow .25s; + transition: box-shadow .25s, -webkit-box-shadow .25s; + padding: 24px; + margin: 0.5rem 0 1rem 0; + border-radius: 2px; + background-color: #fff; +} + +.card { + position: relative; + margin: 0.5rem 0 1rem 0; + background-color: #fff; + -webkit-transition: -webkit-box-shadow .25s; + transition: -webkit-box-shadow .25s; + transition: box-shadow .25s; + transition: box-shadow .25s, -webkit-box-shadow .25s; + border-radius: 2px; +} + +.card .card-title { + font-size: 24px; + font-weight: 300; +} + +.card .card-title.activator { + cursor: pointer; +} + +.card.small, .card.medium, .card.large { + position: relative; +} + +.card.small .card-image, .card.medium .card-image, .card.large .card-image { + max-height: 60%; + overflow: hidden; +} + +.card.small .card-image + .card-content, .card.medium .card-image + .card-content, .card.large .card-image + .card-content { + max-height: 40%; +} + +.card.small .card-content, .card.medium .card-content, .card.large .card-content { + max-height: 100%; + overflow: hidden; +} + +.card.small .card-action, .card.medium .card-action, .card.large .card-action { + position: absolute; + bottom: 0; + left: 0; + right: 0; +} + +.card.small { + height: 300px; +} + +.card.medium { + height: 400px; +} + +.card.large { + height: 500px; +} + +.card.horizontal { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; +} + +.card.horizontal.small .card-image, .card.horizontal.medium .card-image, .card.horizontal.large .card-image { + height: 100%; + max-height: none; + overflow: visible; +} + +.card.horizontal.small .card-image img, .card.horizontal.medium .card-image img, .card.horizontal.large .card-image img { + height: 100%; +} + +.card.horizontal .card-image { + max-width: 50%; +} + +.card.horizontal .card-image img { + border-radius: 2px 0 0 2px; + max-width: 100%; + width: auto; +} + +.card.horizontal .card-stacked { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + position: relative; +} + +.card.horizontal .card-stacked .card-content { + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; +} + +.card.sticky-action .card-action { + z-index: 2; +} + +.card.sticky-action .card-reveal { + z-index: 1; + padding-bottom: 64px; +} + +.card .card-image { + position: relative; +} + +.card .card-image img { + display: block; + border-radius: 2px 2px 0 0; + position: relative; + left: 0; + right: 0; + top: 0; + bottom: 0; + width: 100%; +} + +.card .card-image .card-title { + color: #fff; + position: absolute; + bottom: 0; + left: 0; + max-width: 100%; + padding: 24px; +} + +.card .card-content { + padding: 24px; + border-radius: 0 0 2px 2px; +} + +.card .card-content p { + margin: 0; +} + +.card .card-content .card-title { + display: block; + line-height: 32px; + margin-bottom: 8px; +} + +.card .card-content .card-title i { + line-height: 32px; +} + +.card .card-action { + background-color: inherit; + border-top: 1px solid rgba(160, 160, 160, 0.2); + position: relative; + padding: 16px 24px; +} + +.card .card-action:last-child { + border-radius: 0 0 2px 2px; +} + +.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating) { + color: #ffab40; + margin-right: 24px; + -webkit-transition: color .3s ease; + transition: color .3s ease; + text-transform: uppercase; +} + +.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating):hover { + color: #ffd8a6; +} + +.card .card-reveal { + padding: 24px; + position: absolute; + background-color: #fff; + width: 100%; + overflow-y: auto; + left: 0; + top: 100%; + height: 100%; + z-index: 3; + display: none; +} + +.card .card-reveal .card-title { + cursor: pointer; + display: block; +} + +#toast-container { + display: block; + position: fixed; + z-index: 10000; +} + +@media only screen and (max-width: 600px) { + #toast-container { + min-width: 100%; + bottom: 0%; + } +} + +@media only screen and (min-width: 601px) and (max-width: 992px) { + #toast-container { + left: 5%; + bottom: 7%; + max-width: 90%; + } +} + +@media only screen and (min-width: 993px) { + #toast-container { + top: 10%; + right: 7%; + max-width: 86%; + } +} + +.toast { + border-radius: 2px; + top: 35px; + width: auto; + margin-top: 10px; + position: relative; + max-width: 100%; + height: auto; + min-height: 48px; + line-height: 1.5em; + background-color: #323232; + padding: 10px 25px; + font-size: 1.1rem; + font-weight: 300; + color: #fff; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + cursor: default; +} + +.toast .toast-action { + color: #eeff41; + font-weight: 500; + margin-right: -25px; + margin-left: 3rem; +} + +.toast.rounded { + border-radius: 24px; +} + +@media only screen and (max-width: 600px) { + .toast { + width: 100%; + border-radius: 0; + } +} + +.tabs { + position: relative; + overflow-x: auto; + overflow-y: hidden; + height: 48px; + width: 100%; + background-color: #fff; + margin: 0 auto; + white-space: nowrap; +} + +.tabs.tabs-transparent { + background-color: transparent; +} + +.tabs.tabs-transparent .tab a, +.tabs.tabs-transparent .tab.disabled a, +.tabs.tabs-transparent .tab.disabled a:hover { + color: rgba(255, 255, 255, 0.7); +} + +.tabs.tabs-transparent .tab a:hover, +.tabs.tabs-transparent .tab a.active { + color: #fff; +} + +.tabs.tabs-transparent .indicator { + background-color: #fff; +} + +.tabs.tabs-fixed-width { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; +} + +.tabs.tabs-fixed-width .tab { + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; +} + +.tabs .tab { + display: inline-block; + text-align: center; + line-height: 48px; + height: 48px; + padding: 0; + margin: 0; + text-transform: uppercase; +} + +.tabs .tab a { + color: rgba(238, 110, 115, 0.7); + display: block; + width: 100%; + height: 100%; + padding: 0 24px; + font-size: 14px; + text-overflow: ellipsis; + overflow: hidden; + -webkit-transition: color .28s ease, background-color .28s ease; + transition: color .28s ease, background-color .28s ease; +} + +.tabs .tab a:focus, .tabs .tab a:focus.active { + background-color: rgba(246, 178, 181, 0.2); + outline: none; +} + +.tabs .tab a:hover, .tabs .tab a.active { + background-color: transparent; + color: #ee6e73; +} + +.tabs .tab.disabled a, +.tabs .tab.disabled a:hover { + color: rgba(238, 110, 115, 0.4); + cursor: default; +} + +.tabs .indicator { + position: absolute; + bottom: 0; + height: 2px; + background-color: #f6b2b5; + will-change: left, right; +} + +@media only screen and (max-width: 992px) { + .tabs { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + } + .tabs .tab { + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + } + .tabs .tab a { + padding: 0 12px; + } +} + +.material-tooltip { + padding: 10px 8px; + font-size: 1rem; + z-index: 2000; + background-color: transparent; + border-radius: 2px; + color: #fff; + min-height: 36px; + line-height: 120%; + opacity: 0; + position: absolute; + text-align: center; + max-width: calc(100% - 4px); + overflow: hidden; + left: 0; + top: 0; + pointer-events: none; + visibility: hidden; + background-color: #323232; +} + +.backdrop { + position: absolute; + opacity: 0; + height: 7px; + width: 14px; + border-radius: 0 0 50% 50%; + background-color: #323232; + z-index: -1; + -webkit-transform-origin: 50% 0%; + transform-origin: 50% 0%; + visibility: hidden; +} + +.btn, .btn-large, .btn-small, +.btn-flat { + border: none; + border-radius: 2px; + display: inline-block; + height: 36px; + line-height: 36px; + padding: 0 16px; + text-transform: uppercase; + vertical-align: middle; + -webkit-tap-highlight-color: transparent; +} + +.btn.disabled, .disabled.btn-large, .disabled.btn-small, +.btn-floating.disabled, +.btn-large.disabled, +.btn-small.disabled, +.btn-flat.disabled, +.btn:disabled, +.btn-large:disabled, +.btn-small:disabled, +.btn-floating:disabled, +.btn-large:disabled, +.btn-small:disabled, +.btn-flat:disabled, +.btn[disabled], +.btn-large[disabled], +.btn-small[disabled], +.btn-floating[disabled], +.btn-large[disabled], +.btn-small[disabled], +.btn-flat[disabled] { + pointer-events: none; + background-color: #DFDFDF !important; + -webkit-box-shadow: none; + box-shadow: none; + color: #9F9F9F !important; + cursor: default; +} + +.btn.disabled:hover, .disabled.btn-large:hover, .disabled.btn-small:hover, +.btn-floating.disabled:hover, +.btn-large.disabled:hover, +.btn-small.disabled:hover, +.btn-flat.disabled:hover, +.btn:disabled:hover, +.btn-large:disabled:hover, +.btn-small:disabled:hover, +.btn-floating:disabled:hover, +.btn-large:disabled:hover, +.btn-small:disabled:hover, +.btn-flat:disabled:hover, +.btn[disabled]:hover, +.btn-large[disabled]:hover, +.btn-small[disabled]:hover, +.btn-floating[disabled]:hover, +.btn-large[disabled]:hover, +.btn-small[disabled]:hover, +.btn-flat[disabled]:hover { + background-color: #DFDFDF !important; + color: #9F9F9F !important; +} + +.btn, .btn-large, .btn-small, +.btn-floating, +.btn-large, +.btn-small, +.btn-flat { + font-size: 14px; + outline: 0; +} + +.btn i, .btn-large i, .btn-small i, +.btn-floating i, +.btn-large i, +.btn-small i, +.btn-flat i { + font-size: 1.3rem; + line-height: inherit; +} + +.btn:focus, .btn-large:focus, .btn-small:focus, +.btn-floating:focus { + background-color: #1d7d74; +} + +.btn, .btn-large, .btn-small { + text-decoration: none; + color: #fff; + background-color: #26a69a; + text-align: center; + letter-spacing: .5px; + -webkit-transition: background-color .2s ease-out; + transition: background-color .2s ease-out; + cursor: pointer; +} + +.btn:hover, .btn-large:hover, .btn-small:hover { + background-color: #2bbbad; +} + +.btn-floating { + display: inline-block; + color: #fff; + position: relative; + overflow: hidden; + z-index: 1; + width: 40px; + height: 40px; + line-height: 40px; + padding: 0; + background-color: #26a69a; + border-radius: 50%; + -webkit-transition: background-color .3s; + transition: background-color .3s; + cursor: pointer; + vertical-align: middle; +} + +.btn-floating:hover { + background-color: #26a69a; +} + +.btn-floating:before { + border-radius: 0; +} + +.btn-floating.btn-large { + width: 56px; + height: 56px; + padding: 0; +} + +.btn-floating.btn-large.halfway-fab { + bottom: -28px; +} + +.btn-floating.btn-large i { + line-height: 56px; +} + +.btn-floating.btn-small { + width: 32.4px; + height: 32.4px; +} + +.btn-floating.btn-small.halfway-fab { + bottom: -16.2px; +} + +.btn-floating.btn-small i { + line-height: 32.4px; +} + +.btn-floating.halfway-fab { + position: absolute; + right: 24px; + bottom: -20px; +} + +.btn-floating.halfway-fab.left { + right: auto; + left: 24px; +} + +.btn-floating i { + width: inherit; + display: inline-block; + text-align: center; + color: #fff; + font-size: 1.6rem; + line-height: 40px; +} + +button.btn-floating { + border: none; +} + +.fixed-action-btn { + position: fixed; + right: 23px; + bottom: 23px; + padding-top: 15px; + margin-bottom: 0; + z-index: 997; +} + +.fixed-action-btn.active ul { + visibility: visible; +} + +.fixed-action-btn.direction-left, .fixed-action-btn.direction-right { + padding: 0 0 0 15px; +} + +.fixed-action-btn.direction-left ul, .fixed-action-btn.direction-right ul { + text-align: right; + right: 64px; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + height: 100%; + left: auto; + /*width 100% only goes to width of button container */ + width: 500px; +} + +.fixed-action-btn.direction-left ul li, .fixed-action-btn.direction-right ul li { + display: inline-block; + margin: 7.5px 15px 0 0; +} + +.fixed-action-btn.direction-right { + padding: 0 15px 0 0; +} + +.fixed-action-btn.direction-right ul { + text-align: left; + direction: rtl; + left: 64px; + right: auto; +} + +.fixed-action-btn.direction-right ul li { + margin: 7.5px 0 0 15px; +} + +.fixed-action-btn.direction-bottom { + padding: 0 0 15px 0; +} + +.fixed-action-btn.direction-bottom ul { + top: 64px; + bottom: auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; +} + +.fixed-action-btn.direction-bottom ul li { + margin: 15px 0 0 0; +} + +.fixed-action-btn.toolbar { + padding: 0; + height: 56px; +} + +.fixed-action-btn.toolbar.active > a i { + opacity: 0; +} + +.fixed-action-btn.toolbar ul { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + top: 0; + bottom: 0; + z-index: 1; +} + +.fixed-action-btn.toolbar ul li { + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + display: inline-block; + margin: 0; + height: 100%; + -webkit-transition: none; + transition: none; +} + +.fixed-action-btn.toolbar ul li a { + display: block; + overflow: hidden; + position: relative; + width: 100%; + height: 100%; + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; + color: #fff; + line-height: 56px; + z-index: 1; +} + +.fixed-action-btn.toolbar ul li a i { + line-height: inherit; +} + +.fixed-action-btn ul { + left: 0; + right: 0; + text-align: center; + position: absolute; + bottom: 64px; + margin: 0; + visibility: hidden; +} + +.fixed-action-btn ul li { + margin-bottom: 15px; +} + +.fixed-action-btn ul a.btn-floating { + opacity: 0; +} + +.fixed-action-btn .fab-backdrop { + position: absolute; + top: 0; + left: 0; + z-index: -1; + width: 40px; + height: 40px; + background-color: #26a69a; + border-radius: 50%; + -webkit-transform: scale(0); + transform: scale(0); +} + +.btn-flat { + -webkit-box-shadow: none; + box-shadow: none; + background-color: transparent; + color: #343434; + cursor: pointer; + -webkit-transition: background-color .2s; + transition: background-color .2s; +} + +.btn-flat:focus, .btn-flat:hover { + -webkit-box-shadow: none; + box-shadow: none; +} + +.btn-flat:focus { + background-color: rgba(0, 0, 0, 0.1); +} + +.btn-flat.disabled, .btn-flat.btn-flat[disabled] { + background-color: transparent !important; + color: #b3b2b2 !important; + cursor: default; +} + +.btn-large { + height: 54px; + line-height: 54px; + font-size: 15px; + padding: 0 28px; +} + +.btn-large i { + font-size: 1.6rem; +} + +.btn-small { + height: 32.4px; + line-height: 32.4px; + font-size: 13px; +} + +.btn-small i { + font-size: 1.2rem; +} + +.btn-block { + display: block; +} + +.dropdown-content { + background-color: #fff; + margin: 0; + display: none; + min-width: 100px; + overflow-y: auto; + opacity: 0; + position: absolute; + left: 0; + top: 0; + z-index: 9999; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} + +.dropdown-content:focus { + outline: 0; +} + +.dropdown-content li { + clear: both; + color: rgba(0, 0, 0, 0.87); + cursor: pointer; + min-height: 50px; + line-height: 1.5rem; + width: 100%; + text-align: left; +} + +.dropdown-content li:hover, .dropdown-content li.active { + background-color: #eee; +} + +.dropdown-content li:focus { + outline: none; +} + +.dropdown-content li.divider { + min-height: 0; + height: 1px; +} + +.dropdown-content li > a, .dropdown-content li > span { + font-size: 16px; + color: #26a69a; + display: block; + line-height: 22px; + padding: 14px 16px; +} + +.dropdown-content li > span > label { + top: 1px; + left: 0; + height: 18px; +} + +.dropdown-content li > a > i { + height: inherit; + line-height: inherit; + float: left; + margin: 0 24px 0 0; + width: 24px; +} + +body.keyboard-focused .dropdown-content li:focus { + background-color: #dadada; +} + +.input-field.col .dropdown-content [type="checkbox"] + label { + top: 1px; + left: 0; + height: 18px; + -webkit-transform: none; + transform: none; +} + +.dropdown-trigger { + cursor: pointer; +} + +/*! + * Waves v0.6.0 + * http://fian.my.id/Waves + * + * Copyright 2014 Alfiana E. Sibuea and other contributors + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE + */ +.waves-effect { + position: relative; + cursor: pointer; + display: inline-block; + overflow: hidden; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-tap-highlight-color: transparent; + vertical-align: middle; + z-index: 1; + -webkit-transition: .3s ease-out; + transition: .3s ease-out; +} + +.waves-effect .waves-ripple { + position: absolute; + border-radius: 50%; + width: 20px; + height: 20px; + margin-top: -10px; + margin-left: -10px; + opacity: 0; + background: rgba(0, 0, 0, 0.2); + -webkit-transition: all 0.7s ease-out; + transition: all 0.7s ease-out; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-transform: scale(0); + transform: scale(0); + pointer-events: none; +} + +.waves-effect.waves-light .waves-ripple { + background-color: rgba(255, 255, 255, 0.45); +} + +.waves-effect.waves-red .waves-ripple { + background-color: rgba(244, 67, 54, 0.7); +} + +.waves-effect.waves-yellow .waves-ripple { + background-color: rgba(255, 235, 59, 0.7); +} + +.waves-effect.waves-orange .waves-ripple { + background-color: rgba(255, 152, 0, 0.7); +} + +.waves-effect.waves-purple .waves-ripple { + background-color: rgba(156, 39, 176, 0.7); +} + +.waves-effect.waves-green .waves-ripple { + background-color: rgba(76, 175, 80, 0.7); +} + +.waves-effect.waves-teal .waves-ripple { + background-color: rgba(0, 150, 136, 0.7); +} + +.waves-effect input[type="button"], .waves-effect input[type="reset"], .waves-effect input[type="submit"] { + border: 0; + font-style: normal; + font-size: inherit; + text-transform: inherit; + background: none; +} + +.waves-effect img { + position: relative; + z-index: -1; +} + +.waves-notransition { + -webkit-transition: none !important; + transition: none !important; +} + +.waves-circle { + -webkit-transform: translateZ(0); + transform: translateZ(0); + -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%); +} + +.waves-input-wrapper { + border-radius: 0.2em; + vertical-align: bottom; +} + +.waves-input-wrapper .waves-button-input { + position: relative; + top: 0; + left: 0; + z-index: 1; +} + +.waves-circle { + text-align: center; + width: 2.5em; + height: 2.5em; + line-height: 2.5em; + border-radius: 50%; + -webkit-mask-image: none; +} + +.waves-block { + display: block; +} + +/* Firefox Bug: link not triggered */ +.waves-effect .waves-ripple { + z-index: -1; +} + +.modal { + display: none; + position: fixed; + left: 0; + right: 0; + background-color: #fafafa; + padding: 0; + max-height: 70%; + width: 55%; + margin: auto; + overflow-y: auto; + border-radius: 2px; + will-change: top, opacity; +} + +.modal:focus { + outline: none; +} + +@media only screen and (max-width: 992px) { + .modal { + width: 80%; + } +} + +.modal h1, .modal h2, .modal h3, .modal h4 { + margin-top: 0; +} + +.modal .modal-content { + padding: 24px; +} + +.modal .modal-close { + cursor: pointer; +} + +.modal .modal-footer { + border-radius: 0 0 2px 2px; + background-color: #fafafa; + padding: 4px 6px; + height: 56px; + width: 100%; + text-align: right; +} + +.modal .modal-footer .btn, .modal .modal-footer .btn-large, .modal .modal-footer .btn-small, .modal .modal-footer .btn-flat { + margin: 6px 0; +} + +.modal-overlay { + position: fixed; + z-index: 999; + top: -25%; + left: 0; + bottom: 0; + right: 0; + height: 125%; + width: 100%; + background: #000; + display: none; + will-change: opacity; +} + +.modal.modal-fixed-footer { + padding: 0; + height: 70%; +} + +.modal.modal-fixed-footer .modal-content { + position: absolute; + height: calc(100% - 56px); + max-height: 100%; + width: 100%; + overflow-y: auto; +} + +.modal.modal-fixed-footer .modal-footer { + border-top: 1px solid rgba(0, 0, 0, 0.1); + position: absolute; + bottom: 0; +} + +.modal.bottom-sheet { + top: auto; + bottom: -100%; + margin: 0; + width: 100%; + max-height: 45%; + border-radius: 0; + will-change: bottom, opacity; +} + +.collapsible { + border-top: 1px solid #ddd; + border-right: 1px solid #ddd; + border-left: 1px solid #ddd; + margin: 0.5rem 0 1rem 0; +} + +.collapsible-header { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + cursor: pointer; + -webkit-tap-highlight-color: transparent; + line-height: 1.5; + padding: 1rem; + background-color: #fff; + border-bottom: 1px solid #ddd; +} + +.collapsible-header:focus { + outline: 0; +} + +.collapsible-header i { + width: 2rem; + font-size: 1.6rem; + display: inline-block; + text-align: center; + margin-right: 1rem; +} + +.keyboard-focused .collapsible-header:focus { + background-color: #eee; +} + +.collapsible-body { + display: none; + border-bottom: 1px solid #ddd; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 2rem; +} + +.sidenav .collapsible, +.sidenav.fixed .collapsible { + border: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +.sidenav .collapsible li, +.sidenav.fixed .collapsible li { + padding: 0; +} + +.sidenav .collapsible-header, +.sidenav.fixed .collapsible-header { + background-color: transparent; + border: none; + line-height: inherit; + height: inherit; + padding: 0 16px; +} + +.sidenav .collapsible-header:hover, +.sidenav.fixed .collapsible-header:hover { + background-color: rgba(0, 0, 0, 0.05); +} + +.sidenav .collapsible-header i, +.sidenav.fixed .collapsible-header i { + line-height: inherit; +} + +.sidenav .collapsible-body, +.sidenav.fixed .collapsible-body { + border: 0; + background-color: #fff; +} + +.sidenav .collapsible-body li a, +.sidenav.fixed .collapsible-body li a { + padding: 0 23.5px 0 31px; +} + +.collapsible.popout { + border: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +.collapsible.popout > li { + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); + margin: 0 24px; + -webkit-transition: margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94); + transition: margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94); +} + +.collapsible.popout > li.active { + -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15); + box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15); + margin: 16px 0; +} + +.chip { + display: inline-block; + height: 32px; + font-size: 13px; + font-weight: 500; + color: rgba(0, 0, 0, 0.6); + line-height: 32px; + padding: 0 12px; + border-radius: 16px; + background-color: #e4e4e4; + margin-bottom: 5px; + margin-right: 5px; +} + +.chip:focus { + outline: none; + background-color: #26a69a; + color: #fff; +} + +.chip > img { + float: left; + margin: 0 8px 0 -12px; + height: 32px; + width: 32px; + border-radius: 50%; +} + +.chip .close { + cursor: pointer; + float: right; + font-size: 16px; + line-height: 32px; + padding-left: 8px; +} + +.chips { + border: none; + border-bottom: 1px solid #9e9e9e; + -webkit-box-shadow: none; + box-shadow: none; + margin: 0 0 8px 0; + min-height: 45px; + outline: none; + -webkit-transition: all .3s; + transition: all .3s; +} + +.chips.focus { + border-bottom: 1px solid #26a69a; + -webkit-box-shadow: 0 1px 0 0 #26a69a; + box-shadow: 0 1px 0 0 #26a69a; +} + +.chips:hover { + cursor: text; +} + +.chips .input { + background: none; + border: 0; + color: rgba(0, 0, 0, 0.6); + display: inline-block; + font-size: 16px; + height: 3rem; + line-height: 32px; + outline: 0; + margin: 0; + padding: 0 !important; + width: 120px !important; +} + +.chips .input:focus { + border: 0 !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; +} + +.chips .autocomplete-content { + margin-top: 0; + margin-bottom: 0; +} + +.prefix ~ .chips { + margin-left: 3rem; + width: 92%; + width: calc(100% - 3rem); +} + +.chips:empty ~ label { + font-size: 0.8rem; + -webkit-transform: translateY(-140%); + transform: translateY(-140%); +} + +.materialboxed { + display: block; + cursor: -webkit-zoom-in; + cursor: zoom-in; + position: relative; + -webkit-transition: opacity .4s; + transition: opacity .4s; + -webkit-backface-visibility: hidden; +} + +.materialboxed:hover:not(.active) { + opacity: .8; +} + +.materialboxed.active { + cursor: -webkit-zoom-out; + cursor: zoom-out; +} + +#materialbox-overlay { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: #292929; + z-index: 1000; + will-change: opacity; +} + +.materialbox-caption { + position: fixed; + display: none; + color: #fff; + line-height: 50px; + bottom: 0; + left: 0; + width: 100%; + text-align: center; + padding: 0% 15%; + height: 50px; + z-index: 1000; + -webkit-font-smoothing: antialiased; +} + +select:focus { + outline: 1px solid #c9f3ef; +} + +button:focus { + outline: none; + background-color: #2ab7a9; +} + +label { + font-size: 0.8rem; + color: #9e9e9e; +} + +/* Text Inputs + Textarea + ========================================================================== */ +/* Style Placeholders */ +::-webkit-input-placeholder { + color: #d1d1d1; +} +::-moz-placeholder { + color: #d1d1d1; +} +:-ms-input-placeholder { + color: #d1d1d1; +} +::-ms-input-placeholder { + color: #d1d1d1; +} +::placeholder { + color: #d1d1d1; +} + +/* Text inputs */ +input:not([type]), +input[type=text]:not(.browser-default), +input[type=password]:not(.browser-default), +input[type=email]:not(.browser-default), +input[type=url]:not(.browser-default), +input[type=time]:not(.browser-default), +input[type=date]:not(.browser-default), +input[type=datetime]:not(.browser-default), +input[type=datetime-local]:not(.browser-default), +input[type=tel]:not(.browser-default), +input[type=number]:not(.browser-default), +input[type=search]:not(.browser-default), +textarea.materialize-textarea { + background-color: transparent; + border: none; + border-bottom: 1px solid #9e9e9e; + border-radius: 0; + outline: none; + height: 3rem; + width: 100%; + font-size: 16px; + margin: 0 0 8px 0; + padding: 0; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-box-sizing: content-box; + box-sizing: content-box; + -webkit-transition: border .3s, -webkit-box-shadow .3s; + transition: border .3s, -webkit-box-shadow .3s; + transition: box-shadow .3s, border .3s; + transition: box-shadow .3s, border .3s, -webkit-box-shadow .3s; +} + +input:not([type]):disabled, input:not([type])[readonly="readonly"], +input[type=text]:not(.browser-default):disabled, +input[type=text]:not(.browser-default)[readonly="readonly"], +input[type=password]:not(.browser-default):disabled, +input[type=password]:not(.browser-default)[readonly="readonly"], +input[type=email]:not(.browser-default):disabled, +input[type=email]:not(.browser-default)[readonly="readonly"], +input[type=url]:not(.browser-default):disabled, +input[type=url]:not(.browser-default)[readonly="readonly"], +input[type=time]:not(.browser-default):disabled, +input[type=time]:not(.browser-default)[readonly="readonly"], +input[type=date]:not(.browser-default):disabled, +input[type=date]:not(.browser-default)[readonly="readonly"], +input[type=datetime]:not(.browser-default):disabled, +input[type=datetime]:not(.browser-default)[readonly="readonly"], +input[type=datetime-local]:not(.browser-default):disabled, +input[type=datetime-local]:not(.browser-default)[readonly="readonly"], +input[type=tel]:not(.browser-default):disabled, +input[type=tel]:not(.browser-default)[readonly="readonly"], +input[type=number]:not(.browser-default):disabled, +input[type=number]:not(.browser-default)[readonly="readonly"], +input[type=search]:not(.browser-default):disabled, +input[type=search]:not(.browser-default)[readonly="readonly"], +textarea.materialize-textarea:disabled, +textarea.materialize-textarea[readonly="readonly"] { + color: rgba(0, 0, 0, 0.42); + border-bottom: 1px dotted rgba(0, 0, 0, 0.42); +} + +input:not([type]):disabled + label, +input:not([type])[readonly="readonly"] + label, +input[type=text]:not(.browser-default):disabled + label, +input[type=text]:not(.browser-default)[readonly="readonly"] + label, +input[type=password]:not(.browser-default):disabled + label, +input[type=password]:not(.browser-default)[readonly="readonly"] + label, +input[type=email]:not(.browser-default):disabled + label, +input[type=email]:not(.browser-default)[readonly="readonly"] + label, +input[type=url]:not(.browser-default):disabled + label, +input[type=url]:not(.browser-default)[readonly="readonly"] + label, +input[type=time]:not(.browser-default):disabled + label, +input[type=time]:not(.browser-default)[readonly="readonly"] + label, +input[type=date]:not(.browser-default):disabled + label, +input[type=date]:not(.browser-default)[readonly="readonly"] + label, +input[type=datetime]:not(.browser-default):disabled + label, +input[type=datetime]:not(.browser-default)[readonly="readonly"] + label, +input[type=datetime-local]:not(.browser-default):disabled + label, +input[type=datetime-local]:not(.browser-default)[readonly="readonly"] + label, +input[type=tel]:not(.browser-default):disabled + label, +input[type=tel]:not(.browser-default)[readonly="readonly"] + label, +input[type=number]:not(.browser-default):disabled + label, +input[type=number]:not(.browser-default)[readonly="readonly"] + label, +input[type=search]:not(.browser-default):disabled + label, +input[type=search]:not(.browser-default)[readonly="readonly"] + label, +textarea.materialize-textarea:disabled + label, +textarea.materialize-textarea[readonly="readonly"] + label { + color: rgba(0, 0, 0, 0.42); +} + +input:not([type]):focus:not([readonly]), +input[type=text]:not(.browser-default):focus:not([readonly]), +input[type=password]:not(.browser-default):focus:not([readonly]), +input[type=email]:not(.browser-default):focus:not([readonly]), +input[type=url]:not(.browser-default):focus:not([readonly]), +input[type=time]:not(.browser-default):focus:not([readonly]), +input[type=date]:not(.browser-default):focus:not([readonly]), +input[type=datetime]:not(.browser-default):focus:not([readonly]), +input[type=datetime-local]:not(.browser-default):focus:not([readonly]), +input[type=tel]:not(.browser-default):focus:not([readonly]), +input[type=number]:not(.browser-default):focus:not([readonly]), +input[type=search]:not(.browser-default):focus:not([readonly]), +textarea.materialize-textarea:focus:not([readonly]) { + border-bottom: 1px solid #26a69a; + -webkit-box-shadow: 0 1px 0 0 #26a69a; + box-shadow: 0 1px 0 0 #26a69a; +} + +input:not([type]):focus:not([readonly]) + label, +input[type=text]:not(.browser-default):focus:not([readonly]) + label, +input[type=password]:not(.browser-default):focus:not([readonly]) + label, +input[type=email]:not(.browser-default):focus:not([readonly]) + label, +input[type=url]:not(.browser-default):focus:not([readonly]) + label, +input[type=time]:not(.browser-default):focus:not([readonly]) + label, +input[type=date]:not(.browser-default):focus:not([readonly]) + label, +input[type=datetime]:not(.browser-default):focus:not([readonly]) + label, +input[type=datetime-local]:not(.browser-default):focus:not([readonly]) + label, +input[type=tel]:not(.browser-default):focus:not([readonly]) + label, +input[type=number]:not(.browser-default):focus:not([readonly]) + label, +input[type=search]:not(.browser-default):focus:not([readonly]) + label, +textarea.materialize-textarea:focus:not([readonly]) + label { + color: #26a69a; +} + +input:not([type]):focus.valid ~ label, +input[type=text]:not(.browser-default):focus.valid ~ label, +input[type=password]:not(.browser-default):focus.valid ~ label, +input[type=email]:not(.browser-default):focus.valid ~ label, +input[type=url]:not(.browser-default):focus.valid ~ label, +input[type=time]:not(.browser-default):focus.valid ~ label, +input[type=date]:not(.browser-default):focus.valid ~ label, +input[type=datetime]:not(.browser-default):focus.valid ~ label, +input[type=datetime-local]:not(.browser-default):focus.valid ~ label, +input[type=tel]:not(.browser-default):focus.valid ~ label, +input[type=number]:not(.browser-default):focus.valid ~ label, +input[type=search]:not(.browser-default):focus.valid ~ label, +textarea.materialize-textarea:focus.valid ~ label { + color: #4CAF50; +} + +input:not([type]):focus.invalid ~ label, +input[type=text]:not(.browser-default):focus.invalid ~ label, +input[type=password]:not(.browser-default):focus.invalid ~ label, +input[type=email]:not(.browser-default):focus.invalid ~ label, +input[type=url]:not(.browser-default):focus.invalid ~ label, +input[type=time]:not(.browser-default):focus.invalid ~ label, +input[type=date]:not(.browser-default):focus.invalid ~ label, +input[type=datetime]:not(.browser-default):focus.invalid ~ label, +input[type=datetime-local]:not(.browser-default):focus.invalid ~ label, +input[type=tel]:not(.browser-default):focus.invalid ~ label, +input[type=number]:not(.browser-default):focus.invalid ~ label, +input[type=search]:not(.browser-default):focus.invalid ~ label, +textarea.materialize-textarea:focus.invalid ~ label { + color: #F44336; +} + +input:not([type]).validate + label, +input[type=text]:not(.browser-default).validate + label, +input[type=password]:not(.browser-default).validate + label, +input[type=email]:not(.browser-default).validate + label, +input[type=url]:not(.browser-default).validate + label, +input[type=time]:not(.browser-default).validate + label, +input[type=date]:not(.browser-default).validate + label, +input[type=datetime]:not(.browser-default).validate + label, +input[type=datetime-local]:not(.browser-default).validate + label, +input[type=tel]:not(.browser-default).validate + label, +input[type=number]:not(.browser-default).validate + label, +input[type=search]:not(.browser-default).validate + label, +textarea.materialize-textarea.validate + label { + width: 100%; +} + +/* Validation Sass Placeholders */ +input.valid:not([type]), input.valid:not([type]):focus, +input.valid[type=text]:not(.browser-default), +input.valid[type=text]:not(.browser-default):focus, +input.valid[type=password]:not(.browser-default), +input.valid[type=password]:not(.browser-default):focus, +input.valid[type=email]:not(.browser-default), +input.valid[type=email]:not(.browser-default):focus, +input.valid[type=url]:not(.browser-default), +input.valid[type=url]:not(.browser-default):focus, +input.valid[type=time]:not(.browser-default), +input.valid[type=time]:not(.browser-default):focus, +input.valid[type=date]:not(.browser-default), +input.valid[type=date]:not(.browser-default):focus, +input.valid[type=datetime]:not(.browser-default), +input.valid[type=datetime]:not(.browser-default):focus, +input.valid[type=datetime-local]:not(.browser-default), +input.valid[type=datetime-local]:not(.browser-default):focus, +input.valid[type=tel]:not(.browser-default), +input.valid[type=tel]:not(.browser-default):focus, +input.valid[type=number]:not(.browser-default), +input.valid[type=number]:not(.browser-default):focus, +input.valid[type=search]:not(.browser-default), +input.valid[type=search]:not(.browser-default):focus, +textarea.materialize-textarea.valid, +textarea.materialize-textarea.valid:focus, .select-wrapper.valid > input.select-dropdown { + border-bottom: 1px solid #4CAF50; + -webkit-box-shadow: 0 1px 0 0 #4CAF50; + box-shadow: 0 1px 0 0 #4CAF50; +} + +input.invalid:not([type]), input.invalid:not([type]):focus, +input.invalid[type=text]:not(.browser-default), +input.invalid[type=text]:not(.browser-default):focus, +input.invalid[type=password]:not(.browser-default), +input.invalid[type=password]:not(.browser-default):focus, +input.invalid[type=email]:not(.browser-default), +input.invalid[type=email]:not(.browser-default):focus, +input.invalid[type=url]:not(.browser-default), +input.invalid[type=url]:not(.browser-default):focus, +input.invalid[type=time]:not(.browser-default), +input.invalid[type=time]:not(.browser-default):focus, +input.invalid[type=date]:not(.browser-default), +input.invalid[type=date]:not(.browser-default):focus, +input.invalid[type=datetime]:not(.browser-default), +input.invalid[type=datetime]:not(.browser-default):focus, +input.invalid[type=datetime-local]:not(.browser-default), +input.invalid[type=datetime-local]:not(.browser-default):focus, +input.invalid[type=tel]:not(.browser-default), +input.invalid[type=tel]:not(.browser-default):focus, +input.invalid[type=number]:not(.browser-default), +input.invalid[type=number]:not(.browser-default):focus, +input.invalid[type=search]:not(.browser-default), +input.invalid[type=search]:not(.browser-default):focus, +textarea.materialize-textarea.invalid, +textarea.materialize-textarea.invalid:focus, .select-wrapper.invalid > input.select-dropdown, +.select-wrapper.invalid > input.select-dropdown:focus { + border-bottom: 1px solid #F44336; + -webkit-box-shadow: 0 1px 0 0 #F44336; + box-shadow: 0 1px 0 0 #F44336; +} + +input:not([type]).valid ~ .helper-text[data-success], +input:not([type]):focus.valid ~ .helper-text[data-success], +input:not([type]).invalid ~ .helper-text[data-error], +input:not([type]):focus.invalid ~ .helper-text[data-error], +input[type=text]:not(.browser-default).valid ~ .helper-text[data-success], +input[type=text]:not(.browser-default):focus.valid ~ .helper-text[data-success], +input[type=text]:not(.browser-default).invalid ~ .helper-text[data-error], +input[type=text]:not(.browser-default):focus.invalid ~ .helper-text[data-error], +input[type=password]:not(.browser-default).valid ~ .helper-text[data-success], +input[type=password]:not(.browser-default):focus.valid ~ .helper-text[data-success], +input[type=password]:not(.browser-default).invalid ~ .helper-text[data-error], +input[type=password]:not(.browser-default):focus.invalid ~ .helper-text[data-error], +input[type=email]:not(.browser-default).valid ~ .helper-text[data-success], +input[type=email]:not(.browser-default):focus.valid ~ .helper-text[data-success], +input[type=email]:not(.browser-default).invalid ~ .helper-text[data-error], +input[type=email]:not(.browser-default):focus.invalid ~ .helper-text[data-error], +input[type=url]:not(.browser-default).valid ~ .helper-text[data-success], +input[type=url]:not(.browser-default):focus.valid ~ .helper-text[data-success], +input[type=url]:not(.browser-default).invalid ~ .helper-text[data-error], +input[type=url]:not(.browser-default):focus.invalid ~ .helper-text[data-error], +input[type=time]:not(.browser-default).valid ~ .helper-text[data-success], +input[type=time]:not(.browser-default):focus.valid ~ .helper-text[data-success], +input[type=time]:not(.browser-default).invalid ~ .helper-text[data-error], +input[type=time]:not(.browser-default):focus.invalid ~ .helper-text[data-error], +input[type=date]:not(.browser-default).valid ~ .helper-text[data-success], +input[type=date]:not(.browser-default):focus.valid ~ .helper-text[data-success], +input[type=date]:not(.browser-default).invalid ~ .helper-text[data-error], +input[type=date]:not(.browser-default):focus.invalid ~ .helper-text[data-error], +input[type=datetime]:not(.browser-default).valid ~ .helper-text[data-success], +input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text[data-success], +input[type=datetime]:not(.browser-default).invalid ~ .helper-text[data-error], +input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text[data-error], +input[type=datetime-local]:not(.browser-default).valid ~ .helper-text[data-success], +input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text[data-success], +input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text[data-error], +input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text[data-error], +input[type=tel]:not(.browser-default).valid ~ .helper-text[data-success], +input[type=tel]:not(.browser-default):focus.valid ~ .helper-text[data-success], +input[type=tel]:not(.browser-default).invalid ~ .helper-text[data-error], +input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text[data-error], +input[type=number]:not(.browser-default).valid ~ .helper-text[data-success], +input[type=number]:not(.browser-default):focus.valid ~ .helper-text[data-success], +input[type=number]:not(.browser-default).invalid ~ .helper-text[data-error], +input[type=number]:not(.browser-default):focus.invalid ~ .helper-text[data-error], +input[type=search]:not(.browser-default).valid ~ .helper-text[data-success], +input[type=search]:not(.browser-default):focus.valid ~ .helper-text[data-success], +input[type=search]:not(.browser-default).invalid ~ .helper-text[data-error], +input[type=search]:not(.browser-default):focus.invalid ~ .helper-text[data-error], +textarea.materialize-textarea.valid ~ .helper-text[data-success], +textarea.materialize-textarea:focus.valid ~ .helper-text[data-success], +textarea.materialize-textarea.invalid ~ .helper-text[data-error], +textarea.materialize-textarea:focus.invalid ~ .helper-text[data-error], .select-wrapper.valid .helper-text[data-success], +.select-wrapper.invalid ~ .helper-text[data-error] { + color: transparent; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; +} + +input:not([type]).valid ~ .helper-text:after, +input:not([type]):focus.valid ~ .helper-text:after, +input[type=text]:not(.browser-default).valid ~ .helper-text:after, +input[type=text]:not(.browser-default):focus.valid ~ .helper-text:after, +input[type=password]:not(.browser-default).valid ~ .helper-text:after, +input[type=password]:not(.browser-default):focus.valid ~ .helper-text:after, +input[type=email]:not(.browser-default).valid ~ .helper-text:after, +input[type=email]:not(.browser-default):focus.valid ~ .helper-text:after, +input[type=url]:not(.browser-default).valid ~ .helper-text:after, +input[type=url]:not(.browser-default):focus.valid ~ .helper-text:after, +input[type=time]:not(.browser-default).valid ~ .helper-text:after, +input[type=time]:not(.browser-default):focus.valid ~ .helper-text:after, +input[type=date]:not(.browser-default).valid ~ .helper-text:after, +input[type=date]:not(.browser-default):focus.valid ~ .helper-text:after, +input[type=datetime]:not(.browser-default).valid ~ .helper-text:after, +input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text:after, +input[type=datetime-local]:not(.browser-default).valid ~ .helper-text:after, +input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text:after, +input[type=tel]:not(.browser-default).valid ~ .helper-text:after, +input[type=tel]:not(.browser-default):focus.valid ~ .helper-text:after, +input[type=number]:not(.browser-default).valid ~ .helper-text:after, +input[type=number]:not(.browser-default):focus.valid ~ .helper-text:after, +input[type=search]:not(.browser-default).valid ~ .helper-text:after, +input[type=search]:not(.browser-default):focus.valid ~ .helper-text:after, +textarea.materialize-textarea.valid ~ .helper-text:after, +textarea.materialize-textarea:focus.valid ~ .helper-text:after, .select-wrapper.valid ~ .helper-text:after { + content: attr(data-success); + color: #4CAF50; +} + +input:not([type]).invalid ~ .helper-text:after, +input:not([type]):focus.invalid ~ .helper-text:after, +input[type=text]:not(.browser-default).invalid ~ .helper-text:after, +input[type=text]:not(.browser-default):focus.invalid ~ .helper-text:after, +input[type=password]:not(.browser-default).invalid ~ .helper-text:after, +input[type=password]:not(.browser-default):focus.invalid ~ .helper-text:after, +input[type=email]:not(.browser-default).invalid ~ .helper-text:after, +input[type=email]:not(.browser-default):focus.invalid ~ .helper-text:after, +input[type=url]:not(.browser-default).invalid ~ .helper-text:after, +input[type=url]:not(.browser-default):focus.invalid ~ .helper-text:after, +input[type=time]:not(.browser-default).invalid ~ .helper-text:after, +input[type=time]:not(.browser-default):focus.invalid ~ .helper-text:after, +input[type=date]:not(.browser-default).invalid ~ .helper-text:after, +input[type=date]:not(.browser-default):focus.invalid ~ .helper-text:after, +input[type=datetime]:not(.browser-default).invalid ~ .helper-text:after, +input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text:after, +input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text:after, +input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text:after, +input[type=tel]:not(.browser-default).invalid ~ .helper-text:after, +input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text:after, +input[type=number]:not(.browser-default).invalid ~ .helper-text:after, +input[type=number]:not(.browser-default):focus.invalid ~ .helper-text:after, +input[type=search]:not(.browser-default).invalid ~ .helper-text:after, +input[type=search]:not(.browser-default):focus.invalid ~ .helper-text:after, +textarea.materialize-textarea.invalid ~ .helper-text:after, +textarea.materialize-textarea:focus.invalid ~ .helper-text:after, .select-wrapper.invalid ~ .helper-text:after { + content: attr(data-error); + color: #F44336; +} + +input:not([type]) + label:after, +input[type=text]:not(.browser-default) + label:after, +input[type=password]:not(.browser-default) + label:after, +input[type=email]:not(.browser-default) + label:after, +input[type=url]:not(.browser-default) + label:after, +input[type=time]:not(.browser-default) + label:after, +input[type=date]:not(.browser-default) + label:after, +input[type=datetime]:not(.browser-default) + label:after, +input[type=datetime-local]:not(.browser-default) + label:after, +input[type=tel]:not(.browser-default) + label:after, +input[type=number]:not(.browser-default) + label:after, +input[type=search]:not(.browser-default) + label:after, +textarea.materialize-textarea + label:after, .select-wrapper + label:after { + display: block; + content: ""; + position: absolute; + top: 100%; + left: 0; + opacity: 0; + -webkit-transition: .2s opacity ease-out, .2s color ease-out; + transition: .2s opacity ease-out, .2s color ease-out; +} + +.input-field { + position: relative; + margin-top: 1rem; + margin-bottom: 1rem; +} + +.input-field.inline { + display: inline-block; + vertical-align: middle; + margin-left: 5px; +} + +.input-field.inline input, +.input-field.inline .select-dropdown { + margin-bottom: 1rem; +} + +.input-field.col label { + left: 0.75rem; +} + +.input-field.col .prefix ~ label, +.input-field.col .prefix ~ .validate ~ label { + width: calc(100% - 3rem - 1.5rem); +} + +.input-field > label { + color: #9e9e9e; + position: absolute; + top: 0; + left: 0; + font-size: 1rem; + cursor: text; + -webkit-transition: color .2s ease-out, -webkit-transform .2s ease-out; + transition: color .2s ease-out, -webkit-transform .2s ease-out; + transition: transform .2s ease-out, color .2s ease-out; + transition: transform .2s ease-out, color .2s ease-out, -webkit-transform .2s ease-out; + -webkit-transform-origin: 0% 100%; + transform-origin: 0% 100%; + text-align: initial; + -webkit-transform: translateY(12px); + transform: translateY(12px); +} + +.input-field > label:not(.label-icon).active { + -webkit-transform: translateY(-14px) scale(0.8); + transform: translateY(-14px) scale(0.8); + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} + +.input-field > input[type]:-webkit-autofill:not(.browser-default):not([type="search"]) + label, +.input-field > input[type=date]:not(.browser-default) + label, +.input-field > input[type=time]:not(.browser-default) + label { + -webkit-transform: translateY(-14px) scale(0.8); + transform: translateY(-14px) scale(0.8); + -webkit-transform-origin: 0 0; + transform-origin: 0 0; +} + +.input-field .helper-text { + position: relative; + min-height: 18px; + display: block; + font-size: 12px; + color: rgba(0, 0, 0, 0.54); +} + +.input-field .helper-text::after { + opacity: 1; + position: absolute; + top: 0; + left: 0; +} + +.input-field .prefix { + position: absolute; + width: 3rem; + font-size: 2rem; + -webkit-transition: color .2s; + transition: color .2s; + top: 0.5rem; +} + +.input-field .prefix.active { + color: #26a69a; +} + +.input-field .prefix ~ input, +.input-field .prefix ~ textarea, +.input-field .prefix ~ label, +.input-field .prefix ~ .validate ~ label, +.input-field .prefix ~ .helper-text, +.input-field .prefix ~ .autocomplete-content { + margin-left: 3rem; + width: 92%; + width: calc(100% - 3rem); +} + +.input-field .prefix ~ label { + margin-left: 3rem; +} + +@media only screen and (max-width: 992px) { + .input-field .prefix ~ input { + width: 86%; + width: calc(100% - 3rem); + } +} + +@media only screen and (max-width: 600px) { + .input-field .prefix ~ input { + width: 80%; + width: calc(100% - 3rem); + } +} + +/* Search Field */ +.input-field input[type=search] { + display: block; + line-height: inherit; + -webkit-transition: .3s background-color; + transition: .3s background-color; +} + +.nav-wrapper .input-field input[type=search] { + height: inherit; + padding-left: 4rem; + width: calc(100% - 4rem); + border: 0; + -webkit-box-shadow: none; + box-shadow: none; +} + +.input-field input[type=search]:focus:not(.browser-default) { + background-color: #fff; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + color: #444; +} + +.input-field input[type=search]:focus:not(.browser-default) + label i, +.input-field input[type=search]:focus:not(.browser-default) ~ .mdi-navigation-close, +.input-field input[type=search]:focus:not(.browser-default) ~ .material-icons { + color: #444; +} + +.input-field input[type=search] + .label-icon { + -webkit-transform: none; + transform: none; + left: 1rem; +} + +.input-field input[type=search] ~ .mdi-navigation-close, +.input-field input[type=search] ~ .material-icons { + position: absolute; + top: 0; + right: 1rem; + color: transparent; + cursor: pointer; + font-size: 2rem; + -webkit-transition: .3s color; + transition: .3s color; +} + +/* Textarea */ +textarea { + width: 100%; + height: 3rem; + background-color: transparent; +} + +textarea.materialize-textarea { + line-height: normal; + overflow-y: hidden; + /* prevents scroll bar flash */ + padding: .8rem 0 .8rem 0; + /* prevents text jump on Enter keypress */ + resize: none; + min-height: 3rem; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.hiddendiv { + visibility: hidden; + white-space: pre-wrap; + word-wrap: break-word; + overflow-wrap: break-word; + /* future version of deprecated 'word-wrap' */ + padding-top: 1.2rem; + /* prevents text jump on Enter keypress */ + position: absolute; + top: 0; + z-index: -1; +} + +/* Autocomplete */ +.autocomplete-content li .highlight { + color: #444; +} + +.autocomplete-content li img { + height: 40px; + width: 40px; + margin: 5px 15px; +} + +/* Character Counter */ +.character-counter { + min-height: 18px; +} + +/* Radio Buttons + ========================================================================== */ +[type="radio"]:not(:checked), +[type="radio"]:checked { + position: absolute; + opacity: 0; + pointer-events: none; +} + +[type="radio"]:not(:checked) + span, +[type="radio"]:checked + span { + position: relative; + padding-left: 35px; + cursor: pointer; + display: inline-block; + height: 25px; + line-height: 25px; + font-size: 1rem; + -webkit-transition: .28s ease; + transition: .28s ease; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +[type="radio"] + span:before, +[type="radio"] + span:after { + content: ''; + position: absolute; + left: 0; + top: 0; + margin: 4px; + width: 16px; + height: 16px; + z-index: 0; + -webkit-transition: .28s ease; + transition: .28s ease; +} + +/* Unchecked styles */ +[type="radio"]:not(:checked) + span:before, +[type="radio"]:not(:checked) + span:after, +[type="radio"]:checked + span:before, +[type="radio"]:checked + span:after, +[type="radio"].with-gap:checked + span:before, +[type="radio"].with-gap:checked + span:after { + border-radius: 50%; +} + +[type="radio"]:not(:checked) + span:before, +[type="radio"]:not(:checked) + span:after { + border: 2px solid #5a5a5a; +} + +[type="radio"]:not(:checked) + span:after { + -webkit-transform: scale(0); + transform: scale(0); +} + +/* Checked styles */ +[type="radio"]:checked + span:before { + border: 2px solid transparent; +} + +[type="radio"]:checked + span:after, +[type="radio"].with-gap:checked + span:before, +[type="radio"].with-gap:checked + span:after { + border: 2px solid #26a69a; +} + +[type="radio"]:checked + span:after, +[type="radio"].with-gap:checked + span:after { + background-color: #26a69a; +} + +[type="radio"]:checked + span:after { + -webkit-transform: scale(1.02); + transform: scale(1.02); +} + +/* Radio With gap */ +[type="radio"].with-gap:checked + span:after { + -webkit-transform: scale(0.5); + transform: scale(0.5); +} + +/* Focused styles */ +[type="radio"].tabbed:focus + span:before { + -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1); + box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1); +} + +/* Disabled Radio With gap */ +[type="radio"].with-gap:disabled:checked + span:before { + border: 2px solid rgba(0, 0, 0, 0.42); +} + +[type="radio"].with-gap:disabled:checked + span:after { + border: none; + background-color: rgba(0, 0, 0, 0.42); +} + +/* Disabled style */ +[type="radio"]:disabled:not(:checked) + span:before, +[type="radio"]:disabled:checked + span:before { + background-color: transparent; + border-color: rgba(0, 0, 0, 0.42); +} + +[type="radio"]:disabled + span { + color: rgba(0, 0, 0, 0.42); +} + +[type="radio"]:disabled:not(:checked) + span:before { + border-color: rgba(0, 0, 0, 0.42); +} + +[type="radio"]:disabled:checked + span:after { + background-color: rgba(0, 0, 0, 0.42); + border-color: #949494; +} + +/* Checkboxes + ========================================================================== */ +/* Remove default checkbox */ +[type="checkbox"]:not(:checked), +[type="checkbox"]:checked { + position: absolute; + opacity: 0; + pointer-events: none; +} + +[type="checkbox"] { + /* checkbox aspect */ +} + +[type="checkbox"] + span:not(.lever) { + position: relative; + padding-left: 35px; + cursor: pointer; + display: inline-block; + height: 25px; + line-height: 25px; + font-size: 1rem; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +[type="checkbox"] + span:not(.lever):before, +[type="checkbox"]:not(.filled-in) + span:not(.lever):after { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 18px; + height: 18px; + z-index: 0; + border: 2px solid #5a5a5a; + border-radius: 1px; + margin-top: 3px; + -webkit-transition: .2s; + transition: .2s; +} + +[type="checkbox"]:not(.filled-in) + span:not(.lever):after { + border: 0; + -webkit-transform: scale(0); + transform: scale(0); +} + +[type="checkbox"]:not(:checked):disabled + span:not(.lever):before { + border: none; + background-color: rgba(0, 0, 0, 0.42); +} + +[type="checkbox"].tabbed:focus + span:not(.lever):after { + -webkit-transform: scale(1); + transform: scale(1); + border: 0; + border-radius: 50%; + -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1); + box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1); + background-color: rgba(0, 0, 0, 0.1); +} + +[type="checkbox"]:checked + span:not(.lever):before { + top: -4px; + left: -5px; + width: 12px; + height: 22px; + border-top: 2px solid transparent; + border-left: 2px solid transparent; + border-right: 2px solid #26a69a; + border-bottom: 2px solid #26a69a; + -webkit-transform: rotate(40deg); + transform: rotate(40deg); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform-origin: 100% 100%; + transform-origin: 100% 100%; +} + +[type="checkbox"]:checked:disabled + span:before { + border-right: 2px solid rgba(0, 0, 0, 0.42); + border-bottom: 2px solid rgba(0, 0, 0, 0.42); +} + +/* Indeterminate checkbox */ +[type="checkbox"]:indeterminate + span:not(.lever):before { + top: -11px; + left: -12px; + width: 10px; + height: 22px; + border-top: none; + border-left: none; + border-right: 2px solid #26a69a; + border-bottom: none; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform-origin: 100% 100%; + transform-origin: 100% 100%; +} + +[type="checkbox"]:indeterminate:disabled + span:not(.lever):before { + border-right: 2px solid rgba(0, 0, 0, 0.42); + background-color: transparent; +} + +[type="checkbox"].filled-in + span:not(.lever):after { + border-radius: 2px; +} + +[type="checkbox"].filled-in + span:not(.lever):before, +[type="checkbox"].filled-in + span:not(.lever):after { + content: ''; + left: 0; + position: absolute; + /* .1s delay is for check animation */ + -webkit-transition: border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s; + transition: border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s; + z-index: 1; +} + +[type="checkbox"].filled-in:not(:checked) + span:not(.lever):before { + width: 0; + height: 0; + border: 3px solid transparent; + left: 6px; + top: 10px; + -webkit-transform: rotateZ(37deg); + transform: rotateZ(37deg); + -webkit-transform-origin: 100% 100%; + transform-origin: 100% 100%; +} + +[type="checkbox"].filled-in:not(:checked) + span:not(.lever):after { + height: 20px; + width: 20px; + background-color: transparent; + border: 2px solid #5a5a5a; + top: 0px; + z-index: 0; +} + +[type="checkbox"].filled-in:checked + span:not(.lever):before { + top: 0; + left: 1px; + width: 8px; + height: 13px; + border-top: 2px solid transparent; + border-left: 2px solid transparent; + border-right: 2px solid #fff; + border-bottom: 2px solid #fff; + -webkit-transform: rotateZ(37deg); + transform: rotateZ(37deg); + -webkit-transform-origin: 100% 100%; + transform-origin: 100% 100%; +} + +[type="checkbox"].filled-in:checked + span:not(.lever):after { + top: 0; + width: 20px; + height: 20px; + border: 2px solid #26a69a; + background-color: #26a69a; + z-index: 0; +} + +[type="checkbox"].filled-in.tabbed:focus + span:not(.lever):after { + border-radius: 2px; + border-color: #5a5a5a; + background-color: rgba(0, 0, 0, 0.1); +} + +[type="checkbox"].filled-in.tabbed:checked:focus + span:not(.lever):after { + border-radius: 2px; + background-color: #26a69a; + border-color: #26a69a; +} + +[type="checkbox"].filled-in:disabled:not(:checked) + span:not(.lever):before { + background-color: transparent; + border: 2px solid transparent; +} + +[type="checkbox"].filled-in:disabled:not(:checked) + span:not(.lever):after { + border-color: transparent; + background-color: #949494; +} + +[type="checkbox"].filled-in:disabled:checked + span:not(.lever):before { + background-color: transparent; +} + +[type="checkbox"].filled-in:disabled:checked + span:not(.lever):after { + background-color: #949494; + border-color: #949494; +} + +/* Switch + ========================================================================== */ +.switch, +.switch * { + -webkit-tap-highlight-color: transparent; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.switch label { + cursor: pointer; +} + +.switch label input[type=checkbox] { + opacity: 0; + width: 0; + height: 0; +} + +.switch label input[type=checkbox]:checked + .lever { + background-color: #84c7c1; +} + +.switch label input[type=checkbox]:checked + .lever:before, .switch label input[type=checkbox]:checked + .lever:after { + left: 18px; +} + +.switch label input[type=checkbox]:checked + .lever:after { + background-color: #26a69a; +} + +.switch label .lever { + content: ""; + display: inline-block; + position: relative; + width: 36px; + height: 14px; + background-color: rgba(0, 0, 0, 0.38); + border-radius: 15px; + margin-right: 10px; + -webkit-transition: background 0.3s ease; + transition: background 0.3s ease; + vertical-align: middle; + margin: 0 16px; +} + +.switch label .lever:before, .switch label .lever:after { + content: ""; + position: absolute; + display: inline-block; + width: 20px; + height: 20px; + border-radius: 50%; + left: 0; + top: -3px; + -webkit-transition: left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease; + transition: left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease; + transition: left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease; + transition: left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease; +} + +.switch label .lever:before { + background-color: rgba(38, 166, 154, 0.15); +} + +.switch label .lever:after { + background-color: #F1F1F1; + -webkit-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); +} + +input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before, +input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before { + -webkit-transform: scale(2.4); + transform: scale(2.4); + background-color: rgba(38, 166, 154, 0.15); +} + +input[type=checkbox]:not(:disabled) ~ .lever:active:before, +input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before { + -webkit-transform: scale(2.4); + transform: scale(2.4); + background-color: rgba(0, 0, 0, 0.08); +} + +.switch input[type=checkbox][disabled] + .lever { + cursor: default; + background-color: rgba(0, 0, 0, 0.12); +} + +.switch label input[type=checkbox][disabled] + .lever:after, +.switch label input[type=checkbox][disabled]:checked + .lever:after { + background-color: #949494; +} + +/* Select Field + ========================================================================== */ +select { + display: none; +} + +select.browser-default { + display: block; +} + +select { + background-color: rgba(255, 255, 255, 0.9); + width: 100%; + padding: 5px; + border: 1px solid #f2f2f2; + border-radius: 2px; + height: 3rem; +} + +.select-label { + position: absolute; +} + +.select-wrapper { + position: relative; +} + +.select-wrapper.valid + label, +.select-wrapper.invalid + label { + width: 100%; + pointer-events: none; +} + +.select-wrapper input.select-dropdown { + position: relative; + cursor: pointer; + background-color: transparent; + border: none; + border-bottom: 1px solid #9e9e9e; + outline: none; + height: 3rem; + line-height: 3rem; + width: 100%; + font-size: 16px; + margin: 0 0 8px 0; + padding: 0; + display: block; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + z-index: 1; +} + +.select-wrapper input.select-dropdown:focus { + border-bottom: 1px solid #26a69a; +} + +.select-wrapper .caret { + position: absolute; + right: 0; + top: 0; + bottom: 0; + margin: auto 0; + z-index: 0; + fill: rgba(0, 0, 0, 0.87); +} + +.select-wrapper + label { + position: absolute; + top: -26px; + font-size: 0.8rem; +} + +select:disabled { + color: rgba(0, 0, 0, 0.42); +} + +.select-wrapper.disabled + label { + color: rgba(0, 0, 0, 0.42); +} + +.select-wrapper.disabled .caret { + fill: rgba(0, 0, 0, 0.42); +} + +.select-wrapper input.select-dropdown:disabled { + color: rgba(0, 0, 0, 0.42); + cursor: default; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.select-wrapper i { + color: rgba(0, 0, 0, 0.3); +} + +.select-dropdown li.disabled, +.select-dropdown li.disabled > span, +.select-dropdown li.optgroup { + color: rgba(0, 0, 0, 0.3); + background-color: transparent; +} + +body.keyboard-focused .select-dropdown.dropdown-content li:focus { + background-color: rgba(0, 0, 0, 0.08); +} + +.select-dropdown.dropdown-content li:hover { + background-color: rgba(0, 0, 0, 0.08); +} + +.select-dropdown.dropdown-content li.selected { + background-color: rgba(0, 0, 0, 0.03); +} + +.prefix ~ .select-wrapper { + margin-left: 3rem; + width: 92%; + width: calc(100% - 3rem); +} + +.prefix ~ label { + margin-left: 3rem; +} + +.select-dropdown li img { + height: 40px; + width: 40px; + margin: 5px 15px; + float: right; +} + +.select-dropdown li.optgroup { + border-top: 1px solid #eee; +} + +.select-dropdown li.optgroup.selected > span { + color: rgba(0, 0, 0, 0.7); +} + +.select-dropdown li.optgroup > span { + color: rgba(0, 0, 0, 0.4); +} + +.select-dropdown li.optgroup ~ li.optgroup-option { + padding-left: 1rem; +} + +/* File Input + ========================================================================== */ +.file-field { + position: relative; +} + +.file-field .file-path-wrapper { + overflow: hidden; + padding-left: 10px; +} + +.file-field input.file-path { + width: 100%; +} + +.file-field .btn, .file-field .btn-large, .file-field .btn-small { + float: left; + height: 3rem; + line-height: 3rem; +} + +.file-field span { + cursor: pointer; +} + +.file-field input[type=file] { + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + width: 100%; + margin: 0; + padding: 0; + font-size: 20px; + cursor: pointer; + opacity: 0; + filter: alpha(opacity=0); +} + +.file-field input[type=file]::-webkit-file-upload-button { + display: none; +} + +/* Range + ========================================================================== */ +.range-field { + position: relative; +} + +input[type=range], +input[type=range] + .thumb { + cursor: pointer; +} + +input[type=range] { + position: relative; + background-color: transparent; + border: none; + outline: none; + width: 100%; + margin: 15px 0; + padding: 0; +} + +input[type=range]:focus { + outline: none; +} + +input[type=range] + .thumb { + position: absolute; + top: 10px; + left: 0; + border: none; + height: 0; + width: 0; + border-radius: 50%; + background-color: #26a69a; + margin-left: 7px; + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); +} + +input[type=range] + .thumb .value { + display: block; + width: 30px; + text-align: center; + color: #26a69a; + font-size: 0; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); +} + +input[type=range] + .thumb.active { + border-radius: 50% 50% 50% 0; +} + +input[type=range] + .thumb.active .value { + color: #fff; + margin-left: -1px; + margin-top: 8px; + font-size: 10px; +} + +input[type=range] { + -webkit-appearance: none; +} + +input[type=range]::-webkit-slider-runnable-track { + height: 3px; + background: #c2c0c2; + border: none; +} + +input[type=range]::-webkit-slider-thumb { + border: none; + height: 14px; + width: 14px; + border-radius: 50%; + background: #26a69a; + -webkit-transition: -webkit-box-shadow .3s; + transition: -webkit-box-shadow .3s; + transition: box-shadow .3s; + transition: box-shadow .3s, -webkit-box-shadow .3s; + -webkit-appearance: none; + background-color: #26a69a; + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + margin: -5px 0 0 0; +} + +.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb { + -webkit-box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26); + box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26); +} + +input[type=range] { + /* fix for FF unable to apply focus style bug */ + border: 1px solid white; + /*required for proper track sizing in FF*/ +} + +input[type=range]::-moz-range-track { + height: 3px; + background: #c2c0c2; + border: none; +} + +input[type=range]::-moz-focus-inner { + border: 0; +} + +input[type=range]::-moz-range-thumb { + border: none; + height: 14px; + width: 14px; + border-radius: 50%; + background: #26a69a; + -webkit-transition: -webkit-box-shadow .3s; + transition: -webkit-box-shadow .3s; + transition: box-shadow .3s; + transition: box-shadow .3s, -webkit-box-shadow .3s; + margin-top: -5px; +} + +input[type=range]:-moz-focusring { + outline: 1px solid #fff; + outline-offset: -1px; +} + +.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb { + box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26); +} + +input[type=range]::-ms-track { + height: 3px; + background: transparent; + border-color: transparent; + border-width: 6px 0; + /*remove default tick marks*/ + color: transparent; +} + +input[type=range]::-ms-fill-lower { + background: #777; +} + +input[type=range]::-ms-fill-upper { + background: #ddd; +} + +input[type=range]::-ms-thumb { + border: none; + height: 14px; + width: 14px; + border-radius: 50%; + background: #26a69a; + -webkit-transition: -webkit-box-shadow .3s; + transition: -webkit-box-shadow .3s; + transition: box-shadow .3s; + transition: box-shadow .3s, -webkit-box-shadow .3s; +} + +.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb { + box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26); +} + +/*************** + Nav List +***************/ +.table-of-contents.fixed { + position: fixed; +} + +.table-of-contents li { + padding: 2px 0; +} + +.table-of-contents a { + display: inline-block; + font-weight: 300; + color: #757575; + padding-left: 16px; + height: 1.5rem; + line-height: 1.5rem; + letter-spacing: .4; + display: inline-block; +} + +.table-of-contents a:hover { + color: #a8a8a8; + padding-left: 15px; + border-left: 1px solid #ee6e73; +} + +.table-of-contents a.active { + font-weight: 500; + padding-left: 14px; + border-left: 2px solid #ee6e73; +} + +.sidenav { + position: fixed; + width: 300px; + left: 0; + top: 0; + margin: 0; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + height: 100%; + height: calc(100% + 60px); + height: -moz-calc(100%); + padding-bottom: 60px; + background-color: #fff; + z-index: 999; + overflow-y: auto; + will-change: transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform: translateX(-105%); + transform: translateX(-105%); +} + +.sidenav.right-aligned { + right: 0; + -webkit-transform: translateX(105%); + transform: translateX(105%); + left: auto; + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +.sidenav .collapsible { + margin: 0; +} + +.sidenav li { + float: none; + line-height: 48px; +} + +.sidenav li.active { + background-color: rgba(0, 0, 0, 0.05); +} + +.sidenav li > a { + color: rgba(0, 0, 0, 0.87); + display: block; + font-size: 14px; + font-weight: 500; + height: 48px; + line-height: 48px; + padding: 0 32px; +} + +.sidenav li > a:hover { + background-color: rgba(0, 0, 0, 0.05); +} + +.sidenav li > a.btn, .sidenav li > a.btn-large, .sidenav li > a.btn-small, .sidenav li > a.btn-large, .sidenav li > a.btn-flat, .sidenav li > a.btn-floating { + margin: 10px 15px; +} + +.sidenav li > a.btn, .sidenav li > a.btn-large, .sidenav li > a.btn-small, .sidenav li > a.btn-large, .sidenav li > a.btn-floating { + color: #fff; +} + +.sidenav li > a.btn-flat { + color: #343434; +} + +.sidenav li > a.btn:hover, .sidenav li > a.btn-large:hover, .sidenav li > a.btn-small:hover, .sidenav li > a.btn-large:hover { + background-color: #2bbbad; +} + +.sidenav li > a.btn-floating:hover { + background-color: #26a69a; +} + +.sidenav li > a > i, +.sidenav li > a > [class^="mdi-"], .sidenav li > a li > a > [class*="mdi-"], +.sidenav li > a > i.material-icons { + float: left; + height: 48px; + line-height: 48px; + margin: 0 32px 0 0; + width: 24px; + color: rgba(0, 0, 0, 0.54); +} + +.sidenav .divider { + margin: 8px 0 0 0; +} + +.sidenav .subheader { + cursor: initial; + pointer-events: none; + color: rgba(0, 0, 0, 0.54); + font-size: 14px; + font-weight: 500; + line-height: 48px; +} + +.sidenav .subheader:hover { + background-color: transparent; +} + +.sidenav .user-view { + position: relative; + padding: 32px 32px 0; + margin-bottom: 8px; +} + +.sidenav .user-view > a { + height: auto; + padding: 0; +} + +.sidenav .user-view > a:hover { + background-color: transparent; +} + +.sidenav .user-view .background { + overflow: hidden; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: -1; +} + +.sidenav .user-view .circle, .sidenav .user-view .name, .sidenav .user-view .email { + display: block; +} + +.sidenav .user-view .circle { + height: 64px; + width: 64px; +} + +.sidenav .user-view .name, +.sidenav .user-view .email { + font-size: 14px; + line-height: 24px; +} + +.sidenav .user-view .name { + margin-top: 16px; + font-weight: 500; +} + +.sidenav .user-view .email { + padding-bottom: 16px; + font-weight: 400; +} + +.drag-target { + height: 100%; + width: 10px; + position: fixed; + top: 0; + z-index: 998; +} + +.drag-target.right-aligned { + right: 0; +} + +.sidenav.sidenav-fixed { + left: 0; + -webkit-transform: translateX(0); + transform: translateX(0); + position: fixed; +} + +.sidenav.sidenav-fixed.right-aligned { + right: 0; + left: auto; +} + +@media only screen and (max-width: 992px) { + .sidenav.sidenav-fixed { + -webkit-transform: translateX(-105%); + transform: translateX(-105%); + } + .sidenav.sidenav-fixed.right-aligned { + -webkit-transform: translateX(105%); + transform: translateX(105%); + } + .sidenav > a { + padding: 0 16px; + } + .sidenav .user-view { + padding: 16px 16px 0; + } +} + +.sidenav .collapsible-body > ul:not(.collapsible) > li.active, +.sidenav.sidenav-fixed .collapsible-body > ul:not(.collapsible) > li.active { + background-color: #ee6e73; +} + +.sidenav .collapsible-body > ul:not(.collapsible) > li.active a, +.sidenav.sidenav-fixed .collapsible-body > ul:not(.collapsible) > li.active a { + color: #fff; +} + +.sidenav .collapsible-body { + padding: 0; +} + +.sidenav-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + opacity: 0; + height: 120vh; + background-color: rgba(0, 0, 0, 0.5); + z-index: 997; + display: none; +} + +/* + @license + Copyright (c) 2014 The Polymer Project Authors. All rights reserved. + This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt + The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt + The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt + Code distributed by Google as part of the polymer project is also + subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt + */ +/**************************/ +/* STYLES FOR THE SPINNER */ +/**************************/ +/* + * Constants: + * STROKEWIDTH = 3px + * ARCSIZE = 270 degrees (amount of circle the arc takes up) + * ARCTIME = 1333ms (time it takes to expand and contract arc) + * ARCSTARTROT = 216 degrees (how much the start location of the arc + * should rotate each time, 216 gives us a + * 5 pointed star shape (it's 360/5 * 3). + * For a 7 pointed star, we might do + * 360/7 * 3 = 154.286) + * CONTAINERWIDTH = 28px + * SHRINK_TIME = 400ms + */ +.preloader-wrapper { + display: inline-block; + position: relative; + width: 50px; + height: 50px; +} + +.preloader-wrapper.small { + width: 36px; + height: 36px; +} + +.preloader-wrapper.big { + width: 64px; + height: 64px; +} + +.preloader-wrapper.active { + /* duration: 360 * ARCTIME / (ARCSTARTROT + (360-ARCSIZE)) */ + -webkit-animation: container-rotate 1568ms linear infinite; + animation: container-rotate 1568ms linear infinite; +} + +@-webkit-keyframes container-rotate { + to { + -webkit-transform: rotate(360deg); + } +} + +@keyframes container-rotate { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.spinner-layer { + position: absolute; + width: 100%; + height: 100%; + opacity: 0; + border-color: #26a69a; +} + +.spinner-blue, +.spinner-blue-only { + border-color: #4285f4; +} + +.spinner-red, +.spinner-red-only { + border-color: #db4437; +} + +.spinner-yellow, +.spinner-yellow-only { + border-color: #f4b400; +} + +.spinner-green, +.spinner-green-only { + border-color: #0f9d58; +} + +/** + * IMPORTANT NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee): + * + * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't + * guarantee that the animation will start _exactly_ after that value. So we avoid using + * animation-delay and instead set custom keyframes for each color (as redundant as it + * seems). + * + * We write out each animation in full (instead of separating animation-name, + * animation-duration, etc.) because under the polyfill, Safari does not recognize those + * specific properties properly, treats them as -webkit-animation, and overrides the + * other animation rules. See https://github.com/Polymer/platform/issues/53. + */ +.active .spinner-layer.spinner-blue { + /* durations: 4 * ARCTIME */ + -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; +} + +.active .spinner-layer.spinner-red { + /* durations: 4 * ARCTIME */ + -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; +} + +.active .spinner-layer.spinner-yellow { + /* durations: 4 * ARCTIME */ + -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; +} + +.active .spinner-layer.spinner-green { + /* durations: 4 * ARCTIME */ + -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; +} + +.active .spinner-layer, +.active .spinner-layer.spinner-blue-only, +.active .spinner-layer.spinner-red-only, +.active .spinner-layer.spinner-yellow-only, +.active .spinner-layer.spinner-green-only { + /* durations: 4 * ARCTIME */ + opacity: 1; + -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; +} + +@-webkit-keyframes fill-unfill-rotate { + 12.5% { + -webkit-transform: rotate(135deg); + } + /* 0.5 * ARCSIZE */ + 25% { + -webkit-transform: rotate(270deg); + } + /* 1 * ARCSIZE */ + 37.5% { + -webkit-transform: rotate(405deg); + } + /* 1.5 * ARCSIZE */ + 50% { + -webkit-transform: rotate(540deg); + } + /* 2 * ARCSIZE */ + 62.5% { + -webkit-transform: rotate(675deg); + } + /* 2.5 * ARCSIZE */ + 75% { + -webkit-transform: rotate(810deg); + } + /* 3 * ARCSIZE */ + 87.5% { + -webkit-transform: rotate(945deg); + } + /* 3.5 * ARCSIZE */ + to { + -webkit-transform: rotate(1080deg); + } + /* 4 * ARCSIZE */ +} + +@keyframes fill-unfill-rotate { + 12.5% { + -webkit-transform: rotate(135deg); + transform: rotate(135deg); + } + /* 0.5 * ARCSIZE */ + 25% { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); + } + /* 1 * ARCSIZE */ + 37.5% { + -webkit-transform: rotate(405deg); + transform: rotate(405deg); + } + /* 1.5 * ARCSIZE */ + 50% { + -webkit-transform: rotate(540deg); + transform: rotate(540deg); + } + /* 2 * ARCSIZE */ + 62.5% { + -webkit-transform: rotate(675deg); + transform: rotate(675deg); + } + /* 2.5 * ARCSIZE */ + 75% { + -webkit-transform: rotate(810deg); + transform: rotate(810deg); + } + /* 3 * ARCSIZE */ + 87.5% { + -webkit-transform: rotate(945deg); + transform: rotate(945deg); + } + /* 3.5 * ARCSIZE */ + to { + -webkit-transform: rotate(1080deg); + transform: rotate(1080deg); + } + /* 4 * ARCSIZE */ +} + +@-webkit-keyframes blue-fade-in-out { + from { + opacity: 1; + } + 25% { + opacity: 1; + } + 26% { + opacity: 0; + } + 89% { + opacity: 0; + } + 90% { + opacity: 1; + } + 100% { + opacity: 1; + } +} + +@keyframes blue-fade-in-out { + from { + opacity: 1; + } + 25% { + opacity: 1; + } + 26% { + opacity: 0; + } + 89% { + opacity: 0; + } + 90% { + opacity: 1; + } + 100% { + opacity: 1; + } +} + +@-webkit-keyframes red-fade-in-out { + from { + opacity: 0; + } + 15% { + opacity: 0; + } + 25% { + opacity: 1; + } + 50% { + opacity: 1; + } + 51% { + opacity: 0; + } +} + +@keyframes red-fade-in-out { + from { + opacity: 0; + } + 15% { + opacity: 0; + } + 25% { + opacity: 1; + } + 50% { + opacity: 1; + } + 51% { + opacity: 0; + } +} + +@-webkit-keyframes yellow-fade-in-out { + from { + opacity: 0; + } + 40% { + opacity: 0; + } + 50% { + opacity: 1; + } + 75% { + opacity: 1; + } + 76% { + opacity: 0; + } +} + +@keyframes yellow-fade-in-out { + from { + opacity: 0; + } + 40% { + opacity: 0; + } + 50% { + opacity: 1; + } + 75% { + opacity: 1; + } + 76% { + opacity: 0; + } +} + +@-webkit-keyframes green-fade-in-out { + from { + opacity: 0; + } + 65% { + opacity: 0; + } + 75% { + opacity: 1; + } + 90% { + opacity: 1; + } + 100% { + opacity: 0; + } +} + +@keyframes green-fade-in-out { + from { + opacity: 0; + } + 65% { + opacity: 0; + } + 75% { + opacity: 1; + } + 90% { + opacity: 1; + } + 100% { + opacity: 0; + } +} + +/** + * Patch the gap that appear between the two adjacent div.circle-clipper while the + * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11). + */ +.gap-patch { + position: absolute; + top: 0; + left: 45%; + width: 10%; + height: 100%; + overflow: hidden; + border-color: inherit; +} + +.gap-patch .circle { + width: 1000%; + left: -450%; +} + +.circle-clipper { + display: inline-block; + position: relative; + width: 50%; + height: 100%; + overflow: hidden; + border-color: inherit; +} + +.circle-clipper .circle { + width: 200%; + height: 100%; + border-width: 3px; + /* STROKEWIDTH */ + border-style: solid; + border-color: inherit; + border-bottom-color: transparent !important; + border-radius: 50%; + -webkit-animation: none; + animation: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; +} + +.circle-clipper.left .circle { + left: 0; + border-right-color: transparent !important; + -webkit-transform: rotate(129deg); + transform: rotate(129deg); +} + +.circle-clipper.right .circle { + left: -100%; + border-left-color: transparent !important; + -webkit-transform: rotate(-129deg); + transform: rotate(-129deg); +} + +.active .circle-clipper.left .circle { + /* duration: ARCTIME */ + -webkit-animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; +} + +.active .circle-clipper.right .circle { + /* duration: ARCTIME */ + -webkit-animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; +} + +@-webkit-keyframes left-spin { + from { + -webkit-transform: rotate(130deg); + } + 50% { + -webkit-transform: rotate(-5deg); + } + to { + -webkit-transform: rotate(130deg); + } +} + +@keyframes left-spin { + from { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); + } + 50% { + -webkit-transform: rotate(-5deg); + transform: rotate(-5deg); + } + to { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); + } +} + +@-webkit-keyframes right-spin { + from { + -webkit-transform: rotate(-130deg); + } + 50% { + -webkit-transform: rotate(5deg); + } + to { + -webkit-transform: rotate(-130deg); + } +} + +@keyframes right-spin { + from { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); + } + 50% { + -webkit-transform: rotate(5deg); + transform: rotate(5deg); + } + to { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); + } +} + +#spinnerContainer.cooldown { + /* duration: SHRINK_TIME */ + -webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1); + animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1); +} + +@-webkit-keyframes fade-out { + from { + opacity: 1; + } + to { + opacity: 0; + } +} + +@keyframes fade-out { + from { + opacity: 1; + } + to { + opacity: 0; + } +} + +.slider { + position: relative; + height: 400px; + width: 100%; +} + +.slider.fullscreen { + height: 100%; + width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.slider.fullscreen ul.slides { + height: 100%; +} + +.slider.fullscreen ul.indicators { + z-index: 2; + bottom: 30px; +} + +.slider .slides { + background-color: #9e9e9e; + margin: 0; + height: 400px; +} + +.slider .slides li { + opacity: 0; + position: absolute; + top: 0; + left: 0; + z-index: 1; + width: 100%; + height: inherit; + overflow: hidden; +} + +.slider .slides li img { + height: 100%; + width: 100%; + background-size: cover; + background-position: center; +} + +.slider .slides li .caption { + color: #fff; + position: absolute; + top: 15%; + left: 15%; + width: 70%; + opacity: 0; +} + +.slider .slides li .caption p { + color: #e0e0e0; +} + +.slider .slides li.active { + z-index: 2; +} + +.slider .indicators { + position: absolute; + text-align: center; + left: 0; + right: 0; + bottom: 0; + margin: 0; +} + +.slider .indicators .indicator-item { + display: inline-block; + position: relative; + cursor: pointer; + height: 16px; + width: 16px; + margin: 0 12px; + background-color: #e0e0e0; + -webkit-transition: background-color .3s; + transition: background-color .3s; + border-radius: 50%; +} + +.slider .indicators .indicator-item.active { + background-color: #4CAF50; +} + +.carousel { + overflow: hidden; + position: relative; + width: 100%; + height: 400px; + -webkit-perspective: 500px; + perspective: 500px; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + -webkit-transform-origin: 0% 50%; + transform-origin: 0% 50%; +} + +.carousel.carousel-slider { + top: 0; + left: 0; +} + +.carousel.carousel-slider .carousel-fixed-item { + position: absolute; + left: 0; + right: 0; + bottom: 20px; + z-index: 1; +} + +.carousel.carousel-slider .carousel-fixed-item.with-indicators { + bottom: 68px; +} + +.carousel.carousel-slider .carousel-item { + width: 100%; + height: 100%; + min-height: 400px; + position: absolute; + top: 0; + left: 0; +} + +.carousel.carousel-slider .carousel-item h2 { + font-size: 24px; + font-weight: 500; + line-height: 32px; +} + +.carousel.carousel-slider .carousel-item p { + font-size: 15px; +} + +.carousel .carousel-item { + visibility: hidden; + width: 200px; + height: 200px; + position: absolute; + top: 0; + left: 0; +} + +.carousel .carousel-item > img { + width: 100%; +} + +.carousel .indicators { + position: absolute; + text-align: center; + left: 0; + right: 0; + bottom: 0; + margin: 0; +} + +.carousel .indicators .indicator-item { + display: inline-block; + position: relative; + cursor: pointer; + height: 8px; + width: 8px; + margin: 24px 4px; + background-color: rgba(255, 255, 255, 0.5); + -webkit-transition: background-color .3s; + transition: background-color .3s; + border-radius: 50%; +} + +.carousel .indicators .indicator-item.active { + background-color: #fff; +} + +.carousel.scrolling .carousel-item .materialboxed, +.carousel .carousel-item:not(.active) .materialboxed { + pointer-events: none; +} + +.tap-target-wrapper { + width: 800px; + height: 800px; + position: fixed; + z-index: 1000; + visibility: hidden; + -webkit-transition: visibility 0s .3s; + transition: visibility 0s .3s; +} + +.tap-target-wrapper.open { + visibility: visible; + -webkit-transition: visibility 0s; + transition: visibility 0s; +} + +.tap-target-wrapper.open .tap-target { + -webkit-transform: scale(1); + transform: scale(1); + opacity: .95; + -webkit-transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1); + transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1); + transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1); + transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1); +} + +.tap-target-wrapper.open .tap-target-wave::before { + -webkit-transform: scale(1); + transform: scale(1); +} + +.tap-target-wrapper.open .tap-target-wave::after { + visibility: visible; + -webkit-animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite; + animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite; + -webkit-transition: opacity .3s, visibility 0s 1s, -webkit-transform .3s; + transition: opacity .3s, visibility 0s 1s, -webkit-transform .3s; + transition: opacity .3s, transform .3s, visibility 0s 1s; + transition: opacity .3s, transform .3s, visibility 0s 1s, -webkit-transform .3s; +} + +.tap-target { + position: absolute; + font-size: 1rem; + border-radius: 50%; + background-color: #ee6e73; + -webkit-box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.14), 0 10px 50px 0 rgba(0, 0, 0, 0.12), 0 30px 10px -20px rgba(0, 0, 0, 0.2); + box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.14), 0 10px 50px 0 rgba(0, 0, 0, 0.12), 0 30px 10px -20px rgba(0, 0, 0, 0.2); + width: 100%; + height: 100%; + opacity: 0; + -webkit-transform: scale(0); + transform: scale(0); + -webkit-transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1); + transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1); + transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1); + transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1); +} + +.tap-target-content { + position: relative; + display: table-cell; +} + +.tap-target-wave { + position: absolute; + border-radius: 50%; + z-index: 10001; +} + +.tap-target-wave::before, .tap-target-wave::after { + content: ''; + display: block; + position: absolute; + width: 100%; + height: 100%; + border-radius: 50%; + background-color: #ffffff; +} + +.tap-target-wave::before { + -webkit-transform: scale(0); + transform: scale(0); + -webkit-transition: -webkit-transform .3s; + transition: -webkit-transform .3s; + transition: transform .3s; + transition: transform .3s, -webkit-transform .3s; +} + +.tap-target-wave::after { + visibility: hidden; + -webkit-transition: opacity .3s, visibility 0s, -webkit-transform .3s; + transition: opacity .3s, visibility 0s, -webkit-transform .3s; + transition: opacity .3s, transform .3s, visibility 0s; + transition: opacity .3s, transform .3s, visibility 0s, -webkit-transform .3s; + z-index: -1; +} + +.tap-target-origin { + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + z-index: 10002; + position: absolute !important; +} + +.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small), .tap-target-origin:not(.btn):not(.btn-large):not(.btn-small):hover { + background: none; +} + +@media only screen and (max-width: 600px) { + .tap-target, .tap-target-wrapper { + width: 600px; + height: 600px; + } +} + +.pulse { + overflow: visible; + position: relative; +} + +.pulse::before { + content: ''; + display: block; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + background-color: inherit; + border-radius: inherit; + -webkit-transition: opacity .3s, -webkit-transform .3s; + transition: opacity .3s, -webkit-transform .3s; + transition: opacity .3s, transform .3s; + transition: opacity .3s, transform .3s, -webkit-transform .3s; + -webkit-animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite; + animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite; + z-index: -1; +} + +@-webkit-keyframes pulse-animation { + 0% { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + 50% { + opacity: 0; + -webkit-transform: scale(1.5); + transform: scale(1.5); + } + 100% { + opacity: 0; + -webkit-transform: scale(1.5); + transform: scale(1.5); + } +} + +@keyframes pulse-animation { + 0% { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + 50% { + opacity: 0; + -webkit-transform: scale(1.5); + transform: scale(1.5); + } + 100% { + opacity: 0; + -webkit-transform: scale(1.5); + transform: scale(1.5); + } +} + +/* Modal */ +.datepicker-modal { + max-width: 325px; + min-width: 300px; + max-height: none; +} + +.datepicker-container.modal-content { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + padding: 0; +} + +.datepicker-controls { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + width: 280px; + margin: 0 auto; +} + +.datepicker-controls .selects-container { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; +} + +.datepicker-controls .select-wrapper input { + border-bottom: none; + text-align: center; + margin: 0; +} + +.datepicker-controls .select-wrapper input:focus { + border-bottom: none; +} + +.datepicker-controls .select-wrapper .caret { + display: none; +} + +.datepicker-controls .select-year input { + width: 50px; +} + +.datepicker-controls .select-month input { + width: 70px; +} + +.month-prev, .month-next { + margin-top: 4px; + cursor: pointer; + background-color: transparent; + border: none; +} + +/* Date Display */ +.datepicker-date-display { + -webkit-box-flex: 1; + -webkit-flex: 1 auto; + -ms-flex: 1 auto; + flex: 1 auto; + background-color: #26a69a; + color: #fff; + padding: 20px 22px; + font-weight: 500; +} + +.datepicker-date-display .year-text { + display: block; + font-size: 1.5rem; + line-height: 25px; + color: rgba(255, 255, 255, 0.7); +} + +.datepicker-date-display .date-text { + display: block; + font-size: 2.8rem; + line-height: 47px; + font-weight: 500; +} + +/* Calendar */ +.datepicker-calendar-container { + -webkit-box-flex: 2.5; + -webkit-flex: 2.5 auto; + -ms-flex: 2.5 auto; + flex: 2.5 auto; +} + +.datepicker-table { + width: 280px; + font-size: 1rem; + margin: 0 auto; +} + +.datepicker-table thead { + border-bottom: none; +} + +.datepicker-table th { + padding: 10px 5px; + text-align: center; +} + +.datepicker-table tr { + border: none; +} + +.datepicker-table abbr { + text-decoration: none; + color: #999; +} + +.datepicker-table td { + border-radius: 50%; + padding: 0; +} + +.datepicker-table td.is-today { + color: #26a69a; +} + +.datepicker-table td.is-selected { + background-color: #26a69a; + color: #fff; +} + +.datepicker-table td.is-outside-current-month, .datepicker-table td.is-disabled { + color: rgba(0, 0, 0, 0.3); + pointer-events: none; +} + +.datepicker-day-button { + background-color: transparent; + border: none; + line-height: 38px; + display: block; + width: 100%; + border-radius: 50%; + padding: 0 5px; + cursor: pointer; + color: inherit; +} + +.datepicker-day-button:focus { + background-color: rgba(43, 161, 150, 0.25); +} + +/* Footer */ +.datepicker-footer { + width: 280px; + margin: 0 auto; + padding-bottom: 5px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.datepicker-cancel, +.datepicker-clear, +.datepicker-today, +.datepicker-done { + color: #26a69a; + padding: 0 1rem; +} + +.datepicker-clear { + color: #F44336; +} + +/* Media Queries */ +@media only screen and (min-width: 601px) { + .datepicker-modal { + max-width: 625px; + } + .datepicker-container.modal-content { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + } + .datepicker-date-display { + -webkit-box-flex: 0; + -webkit-flex: 0 1 270px; + -ms-flex: 0 1 270px; + flex: 0 1 270px; + } + .datepicker-controls, + .datepicker-table, + .datepicker-footer { + width: 320px; + } + .datepicker-day-button { + line-height: 44px; + } +} + +/* Timepicker Containers */ +.timepicker-modal { + max-width: 325px; + max-height: none; +} + +.timepicker-container.modal-content { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + padding: 0; +} + +.text-primary { + color: white; +} + +/* Clock Digital Display */ +.timepicker-digital-display { + -webkit-box-flex: 1; + -webkit-flex: 1 auto; + -ms-flex: 1 auto; + flex: 1 auto; + background-color: #26a69a; + padding: 10px; + font-weight: 300; +} + +.timepicker-text-container { + font-size: 4rem; + font-weight: bold; + text-align: center; + color: rgba(255, 255, 255, 0.6); + font-weight: 400; + position: relative; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.timepicker-span-hours, +.timepicker-span-minutes, +.timepicker-span-am-pm div { + cursor: pointer; +} + +.timepicker-span-hours { + margin-right: 3px; +} + +.timepicker-span-minutes { + margin-left: 3px; +} + +.timepicker-display-am-pm { + font-size: 1.3rem; + position: absolute; + right: 1rem; + bottom: 1rem; + font-weight: 400; +} + +/* Analog Clock Display */ +.timepicker-analog-display { + -webkit-box-flex: 2.5; + -webkit-flex: 2.5 auto; + -ms-flex: 2.5 auto; + flex: 2.5 auto; +} + +.timepicker-plate { + background-color: #eee; + border-radius: 50%; + width: 270px; + height: 270px; + overflow: visible; + position: relative; + margin: auto; + margin-top: 25px; + margin-bottom: 5px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.timepicker-canvas, +.timepicker-dial { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; +} + +.timepicker-minutes { + visibility: hidden; +} + +.timepicker-tick { + border-radius: 50%; + color: rgba(0, 0, 0, 0.87); + line-height: 40px; + text-align: center; + width: 40px; + height: 40px; + position: absolute; + cursor: pointer; + font-size: 15px; +} + +.timepicker-tick.active, +.timepicker-tick:hover { + background-color: rgba(38, 166, 154, 0.25); +} + +.timepicker-dial { + -webkit-transition: opacity 350ms, -webkit-transform 350ms; + transition: opacity 350ms, -webkit-transform 350ms; + transition: transform 350ms, opacity 350ms; + transition: transform 350ms, opacity 350ms, -webkit-transform 350ms; +} + +.timepicker-dial-out { + opacity: 0; +} + +.timepicker-dial-out.timepicker-hours { + -webkit-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} + +.timepicker-dial-out.timepicker-minutes { + -webkit-transform: scale(0.8, 0.8); + transform: scale(0.8, 0.8); +} + +.timepicker-canvas { + -webkit-transition: opacity 175ms; + transition: opacity 175ms; +} + +.timepicker-canvas line { + stroke: #26a69a; + stroke-width: 4; + stroke-linecap: round; +} + +.timepicker-canvas-out { + opacity: 0.25; +} + +.timepicker-canvas-bearing { + stroke: none; + fill: #26a69a; +} + +.timepicker-canvas-bg { + stroke: none; + fill: #26a69a; +} + +/* Footer */ +.timepicker-footer { + margin: 0 auto; + padding: 5px 1rem; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.timepicker-clear { + color: #F44336; +} + +.timepicker-close { + color: #26a69a; +} + +.timepicker-clear, +.timepicker-close { + padding: 0 20px; +} + +/* Media Queries */ +@media only screen and (min-width: 601px) { + .timepicker-modal { + max-width: 600px; + } + .timepicker-container.modal-content { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + } + .timepicker-text-container { + top: 32%; + } + .timepicker-display-am-pm { + position: relative; + right: auto; + bottom: auto; + text-align: center; + margin-top: 1.2rem; + } +} diff --git a/src/test/resources/realworld/materialize_1_0_0.min.css b/src/test/resources/realworld/materialize_1_0_0.min.css new file mode 100644 index 0000000..b1a5929 --- /dev/null +++ b/src/test/resources/realworld/materialize_1_0_0.min.css @@ -0,0 +1,13 @@ +/*! + * Materialize v1.0.0 (http://materializecss.com) + * Copyright 2014-2017 Materialize + * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE) + */ +.materialize-red{background-color:#e51c23 !important}.materialize-red-text{color:#e51c23 !important}.materialize-red.lighten-5{background-color:#fdeaeb !important}.materialize-red-text.text-lighten-5{color:#fdeaeb !important}.materialize-red.lighten-4{background-color:#f8c1c3 !important}.materialize-red-text.text-lighten-4{color:#f8c1c3 !important}.materialize-red.lighten-3{background-color:#f3989b !important}.materialize-red-text.text-lighten-3{color:#f3989b !important}.materialize-red.lighten-2{background-color:#ee6e73 !important}.materialize-red-text.text-lighten-2{color:#ee6e73 !important}.materialize-red.lighten-1{background-color:#ea454b !important}.materialize-red-text.text-lighten-1{color:#ea454b !important}.materialize-red.darken-1{background-color:#d0181e !important}.materialize-red-text.text-darken-1{color:#d0181e !important}.materialize-red.darken-2{background-color:#b9151b !important}.materialize-red-text.text-darken-2{color:#b9151b !important}.materialize-red.darken-3{background-color:#a21318 !important}.materialize-red-text.text-darken-3{color:#a21318 !important}.materialize-red.darken-4{background-color:#8b1014 !important}.materialize-red-text.text-darken-4{color:#8b1014 !important}.red{background-color:#F44336 !important}.red-text{color:#F44336 !important}.red.lighten-5{background-color:#FFEBEE !important}.red-text.text-lighten-5{color:#FFEBEE !important}.red.lighten-4{background-color:#FFCDD2 !important}.red-text.text-lighten-4{color:#FFCDD2 !important}.red.lighten-3{background-color:#EF9A9A !important}.red-text.text-lighten-3{color:#EF9A9A !important}.red.lighten-2{background-color:#E57373 !important}.red-text.text-lighten-2{color:#E57373 !important}.red.lighten-1{background-color:#EF5350 !important}.red-text.text-lighten-1{color:#EF5350 !important}.red.darken-1{background-color:#E53935 !important}.red-text.text-darken-1{color:#E53935 !important}.red.darken-2{background-color:#D32F2F !important}.red-text.text-darken-2{color:#D32F2F !important}.red.darken-3{background-color:#C62828 !important}.red-text.text-darken-3{color:#C62828 !important}.red.darken-4{background-color:#B71C1C !important}.red-text.text-darken-4{color:#B71C1C !important}.red.accent-1{background-color:#FF8A80 !important}.red-text.text-accent-1{color:#FF8A80 !important}.red.accent-2{background-color:#FF5252 !important}.red-text.text-accent-2{color:#FF5252 !important}.red.accent-3{background-color:#FF1744 !important}.red-text.text-accent-3{color:#FF1744 !important}.red.accent-4{background-color:#D50000 !important}.red-text.text-accent-4{color:#D50000 !important}.pink{background-color:#e91e63 !important}.pink-text{color:#e91e63 !important}.pink.lighten-5{background-color:#fce4ec !important}.pink-text.text-lighten-5{color:#fce4ec !important}.pink.lighten-4{background-color:#f8bbd0 !important}.pink-text.text-lighten-4{color:#f8bbd0 !important}.pink.lighten-3{background-color:#f48fb1 !important}.pink-text.text-lighten-3{color:#f48fb1 !important}.pink.lighten-2{background-color:#f06292 !important}.pink-text.text-lighten-2{color:#f06292 !important}.pink.lighten-1{background-color:#ec407a !important}.pink-text.text-lighten-1{color:#ec407a !important}.pink.darken-1{background-color:#d81b60 !important}.pink-text.text-darken-1{color:#d81b60 !important}.pink.darken-2{background-color:#c2185b !important}.pink-text.text-darken-2{color:#c2185b !important}.pink.darken-3{background-color:#ad1457 !important}.pink-text.text-darken-3{color:#ad1457 !important}.pink.darken-4{background-color:#880e4f !important}.pink-text.text-darken-4{color:#880e4f !important}.pink.accent-1{background-color:#ff80ab !important}.pink-text.text-accent-1{color:#ff80ab !important}.pink.accent-2{background-color:#ff4081 !important}.pink-text.text-accent-2{color:#ff4081 !important}.pink.accent-3{background-color:#f50057 !important}.pink-text.text-accent-3{color:#f50057 !important}.pink.accent-4{background-color:#c51162 !important}.pink-text.text-accent-4{color:#c51162 !important}.purple{background-color:#9c27b0 !important}.purple-text{color:#9c27b0 !important}.purple.lighten-5{background-color:#f3e5f5 !important}.purple-text.text-lighten-5{color:#f3e5f5 !important}.purple.lighten-4{background-color:#e1bee7 !important}.purple-text.text-lighten-4{color:#e1bee7 !important}.purple.lighten-3{background-color:#ce93d8 !important}.purple-text.text-lighten-3{color:#ce93d8 !important}.purple.lighten-2{background-color:#ba68c8 !important}.purple-text.text-lighten-2{color:#ba68c8 !important}.purple.lighten-1{background-color:#ab47bc !important}.purple-text.text-lighten-1{color:#ab47bc !important}.purple.darken-1{background-color:#8e24aa !important}.purple-text.text-darken-1{color:#8e24aa !important}.purple.darken-2{background-color:#7b1fa2 !important}.purple-text.text-darken-2{color:#7b1fa2 !important}.purple.darken-3{background-color:#6a1b9a !important}.purple-text.text-darken-3{color:#6a1b9a !important}.purple.darken-4{background-color:#4a148c !important}.purple-text.text-darken-4{color:#4a148c !important}.purple.accent-1{background-color:#ea80fc !important}.purple-text.text-accent-1{color:#ea80fc !important}.purple.accent-2{background-color:#e040fb !important}.purple-text.text-accent-2{color:#e040fb !important}.purple.accent-3{background-color:#d500f9 !important}.purple-text.text-accent-3{color:#d500f9 !important}.purple.accent-4{background-color:#a0f !important}.purple-text.text-accent-4{color:#a0f !important}.deep-purple{background-color:#673ab7 !important}.deep-purple-text{color:#673ab7 !important}.deep-purple.lighten-5{background-color:#ede7f6 !important}.deep-purple-text.text-lighten-5{color:#ede7f6 !important}.deep-purple.lighten-4{background-color:#d1c4e9 !important}.deep-purple-text.text-lighten-4{color:#d1c4e9 !important}.deep-purple.lighten-3{background-color:#b39ddb !important}.deep-purple-text.text-lighten-3{color:#b39ddb !important}.deep-purple.lighten-2{background-color:#9575cd !important}.deep-purple-text.text-lighten-2{color:#9575cd !important}.deep-purple.lighten-1{background-color:#7e57c2 !important}.deep-purple-text.text-lighten-1{color:#7e57c2 !important}.deep-purple.darken-1{background-color:#5e35b1 !important}.deep-purple-text.text-darken-1{color:#5e35b1 !important}.deep-purple.darken-2{background-color:#512da8 !important}.deep-purple-text.text-darken-2{color:#512da8 !important}.deep-purple.darken-3{background-color:#4527a0 !important}.deep-purple-text.text-darken-3{color:#4527a0 !important}.deep-purple.darken-4{background-color:#311b92 !important}.deep-purple-text.text-darken-4{color:#311b92 !important}.deep-purple.accent-1{background-color:#b388ff !important}.deep-purple-text.text-accent-1{color:#b388ff !important}.deep-purple.accent-2{background-color:#7c4dff !important}.deep-purple-text.text-accent-2{color:#7c4dff !important}.deep-purple.accent-3{background-color:#651fff !important}.deep-purple-text.text-accent-3{color:#651fff !important}.deep-purple.accent-4{background-color:#6200ea !important}.deep-purple-text.text-accent-4{color:#6200ea !important}.indigo{background-color:#3f51b5 !important}.indigo-text{color:#3f51b5 !important}.indigo.lighten-5{background-color:#e8eaf6 !important}.indigo-text.text-lighten-5{color:#e8eaf6 !important}.indigo.lighten-4{background-color:#c5cae9 !important}.indigo-text.text-lighten-4{color:#c5cae9 !important}.indigo.lighten-3{background-color:#9fa8da !important}.indigo-text.text-lighten-3{color:#9fa8da !important}.indigo.lighten-2{background-color:#7986cb !important}.indigo-text.text-lighten-2{color:#7986cb !important}.indigo.lighten-1{background-color:#5c6bc0 !important}.indigo-text.text-lighten-1{color:#5c6bc0 !important}.indigo.darken-1{background-color:#3949ab !important}.indigo-text.text-darken-1{color:#3949ab !important}.indigo.darken-2{background-color:#303f9f !important}.indigo-text.text-darken-2{color:#303f9f !important}.indigo.darken-3{background-color:#283593 !important}.indigo-text.text-darken-3{color:#283593 !important}.indigo.darken-4{background-color:#1a237e !important}.indigo-text.text-darken-4{color:#1a237e !important}.indigo.accent-1{background-color:#8c9eff !important}.indigo-text.text-accent-1{color:#8c9eff !important}.indigo.accent-2{background-color:#536dfe !important}.indigo-text.text-accent-2{color:#536dfe !important}.indigo.accent-3{background-color:#3d5afe !important}.indigo-text.text-accent-3{color:#3d5afe !important}.indigo.accent-4{background-color:#304ffe !important}.indigo-text.text-accent-4{color:#304ffe !important}.blue{background-color:#2196F3 !important}.blue-text{color:#2196F3 !important}.blue.lighten-5{background-color:#E3F2FD !important}.blue-text.text-lighten-5{color:#E3F2FD !important}.blue.lighten-4{background-color:#BBDEFB !important}.blue-text.text-lighten-4{color:#BBDEFB !important}.blue.lighten-3{background-color:#90CAF9 !important}.blue-text.text-lighten-3{color:#90CAF9 !important}.blue.lighten-2{background-color:#64B5F6 !important}.blue-text.text-lighten-2{color:#64B5F6 !important}.blue.lighten-1{background-color:#42A5F5 !important}.blue-text.text-lighten-1{color:#42A5F5 !important}.blue.darken-1{background-color:#1E88E5 !important}.blue-text.text-darken-1{color:#1E88E5 !important}.blue.darken-2{background-color:#1976D2 !important}.blue-text.text-darken-2{color:#1976D2 !important}.blue.darken-3{background-color:#1565C0 !important}.blue-text.text-darken-3{color:#1565C0 !important}.blue.darken-4{background-color:#0D47A1 !important}.blue-text.text-darken-4{color:#0D47A1 !important}.blue.accent-1{background-color:#82B1FF !important}.blue-text.text-accent-1{color:#82B1FF !important}.blue.accent-2{background-color:#448AFF !important}.blue-text.text-accent-2{color:#448AFF !important}.blue.accent-3{background-color:#2979FF !important}.blue-text.text-accent-3{color:#2979FF !important}.blue.accent-4{background-color:#2962FF !important}.blue-text.text-accent-4{color:#2962FF !important}.light-blue{background-color:#03a9f4 !important}.light-blue-text{color:#03a9f4 !important}.light-blue.lighten-5{background-color:#e1f5fe !important}.light-blue-text.text-lighten-5{color:#e1f5fe !important}.light-blue.lighten-4{background-color:#b3e5fc !important}.light-blue-text.text-lighten-4{color:#b3e5fc !important}.light-blue.lighten-3{background-color:#81d4fa !important}.light-blue-text.text-lighten-3{color:#81d4fa !important}.light-blue.lighten-2{background-color:#4fc3f7 !important}.light-blue-text.text-lighten-2{color:#4fc3f7 !important}.light-blue.lighten-1{background-color:#29b6f6 !important}.light-blue-text.text-lighten-1{color:#29b6f6 !important}.light-blue.darken-1{background-color:#039be5 !important}.light-blue-text.text-darken-1{color:#039be5 !important}.light-blue.darken-2{background-color:#0288d1 !important}.light-blue-text.text-darken-2{color:#0288d1 !important}.light-blue.darken-3{background-color:#0277bd !important}.light-blue-text.text-darken-3{color:#0277bd !important}.light-blue.darken-4{background-color:#01579b !important}.light-blue-text.text-darken-4{color:#01579b !important}.light-blue.accent-1{background-color:#80d8ff !important}.light-blue-text.text-accent-1{color:#80d8ff !important}.light-blue.accent-2{background-color:#40c4ff !important}.light-blue-text.text-accent-2{color:#40c4ff !important}.light-blue.accent-3{background-color:#00b0ff !important}.light-blue-text.text-accent-3{color:#00b0ff !important}.light-blue.accent-4{background-color:#0091ea !important}.light-blue-text.text-accent-4{color:#0091ea !important}.cyan{background-color:#00bcd4 !important}.cyan-text{color:#00bcd4 !important}.cyan.lighten-5{background-color:#e0f7fa !important}.cyan-text.text-lighten-5{color:#e0f7fa !important}.cyan.lighten-4{background-color:#b2ebf2 !important}.cyan-text.text-lighten-4{color:#b2ebf2 !important}.cyan.lighten-3{background-color:#80deea !important}.cyan-text.text-lighten-3{color:#80deea !important}.cyan.lighten-2{background-color:#4dd0e1 !important}.cyan-text.text-lighten-2{color:#4dd0e1 !important}.cyan.lighten-1{background-color:#26c6da !important}.cyan-text.text-lighten-1{color:#26c6da !important}.cyan.darken-1{background-color:#00acc1 !important}.cyan-text.text-darken-1{color:#00acc1 !important}.cyan.darken-2{background-color:#0097a7 !important}.cyan-text.text-darken-2{color:#0097a7 !important}.cyan.darken-3{background-color:#00838f !important}.cyan-text.text-darken-3{color:#00838f !important}.cyan.darken-4{background-color:#006064 !important}.cyan-text.text-darken-4{color:#006064 !important}.cyan.accent-1{background-color:#84ffff !important}.cyan-text.text-accent-1{color:#84ffff !important}.cyan.accent-2{background-color:#18ffff !important}.cyan-text.text-accent-2{color:#18ffff !important}.cyan.accent-3{background-color:#00e5ff !important}.cyan-text.text-accent-3{color:#00e5ff !important}.cyan.accent-4{background-color:#00b8d4 !important}.cyan-text.text-accent-4{color:#00b8d4 !important}.teal{background-color:#009688 !important}.teal-text{color:#009688 !important}.teal.lighten-5{background-color:#e0f2f1 !important}.teal-text.text-lighten-5{color:#e0f2f1 !important}.teal.lighten-4{background-color:#b2dfdb !important}.teal-text.text-lighten-4{color:#b2dfdb !important}.teal.lighten-3{background-color:#80cbc4 !important}.teal-text.text-lighten-3{color:#80cbc4 !important}.teal.lighten-2{background-color:#4db6ac !important}.teal-text.text-lighten-2{color:#4db6ac !important}.teal.lighten-1{background-color:#26a69a !important}.teal-text.text-lighten-1{color:#26a69a !important}.teal.darken-1{background-color:#00897b !important}.teal-text.text-darken-1{color:#00897b !important}.teal.darken-2{background-color:#00796b !important}.teal-text.text-darken-2{color:#00796b !important}.teal.darken-3{background-color:#00695c !important}.teal-text.text-darken-3{color:#00695c !important}.teal.darken-4{background-color:#004d40 !important}.teal-text.text-darken-4{color:#004d40 !important}.teal.accent-1{background-color:#a7ffeb !important}.teal-text.text-accent-1{color:#a7ffeb !important}.teal.accent-2{background-color:#64ffda !important}.teal-text.text-accent-2{color:#64ffda !important}.teal.accent-3{background-color:#1de9b6 !important}.teal-text.text-accent-3{color:#1de9b6 !important}.teal.accent-4{background-color:#00bfa5 !important}.teal-text.text-accent-4{color:#00bfa5 !important}.green{background-color:#4CAF50 !important}.green-text{color:#4CAF50 !important}.green.lighten-5{background-color:#E8F5E9 !important}.green-text.text-lighten-5{color:#E8F5E9 !important}.green.lighten-4{background-color:#C8E6C9 !important}.green-text.text-lighten-4{color:#C8E6C9 !important}.green.lighten-3{background-color:#A5D6A7 !important}.green-text.text-lighten-3{color:#A5D6A7 !important}.green.lighten-2{background-color:#81C784 !important}.green-text.text-lighten-2{color:#81C784 !important}.green.lighten-1{background-color:#66BB6A !important}.green-text.text-lighten-1{color:#66BB6A !important}.green.darken-1{background-color:#43A047 !important}.green-text.text-darken-1{color:#43A047 !important}.green.darken-2{background-color:#388E3C !important}.green-text.text-darken-2{color:#388E3C !important}.green.darken-3{background-color:#2E7D32 !important}.green-text.text-darken-3{color:#2E7D32 !important}.green.darken-4{background-color:#1B5E20 !important}.green-text.text-darken-4{color:#1B5E20 !important}.green.accent-1{background-color:#B9F6CA !important}.green-text.text-accent-1{color:#B9F6CA !important}.green.accent-2{background-color:#69F0AE !important}.green-text.text-accent-2{color:#69F0AE !important}.green.accent-3{background-color:#00E676 !important}.green-text.text-accent-3{color:#00E676 !important}.green.accent-4{background-color:#00C853 !important}.green-text.text-accent-4{color:#00C853 !important}.light-green{background-color:#8bc34a !important}.light-green-text{color:#8bc34a !important}.light-green.lighten-5{background-color:#f1f8e9 !important}.light-green-text.text-lighten-5{color:#f1f8e9 !important}.light-green.lighten-4{background-color:#dcedc8 !important}.light-green-text.text-lighten-4{color:#dcedc8 !important}.light-green.lighten-3{background-color:#c5e1a5 !important}.light-green-text.text-lighten-3{color:#c5e1a5 !important}.light-green.lighten-2{background-color:#aed581 !important}.light-green-text.text-lighten-2{color:#aed581 !important}.light-green.lighten-1{background-color:#9ccc65 !important}.light-green-text.text-lighten-1{color:#9ccc65 !important}.light-green.darken-1{background-color:#7cb342 !important}.light-green-text.text-darken-1{color:#7cb342 !important}.light-green.darken-2{background-color:#689f38 !important}.light-green-text.text-darken-2{color:#689f38 !important}.light-green.darken-3{background-color:#558b2f !important}.light-green-text.text-darken-3{color:#558b2f !important}.light-green.darken-4{background-color:#33691e !important}.light-green-text.text-darken-4{color:#33691e !important}.light-green.accent-1{background-color:#ccff90 !important}.light-green-text.text-accent-1{color:#ccff90 !important}.light-green.accent-2{background-color:#b2ff59 !important}.light-green-text.text-accent-2{color:#b2ff59 !important}.light-green.accent-3{background-color:#76ff03 !important}.light-green-text.text-accent-3{color:#76ff03 !important}.light-green.accent-4{background-color:#64dd17 !important}.light-green-text.text-accent-4{color:#64dd17 !important}.lime{background-color:#cddc39 !important}.lime-text{color:#cddc39 !important}.lime.lighten-5{background-color:#f9fbe7 !important}.lime-text.text-lighten-5{color:#f9fbe7 !important}.lime.lighten-4{background-color:#f0f4c3 !important}.lime-text.text-lighten-4{color:#f0f4c3 !important}.lime.lighten-3{background-color:#e6ee9c !important}.lime-text.text-lighten-3{color:#e6ee9c !important}.lime.lighten-2{background-color:#dce775 !important}.lime-text.text-lighten-2{color:#dce775 !important}.lime.lighten-1{background-color:#d4e157 !important}.lime-text.text-lighten-1{color:#d4e157 !important}.lime.darken-1{background-color:#c0ca33 !important}.lime-text.text-darken-1{color:#c0ca33 !important}.lime.darken-2{background-color:#afb42b !important}.lime-text.text-darken-2{color:#afb42b !important}.lime.darken-3{background-color:#9e9d24 !important}.lime-text.text-darken-3{color:#9e9d24 !important}.lime.darken-4{background-color:#827717 !important}.lime-text.text-darken-4{color:#827717 !important}.lime.accent-1{background-color:#f4ff81 !important}.lime-text.text-accent-1{color:#f4ff81 !important}.lime.accent-2{background-color:#eeff41 !important}.lime-text.text-accent-2{color:#eeff41 !important}.lime.accent-3{background-color:#c6ff00 !important}.lime-text.text-accent-3{color:#c6ff00 !important}.lime.accent-4{background-color:#aeea00 !important}.lime-text.text-accent-4{color:#aeea00 !important}.yellow{background-color:#ffeb3b !important}.yellow-text{color:#ffeb3b !important}.yellow.lighten-5{background-color:#fffde7 !important}.yellow-text.text-lighten-5{color:#fffde7 !important}.yellow.lighten-4{background-color:#fff9c4 !important}.yellow-text.text-lighten-4{color:#fff9c4 !important}.yellow.lighten-3{background-color:#fff59d !important}.yellow-text.text-lighten-3{color:#fff59d !important}.yellow.lighten-2{background-color:#fff176 !important}.yellow-text.text-lighten-2{color:#fff176 !important}.yellow.lighten-1{background-color:#ffee58 !important}.yellow-text.text-lighten-1{color:#ffee58 !important}.yellow.darken-1{background-color:#fdd835 !important}.yellow-text.text-darken-1{color:#fdd835 !important}.yellow.darken-2{background-color:#fbc02d !important}.yellow-text.text-darken-2{color:#fbc02d !important}.yellow.darken-3{background-color:#f9a825 !important}.yellow-text.text-darken-3{color:#f9a825 !important}.yellow.darken-4{background-color:#f57f17 !important}.yellow-text.text-darken-4{color:#f57f17 !important}.yellow.accent-1{background-color:#ffff8d !important}.yellow-text.text-accent-1{color:#ffff8d !important}.yellow.accent-2{background-color:#ff0 !important}.yellow-text.text-accent-2{color:#ff0 !important}.yellow.accent-3{background-color:#ffea00 !important}.yellow-text.text-accent-3{color:#ffea00 !important}.yellow.accent-4{background-color:#ffd600 !important}.yellow-text.text-accent-4{color:#ffd600 !important}.amber{background-color:#ffc107 !important}.amber-text{color:#ffc107 !important}.amber.lighten-5{background-color:#fff8e1 !important}.amber-text.text-lighten-5{color:#fff8e1 !important}.amber.lighten-4{background-color:#ffecb3 !important}.amber-text.text-lighten-4{color:#ffecb3 !important}.amber.lighten-3{background-color:#ffe082 !important}.amber-text.text-lighten-3{color:#ffe082 !important}.amber.lighten-2{background-color:#ffd54f !important}.amber-text.text-lighten-2{color:#ffd54f !important}.amber.lighten-1{background-color:#ffca28 !important}.amber-text.text-lighten-1{color:#ffca28 !important}.amber.darken-1{background-color:#ffb300 !important}.amber-text.text-darken-1{color:#ffb300 !important}.amber.darken-2{background-color:#ffa000 !important}.amber-text.text-darken-2{color:#ffa000 !important}.amber.darken-3{background-color:#ff8f00 !important}.amber-text.text-darken-3{color:#ff8f00 !important}.amber.darken-4{background-color:#ff6f00 !important}.amber-text.text-darken-4{color:#ff6f00 !important}.amber.accent-1{background-color:#ffe57f !important}.amber-text.text-accent-1{color:#ffe57f !important}.amber.accent-2{background-color:#ffd740 !important}.amber-text.text-accent-2{color:#ffd740 !important}.amber.accent-3{background-color:#ffc400 !important}.amber-text.text-accent-3{color:#ffc400 !important}.amber.accent-4{background-color:#ffab00 !important}.amber-text.text-accent-4{color:#ffab00 !important}.orange{background-color:#ff9800 !important}.orange-text{color:#ff9800 !important}.orange.lighten-5{background-color:#fff3e0 !important}.orange-text.text-lighten-5{color:#fff3e0 !important}.orange.lighten-4{background-color:#ffe0b2 !important}.orange-text.text-lighten-4{color:#ffe0b2 !important}.orange.lighten-3{background-color:#ffcc80 !important}.orange-text.text-lighten-3{color:#ffcc80 !important}.orange.lighten-2{background-color:#ffb74d !important}.orange-text.text-lighten-2{color:#ffb74d !important}.orange.lighten-1{background-color:#ffa726 !important}.orange-text.text-lighten-1{color:#ffa726 !important}.orange.darken-1{background-color:#fb8c00 !important}.orange-text.text-darken-1{color:#fb8c00 !important}.orange.darken-2{background-color:#f57c00 !important}.orange-text.text-darken-2{color:#f57c00 !important}.orange.darken-3{background-color:#ef6c00 !important}.orange-text.text-darken-3{color:#ef6c00 !important}.orange.darken-4{background-color:#e65100 !important}.orange-text.text-darken-4{color:#e65100 !important}.orange.accent-1{background-color:#ffd180 !important}.orange-text.text-accent-1{color:#ffd180 !important}.orange.accent-2{background-color:#ffab40 !important}.orange-text.text-accent-2{color:#ffab40 !important}.orange.accent-3{background-color:#ff9100 !important}.orange-text.text-accent-3{color:#ff9100 !important}.orange.accent-4{background-color:#ff6d00 !important}.orange-text.text-accent-4{color:#ff6d00 !important}.deep-orange{background-color:#ff5722 !important}.deep-orange-text{color:#ff5722 !important}.deep-orange.lighten-5{background-color:#fbe9e7 !important}.deep-orange-text.text-lighten-5{color:#fbe9e7 !important}.deep-orange.lighten-4{background-color:#ffccbc !important}.deep-orange-text.text-lighten-4{color:#ffccbc !important}.deep-orange.lighten-3{background-color:#ffab91 !important}.deep-orange-text.text-lighten-3{color:#ffab91 !important}.deep-orange.lighten-2{background-color:#ff8a65 !important}.deep-orange-text.text-lighten-2{color:#ff8a65 !important}.deep-orange.lighten-1{background-color:#ff7043 !important}.deep-orange-text.text-lighten-1{color:#ff7043 !important}.deep-orange.darken-1{background-color:#f4511e !important}.deep-orange-text.text-darken-1{color:#f4511e !important}.deep-orange.darken-2{background-color:#e64a19 !important}.deep-orange-text.text-darken-2{color:#e64a19 !important}.deep-orange.darken-3{background-color:#d84315 !important}.deep-orange-text.text-darken-3{color:#d84315 !important}.deep-orange.darken-4{background-color:#bf360c !important}.deep-orange-text.text-darken-4{color:#bf360c !important}.deep-orange.accent-1{background-color:#ff9e80 !important}.deep-orange-text.text-accent-1{color:#ff9e80 !important}.deep-orange.accent-2{background-color:#ff6e40 !important}.deep-orange-text.text-accent-2{color:#ff6e40 !important}.deep-orange.accent-3{background-color:#ff3d00 !important}.deep-orange-text.text-accent-3{color:#ff3d00 !important}.deep-orange.accent-4{background-color:#dd2c00 !important}.deep-orange-text.text-accent-4{color:#dd2c00 !important}.brown{background-color:#795548 !important}.brown-text{color:#795548 !important}.brown.lighten-5{background-color:#efebe9 !important}.brown-text.text-lighten-5{color:#efebe9 !important}.brown.lighten-4{background-color:#d7ccc8 !important}.brown-text.text-lighten-4{color:#d7ccc8 !important}.brown.lighten-3{background-color:#bcaaa4 !important}.brown-text.text-lighten-3{color:#bcaaa4 !important}.brown.lighten-2{background-color:#a1887f !important}.brown-text.text-lighten-2{color:#a1887f !important}.brown.lighten-1{background-color:#8d6e63 !important}.brown-text.text-lighten-1{color:#8d6e63 !important}.brown.darken-1{background-color:#6d4c41 !important}.brown-text.text-darken-1{color:#6d4c41 !important}.brown.darken-2{background-color:#5d4037 !important}.brown-text.text-darken-2{color:#5d4037 !important}.brown.darken-3{background-color:#4e342e !important}.brown-text.text-darken-3{color:#4e342e !important}.brown.darken-4{background-color:#3e2723 !important}.brown-text.text-darken-4{color:#3e2723 !important}.blue-grey{background-color:#607d8b !important}.blue-grey-text{color:#607d8b !important}.blue-grey.lighten-5{background-color:#eceff1 !important}.blue-grey-text.text-lighten-5{color:#eceff1 !important}.blue-grey.lighten-4{background-color:#cfd8dc !important}.blue-grey-text.text-lighten-4{color:#cfd8dc !important}.blue-grey.lighten-3{background-color:#b0bec5 !important}.blue-grey-text.text-lighten-3{color:#b0bec5 !important}.blue-grey.lighten-2{background-color:#90a4ae !important}.blue-grey-text.text-lighten-2{color:#90a4ae !important}.blue-grey.lighten-1{background-color:#78909c !important}.blue-grey-text.text-lighten-1{color:#78909c !important}.blue-grey.darken-1{background-color:#546e7a !important}.blue-grey-text.text-darken-1{color:#546e7a !important}.blue-grey.darken-2{background-color:#455a64 !important}.blue-grey-text.text-darken-2{color:#455a64 !important}.blue-grey.darken-3{background-color:#37474f !important}.blue-grey-text.text-darken-3{color:#37474f !important}.blue-grey.darken-4{background-color:#263238 !important}.blue-grey-text.text-darken-4{color:#263238 !important}.grey{background-color:#9e9e9e !important}.grey-text{color:#9e9e9e !important}.grey.lighten-5{background-color:#fafafa !important}.grey-text.text-lighten-5{color:#fafafa !important}.grey.lighten-4{background-color:#f5f5f5 !important}.grey-text.text-lighten-4{color:#f5f5f5 !important}.grey.lighten-3{background-color:#eee !important}.grey-text.text-lighten-3{color:#eee !important}.grey.lighten-2{background-color:#e0e0e0 !important}.grey-text.text-lighten-2{color:#e0e0e0 !important}.grey.lighten-1{background-color:#bdbdbd !important}.grey-text.text-lighten-1{color:#bdbdbd !important}.grey.darken-1{background-color:#757575 !important}.grey-text.text-darken-1{color:#757575 !important}.grey.darken-2{background-color:#616161 !important}.grey-text.text-darken-2{color:#616161 !important}.grey.darken-3{background-color:#424242 !important}.grey-text.text-darken-3{color:#424242 !important}.grey.darken-4{background-color:#212121 !important}.grey-text.text-darken-4{color:#212121 !important}.black{background-color:#000 !important}.black-text{color:#000 !important}.white{background-color:#fff !important}.white-text{color:#fff !important}.transparent{background-color:rgba(0,0,0,0) !important}.transparent-text{color:rgba(0,0,0,0) !important}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;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-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}button,input,optgroup,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}a{color:#039be5;text-decoration:none;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.clearfix{clear:both}.z-depth-0{-webkit-box-shadow:none !important;box-shadow:none !important}.z-depth-1,nav,.card-panel,.card,.toast,.btn,.btn-large,.btn-small,.btn-floating,.dropdown-content,.collapsible,.sidenav{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}.z-depth-1-half,.btn:hover,.btn-large:hover,.btn-small:hover,.btn-floating:hover{-webkit-box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2);box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2)}.z-depth-2{-webkit-box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3);box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3)}.z-depth-3{-webkit-box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2);box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2)}.z-depth-4{-webkit-box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2);box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2)}.z-depth-5,.modal{-webkit-box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2);box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2)}.hoverable{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s}.hoverable:hover{-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}.divider{height:1px;overflow:hidden;background-color:#e0e0e0}blockquote{margin:20px 0;padding-left:1.5rem;border-left:5px solid #ee6e73}i{line-height:inherit}i.left{float:left;margin-right:15px}i.right{float:right;margin-left:15px}i.tiny{font-size:1rem}i.small{font-size:2rem}i.medium{font-size:4rem}i.large{font-size:6rem}img.responsive-img,video.responsive-video{max-width:100%;height:auto}.pagination li{display:inline-block;border-radius:2px;text-align:center;vertical-align:top;height:30px}.pagination li a{color:#444;display:inline-block;font-size:1.2rem;padding:0 10px;line-height:30px}.pagination li.active a{color:#fff}.pagination li.active{background-color:#ee6e73}.pagination li.disabled a{cursor:default;color:#999}.pagination li i{font-size:2rem}.pagination li.pages ul li{display:inline-block;float:none}@media only screen and (max-width: 992px){.pagination{width:100%}.pagination li.prev,.pagination li.next{width:10%}.pagination li.pages{width:80%;overflow:hidden;white-space:nowrap}}.breadcrumb{font-size:18px;color:rgba(255,255,255,0.7)}.breadcrumb i,.breadcrumb [class^="mdi-"],.breadcrumb [class*="mdi-"],.breadcrumb i.material-icons{display:inline-block;float:left;font-size:24px}.breadcrumb:before{content:'\E5CC';color:rgba(255,255,255,0.7);vertical-align:top;display:inline-block;font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:25px;margin:0 10px 0 8px;-webkit-font-smoothing:antialiased}.breadcrumb:first-child:before{display:none}.breadcrumb:last-child{color:#fff}.parallax-container{position:relative;overflow:hidden;height:500px}.parallax-container .parallax{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.parallax-container .parallax img{opacity:0;position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pin-top,.pin-bottom{position:relative}.pinned{position:fixed !important}ul.staggered-list li{opacity:0}.fade-in{opacity:0;-webkit-transform-origin:0 50%;transform-origin:0 50%}@media only screen and (max-width: 600px){.hide-on-small-only,.hide-on-small-and-down{display:none !important}}@media only screen and (max-width: 992px){.hide-on-med-and-down{display:none !important}}@media only screen and (min-width: 601px){.hide-on-med-and-up{display:none !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.hide-on-med-only{display:none !important}}@media only screen and (min-width: 993px){.hide-on-large-only{display:none !important}}@media only screen and (min-width: 1201px){.hide-on-extra-large-only{display:none !important}}@media only screen and (min-width: 1201px){.show-on-extra-large{display:block !important}}@media only screen and (min-width: 993px){.show-on-large{display:block !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.show-on-medium{display:block !important}}@media only screen and (max-width: 600px){.show-on-small{display:block !important}}@media only screen and (min-width: 601px){.show-on-medium-and-up{display:block !important}}@media only screen and (max-width: 992px){.show-on-medium-and-down{display:block !important}}@media only screen and (max-width: 600px){.center-on-small-only{text-align:center}}.page-footer{padding-top:20px;color:#fff;background-color:#ee6e73}.page-footer .footer-copyright{overflow:hidden;min-height:50px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:10px 0px;color:rgba(255,255,255,0.8);background-color:rgba(51,51,51,0.08)}table,th,td{border:none}table{width:100%;display:table;border-collapse:collapse;border-spacing:0}table.striped tr{border-bottom:none}table.striped>tbody>tr:nth-child(odd){background-color:rgba(242,242,242,0.5)}table.striped>tbody>tr>td{border-radius:0}table.highlight>tbody>tr{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}table.highlight>tbody>tr:hover{background-color:rgba(242,242,242,0.5)}table.centered thead tr th,table.centered tbody tr td{text-align:center}tr{border-bottom:1px solid rgba(0,0,0,0.12)}td,th{padding:15px 5px;display:table-cell;text-align:left;vertical-align:middle;border-radius:2px}@media only screen and (max-width: 992px){table.responsive-table{width:100%;border-collapse:collapse;border-spacing:0;display:block;position:relative}table.responsive-table td:empty:before{content:'\00a0'}table.responsive-table th,table.responsive-table td{margin:0;vertical-align:top}table.responsive-table th{text-align:left}table.responsive-table thead{display:block;float:left}table.responsive-table thead tr{display:block;padding:0 10px 0 0}table.responsive-table thead tr th::before{content:"\00a0"}table.responsive-table tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}table.responsive-table tbody tr{display:inline-block;vertical-align:top}table.responsive-table th{display:block;text-align:right}table.responsive-table td{display:block;min-height:1.25em;text-align:left}table.responsive-table tr{border-bottom:none;padding:0 10px}table.responsive-table thead{border:0;border-right:1px solid rgba(0,0,0,0.12)}}.collection{margin:.5rem 0 1rem 0;border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;position:relative}.collection .collection-item{background-color:#fff;line-height:1.5rem;padding:10px 20px;margin:0;border-bottom:1px solid #e0e0e0}.collection .collection-item.avatar{min-height:84px;padding-left:72px;position:relative}.collection .collection-item.avatar:not(.circle-clipper)>.circle,.collection .collection-item.avatar :not(.circle-clipper)>.circle{position:absolute;width:42px;height:42px;overflow:hidden;left:15px;display:inline-block;vertical-align:middle}.collection .collection-item.avatar i.circle{font-size:18px;line-height:42px;color:#fff;background-color:#999;text-align:center}.collection .collection-item.avatar .title{font-size:16px}.collection .collection-item.avatar p{margin:0}.collection .collection-item.avatar .secondary-content{position:absolute;top:16px;right:16px}.collection .collection-item:last-child{border-bottom:none}.collection .collection-item.active{background-color:#26a69a;color:#eafaf9}.collection .collection-item.active .secondary-content{color:#fff}.collection a.collection-item{display:block;-webkit-transition:.25s;transition:.25s;color:#26a69a}.collection a.collection-item:not(.active):hover{background-color:#ddd}.collection.with-header .collection-header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:10px 20px}.collection.with-header .collection-item{padding-left:30px}.collection.with-header .collection-item.avatar{padding-left:72px}.secondary-content{float:right;color:#26a69a}.collapsible .collection{margin:0;border:none}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-container iframe,.video-container object,.video-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.progress{position:relative;height:4px;display:block;width:100%;background-color:#acece6;border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:#26a69a;-webkit-transition:width .3s linear;transition:width .3s linear}.progress .indeterminate{background-color:#26a69a}.progress .indeterminate:before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.progress .indeterminate:after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}.hide{display:none !important}.left-align{text-align:left}.right-align{text-align:right}.center,.center-align{text-align:center}.left{float:left !important}.right{float:right !important}.no-select,input[type=range],input[type=range]+.thumb{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.circle{border-radius:50%}.center-block{display:block;margin-left:auto;margin-right:auto}.truncate{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-padding{padding:0 !important}span.badge{min-width:3rem;padding:0 6px;margin-left:14px;text-align:center;font-size:1rem;line-height:22px;height:22px;color:#757575;float:right;-webkit-box-sizing:border-box;box-sizing:border-box}span.badge.new{font-weight:300;font-size:0.8rem;color:#fff;background-color:#26a69a;border-radius:2px}span.badge.new:after{content:" new"}span.badge[data-badge-caption]::after{content:" " attr(data-badge-caption)}nav ul a span.badge{display:inline-block;float:none;margin-left:4px;line-height:22px;height:22px;-webkit-font-smoothing:auto}.collection-item span.badge{margin-top:calc(.75rem - 11px)}.collapsible span.badge{margin-left:auto}.sidenav span.badge{margin-top:calc(24px - 11px)}table span.badge{display:inline-block;float:none;margin-left:auto}.material-icons{text-rendering:optimizeLegibility;-webkit-font-feature-settings:'liga';-moz-font-feature-settings:'liga';font-feature-settings:'liga'}.container{margin:0 auto;max-width:1280px;width:90%}@media only screen and (min-width: 601px){.container{width:85%}}@media only screen and (min-width: 993px){.container{width:70%}}.col .row{margin-left:-.75rem;margin-right:-.75rem}.section{padding-top:1rem;padding-bottom:1rem}.section.no-pad{padding:0}.section.no-pad-bot{padding-bottom:0}.section.no-pad-top{padding-top:0}.row{margin-left:auto;margin-right:auto;margin-bottom:20px}.row:after{content:"";display:table;clear:both}.row .col{float:left;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 .75rem;min-height:1px}.row .col[class*="push-"],.row .col[class*="pull-"]{position:relative}.row .col.s1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.s4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.s7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.s10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-s1{margin-left:8.3333333333%}.row .col.pull-s1{right:8.3333333333%}.row .col.push-s1{left:8.3333333333%}.row .col.offset-s2{margin-left:16.6666666667%}.row .col.pull-s2{right:16.6666666667%}.row .col.push-s2{left:16.6666666667%}.row .col.offset-s3{margin-left:25%}.row .col.pull-s3{right:25%}.row .col.push-s3{left:25%}.row .col.offset-s4{margin-left:33.3333333333%}.row .col.pull-s4{right:33.3333333333%}.row .col.push-s4{left:33.3333333333%}.row .col.offset-s5{margin-left:41.6666666667%}.row .col.pull-s5{right:41.6666666667%}.row .col.push-s5{left:41.6666666667%}.row .col.offset-s6{margin-left:50%}.row .col.pull-s6{right:50%}.row .col.push-s6{left:50%}.row .col.offset-s7{margin-left:58.3333333333%}.row .col.pull-s7{right:58.3333333333%}.row .col.push-s7{left:58.3333333333%}.row .col.offset-s8{margin-left:66.6666666667%}.row .col.pull-s8{right:66.6666666667%}.row .col.push-s8{left:66.6666666667%}.row .col.offset-s9{margin-left:75%}.row .col.pull-s9{right:75%}.row .col.push-s9{left:75%}.row .col.offset-s10{margin-left:83.3333333333%}.row .col.pull-s10{right:83.3333333333%}.row .col.push-s10{left:83.3333333333%}.row .col.offset-s11{margin-left:91.6666666667%}.row .col.pull-s11{right:91.6666666667%}.row .col.push-s11{left:91.6666666667%}.row .col.offset-s12{margin-left:100%}.row .col.pull-s12{right:100%}.row .col.push-s12{left:100%}@media only screen and (min-width: 601px){.row .col.m1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.m4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.m7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.m10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-m1{margin-left:8.3333333333%}.row .col.pull-m1{right:8.3333333333%}.row .col.push-m1{left:8.3333333333%}.row .col.offset-m2{margin-left:16.6666666667%}.row .col.pull-m2{right:16.6666666667%}.row .col.push-m2{left:16.6666666667%}.row .col.offset-m3{margin-left:25%}.row .col.pull-m3{right:25%}.row .col.push-m3{left:25%}.row .col.offset-m4{margin-left:33.3333333333%}.row .col.pull-m4{right:33.3333333333%}.row .col.push-m4{left:33.3333333333%}.row .col.offset-m5{margin-left:41.6666666667%}.row .col.pull-m5{right:41.6666666667%}.row .col.push-m5{left:41.6666666667%}.row .col.offset-m6{margin-left:50%}.row .col.pull-m6{right:50%}.row .col.push-m6{left:50%}.row .col.offset-m7{margin-left:58.3333333333%}.row .col.pull-m7{right:58.3333333333%}.row .col.push-m7{left:58.3333333333%}.row .col.offset-m8{margin-left:66.6666666667%}.row .col.pull-m8{right:66.6666666667%}.row .col.push-m8{left:66.6666666667%}.row .col.offset-m9{margin-left:75%}.row .col.pull-m9{right:75%}.row .col.push-m9{left:75%}.row .col.offset-m10{margin-left:83.3333333333%}.row .col.pull-m10{right:83.3333333333%}.row .col.push-m10{left:83.3333333333%}.row .col.offset-m11{margin-left:91.6666666667%}.row .col.pull-m11{right:91.6666666667%}.row .col.push-m11{left:91.6666666667%}.row .col.offset-m12{margin-left:100%}.row .col.pull-m12{right:100%}.row .col.push-m12{left:100%}}@media only screen and (min-width: 993px){.row .col.l1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.l4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.l7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.l10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-l1{margin-left:8.3333333333%}.row .col.pull-l1{right:8.3333333333%}.row .col.push-l1{left:8.3333333333%}.row .col.offset-l2{margin-left:16.6666666667%}.row .col.pull-l2{right:16.6666666667%}.row .col.push-l2{left:16.6666666667%}.row .col.offset-l3{margin-left:25%}.row .col.pull-l3{right:25%}.row .col.push-l3{left:25%}.row .col.offset-l4{margin-left:33.3333333333%}.row .col.pull-l4{right:33.3333333333%}.row .col.push-l4{left:33.3333333333%}.row .col.offset-l5{margin-left:41.6666666667%}.row .col.pull-l5{right:41.6666666667%}.row .col.push-l5{left:41.6666666667%}.row .col.offset-l6{margin-left:50%}.row .col.pull-l6{right:50%}.row .col.push-l6{left:50%}.row .col.offset-l7{margin-left:58.3333333333%}.row .col.pull-l7{right:58.3333333333%}.row .col.push-l7{left:58.3333333333%}.row .col.offset-l8{margin-left:66.6666666667%}.row .col.pull-l8{right:66.6666666667%}.row .col.push-l8{left:66.6666666667%}.row .col.offset-l9{margin-left:75%}.row .col.pull-l9{right:75%}.row .col.push-l9{left:75%}.row .col.offset-l10{margin-left:83.3333333333%}.row .col.pull-l10{right:83.3333333333%}.row .col.push-l10{left:83.3333333333%}.row .col.offset-l11{margin-left:91.6666666667%}.row .col.pull-l11{right:91.6666666667%}.row .col.push-l11{left:91.6666666667%}.row .col.offset-l12{margin-left:100%}.row .col.pull-l12{right:100%}.row .col.push-l12{left:100%}}@media only screen and (min-width: 1201px){.row .col.xl1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.xl4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.xl7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.xl10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-xl1{margin-left:8.3333333333%}.row .col.pull-xl1{right:8.3333333333%}.row .col.push-xl1{left:8.3333333333%}.row .col.offset-xl2{margin-left:16.6666666667%}.row .col.pull-xl2{right:16.6666666667%}.row .col.push-xl2{left:16.6666666667%}.row .col.offset-xl3{margin-left:25%}.row .col.pull-xl3{right:25%}.row .col.push-xl3{left:25%}.row .col.offset-xl4{margin-left:33.3333333333%}.row .col.pull-xl4{right:33.3333333333%}.row .col.push-xl4{left:33.3333333333%}.row .col.offset-xl5{margin-left:41.6666666667%}.row .col.pull-xl5{right:41.6666666667%}.row .col.push-xl5{left:41.6666666667%}.row .col.offset-xl6{margin-left:50%}.row .col.pull-xl6{right:50%}.row .col.push-xl6{left:50%}.row .col.offset-xl7{margin-left:58.3333333333%}.row .col.pull-xl7{right:58.3333333333%}.row .col.push-xl7{left:58.3333333333%}.row .col.offset-xl8{margin-left:66.6666666667%}.row .col.pull-xl8{right:66.6666666667%}.row .col.push-xl8{left:66.6666666667%}.row .col.offset-xl9{margin-left:75%}.row .col.pull-xl9{right:75%}.row .col.push-xl9{left:75%}.row .col.offset-xl10{margin-left:83.3333333333%}.row .col.pull-xl10{right:83.3333333333%}.row .col.push-xl10{left:83.3333333333%}.row .col.offset-xl11{margin-left:91.6666666667%}.row .col.pull-xl11{right:91.6666666667%}.row .col.push-xl11{left:91.6666666667%}.row .col.offset-xl12{margin-left:100%}.row .col.pull-xl12{right:100%}.row .col.push-xl12{left:100%}}nav{color:#fff;background-color:#ee6e73;width:100%;height:56px;line-height:56px}nav.nav-extended{height:auto}nav.nav-extended .nav-wrapper{min-height:56px;height:auto}nav.nav-extended .nav-content{position:relative;line-height:normal}nav a{color:#fff}nav i,nav [class^="mdi-"],nav [class*="mdi-"],nav i.material-icons{display:block;font-size:24px;height:56px;line-height:56px}nav .nav-wrapper{position:relative;height:100%}@media only screen and (min-width: 993px){nav a.sidenav-trigger{display:none}}nav .sidenav-trigger{float:left;position:relative;z-index:1;height:56px;margin:0 18px}nav .sidenav-trigger i{height:56px;line-height:56px}nav .brand-logo{position:absolute;color:#fff;display:inline-block;font-size:2.1rem;padding:0}nav .brand-logo.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media only screen and (max-width: 992px){nav .brand-logo{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}nav .brand-logo.left,nav .brand-logo.right{padding:0;-webkit-transform:none;transform:none}nav .brand-logo.left{left:0.5rem}nav .brand-logo.right{right:0.5rem;left:auto}}nav .brand-logo.right{right:0.5rem;padding:0}nav .brand-logo i,nav .brand-logo [class^="mdi-"],nav .brand-logo [class*="mdi-"],nav .brand-logo i.material-icons{float:left;margin-right:15px}nav .nav-title{display:inline-block;font-size:32px;padding:28px 0}nav ul{margin:0}nav ul li{-webkit-transition:background-color .3s;transition:background-color .3s;float:left;padding:0}nav ul li.active{background-color:rgba(0,0,0,0.1)}nav ul a{-webkit-transition:background-color .3s;transition:background-color .3s;font-size:1rem;color:#fff;display:block;padding:0 15px;cursor:pointer}nav ul a.btn,nav ul a.btn-large,nav ul a.btn-small,nav ul a.btn-large,nav ul a.btn-flat,nav ul a.btn-floating{margin-top:-2px;margin-left:15px;margin-right:15px}nav ul a.btn>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-small>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-flat>.material-icons,nav ul a.btn-floating>.material-icons{height:inherit;line-height:inherit}nav ul a:hover{background-color:rgba(0,0,0,0.1)}nav ul.left{float:left}nav form{height:100%}nav .input-field{margin:0;height:100%}nav .input-field input{height:100%;font-size:1.2rem;border:none;padding-left:2rem}nav .input-field input:focus,nav .input-field input[type=text]:valid,nav .input-field input[type=password]:valid,nav .input-field input[type=email]:valid,nav .input-field input[type=url]:valid,nav .input-field input[type=date]:valid{border:none;-webkit-box-shadow:none;box-shadow:none}nav .input-field label{top:0;left:0}nav .input-field label i{color:rgba(255,255,255,0.7);-webkit-transition:color .3s;transition:color .3s}nav .input-field label.active i{color:#fff}.navbar-fixed{position:relative;height:56px;z-index:997}.navbar-fixed nav{position:fixed}@media only screen and (min-width: 601px){nav.nav-extended .nav-wrapper{min-height:64px}nav,nav .nav-wrapper i,nav a.sidenav-trigger,nav a.sidenav-trigger i{height:64px;line-height:64px}.navbar-fixed{height:64px}}a{text-decoration:none}html{line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:normal;color:rgba(0,0,0,0.87)}@media only screen and (min-width: 0){html{font-size:14px}}@media only screen and (min-width: 992px){html{font-size:14.5px}}@media only screen and (min-width: 1200px){html{font-size:15px}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.3}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{font-size:4.2rem;line-height:110%;margin:2.8rem 0 1.68rem 0}h2{font-size:3.56rem;line-height:110%;margin:2.3733333333rem 0 1.424rem 0}h3{font-size:2.92rem;line-height:110%;margin:1.9466666667rem 0 1.168rem 0}h4{font-size:2.28rem;line-height:110%;margin:1.52rem 0 .912rem 0}h5{font-size:1.64rem;line-height:110%;margin:1.0933333333rem 0 .656rem 0}h6{font-size:1.15rem;line-height:110%;margin:.7666666667rem 0 .46rem 0}em{font-style:italic}strong{font-weight:500}small{font-size:75%}.light{font-weight:300}.thin{font-weight:200}@media only screen and (min-width: 360px){.flow-text{font-size:1.2rem}}@media only screen and (min-width: 390px){.flow-text{font-size:1.224rem}}@media only screen and (min-width: 420px){.flow-text{font-size:1.248rem}}@media only screen and (min-width: 450px){.flow-text{font-size:1.272rem}}@media only screen and (min-width: 480px){.flow-text{font-size:1.296rem}}@media only screen and (min-width: 510px){.flow-text{font-size:1.32rem}}@media only screen and (min-width: 540px){.flow-text{font-size:1.344rem}}@media only screen and (min-width: 570px){.flow-text{font-size:1.368rem}}@media only screen and (min-width: 600px){.flow-text{font-size:1.392rem}}@media only screen and (min-width: 630px){.flow-text{font-size:1.416rem}}@media only screen and (min-width: 660px){.flow-text{font-size:1.44rem}}@media only screen and (min-width: 690px){.flow-text{font-size:1.464rem}}@media only screen and (min-width: 720px){.flow-text{font-size:1.488rem}}@media only screen and (min-width: 750px){.flow-text{font-size:1.512rem}}@media only screen and (min-width: 780px){.flow-text{font-size:1.536rem}}@media only screen and (min-width: 810px){.flow-text{font-size:1.56rem}}@media only screen and (min-width: 840px){.flow-text{font-size:1.584rem}}@media only screen and (min-width: 870px){.flow-text{font-size:1.608rem}}@media only screen and (min-width: 900px){.flow-text{font-size:1.632rem}}@media only screen and (min-width: 930px){.flow-text{font-size:1.656rem}}@media only screen and (min-width: 960px){.flow-text{font-size:1.68rem}}@media only screen and (max-width: 360px){.flow-text{font-size:1.2rem}}.scale-transition{-webkit-transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63), -webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important}.scale-transition.scale-out{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .2s !important;transition:-webkit-transform .2s !important;transition:transform .2s !important;transition:transform .2s, -webkit-transform .2s !important}.scale-transition.scale-in{-webkit-transform:scale(1);transform:scale(1)}.card-panel{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;padding:24px;margin:.5rem 0 1rem 0;border-radius:2px;background-color:#fff}.card{position:relative;margin:.5rem 0 1rem 0;background-color:#fff;-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;border-radius:2px}.card .card-title{font-size:24px;font-weight:300}.card .card-title.activator{cursor:pointer}.card.small,.card.medium,.card.large{position:relative}.card.small .card-image,.card.medium .card-image,.card.large .card-image{max-height:60%;overflow:hidden}.card.small .card-image+.card-content,.card.medium .card-image+.card-content,.card.large .card-image+.card-content{max-height:40%}.card.small .card-content,.card.medium .card-content,.card.large .card-content{max-height:100%;overflow:hidden}.card.small .card-action,.card.medium .card-action,.card.large .card-action{position:absolute;bottom:0;left:0;right:0}.card.small{height:300px}.card.medium{height:400px}.card.large{height:500px}.card.horizontal{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.card.horizontal.small .card-image,.card.horizontal.medium .card-image,.card.horizontal.large .card-image{height:100%;max-height:none;overflow:visible}.card.horizontal.small .card-image img,.card.horizontal.medium .card-image img,.card.horizontal.large .card-image img{height:100%}.card.horizontal .card-image{max-width:50%}.card.horizontal .card-image img{border-radius:2px 0 0 2px;max-width:100%;width:auto}.card.horizontal .card-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.card.horizontal .card-stacked .card-content{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.card.sticky-action .card-action{z-index:2}.card.sticky-action .card-reveal{z-index:1;padding-bottom:64px}.card .card-image{position:relative}.card .card-image img{display:block;border-radius:2px 2px 0 0;position:relative;left:0;right:0;top:0;bottom:0;width:100%}.card .card-image .card-title{color:#fff;position:absolute;bottom:0;left:0;max-width:100%;padding:24px}.card .card-content{padding:24px;border-radius:0 0 2px 2px}.card .card-content p{margin:0}.card .card-content .card-title{display:block;line-height:32px;margin-bottom:8px}.card .card-content .card-title i{line-height:32px}.card .card-action{background-color:inherit;border-top:1px solid rgba(160,160,160,0.2);position:relative;padding:16px 24px}.card .card-action:last-child{border-radius:0 0 2px 2px}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating){color:#ffab40;margin-right:24px;-webkit-transition:color .3s ease;transition:color .3s ease;text-transform:uppercase}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating):hover{color:#ffd8a6}.card .card-reveal{padding:24px;position:absolute;background-color:#fff;width:100%;overflow-y:auto;left:0;top:100%;height:100%;z-index:3;display:none}.card .card-reveal .card-title{cursor:pointer;display:block}#toast-container{display:block;position:fixed;z-index:10000}@media only screen and (max-width: 600px){#toast-container{min-width:100%;bottom:0%}}@media only screen and (min-width: 601px) and (max-width: 992px){#toast-container{left:5%;bottom:7%;max-width:90%}}@media only screen and (min-width: 993px){#toast-container{top:10%;right:7%;max-width:86%}}.toast{border-radius:2px;top:35px;width:auto;margin-top:10px;position:relative;max-width:100%;height:auto;min-height:48px;line-height:1.5em;background-color:#323232;padding:10px 25px;font-size:1.1rem;font-weight:300;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;cursor:default}.toast .toast-action{color:#eeff41;font-weight:500;margin-right:-25px;margin-left:3rem}.toast.rounded{border-radius:24px}@media only screen and (max-width: 600px){.toast{width:100%;border-radius:0}}.tabs{position:relative;overflow-x:auto;overflow-y:hidden;height:48px;width:100%;background-color:#fff;margin:0 auto;white-space:nowrap}.tabs.tabs-transparent{background-color:transparent}.tabs.tabs-transparent .tab a,.tabs.tabs-transparent .tab.disabled a,.tabs.tabs-transparent .tab.disabled a:hover{color:rgba(255,255,255,0.7)}.tabs.tabs-transparent .tab a:hover,.tabs.tabs-transparent .tab a.active{color:#fff}.tabs.tabs-transparent .indicator{background-color:#fff}.tabs.tabs-fixed-width{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs.tabs-fixed-width .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab{display:inline-block;text-align:center;line-height:48px;height:48px;padding:0;margin:0;text-transform:uppercase}.tabs .tab a{color:rgba(238,110,115,0.7);display:block;width:100%;height:100%;padding:0 24px;font-size:14px;text-overflow:ellipsis;overflow:hidden;-webkit-transition:color .28s ease, background-color .28s ease;transition:color .28s ease, background-color .28s ease}.tabs .tab a:focus,.tabs .tab a:focus.active{background-color:rgba(246,178,181,0.2);outline:none}.tabs .tab a:hover,.tabs .tab a.active{background-color:transparent;color:#ee6e73}.tabs .tab.disabled a,.tabs .tab.disabled a:hover{color:rgba(238,110,115,0.4);cursor:default}.tabs .indicator{position:absolute;bottom:0;height:2px;background-color:#f6b2b5;will-change:left, right}@media only screen and (max-width: 992px){.tabs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab a{padding:0 12px}}.material-tooltip{padding:10px 8px;font-size:1rem;z-index:2000;background-color:transparent;border-radius:2px;color:#fff;min-height:36px;line-height:120%;opacity:0;position:absolute;text-align:center;max-width:calc(100% - 4px);overflow:hidden;left:0;top:0;pointer-events:none;visibility:hidden;background-color:#323232}.backdrop{position:absolute;opacity:0;height:7px;width:14px;border-radius:0 0 50% 50%;background-color:#323232;z-index:-1;-webkit-transform-origin:50% 0%;transform-origin:50% 0%;visibility:hidden}.btn,.btn-large,.btn-small,.btn-flat{border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;padding:0 16px;text-transform:uppercase;vertical-align:middle;-webkit-tap-highlight-color:transparent}.btn.disabled,.disabled.btn-large,.disabled.btn-small,.btn-floating.disabled,.btn-large.disabled,.btn-small.disabled,.btn-flat.disabled,.btn:disabled,.btn-large:disabled,.btn-small:disabled,.btn-floating:disabled,.btn-large:disabled,.btn-small:disabled,.btn-flat:disabled,.btn[disabled],.btn-large[disabled],.btn-small[disabled],.btn-floating[disabled],.btn-large[disabled],.btn-small[disabled],.btn-flat[disabled]{pointer-events:none;background-color:#DFDFDF !important;-webkit-box-shadow:none;box-shadow:none;color:#9F9F9F !important;cursor:default}.btn.disabled:hover,.disabled.btn-large:hover,.disabled.btn-small:hover,.btn-floating.disabled:hover,.btn-large.disabled:hover,.btn-small.disabled:hover,.btn-flat.disabled:hover,.btn:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-floating:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-flat:disabled:hover,.btn[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-floating[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-flat[disabled]:hover{background-color:#DFDFDF !important;color:#9F9F9F !important}.btn,.btn-large,.btn-small,.btn-floating,.btn-large,.btn-small,.btn-flat{font-size:14px;outline:0}.btn i,.btn-large i,.btn-small i,.btn-floating i,.btn-large i,.btn-small i,.btn-flat i{font-size:1.3rem;line-height:inherit}.btn:focus,.btn-large:focus,.btn-small:focus,.btn-floating:focus{background-color:#1d7d74}.btn,.btn-large,.btn-small{text-decoration:none;color:#fff;background-color:#26a69a;text-align:center;letter-spacing:.5px;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out;cursor:pointer}.btn:hover,.btn-large:hover,.btn-small:hover{background-color:#2bbbad}.btn-floating{display:inline-block;color:#fff;position:relative;overflow:hidden;z-index:1;width:40px;height:40px;line-height:40px;padding:0;background-color:#26a69a;border-radius:50%;-webkit-transition:background-color .3s;transition:background-color .3s;cursor:pointer;vertical-align:middle}.btn-floating:hover{background-color:#26a69a}.btn-floating:before{border-radius:0}.btn-floating.btn-large{width:56px;height:56px;padding:0}.btn-floating.btn-large.halfway-fab{bottom:-28px}.btn-floating.btn-large i{line-height:56px}.btn-floating.btn-small{width:32.4px;height:32.4px}.btn-floating.btn-small.halfway-fab{bottom:-16.2px}.btn-floating.btn-small i{line-height:32.4px}.btn-floating.halfway-fab{position:absolute;right:24px;bottom:-20px}.btn-floating.halfway-fab.left{right:auto;left:24px}.btn-floating i{width:inherit;display:inline-block;text-align:center;color:#fff;font-size:1.6rem;line-height:40px}button.btn-floating{border:none}.fixed-action-btn{position:fixed;right:23px;bottom:23px;padding-top:15px;margin-bottom:0;z-index:997}.fixed-action-btn.active ul{visibility:visible}.fixed-action-btn.direction-left,.fixed-action-btn.direction-right{padding:0 0 0 15px}.fixed-action-btn.direction-left ul,.fixed-action-btn.direction-right ul{text-align:right;right:64px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:100%;left:auto;width:500px}.fixed-action-btn.direction-left ul li,.fixed-action-btn.direction-right ul li{display:inline-block;margin:7.5px 15px 0 0}.fixed-action-btn.direction-right{padding:0 15px 0 0}.fixed-action-btn.direction-right ul{text-align:left;direction:rtl;left:64px;right:auto}.fixed-action-btn.direction-right ul li{margin:7.5px 0 0 15px}.fixed-action-btn.direction-bottom{padding:0 0 15px 0}.fixed-action-btn.direction-bottom ul{top:64px;bottom:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.fixed-action-btn.direction-bottom ul li{margin:15px 0 0 0}.fixed-action-btn.toolbar{padding:0;height:56px}.fixed-action-btn.toolbar.active>a i{opacity:0}.fixed-action-btn.toolbar ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;top:0;bottom:0;z-index:1}.fixed-action-btn.toolbar ul li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:inline-block;margin:0;height:100%;-webkit-transition:none;transition:none}.fixed-action-btn.toolbar ul li a{display:block;overflow:hidden;position:relative;width:100%;height:100%;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;color:#fff;line-height:56px;z-index:1}.fixed-action-btn.toolbar ul li a i{line-height:inherit}.fixed-action-btn ul{left:0;right:0;text-align:center;position:absolute;bottom:64px;margin:0;visibility:hidden}.fixed-action-btn ul li{margin-bottom:15px}.fixed-action-btn ul a.btn-floating{opacity:0}.fixed-action-btn .fab-backdrop{position:absolute;top:0;left:0;z-index:-1;width:40px;height:40px;background-color:#26a69a;border-radius:50%;-webkit-transform:scale(0);transform:scale(0)}.btn-flat{-webkit-box-shadow:none;box-shadow:none;background-color:transparent;color:#343434;cursor:pointer;-webkit-transition:background-color .2s;transition:background-color .2s}.btn-flat:focus,.btn-flat:hover{-webkit-box-shadow:none;box-shadow:none}.btn-flat:focus{background-color:rgba(0,0,0,0.1)}.btn-flat.disabled,.btn-flat.btn-flat[disabled]{background-color:transparent !important;color:#b3b2b2 !important;cursor:default}.btn-large{height:54px;line-height:54px;font-size:15px;padding:0 28px}.btn-large i{font-size:1.6rem}.btn-small{height:32.4px;line-height:32.4px;font-size:13px}.btn-small i{font-size:1.2rem}.btn-block{display:block}.dropdown-content{background-color:#fff;margin:0;display:none;min-width:100px;overflow-y:auto;opacity:0;position:absolute;left:0;top:0;z-index:9999;-webkit-transform-origin:0 0;transform-origin:0 0}.dropdown-content:focus{outline:0}.dropdown-content li{clear:both;color:rgba(0,0,0,0.87);cursor:pointer;min-height:50px;line-height:1.5rem;width:100%;text-align:left}.dropdown-content li:hover,.dropdown-content li.active{background-color:#eee}.dropdown-content li:focus{outline:none}.dropdown-content li.divider{min-height:0;height:1px}.dropdown-content li>a,.dropdown-content li>span{font-size:16px;color:#26a69a;display:block;line-height:22px;padding:14px 16px}.dropdown-content li>span>label{top:1px;left:0;height:18px}.dropdown-content li>a>i{height:inherit;line-height:inherit;float:left;margin:0 24px 0 0;width:24px}body.keyboard-focused .dropdown-content li:focus{background-color:#dadada}.input-field.col .dropdown-content [type="checkbox"]+label{top:1px;left:0;height:18px;-webkit-transform:none;transform:none}.dropdown-trigger{cursor:pointer}/*! + * Waves v0.6.0 + * http://fian.my.id/Waves + * + * Copyright 2014 Alfiana E. Sibuea and other contributors + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE + */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;z-index:1;-webkit-transition:.3s ease-out;transition:.3s ease-out}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;opacity:0;background:rgba(0,0,0,0.2);-webkit-transition:all 0.7s ease-out;transition:all 0.7s ease-out;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-transform:scale(0);transform:scale(0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background-color:rgba(255,255,255,0.45)}.waves-effect.waves-red .waves-ripple{background-color:rgba(244,67,54,0.7)}.waves-effect.waves-yellow .waves-ripple{background-color:rgba(255,235,59,0.7)}.waves-effect.waves-orange .waves-ripple{background-color:rgba(255,152,0,0.7)}.waves-effect.waves-purple .waves-ripple{background-color:rgba(156,39,176,0.7)}.waves-effect.waves-green .waves-ripple{background-color:rgba(76,175,80,0.7)}.waves-effect.waves-teal .waves-ripple{background-color:rgba(0,150,136,0.7)}.waves-effect input[type="button"],.waves-effect input[type="reset"],.waves-effect input[type="submit"]{border:0;font-style:normal;font-size:inherit;text-transform:inherit;background:none}.waves-effect img{position:relative;z-index:-1}.waves-notransition{-webkit-transition:none !important;transition:none !important}.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle, white 100%, black 100%)}.waves-input-wrapper{border-radius:0.2em;vertical-align:bottom}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%;-webkit-mask-image:none}.waves-block{display:block}.waves-effect .waves-ripple{z-index:-1}.modal{display:none;position:fixed;left:0;right:0;background-color:#fafafa;padding:0;max-height:70%;width:55%;margin:auto;overflow-y:auto;border-radius:2px;will-change:top, opacity}.modal:focus{outline:none}@media only screen and (max-width: 992px){.modal{width:80%}}.modal h1,.modal h2,.modal h3,.modal h4{margin-top:0}.modal .modal-content{padding:24px}.modal .modal-close{cursor:pointer}.modal .modal-footer{border-radius:0 0 2px 2px;background-color:#fafafa;padding:4px 6px;height:56px;width:100%;text-align:right}.modal .modal-footer .btn,.modal .modal-footer .btn-large,.modal .modal-footer .btn-small,.modal .modal-footer .btn-flat{margin:6px 0}.modal-overlay{position:fixed;z-index:999;top:-25%;left:0;bottom:0;right:0;height:125%;width:100%;background:#000;display:none;will-change:opacity}.modal.modal-fixed-footer{padding:0;height:70%}.modal.modal-fixed-footer .modal-content{position:absolute;height:calc(100% - 56px);max-height:100%;width:100%;overflow-y:auto}.modal.modal-fixed-footer .modal-footer{border-top:1px solid rgba(0,0,0,0.1);position:absolute;bottom:0}.modal.bottom-sheet{top:auto;bottom:-100%;margin:0;width:100%;max-height:45%;border-radius:0;will-change:bottom, opacity}.collapsible{border-top:1px solid #ddd;border-right:1px solid #ddd;border-left:1px solid #ddd;margin:.5rem 0 1rem 0}.collapsible-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;-webkit-tap-highlight-color:transparent;line-height:1.5;padding:1rem;background-color:#fff;border-bottom:1px solid #ddd}.collapsible-header:focus{outline:0}.collapsible-header i{width:2rem;font-size:1.6rem;display:inline-block;text-align:center;margin-right:1rem}.keyboard-focused .collapsible-header:focus{background-color:#eee}.collapsible-body{display:none;border-bottom:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;padding:2rem}.sidenav .collapsible,.sidenav.fixed .collapsible{border:none;-webkit-box-shadow:none;box-shadow:none}.sidenav .collapsible li,.sidenav.fixed .collapsible li{padding:0}.sidenav .collapsible-header,.sidenav.fixed .collapsible-header{background-color:transparent;border:none;line-height:inherit;height:inherit;padding:0 16px}.sidenav .collapsible-header:hover,.sidenav.fixed .collapsible-header:hover{background-color:rgba(0,0,0,0.05)}.sidenav .collapsible-header i,.sidenav.fixed .collapsible-header i{line-height:inherit}.sidenav .collapsible-body,.sidenav.fixed .collapsible-body{border:0;background-color:#fff}.sidenav .collapsible-body li a,.sidenav.fixed .collapsible-body li a{padding:0 23.5px 0 31px}.collapsible.popout{border:none;-webkit-box-shadow:none;box-shadow:none}.collapsible.popout>li{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);margin:0 24px;-webkit-transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.collapsible.popout>li.active{-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);margin:16px 0}.chip{display:inline-block;height:32px;font-size:13px;font-weight:500;color:rgba(0,0,0,0.6);line-height:32px;padding:0 12px;border-radius:16px;background-color:#e4e4e4;margin-bottom:5px;margin-right:5px}.chip:focus{outline:none;background-color:#26a69a;color:#fff}.chip>img{float:left;margin:0 8px 0 -12px;height:32px;width:32px;border-radius:50%}.chip .close{cursor:pointer;float:right;font-size:16px;line-height:32px;padding-left:8px}.chips{border:none;border-bottom:1px solid #9e9e9e;-webkit-box-shadow:none;box-shadow:none;margin:0 0 8px 0;min-height:45px;outline:none;-webkit-transition:all .3s;transition:all .3s}.chips.focus{border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}.chips:hover{cursor:text}.chips .input{background:none;border:0;color:rgba(0,0,0,0.6);display:inline-block;font-size:16px;height:3rem;line-height:32px;outline:0;margin:0;padding:0 !important;width:120px !important}.chips .input:focus{border:0 !important;-webkit-box-shadow:none !important;box-shadow:none !important}.chips .autocomplete-content{margin-top:0;margin-bottom:0}.prefix ~ .chips{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.chips:empty ~ label{font-size:0.8rem;-webkit-transform:translateY(-140%);transform:translateY(-140%)}.materialboxed{display:block;cursor:-webkit-zoom-in;cursor:zoom-in;position:relative;-webkit-transition:opacity .4s;transition:opacity .4s;-webkit-backface-visibility:hidden}.materialboxed:hover:not(.active){opacity:.8}.materialboxed.active{cursor:-webkit-zoom-out;cursor:zoom-out}#materialbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#292929;z-index:1000;will-change:opacity}.materialbox-caption{position:fixed;display:none;color:#fff;line-height:50px;bottom:0;left:0;width:100%;text-align:center;padding:0% 15%;height:50px;z-index:1000;-webkit-font-smoothing:antialiased}select:focus{outline:1px solid #c9f3ef}button:focus{outline:none;background-color:#2ab7a9}label{font-size:.8rem;color:#9e9e9e}::-webkit-input-placeholder{color:#d1d1d1}::-moz-placeholder{color:#d1d1d1}:-ms-input-placeholder{color:#d1d1d1}::-ms-input-placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}input:not([type]),input[type=text]:not(.browser-default),input[type=password]:not(.browser-default),input[type=email]:not(.browser-default),input[type=url]:not(.browser-default),input[type=time]:not(.browser-default),input[type=date]:not(.browser-default),input[type=datetime]:not(.browser-default),input[type=datetime-local]:not(.browser-default),input[type=tel]:not(.browser-default),input[type=number]:not(.browser-default),input[type=search]:not(.browser-default),textarea.materialize-textarea{background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-transition:border .3s, -webkit-box-shadow .3s;transition:border .3s, -webkit-box-shadow .3s;transition:box-shadow .3s, border .3s;transition:box-shadow .3s, border .3s, -webkit-box-shadow .3s}input:not([type]):disabled,input:not([type])[readonly="readonly"],input[type=text]:not(.browser-default):disabled,input[type=text]:not(.browser-default)[readonly="readonly"],input[type=password]:not(.browser-default):disabled,input[type=password]:not(.browser-default)[readonly="readonly"],input[type=email]:not(.browser-default):disabled,input[type=email]:not(.browser-default)[readonly="readonly"],input[type=url]:not(.browser-default):disabled,input[type=url]:not(.browser-default)[readonly="readonly"],input[type=time]:not(.browser-default):disabled,input[type=time]:not(.browser-default)[readonly="readonly"],input[type=date]:not(.browser-default):disabled,input[type=date]:not(.browser-default)[readonly="readonly"],input[type=datetime]:not(.browser-default):disabled,input[type=datetime]:not(.browser-default)[readonly="readonly"],input[type=datetime-local]:not(.browser-default):disabled,input[type=datetime-local]:not(.browser-default)[readonly="readonly"],input[type=tel]:not(.browser-default):disabled,input[type=tel]:not(.browser-default)[readonly="readonly"],input[type=number]:not(.browser-default):disabled,input[type=number]:not(.browser-default)[readonly="readonly"],input[type=search]:not(.browser-default):disabled,input[type=search]:not(.browser-default)[readonly="readonly"],textarea.materialize-textarea:disabled,textarea.materialize-textarea[readonly="readonly"]{color:rgba(0,0,0,0.42);border-bottom:1px dotted rgba(0,0,0,0.42)}input:not([type]):disabled+label,input:not([type])[readonly="readonly"]+label,input[type=text]:not(.browser-default):disabled+label,input[type=text]:not(.browser-default)[readonly="readonly"]+label,input[type=password]:not(.browser-default):disabled+label,input[type=password]:not(.browser-default)[readonly="readonly"]+label,input[type=email]:not(.browser-default):disabled+label,input[type=email]:not(.browser-default)[readonly="readonly"]+label,input[type=url]:not(.browser-default):disabled+label,input[type=url]:not(.browser-default)[readonly="readonly"]+label,input[type=time]:not(.browser-default):disabled+label,input[type=time]:not(.browser-default)[readonly="readonly"]+label,input[type=date]:not(.browser-default):disabled+label,input[type=date]:not(.browser-default)[readonly="readonly"]+label,input[type=datetime]:not(.browser-default):disabled+label,input[type=datetime]:not(.browser-default)[readonly="readonly"]+label,input[type=datetime-local]:not(.browser-default):disabled+label,input[type=datetime-local]:not(.browser-default)[readonly="readonly"]+label,input[type=tel]:not(.browser-default):disabled+label,input[type=tel]:not(.browser-default)[readonly="readonly"]+label,input[type=number]:not(.browser-default):disabled+label,input[type=number]:not(.browser-default)[readonly="readonly"]+label,input[type=search]:not(.browser-default):disabled+label,input[type=search]:not(.browser-default)[readonly="readonly"]+label,textarea.materialize-textarea:disabled+label,textarea.materialize-textarea[readonly="readonly"]+label{color:rgba(0,0,0,0.42)}input:not([type]):focus:not([readonly]),input[type=text]:not(.browser-default):focus:not([readonly]),input[type=password]:not(.browser-default):focus:not([readonly]),input[type=email]:not(.browser-default):focus:not([readonly]),input[type=url]:not(.browser-default):focus:not([readonly]),input[type=time]:not(.browser-default):focus:not([readonly]),input[type=date]:not(.browser-default):focus:not([readonly]),input[type=datetime]:not(.browser-default):focus:not([readonly]),input[type=datetime-local]:not(.browser-default):focus:not([readonly]),input[type=tel]:not(.browser-default):focus:not([readonly]),input[type=number]:not(.browser-default):focus:not([readonly]),input[type=search]:not(.browser-default):focus:not([readonly]),textarea.materialize-textarea:focus:not([readonly]){border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}input:not([type]):focus:not([readonly])+label,input[type=text]:not(.browser-default):focus:not([readonly])+label,input[type=password]:not(.browser-default):focus:not([readonly])+label,input[type=email]:not(.browser-default):focus:not([readonly])+label,input[type=url]:not(.browser-default):focus:not([readonly])+label,input[type=time]:not(.browser-default):focus:not([readonly])+label,input[type=date]:not(.browser-default):focus:not([readonly])+label,input[type=datetime]:not(.browser-default):focus:not([readonly])+label,input[type=datetime-local]:not(.browser-default):focus:not([readonly])+label,input[type=tel]:not(.browser-default):focus:not([readonly])+label,input[type=number]:not(.browser-default):focus:not([readonly])+label,input[type=search]:not(.browser-default):focus:not([readonly])+label,textarea.materialize-textarea:focus:not([readonly])+label{color:#26a69a}input:not([type]):focus.valid ~ label,input[type=text]:not(.browser-default):focus.valid ~ label,input[type=password]:not(.browser-default):focus.valid ~ label,input[type=email]:not(.browser-default):focus.valid ~ label,input[type=url]:not(.browser-default):focus.valid ~ label,input[type=time]:not(.browser-default):focus.valid ~ label,input[type=date]:not(.browser-default):focus.valid ~ label,input[type=datetime]:not(.browser-default):focus.valid ~ label,input[type=datetime-local]:not(.browser-default):focus.valid ~ label,input[type=tel]:not(.browser-default):focus.valid ~ label,input[type=number]:not(.browser-default):focus.valid ~ label,input[type=search]:not(.browser-default):focus.valid ~ label,textarea.materialize-textarea:focus.valid ~ label{color:#4CAF50}input:not([type]):focus.invalid ~ label,input[type=text]:not(.browser-default):focus.invalid ~ label,input[type=password]:not(.browser-default):focus.invalid ~ label,input[type=email]:not(.browser-default):focus.invalid ~ label,input[type=url]:not(.browser-default):focus.invalid ~ label,input[type=time]:not(.browser-default):focus.invalid ~ label,input[type=date]:not(.browser-default):focus.invalid ~ label,input[type=datetime]:not(.browser-default):focus.invalid ~ label,input[type=datetime-local]:not(.browser-default):focus.invalid ~ label,input[type=tel]:not(.browser-default):focus.invalid ~ label,input[type=number]:not(.browser-default):focus.invalid ~ label,input[type=search]:not(.browser-default):focus.invalid ~ label,textarea.materialize-textarea:focus.invalid ~ label{color:#F44336}input:not([type]).validate+label,input[type=text]:not(.browser-default).validate+label,input[type=password]:not(.browser-default).validate+label,input[type=email]:not(.browser-default).validate+label,input[type=url]:not(.browser-default).validate+label,input[type=time]:not(.browser-default).validate+label,input[type=date]:not(.browser-default).validate+label,input[type=datetime]:not(.browser-default).validate+label,input[type=datetime-local]:not(.browser-default).validate+label,input[type=tel]:not(.browser-default).validate+label,input[type=number]:not(.browser-default).validate+label,input[type=search]:not(.browser-default).validate+label,textarea.materialize-textarea.validate+label{width:100%}input.valid:not([type]),input.valid:not([type]):focus,input.valid[type=text]:not(.browser-default),input.valid[type=text]:not(.browser-default):focus,input.valid[type=password]:not(.browser-default),input.valid[type=password]:not(.browser-default):focus,input.valid[type=email]:not(.browser-default),input.valid[type=email]:not(.browser-default):focus,input.valid[type=url]:not(.browser-default),input.valid[type=url]:not(.browser-default):focus,input.valid[type=time]:not(.browser-default),input.valid[type=time]:not(.browser-default):focus,input.valid[type=date]:not(.browser-default),input.valid[type=date]:not(.browser-default):focus,input.valid[type=datetime]:not(.browser-default),input.valid[type=datetime]:not(.browser-default):focus,input.valid[type=datetime-local]:not(.browser-default),input.valid[type=datetime-local]:not(.browser-default):focus,input.valid[type=tel]:not(.browser-default),input.valid[type=tel]:not(.browser-default):focus,input.valid[type=number]:not(.browser-default),input.valid[type=number]:not(.browser-default):focus,input.valid[type=search]:not(.browser-default),input.valid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.valid,textarea.materialize-textarea.valid:focus,.select-wrapper.valid>input.select-dropdown{border-bottom:1px solid #4CAF50;-webkit-box-shadow:0 1px 0 0 #4CAF50;box-shadow:0 1px 0 0 #4CAF50}input.invalid:not([type]),input.invalid:not([type]):focus,input.invalid[type=text]:not(.browser-default),input.invalid[type=text]:not(.browser-default):focus,input.invalid[type=password]:not(.browser-default),input.invalid[type=password]:not(.browser-default):focus,input.invalid[type=email]:not(.browser-default),input.invalid[type=email]:not(.browser-default):focus,input.invalid[type=url]:not(.browser-default),input.invalid[type=url]:not(.browser-default):focus,input.invalid[type=time]:not(.browser-default),input.invalid[type=time]:not(.browser-default):focus,input.invalid[type=date]:not(.browser-default),input.invalid[type=date]:not(.browser-default):focus,input.invalid[type=datetime]:not(.browser-default),input.invalid[type=datetime]:not(.browser-default):focus,input.invalid[type=datetime-local]:not(.browser-default),input.invalid[type=datetime-local]:not(.browser-default):focus,input.invalid[type=tel]:not(.browser-default),input.invalid[type=tel]:not(.browser-default):focus,input.invalid[type=number]:not(.browser-default),input.invalid[type=number]:not(.browser-default):focus,input.invalid[type=search]:not(.browser-default),input.invalid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.invalid,textarea.materialize-textarea.invalid:focus,.select-wrapper.invalid>input.select-dropdown,.select-wrapper.invalid>input.select-dropdown:focus{border-bottom:1px solid #F44336;-webkit-box-shadow:0 1px 0 0 #F44336;box-shadow:0 1px 0 0 #F44336}input:not([type]).valid ~ .helper-text[data-success],input:not([type]):focus.valid ~ .helper-text[data-success],input:not([type]).invalid ~ .helper-text[data-error],input:not([type]):focus.invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default).valid ~ .helper-text[data-success],input[type=text]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=text]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default).valid ~ .helper-text[data-success],input[type=password]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=password]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default).valid ~ .helper-text[data-success],input[type=email]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=email]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default).valid ~ .helper-text[data-success],input[type=url]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=url]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default).valid ~ .helper-text[data-success],input[type=time]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=time]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default).valid ~ .helper-text[data-success],input[type=date]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=date]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default).valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default).valid ~ .helper-text[data-success],input[type=number]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=number]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default).valid ~ .helper-text[data-success],input[type=search]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=search]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default):focus.invalid ~ .helper-text[data-error],textarea.materialize-textarea.valid ~ .helper-text[data-success],textarea.materialize-textarea:focus.valid ~ .helper-text[data-success],textarea.materialize-textarea.invalid ~ .helper-text[data-error],textarea.materialize-textarea:focus.invalid ~ .helper-text[data-error],.select-wrapper.valid .helper-text[data-success],.select-wrapper.invalid ~ .helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input:not([type]).valid ~ .helper-text:after,input:not([type]):focus.valid ~ .helper-text:after,input[type=text]:not(.browser-default).valid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=password]:not(.browser-default).valid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=email]:not(.browser-default).valid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=url]:not(.browser-default).valid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=time]:not(.browser-default).valid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=date]:not(.browser-default).valid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=tel]:not(.browser-default).valid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=number]:not(.browser-default).valid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=search]:not(.browser-default).valid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.valid ~ .helper-text:after,textarea.materialize-textarea.valid ~ .helper-text:after,textarea.materialize-textarea:focus.valid ~ .helper-text:after,.select-wrapper.valid ~ .helper-text:after{content:attr(data-success);color:#4CAF50}input:not([type]).invalid ~ .helper-text:after,input:not([type]):focus.invalid ~ .helper-text:after,input[type=text]:not(.browser-default).invalid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=password]:not(.browser-default).invalid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=email]:not(.browser-default).invalid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=url]:not(.browser-default).invalid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=time]:not(.browser-default).invalid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=date]:not(.browser-default).invalid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=tel]:not(.browser-default).invalid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=number]:not(.browser-default).invalid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=search]:not(.browser-default).invalid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.invalid ~ .helper-text:after,textarea.materialize-textarea.invalid ~ .helper-text:after,textarea.materialize-textarea:focus.invalid ~ .helper-text:after,.select-wrapper.invalid ~ .helper-text:after{content:attr(data-error);color:#F44336}input:not([type])+label:after,input[type=text]:not(.browser-default)+label:after,input[type=password]:not(.browser-default)+label:after,input[type=email]:not(.browser-default)+label:after,input[type=url]:not(.browser-default)+label:after,input[type=time]:not(.browser-default)+label:after,input[type=date]:not(.browser-default)+label:after,input[type=datetime]:not(.browser-default)+label:after,input[type=datetime-local]:not(.browser-default)+label:after,input[type=tel]:not(.browser-default)+label:after,input[type=number]:not(.browser-default)+label:after,input[type=search]:not(.browser-default)+label:after,textarea.materialize-textarea+label:after,.select-wrapper+label:after{display:block;content:"";position:absolute;top:100%;left:0;opacity:0;-webkit-transition:.2s opacity ease-out, .2s color ease-out;transition:.2s opacity ease-out, .2s color ease-out}.input-field{position:relative;margin-top:1rem;margin-bottom:1rem}.input-field.inline{display:inline-block;vertical-align:middle;margin-left:5px}.input-field.inline input,.input-field.inline .select-dropdown{margin-bottom:1rem}.input-field.col label{left:.75rem}.input-field.col .prefix ~ label,.input-field.col .prefix ~ .validate ~ label{width:calc(100% - 3rem - 1.5rem)}.input-field>label{color:#9e9e9e;position:absolute;top:0;left:0;font-size:1rem;cursor:text;-webkit-transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:transform .2s ease-out, color .2s ease-out;transition:transform .2s ease-out, color .2s ease-out, -webkit-transform .2s ease-out;-webkit-transform-origin:0% 100%;transform-origin:0% 100%;text-align:initial;-webkit-transform:translateY(12px);transform:translateY(12px)}.input-field>label:not(.label-icon).active{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field>input[type]:-webkit-autofill:not(.browser-default):not([type="search"])+label,.input-field>input[type=date]:not(.browser-default)+label,.input-field>input[type=time]:not(.browser-default)+label{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field .helper-text{position:relative;min-height:18px;display:block;font-size:12px;color:rgba(0,0,0,0.54)}.input-field .helper-text::after{opacity:1;position:absolute;top:0;left:0}.input-field .prefix{position:absolute;width:3rem;font-size:2rem;-webkit-transition:color .2s;transition:color .2s;top:.5rem}.input-field .prefix.active{color:#26a69a}.input-field .prefix ~ input,.input-field .prefix ~ textarea,.input-field .prefix ~ label,.input-field .prefix ~ .validate ~ label,.input-field .prefix ~ .helper-text,.input-field .prefix ~ .autocomplete-content{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.input-field .prefix ~ label{margin-left:3rem}@media only screen and (max-width: 992px){.input-field .prefix ~ input{width:86%;width:calc(100% - 3rem)}}@media only screen and (max-width: 600px){.input-field .prefix ~ input{width:80%;width:calc(100% - 3rem)}}.input-field input[type=search]{display:block;line-height:inherit;-webkit-transition:.3s background-color;transition:.3s background-color}.nav-wrapper .input-field input[type=search]{height:inherit;padding-left:4rem;width:calc(100% - 4rem);border:0;-webkit-box-shadow:none;box-shadow:none}.input-field input[type=search]:focus:not(.browser-default){background-color:#fff;border:0;-webkit-box-shadow:none;box-shadow:none;color:#444}.input-field input[type=search]:focus:not(.browser-default)+label i,.input-field input[type=search]:focus:not(.browser-default) ~ .mdi-navigation-close,.input-field input[type=search]:focus:not(.browser-default) ~ .material-icons{color:#444}.input-field input[type=search]+.label-icon{-webkit-transform:none;transform:none;left:1rem}.input-field input[type=search] ~ .mdi-navigation-close,.input-field input[type=search] ~ .material-icons{position:absolute;top:0;right:1rem;color:transparent;cursor:pointer;font-size:2rem;-webkit-transition:.3s color;transition:.3s color}textarea{width:100%;height:3rem;background-color:transparent}textarea.materialize-textarea{line-height:normal;overflow-y:hidden;padding:.8rem 0 .8rem 0;resize:none;min-height:3rem;-webkit-box-sizing:border-box;box-sizing:border-box}.hiddendiv{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding-top:1.2rem;position:absolute;top:0;z-index:-1}.autocomplete-content li .highlight{color:#444}.autocomplete-content li img{height:40px;width:40px;margin:5px 15px}.character-counter{min-height:18px}[type="radio"]:not(:checked),[type="radio"]:checked{position:absolute;opacity:0;pointer-events:none}[type="radio"]:not(:checked)+span,[type="radio"]:checked+span{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-transition:.28s ease;transition:.28s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="radio"]+span:before,[type="radio"]+span:after{content:'';position:absolute;left:0;top:0;margin:4px;width:16px;height:16px;z-index:0;-webkit-transition:.28s ease;transition:.28s ease}[type="radio"]:not(:checked)+span:before,[type="radio"]:not(:checked)+span:after,[type="radio"]:checked+span:before,[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:before,[type="radio"].with-gap:checked+span:after{border-radius:50%}[type="radio"]:not(:checked)+span:before,[type="radio"]:not(:checked)+span:after{border:2px solid #5a5a5a}[type="radio"]:not(:checked)+span:after{-webkit-transform:scale(0);transform:scale(0)}[type="radio"]:checked+span:before{border:2px solid transparent}[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:before,[type="radio"].with-gap:checked+span:after{border:2px solid #26a69a}[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:after{background-color:#26a69a}[type="radio"]:checked+span:after{-webkit-transform:scale(1.02);transform:scale(1.02)}[type="radio"].with-gap:checked+span:after{-webkit-transform:scale(0.5);transform:scale(0.5)}[type="radio"].tabbed:focus+span:before{-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1)}[type="radio"].with-gap:disabled:checked+span:before{border:2px solid rgba(0,0,0,0.42)}[type="radio"].with-gap:disabled:checked+span:after{border:none;background-color:rgba(0,0,0,0.42)}[type="radio"]:disabled:not(:checked)+span:before,[type="radio"]:disabled:checked+span:before{background-color:transparent;border-color:rgba(0,0,0,0.42)}[type="radio"]:disabled+span{color:rgba(0,0,0,0.42)}[type="radio"]:disabled:not(:checked)+span:before{border-color:rgba(0,0,0,0.42)}[type="radio"]:disabled:checked+span:after{background-color:rgba(0,0,0,0.42);border-color:#949494}[type="checkbox"]:not(:checked),[type="checkbox"]:checked{position:absolute;opacity:0;pointer-events:none}[type="checkbox"]+span:not(.lever){position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="checkbox"]+span:not(.lever):before,[type="checkbox"]:not(.filled-in)+span:not(.lever):after{content:'';position:absolute;top:0;left:0;width:18px;height:18px;z-index:0;border:2px solid #5a5a5a;border-radius:1px;margin-top:3px;-webkit-transition:.2s;transition:.2s}[type="checkbox"]:not(.filled-in)+span:not(.lever):after{border:0;-webkit-transform:scale(0);transform:scale(0)}[type="checkbox"]:not(:checked):disabled+span:not(.lever):before{border:none;background-color:rgba(0,0,0,0.42)}[type="checkbox"].tabbed:focus+span:not(.lever):after{-webkit-transform:scale(1);transform:scale(1);border:0;border-radius:50%;-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1);background-color:rgba(0,0,0,0.1)}[type="checkbox"]:checked+span:not(.lever):before{top:-4px;left:-5px;width:12px;height:22px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #26a69a;border-bottom:2px solid #26a69a;-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:checked:disabled+span:before{border-right:2px solid rgba(0,0,0,0.42);border-bottom:2px solid rgba(0,0,0,0.42)}[type="checkbox"]:indeterminate+span:not(.lever):before{top:-11px;left:-12px;width:10px;height:22px;border-top:none;border-left:none;border-right:2px solid #26a69a;border-bottom:none;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:indeterminate:disabled+span:not(.lever):before{border-right:2px solid rgba(0,0,0,0.42);background-color:transparent}[type="checkbox"].filled-in+span:not(.lever):after{border-radius:2px}[type="checkbox"].filled-in+span:not(.lever):before,[type="checkbox"].filled-in+span:not(.lever):after{content:'';left:0;position:absolute;-webkit-transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;z-index:1}[type="checkbox"].filled-in:not(:checked)+span:not(.lever):before{width:0;height:0;border:3px solid transparent;left:6px;top:10px;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"].filled-in:not(:checked)+span:not(.lever):after{height:20px;width:20px;background-color:transparent;border:2px solid #5a5a5a;top:0px;z-index:0}[type="checkbox"].filled-in:checked+span:not(.lever):before{top:0;left:1px;width:8px;height:13px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"].filled-in:checked+span:not(.lever):after{top:0;width:20px;height:20px;border:2px solid #26a69a;background-color:#26a69a;z-index:0}[type="checkbox"].filled-in.tabbed:focus+span:not(.lever):after{border-radius:2px;border-color:#5a5a5a;background-color:rgba(0,0,0,0.1)}[type="checkbox"].filled-in.tabbed:checked:focus+span:not(.lever):after{border-radius:2px;background-color:#26a69a;border-color:#26a69a}[type="checkbox"].filled-in:disabled:not(:checked)+span:not(.lever):before{background-color:transparent;border:2px solid transparent}[type="checkbox"].filled-in:disabled:not(:checked)+span:not(.lever):after{border-color:transparent;background-color:#949494}[type="checkbox"].filled-in:disabled:checked+span:not(.lever):before{background-color:transparent}[type="checkbox"].filled-in:disabled:checked+span:not(.lever):after{background-color:#949494;border-color:#949494}.switch,.switch *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{cursor:pointer}.switch label input[type=checkbox]{opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked+.lever{background-color:#84c7c1}.switch label input[type=checkbox]:checked+.lever:before,.switch label input[type=checkbox]:checked+.lever:after{left:18px}.switch label input[type=checkbox]:checked+.lever:after{background-color:#26a69a}.switch label .lever{content:"";display:inline-block;position:relative;width:36px;height:14px;background-color:rgba(0,0,0,0.38);border-radius:15px;margin-right:10px;-webkit-transition:background 0.3s ease;transition:background 0.3s ease;vertical-align:middle;margin:0 16px}.switch label .lever:before,.switch label .lever:after{content:"";position:absolute;display:inline-block;width:20px;height:20px;border-radius:50%;left:0;top:-3px;-webkit-transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease}.switch label .lever:before{background-color:rgba(38,166,154,0.15)}.switch label .lever:after{background-color:#F1F1F1;-webkit-box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12)}input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(38,166,154,0.15)}input[type=checkbox]:not(:disabled) ~ .lever:active:before,input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(0,0,0,0.08)}.switch input[type=checkbox][disabled]+.lever{cursor:default;background-color:rgba(0,0,0,0.12)}.switch label input[type=checkbox][disabled]+.lever:after,.switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#949494}select{display:none}select.browser-default{display:block}select{background-color:rgba(255,255,255,0.9);width:100%;padding:5px;border:1px solid #f2f2f2;border-radius:2px;height:3rem}.select-label{position:absolute}.select-wrapper{position:relative}.select-wrapper.valid+label,.select-wrapper.invalid+label{width:100%;pointer-events:none}.select-wrapper input.select-dropdown{position:relative;cursor:pointer;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;outline:none;height:3rem;line-height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.select-wrapper input.select-dropdown:focus{border-bottom:1px solid #26a69a}.select-wrapper .caret{position:absolute;right:0;top:0;bottom:0;margin:auto 0;z-index:0;fill:rgba(0,0,0,0.87)}.select-wrapper+label{position:absolute;top:-26px;font-size:.8rem}select:disabled{color:rgba(0,0,0,0.42)}.select-wrapper.disabled+label{color:rgba(0,0,0,0.42)}.select-wrapper.disabled .caret{fill:rgba(0,0,0,0.42)}.select-wrapper input.select-dropdown:disabled{color:rgba(0,0,0,0.42);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-wrapper i{color:rgba(0,0,0,0.3)}.select-dropdown li.disabled,.select-dropdown li.disabled>span,.select-dropdown li.optgroup{color:rgba(0,0,0,0.3);background-color:transparent}body.keyboard-focused .select-dropdown.dropdown-content li:focus{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li:hover{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li.selected{background-color:rgba(0,0,0,0.03)}.prefix ~ .select-wrapper{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.prefix ~ label{margin-left:3rem}.select-dropdown li img{height:40px;width:40px;margin:5px 15px;float:right}.select-dropdown li.optgroup{border-top:1px solid #eee}.select-dropdown li.optgroup.selected>span{color:rgba(0,0,0,0.7)}.select-dropdown li.optgroup>span{color:rgba(0,0,0,0.4)}.select-dropdown li.optgroup ~ li.optgroup-option{padding-left:1rem}.file-field{position:relative}.file-field .file-path-wrapper{overflow:hidden;padding-left:10px}.file-field input.file-path{width:100%}.file-field .btn,.file-field .btn-large,.file-field .btn-small{float:left;height:3rem;line-height:3rem}.file-field span{cursor:pointer}.file-field input[type=file]{position:absolute;top:0;right:0;left:0;bottom:0;width:100%;margin:0;padding:0;font-size:20px;cursor:pointer;opacity:0;filter:alpha(opacity=0)}.file-field input[type=file]::-webkit-file-upload-button{display:none}.range-field{position:relative}input[type=range],input[type=range]+.thumb{cursor:pointer}input[type=range]{position:relative;background-color:transparent;border:none;outline:none;width:100%;margin:15px 0;padding:0}input[type=range]:focus{outline:none}input[type=range]+.thumb{position:absolute;top:10px;left:0;border:none;height:0;width:0;border-radius:50%;background-color:#26a69a;margin-left:7px;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}input[type=range]+.thumb .value{display:block;width:30px;text-align:center;color:#26a69a;font-size:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}input[type=range]+.thumb.active{border-radius:50% 50% 50% 0}input[type=range]+.thumb.active .value{color:#fff;margin-left:-1px;margin-top:8px;font-size:10px}input[type=range]{-webkit-appearance:none}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-webkit-slider-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;-webkit-appearance:none;background-color:#26a69a;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;margin:-5px 0 0 0}.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 10px rgba(38,166,154,0.26);box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]{border:1px solid white}input[type=range]::-moz-range-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-moz-focus-inner{border:0}input[type=range]::-moz-range-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;margin-top:-5px}input[type=range]:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]::-ms-track{height:3px;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#777}input[type=range]::-ms-fill-upper{background:#ddd}input[type=range]::-ms-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s}.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}.table-of-contents.fixed{position:fixed}.table-of-contents li{padding:2px 0}.table-of-contents a{display:inline-block;font-weight:300;color:#757575;padding-left:16px;height:1.5rem;line-height:1.5rem;letter-spacing:.4;display:inline-block}.table-of-contents a:hover{color:#a8a8a8;padding-left:15px;border-left:1px solid #ee6e73}.table-of-contents a.active{font-weight:500;padding-left:14px;border-left:2px solid #ee6e73}.sidenav{position:fixed;width:300px;left:0;top:0;margin:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);height:100%;height:calc(100% + 60px);height:-moz-calc(100%);padding-bottom:60px;background-color:#fff;z-index:999;overflow-y:auto;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.right-aligned{right:0;-webkit-transform:translateX(105%);transform:translateX(105%);left:auto;-webkit-transform:translateX(100%);transform:translateX(100%)}.sidenav .collapsible{margin:0}.sidenav li{float:none;line-height:48px}.sidenav li.active{background-color:rgba(0,0,0,0.05)}.sidenav li>a{color:rgba(0,0,0,0.87);display:block;font-size:14px;font-weight:500;height:48px;line-height:48px;padding:0 32px}.sidenav li>a:hover{background-color:rgba(0,0,0,0.05)}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-flat,.sidenav li>a.btn-floating{margin:10px 15px}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-floating{color:#fff}.sidenav li>a.btn-flat{color:#343434}.sidenav li>a.btn:hover,.sidenav li>a.btn-large:hover,.sidenav li>a.btn-small:hover,.sidenav li>a.btn-large:hover{background-color:#2bbbad}.sidenav li>a.btn-floating:hover{background-color:#26a69a}.sidenav li>a>i,.sidenav li>a>[class^="mdi-"],.sidenav li>a li>a>[class*="mdi-"],.sidenav li>a>i.material-icons{float:left;height:48px;line-height:48px;margin:0 32px 0 0;width:24px;color:rgba(0,0,0,0.54)}.sidenav .divider{margin:8px 0 0 0}.sidenav .subheader{cursor:initial;pointer-events:none;color:rgba(0,0,0,0.54);font-size:14px;font-weight:500;line-height:48px}.sidenav .subheader:hover{background-color:transparent}.sidenav .user-view{position:relative;padding:32px 32px 0;margin-bottom:8px}.sidenav .user-view>a{height:auto;padding:0}.sidenav .user-view>a:hover{background-color:transparent}.sidenav .user-view .background{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.sidenav .user-view .circle,.sidenav .user-view .name,.sidenav .user-view .email{display:block}.sidenav .user-view .circle{height:64px;width:64px}.sidenav .user-view .name,.sidenav .user-view .email{font-size:14px;line-height:24px}.sidenav .user-view .name{margin-top:16px;font-weight:500}.sidenav .user-view .email{padding-bottom:16px;font-weight:400}.drag-target{height:100%;width:10px;position:fixed;top:0;z-index:998}.drag-target.right-aligned{right:0}.sidenav.sidenav-fixed{left:0;-webkit-transform:translateX(0);transform:translateX(0);position:fixed}.sidenav.sidenav-fixed.right-aligned{right:0;left:auto}@media only screen and (max-width: 992px){.sidenav.sidenav-fixed{-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.sidenav-fixed.right-aligned{-webkit-transform:translateX(105%);transform:translateX(105%)}.sidenav>a{padding:0 16px}.sidenav .user-view{padding:16px 16px 0}}.sidenav .collapsible-body>ul:not(.collapsible)>li.active,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active{background-color:#ee6e73}.sidenav .collapsible-body>ul:not(.collapsible)>li.active a,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active a{color:#fff}.sidenav .collapsible-body{padding:0}.sidenav-overlay{position:fixed;top:0;left:0;right:0;opacity:0;height:120vh;background-color:rgba(0,0,0,0.5);z-index:997;display:none}.preloader-wrapper{display:inline-block;position:relative;width:50px;height:50px}.preloader-wrapper.small{width:36px;height:36px}.preloader-wrapper.big{width:64px;height:64px}.preloader-wrapper.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-layer{position:absolute;width:100%;height:100%;opacity:0;border-color:#26a69a}.spinner-blue,.spinner-blue-only{border-color:#4285f4}.spinner-red,.spinner-red-only{border-color:#db4437}.spinner-yellow,.spinner-yellow-only{border-color:#f4b400}.spinner-green,.spinner-green-only{border-color:#0f9d58}.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer,.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only,.active .spinner-layer.spinner-green-only{opacity:1;-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.gap-patch .circle{width:1000%;left:-450%}.circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.circle-clipper .circle{width:200%;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent !important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0}.circle-clipper.left .circle{left:0;border-right-color:transparent !important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.circle-clipper.right .circle{left:-100%;border-left-color:transparent !important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.active .circle-clipper.left .circle{-webkit-animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .circle-clipper.right .circle{-webkit-animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes left-spin{from{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes right-spin{from{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}#spinnerContainer.cooldown{-webkit-animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1)}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}.slider{position:relative;height:400px;width:100%}.slider.fullscreen{height:100%;width:100%;position:absolute;top:0;left:0;right:0;bottom:0}.slider.fullscreen ul.slides{height:100%}.slider.fullscreen ul.indicators{z-index:2;bottom:30px}.slider .slides{background-color:#9e9e9e;margin:0;height:400px}.slider .slides li{opacity:0;position:absolute;top:0;left:0;z-index:1;width:100%;height:inherit;overflow:hidden}.slider .slides li img{height:100%;width:100%;background-size:cover;background-position:center}.slider .slides li .caption{color:#fff;position:absolute;top:15%;left:15%;width:70%;opacity:0}.slider .slides li .caption p{color:#e0e0e0}.slider .slides li.active{z-index:2}.slider .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.slider .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:16px;width:16px;margin:0 12px;background-color:#e0e0e0;-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.slider .indicators .indicator-item.active{background-color:#4CAF50}.carousel{overflow:hidden;position:relative;width:100%;height:400px;-webkit-perspective:500px;perspective:500px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform-origin:0% 50%;transform-origin:0% 50%}.carousel.carousel-slider{top:0;left:0}.carousel.carousel-slider .carousel-fixed-item{position:absolute;left:0;right:0;bottom:20px;z-index:1}.carousel.carousel-slider .carousel-fixed-item.with-indicators{bottom:68px}.carousel.carousel-slider .carousel-item{width:100%;height:100%;min-height:400px;position:absolute;top:0;left:0}.carousel.carousel-slider .carousel-item h2{font-size:24px;font-weight:500;line-height:32px}.carousel.carousel-slider .carousel-item p{font-size:15px}.carousel .carousel-item{visibility:hidden;width:200px;height:200px;position:absolute;top:0;left:0}.carousel .carousel-item>img{width:100%}.carousel .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.carousel .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:8px;width:8px;margin:24px 4px;background-color:rgba(255,255,255,0.5);-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.carousel .indicators .indicator-item.active{background-color:#fff}.carousel.scrolling .carousel-item .materialboxed,.carousel .carousel-item:not(.active) .materialboxed{pointer-events:none}.tap-target-wrapper{width:800px;height:800px;position:fixed;z-index:1000;visibility:hidden;-webkit-transition:visibility 0s .3s;transition:visibility 0s .3s}.tap-target-wrapper.open{visibility:visible;-webkit-transition:visibility 0s;transition:visibility 0s}.tap-target-wrapper.open .tap-target{-webkit-transform:scale(1);transform:scale(1);opacity:.95;-webkit-transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1)}.tap-target-wrapper.open .tap-target-wave::before{-webkit-transform:scale(1);transform:scale(1)}.tap-target-wrapper.open .tap-target-wave::after{visibility:visible;-webkit-animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;-webkit-transition:opacity .3s, visibility 0s 1s, -webkit-transform .3s;transition:opacity .3s, visibility 0s 1s, -webkit-transform .3s;transition:opacity .3s, transform .3s, visibility 0s 1s;transition:opacity .3s, transform .3s, visibility 0s 1s, -webkit-transform .3s}.tap-target{position:absolute;font-size:1rem;border-radius:50%;background-color:#ee6e73;-webkit-box-shadow:0 20px 20px 0 rgba(0,0,0,0.14),0 10px 50px 0 rgba(0,0,0,0.12),0 30px 10px -20px rgba(0,0,0,0.2);box-shadow:0 20px 20px 0 rgba(0,0,0,0.14),0 10px 50px 0 rgba(0,0,0,0.12),0 30px 10px -20px rgba(0,0,0,0.2);width:100%;height:100%;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1)}.tap-target-content{position:relative;display:table-cell}.tap-target-wave{position:absolute;border-radius:50%;z-index:10001}.tap-target-wave::before,.tap-target-wave::after{content:'';display:block;position:absolute;width:100%;height:100%;border-radius:50%;background-color:#ffffff}.tap-target-wave::before{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s, -webkit-transform .3s}.tap-target-wave::after{visibility:hidden;-webkit-transition:opacity .3s, visibility 0s, -webkit-transform .3s;transition:opacity .3s, visibility 0s, -webkit-transform .3s;transition:opacity .3s, transform .3s, visibility 0s;transition:opacity .3s, transform .3s, visibility 0s, -webkit-transform .3s;z-index:-1}.tap-target-origin{top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);z-index:10002;position:absolute !important}.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small),.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small):hover{background:none}@media only screen and (max-width: 600px){.tap-target,.tap-target-wrapper{width:600px;height:600px}}.pulse{overflow:visible;position:relative}.pulse::before{content:'';display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:inherit;border-radius:inherit;-webkit-transition:opacity .3s, -webkit-transform .3s;transition:opacity .3s, -webkit-transform .3s;transition:opacity .3s, transform .3s;transition:opacity .3s, transform .3s, -webkit-transform .3s;-webkit-animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;z-index:-1}@-webkit-keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}100%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}@keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}100%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}.datepicker-modal{max-width:325px;min-width:300px;max-height:none}.datepicker-container.modal-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:0}.datepicker-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:280px;margin:0 auto}.datepicker-controls .selects-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.datepicker-controls .select-wrapper input{border-bottom:none;text-align:center;margin:0}.datepicker-controls .select-wrapper input:focus{border-bottom:none}.datepicker-controls .select-wrapper .caret{display:none}.datepicker-controls .select-year input{width:50px}.datepicker-controls .select-month input{width:70px}.month-prev,.month-next{margin-top:4px;cursor:pointer;background-color:transparent;border:none}.datepicker-date-display{-webkit-box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto;background-color:#26a69a;color:#fff;padding:20px 22px;font-weight:500}.datepicker-date-display .year-text{display:block;font-size:1.5rem;line-height:25px;color:rgba(255,255,255,0.7)}.datepicker-date-display .date-text{display:block;font-size:2.8rem;line-height:47px;font-weight:500}.datepicker-calendar-container{-webkit-box-flex:2.5;-webkit-flex:2.5 auto;-ms-flex:2.5 auto;flex:2.5 auto}.datepicker-table{width:280px;font-size:1rem;margin:0 auto}.datepicker-table thead{border-bottom:none}.datepicker-table th{padding:10px 5px;text-align:center}.datepicker-table tr{border:none}.datepicker-table abbr{text-decoration:none;color:#999}.datepicker-table td{border-radius:50%;padding:0}.datepicker-table td.is-today{color:#26a69a}.datepicker-table td.is-selected{background-color:#26a69a;color:#fff}.datepicker-table td.is-outside-current-month,.datepicker-table td.is-disabled{color:rgba(0,0,0,0.3);pointer-events:none}.datepicker-day-button{background-color:transparent;border:none;line-height:38px;display:block;width:100%;border-radius:50%;padding:0 5px;cursor:pointer;color:inherit}.datepicker-day-button:focus{background-color:rgba(43,161,150,0.25)}.datepicker-footer{width:280px;margin:0 auto;padding-bottom:5px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.datepicker-cancel,.datepicker-clear,.datepicker-today,.datepicker-done{color:#26a69a;padding:0 1rem}.datepicker-clear{color:#F44336}@media only screen and (min-width: 601px){.datepicker-modal{max-width:625px}.datepicker-container.modal-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.datepicker-date-display{-webkit-box-flex:0;-webkit-flex:0 1 270px;-ms-flex:0 1 270px;flex:0 1 270px}.datepicker-controls,.datepicker-table,.datepicker-footer{width:320px}.datepicker-day-button{line-height:44px}}.timepicker-modal{max-width:325px;max-height:none}.timepicker-container.modal-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:0}.text-primary{color:#fff}.timepicker-digital-display{-webkit-box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto;background-color:#26a69a;padding:10px;font-weight:300}.timepicker-text-container{font-size:4rem;font-weight:bold;text-align:center;color:rgba(255,255,255,0.6);font-weight:400;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.timepicker-span-hours,.timepicker-span-minutes,.timepicker-span-am-pm div{cursor:pointer}.timepicker-span-hours{margin-right:3px}.timepicker-span-minutes{margin-left:3px}.timepicker-display-am-pm{font-size:1.3rem;position:absolute;right:1rem;bottom:1rem;font-weight:400}.timepicker-analog-display{-webkit-box-flex:2.5;-webkit-flex:2.5 auto;-ms-flex:2.5 auto;flex:2.5 auto}.timepicker-plate{background-color:#eee;border-radius:50%;width:270px;height:270px;overflow:visible;position:relative;margin:auto;margin-top:25px;margin-bottom:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.timepicker-canvas,.timepicker-dial{position:absolute;left:0;right:0;top:0;bottom:0}.timepicker-minutes{visibility:hidden}.timepicker-tick{border-radius:50%;color:rgba(0,0,0,0.87);line-height:40px;text-align:center;width:40px;height:40px;position:absolute;cursor:pointer;font-size:15px}.timepicker-tick.active,.timepicker-tick:hover{background-color:rgba(38,166,154,0.25)}.timepicker-dial{-webkit-transition:opacity 350ms, -webkit-transform 350ms;transition:opacity 350ms, -webkit-transform 350ms;transition:transform 350ms, opacity 350ms;transition:transform 350ms, opacity 350ms, -webkit-transform 350ms}.timepicker-dial-out{opacity:0}.timepicker-dial-out.timepicker-hours{-webkit-transform:scale(1.1, 1.1);transform:scale(1.1, 1.1)}.timepicker-dial-out.timepicker-minutes{-webkit-transform:scale(0.8, 0.8);transform:scale(0.8, 0.8)}.timepicker-canvas{-webkit-transition:opacity 175ms;transition:opacity 175ms}.timepicker-canvas line{stroke:#26a69a;stroke-width:4;stroke-linecap:round}.timepicker-canvas-out{opacity:0.25}.timepicker-canvas-bearing{stroke:none;fill:#26a69a}.timepicker-canvas-bg{stroke:none;fill:#26a69a}.timepicker-footer{margin:0 auto;padding:5px 1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.timepicker-clear{color:#F44336}.timepicker-close{color:#26a69a}.timepicker-clear,.timepicker-close{padding:0 20px}@media only screen and (min-width: 601px){.timepicker-modal{max-width:600px}.timepicker-container.modal-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.timepicker-text-container{top:32%}.timepicker-display-am-pm{position:relative;right:auto;bottom:auto;text-align:center;margin-top:1.2rem}} diff --git a/src/test/resources/realworld/pure_3_0_0.css b/src/test/resources/realworld/pure_3_0_0.css new file mode 100644 index 0000000..6a3f7b2 --- /dev/null +++ b/src/test/resources/realworld/pure_3_0_0.css @@ -0,0 +1,1311 @@ +/*! +Pure v3.0.0 +Copyright 2013 Yahoo! +Licensed under the BSD License. +https://github.com/pure-css/pure/blob/master/LICENSE +*/ +/*! +normalize.css v | MIT License | https://necolas.github.io/normalize.css/ +Copyright (c) Nicolas Gallagher and Jonathan Neal +*/ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} + +/*csslint important:false*/ + +/* ========================================================================== + Pure Base Extras + ========================================================================== */ + +/** + * Extra rules that Pure adds on top of Normalize.css + */ + +html { + font-family: sans-serif; +} + +/** + * Always hide an element when it has the `hidden` HTML attribute. + */ + +.hidden, +[hidden] { + display: none !important; +} + +/** + * Add this class to an image to make it fit within it's fluid parent wrapper while maintaining + * aspect ratio. + */ +.pure-img { + max-width: 100%; + height: auto; + display: block; +} + +/*csslint regex-selectors:false, known-properties:false, duplicate-properties:false*/ + +.pure-g { + display: flex; + flex-flow: row wrap; + + /* Prevents distributing space between rows */ + align-content: flex-start; +} + +.pure-u { + display: inline-block; + vertical-align: top; +} + +.pure-u-1, +.pure-u-1-1, +.pure-u-1-2, +.pure-u-1-3, +.pure-u-2-3, +.pure-u-1-4, +.pure-u-3-4, +.pure-u-1-5, +.pure-u-2-5, +.pure-u-3-5, +.pure-u-4-5, +.pure-u-5-5, +.pure-u-1-6, +.pure-u-5-6, +.pure-u-1-8, +.pure-u-3-8, +.pure-u-5-8, +.pure-u-7-8, +.pure-u-1-12, +.pure-u-5-12, +.pure-u-7-12, +.pure-u-11-12, +.pure-u-1-24, +.pure-u-2-24, +.pure-u-3-24, +.pure-u-4-24, +.pure-u-5-24, +.pure-u-6-24, +.pure-u-7-24, +.pure-u-8-24, +.pure-u-9-24, +.pure-u-10-24, +.pure-u-11-24, +.pure-u-12-24, +.pure-u-13-24, +.pure-u-14-24, +.pure-u-15-24, +.pure-u-16-24, +.pure-u-17-24, +.pure-u-18-24, +.pure-u-19-24, +.pure-u-20-24, +.pure-u-21-24, +.pure-u-22-24, +.pure-u-23-24, +.pure-u-24-24 { + display: inline-block; + letter-spacing: normal; + word-spacing: normal; + vertical-align: top; + text-rendering: auto; +} + +.pure-u-1-24 { + width: 4.1667%; +} + +.pure-u-1-12, +.pure-u-2-24 { + width: 8.3333%; +} + +.pure-u-1-8, +.pure-u-3-24 { + width: 12.5000%; +} + +.pure-u-1-6, +.pure-u-4-24 { + width: 16.6667%; +} + +.pure-u-1-5 { + width: 20%; +} + +.pure-u-5-24 { + width: 20.8333%; +} + +.pure-u-1-4, +.pure-u-6-24 { + width: 25%; +} + +.pure-u-7-24 { + width: 29.1667%; +} + +.pure-u-1-3, +.pure-u-8-24 { + width: 33.3333%; +} + +.pure-u-3-8, +.pure-u-9-24 { + width: 37.5000%; +} + +.pure-u-2-5 { + width: 40%; +} + +.pure-u-5-12, +.pure-u-10-24 { + width: 41.6667%; +} + +.pure-u-11-24 { + width: 45.8333%; +} + +.pure-u-1-2, +.pure-u-12-24 { + width: 50%; +} + +.pure-u-13-24 { + width: 54.1667%; +} + +.pure-u-7-12, +.pure-u-14-24 { + width: 58.3333%; +} + +.pure-u-3-5 { + width: 60%; +} + +.pure-u-5-8, +.pure-u-15-24 { + width: 62.5000%; +} + +.pure-u-2-3, +.pure-u-16-24 { + width: 66.6667%; +} + +.pure-u-17-24 { + width: 70.8333%; +} + +.pure-u-3-4, +.pure-u-18-24 { + width: 75%; +} + +.pure-u-19-24 { + width: 79.1667%; +} + +.pure-u-4-5 { + width: 80%; +} + +.pure-u-5-6, +.pure-u-20-24 { + width: 83.3333%; +} + +.pure-u-7-8, +.pure-u-21-24 { + width: 87.5000%; +} + +.pure-u-11-12, +.pure-u-22-24 { + width: 91.6667%; +} + +.pure-u-23-24 { + width: 95.8333%; +} + +.pure-u-1, +.pure-u-1-1, +.pure-u-5-5, +.pure-u-24-24 { + width: 100%; +} +.pure-button { + /* Structure */ + display: inline-block; + line-height: normal; + white-space: nowrap; + vertical-align: middle; + text-align: center; + cursor: pointer; + -webkit-user-drag: none; + -webkit-user-select: none; + user-select: none; + box-sizing: border-box; +} + +/* Firefox: Get rid of the inner focus border */ +.pure-button::-moz-focus-inner { + padding: 0; + border: 0; +} + +/* Inherit .pure-g styles */ +.pure-button-group { + letter-spacing: -0.31em; /* Webkit: collapse white-space between units */ + text-rendering: optimizespeed; /* Webkit: fixes text-rendering: optimizeLegibility */ +} + +.opera-only :-o-prefocus, +.pure-button-group { + word-spacing: -0.43em; +} + +.pure-button-group .pure-button { + letter-spacing: normal; + word-spacing: normal; + vertical-align: top; + text-rendering: auto; +} + +/*csslint outline-none:false*/ + +.pure-button { + font-family: inherit; + font-size: 100%; + padding: 0.5em 1em; + color: rgba(0, 0, 0, 0.80); + border: none rgba(0, 0, 0, 0); + background-color: #E6E6E6; + text-decoration: none; + border-radius: 2px; +} + +.pure-button-hover, +.pure-button:hover, +.pure-button:focus { + background-image: linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10)); +} +.pure-button:focus { + outline: 0; +} +.pure-button-active, +.pure-button:active { + box-shadow: 0 0 0 1px rgba(0,0,0, 0.15) inset, 0 0 6px rgba(0,0,0, 0.20) inset; + border-color: #000; +} + +.pure-button[disabled], +.pure-button-disabled, +.pure-button-disabled:hover, +.pure-button-disabled:focus, +.pure-button-disabled:active { + border: none; + background-image: none; + opacity: 0.40; + cursor: not-allowed; + box-shadow: none; + pointer-events: none; +} + +.pure-button-hidden { + display: none; +} + +.pure-button-primary, +.pure-button-selected, +a.pure-button-primary, +a.pure-button-selected { + background-color: rgb(0, 120, 231); + color: #fff; +} + +/* Button Groups */ +.pure-button-group .pure-button { + margin: 0; + border-radius: 0; + border-right: 1px solid rgba(0, 0, 0, 0.2); + +} + +.pure-button-group .pure-button:first-child { + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} +.pure-button-group .pure-button:last-child { + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + border-right: none; +} + +/*csslint box-model:false*/ +/* +Box-model set to false because we're setting a height on select elements, which +also have border and padding. This is done because some browsers don't render +the padding. We explicitly set the box-model for select elements to border-box, +so we can ignore the csslint warning. +*/ + +.pure-form input[type="text"], +.pure-form input[type="password"], +.pure-form input[type="email"], +.pure-form input[type="url"], +.pure-form input[type="date"], +.pure-form input[type="month"], +.pure-form input[type="time"], +.pure-form input[type="datetime"], +.pure-form input[type="datetime-local"], +.pure-form input[type="week"], +.pure-form input[type="number"], +.pure-form input[type="search"], +.pure-form input[type="tel"], +.pure-form input[type="color"], +.pure-form select, +.pure-form textarea { + padding: 0.5em 0.6em; + display: inline-block; + border: 1px solid #ccc; + box-shadow: inset 0 1px 3px #ddd; + border-radius: 4px; + vertical-align: middle; + box-sizing: border-box; +} + +/* +Need to separate out the :not() selector from the rest of the CSS 2.1 selectors +since IE8 won't execute CSS that contains a CSS3 selector. +*/ +.pure-form input:not([type]) { + padding: 0.5em 0.6em; + display: inline-block; + border: 1px solid #ccc; + box-shadow: inset 0 1px 3px #ddd; + border-radius: 4px; + box-sizing: border-box; +} + + +/* Chrome (as of v.32/34 on OS X) needs additional room for color to display. */ +/* May be able to remove this tweak as color inputs become more standardized across browsers. */ +.pure-form input[type="color"] { + padding: 0.2em 0.5em; +} + + +.pure-form input[type="text"]:focus, +.pure-form input[type="password"]:focus, +.pure-form input[type="email"]:focus, +.pure-form input[type="url"]:focus, +.pure-form input[type="date"]:focus, +.pure-form input[type="month"]:focus, +.pure-form input[type="time"]:focus, +.pure-form input[type="datetime"]:focus, +.pure-form input[type="datetime-local"]:focus, +.pure-form input[type="week"]:focus, +.pure-form input[type="number"]:focus, +.pure-form input[type="search"]:focus, +.pure-form input[type="tel"]:focus, +.pure-form input[type="color"]:focus, +.pure-form select:focus, +.pure-form textarea:focus { + outline: 0; + border-color: #129FEA; +} + +/* +Need to separate out the :not() selector from the rest of the CSS 2.1 selectors +since IE8 won't execute CSS that contains a CSS3 selector. +*/ +.pure-form input:not([type]):focus { + outline: 0; + border-color: #129FEA; +} + +.pure-form input[type="file"]:focus, +.pure-form input[type="radio"]:focus, +.pure-form input[type="checkbox"]:focus { + outline: thin solid #129FEA; + outline: 1px auto #129FEA; +} +.pure-form .pure-checkbox, +.pure-form .pure-radio { + margin: 0.5em 0; + display: block; +} + +.pure-form input[type="text"][disabled], +.pure-form input[type="password"][disabled], +.pure-form input[type="email"][disabled], +.pure-form input[type="url"][disabled], +.pure-form input[type="date"][disabled], +.pure-form input[type="month"][disabled], +.pure-form input[type="time"][disabled], +.pure-form input[type="datetime"][disabled], +.pure-form input[type="datetime-local"][disabled], +.pure-form input[type="week"][disabled], +.pure-form input[type="number"][disabled], +.pure-form input[type="search"][disabled], +.pure-form input[type="tel"][disabled], +.pure-form input[type="color"][disabled], +.pure-form select[disabled], +.pure-form textarea[disabled] { + cursor: not-allowed; + background-color: #eaeded; + color: #cad2d3; +} + +/* +Need to separate out the :not() selector from the rest of the CSS 2.1 selectors +since IE8 won't execute CSS that contains a CSS3 selector. +*/ +.pure-form input:not([type])[disabled] { + cursor: not-allowed; + background-color: #eaeded; + color: #cad2d3; +} +.pure-form input[readonly], +.pure-form select[readonly], +.pure-form textarea[readonly] { + background-color: #eee; /* menu hover bg color */ + color: #777; /* menu text color */ + border-color: #ccc; +} + +.pure-form input:focus:invalid, +.pure-form textarea:focus:invalid, +.pure-form select:focus:invalid { + color: #b94a48; + border-color: #e9322d; +} +.pure-form input[type="file"]:focus:invalid:focus, +.pure-form input[type="radio"]:focus:invalid:focus, +.pure-form input[type="checkbox"]:focus:invalid:focus { + outline-color: #e9322d; +} +.pure-form select { + /* Normalizes the height; padding is not sufficient. */ + height: 2.25em; + border: 1px solid #ccc; + background-color: white; +} +.pure-form select[multiple] { + height: auto; +} +.pure-form label { + margin: 0.5em 0 0.2em; +} +.pure-form fieldset { + margin: 0; + padding: 0.35em 0 0.75em; + border: 0; +} +.pure-form legend { + display: block; + width: 100%; + padding: 0.3em 0; + margin-bottom: 0.3em; + color: #333; + border-bottom: 1px solid #e5e5e5; +} + +.pure-form-stacked input[type="text"], +.pure-form-stacked input[type="password"], +.pure-form-stacked input[type="email"], +.pure-form-stacked input[type="url"], +.pure-form-stacked input[type="date"], +.pure-form-stacked input[type="month"], +.pure-form-stacked input[type="time"], +.pure-form-stacked input[type="datetime"], +.pure-form-stacked input[type="datetime-local"], +.pure-form-stacked input[type="week"], +.pure-form-stacked input[type="number"], +.pure-form-stacked input[type="search"], +.pure-form-stacked input[type="tel"], +.pure-form-stacked input[type="color"], +.pure-form-stacked input[type="file"], +.pure-form-stacked select, +.pure-form-stacked label, +.pure-form-stacked textarea { + display: block; + margin: 0.25em 0; +} + +/* +Need to separate out the :not() selector from the rest of the CSS 2.1 selectors +since IE8 won't execute CSS that contains a CSS3 selector. +*/ +.pure-form-stacked input:not([type]) { + display: block; + margin: 0.25em 0; +} +.pure-form-aligned input, +.pure-form-aligned textarea, +.pure-form-aligned select, +.pure-form-message-inline { + display: inline-block; + vertical-align: middle; +} +.pure-form-aligned textarea { + vertical-align: top; +} + +/* Aligned Forms */ +.pure-form-aligned .pure-control-group { + margin-bottom: 0.5em; +} +.pure-form-aligned .pure-control-group label { + text-align: right; + display: inline-block; + vertical-align: middle; + width: 10em; + margin: 0 1em 0 0; +} +.pure-form-aligned .pure-controls { + margin: 1.5em 0 0 11em; +} + +/* Rounded Inputs */ +.pure-form input.pure-input-rounded, +.pure-form .pure-input-rounded { + border-radius: 2em; + padding: 0.5em 1em; +} + +/* Grouped Inputs */ +.pure-form .pure-group fieldset { + margin-bottom: 10px; +} +.pure-form .pure-group input, +.pure-form .pure-group textarea { + display: block; + padding: 10px; + margin: 0 0 -1px; + border-radius: 0; + position: relative; + top: -1px; +} +.pure-form .pure-group input:focus, +.pure-form .pure-group textarea:focus { + z-index: 3; +} +.pure-form .pure-group input:first-child, +.pure-form .pure-group textarea:first-child { + top: 1px; + border-radius: 4px 4px 0 0; + margin: 0; +} +.pure-form .pure-group input:first-child:last-child, +.pure-form .pure-group textarea:first-child:last-child { + top: 1px; + border-radius: 4px; + margin: 0; +} +.pure-form .pure-group input:last-child, +.pure-form .pure-group textarea:last-child { + top: -2px; + border-radius: 0 0 4px 4px; + margin: 0; +} +.pure-form .pure-group button { + margin: 0.35em 0; +} + +.pure-form .pure-input-1 { + width: 100%; +} +.pure-form .pure-input-3-4 { + width: 75%; +} +.pure-form .pure-input-2-3 { + width: 66%; +} +.pure-form .pure-input-1-2 { + width: 50%; +} +.pure-form .pure-input-1-3 { + width: 33%; +} +.pure-form .pure-input-1-4 { + width: 25%; +} + +/* Inline help for forms */ +.pure-form-message-inline { + display: inline-block; + padding-left: 0.3em; + color: #666; + vertical-align: middle; + font-size: 0.875em; +} + +/* Block help for forms */ +.pure-form-message { + display: block; + color: #666; + font-size: 0.875em; +} + +@media only screen and (max-width : 480px) { + .pure-form button[type="submit"] { + margin: 0.7em 0 0; + } + + .pure-form input:not([type]), + .pure-form input[type="text"], + .pure-form input[type="password"], + .pure-form input[type="email"], + .pure-form input[type="url"], + .pure-form input[type="date"], + .pure-form input[type="month"], + .pure-form input[type="time"], + .pure-form input[type="datetime"], + .pure-form input[type="datetime-local"], + .pure-form input[type="week"], + .pure-form input[type="number"], + .pure-form input[type="search"], + .pure-form input[type="tel"], + .pure-form input[type="color"], + .pure-form label { + margin-bottom: 0.3em; + display: block; + } + + .pure-group input:not([type]), + .pure-group input[type="text"], + .pure-group input[type="password"], + .pure-group input[type="email"], + .pure-group input[type="url"], + .pure-group input[type="date"], + .pure-group input[type="month"], + .pure-group input[type="time"], + .pure-group input[type="datetime"], + .pure-group input[type="datetime-local"], + .pure-group input[type="week"], + .pure-group input[type="number"], + .pure-group input[type="search"], + .pure-group input[type="tel"], + .pure-group input[type="color"] { + margin-bottom: 0; + } + + .pure-form-aligned .pure-control-group label { + margin-bottom: 0.3em; + text-align: left; + display: block; + width: 100%; + } + + .pure-form-aligned .pure-controls { + margin: 1.5em 0 0 0; + } + + .pure-form-message-inline, + .pure-form-message { + display: block; + font-size: 0.75em; + /* Increased bottom padding to make it group with its related input element. */ + padding: 0.2em 0 0.8em; + } +} + +/*csslint adjoining-classes: false, box-model:false*/ +.pure-menu { + box-sizing: border-box; +} + +.pure-menu-fixed { + position: fixed; + left: 0; + top: 0; + z-index: 3; +} + +.pure-menu-list, +.pure-menu-item { + position: relative; +} + +.pure-menu-list { + list-style: none; + margin: 0; + padding: 0; +} + +.pure-menu-item { + padding: 0; + margin: 0; + height: 100%; +} + +.pure-menu-link, +.pure-menu-heading { + display: block; + text-decoration: none; + white-space: nowrap; +} + +/* HORIZONTAL MENU */ +.pure-menu-horizontal { + width: 100%; + white-space: nowrap; +} + +.pure-menu-horizontal .pure-menu-list { + display: inline-block; +} + +/* Initial menus should be inline-block so that they are horizontal */ +.pure-menu-horizontal .pure-menu-item, +.pure-menu-horizontal .pure-menu-heading, +.pure-menu-horizontal .pure-menu-separator { + display: inline-block; + vertical-align: middle; +} + +/* Submenus should still be display: block; */ +.pure-menu-item .pure-menu-item { + display: block; +} + +.pure-menu-children { + display: none; + position: absolute; + left: 100%; + top: 0; + margin: 0; + padding: 0; + z-index: 3; +} + +.pure-menu-horizontal .pure-menu-children { + left: 0; + top: auto; + width: inherit; +} + +.pure-menu-allow-hover:hover > .pure-menu-children, +.pure-menu-active > .pure-menu-children { + display: block; + position: absolute; +} + +/* Vertical Menus - show the dropdown arrow */ +.pure-menu-has-children > .pure-menu-link:after { + padding-left: 0.5em; + content: "\25B8"; + font-size: small; +} + +/* Horizontal Menus - show the dropdown arrow */ +.pure-menu-horizontal .pure-menu-has-children > .pure-menu-link:after { + content: "\25BE"; +} + +/* scrollable menus */ +.pure-menu-scrollable { + overflow-y: scroll; + overflow-x: hidden; +} + +.pure-menu-scrollable .pure-menu-list { + display: block; +} + +.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list { + display: inline-block; +} + +.pure-menu-horizontal.pure-menu-scrollable { + white-space: nowrap; + overflow-y: hidden; + overflow-x: auto; + /* a little extra padding for this style to allow for scrollbars */ + padding: .5em 0; +} + +/* misc default styling */ + +.pure-menu-separator, +.pure-menu-horizontal .pure-menu-children .pure-menu-separator { + background-color: #ccc; + height: 1px; + margin: .3em 0; +} + +.pure-menu-horizontal .pure-menu-separator { + width: 1px; + height: 1.3em; + margin: 0 .3em ; +} + +/* Need to reset the separator since submenu is vertical */ +.pure-menu-horizontal .pure-menu-children .pure-menu-separator { + display: block; + width: auto; +} + +.pure-menu-heading { + text-transform: uppercase; + color: #565d64; +} + +.pure-menu-link { + color: #777; +} + +.pure-menu-children { + background-color: #fff; +} + +.pure-menu-link, +.pure-menu-heading { + padding: .5em 1em; +} + +.pure-menu-disabled { + opacity: .5; +} + +.pure-menu-disabled .pure-menu-link:hover { + background-color: transparent; + cursor: default; +} + +.pure-menu-active > .pure-menu-link, +.pure-menu-link:hover, +.pure-menu-link:focus { + background-color: #eee; +} + +.pure-menu-selected > .pure-menu-link, +.pure-menu-selected > .pure-menu-link:visited { + color: #000; +} + +.pure-table { + /* Remove spacing between table cells (from Normalize.css) */ + border-collapse: collapse; + border-spacing: 0; + empty-cells: show; + border: 1px solid #cbcbcb; +} + +.pure-table caption { + color: #000; + font: italic 85%/1 arial, sans-serif; + padding: 1em 0; + text-align: center; +} + +.pure-table td, +.pure-table th { + border-left: 1px solid #cbcbcb;/* inner column border */ + border-width: 0 0 0 1px; + font-size: inherit; + margin: 0; + overflow: visible; /*to make ths where the title is really long work*/ + padding: 0.5em 1em; /* cell padding */ +} + +.pure-table thead { + background-color: #e0e0e0; + color: #000; + text-align: left; + vertical-align: bottom; +} + +/* +striping: + even - #fff (white) + odd - #f2f2f2 (light gray) +*/ +.pure-table td { + background-color: transparent; +} +.pure-table-odd td { + background-color: #f2f2f2; +} + +/* nth-child selector for modern browsers */ +.pure-table-striped tr:nth-child(2n-1) td { + background-color: #f2f2f2; +} + +/* BORDERED TABLES */ +.pure-table-bordered td { + border-bottom: 1px solid #cbcbcb; +} +.pure-table-bordered tbody > tr:last-child > td { + border-bottom-width: 0; +} + + +/* HORIZONTAL BORDERED TABLES */ + +.pure-table-horizontal td, +.pure-table-horizontal th { + border-width: 0 0 1px 0; + border-bottom: 1px solid #cbcbcb; +} +.pure-table-horizontal tbody > tr:last-child > td { + border-bottom-width: 0; +} diff --git a/src/test/resources/realworld/pure_3_0_0.min.css b/src/test/resources/realworld/pure_3_0_0.min.css new file mode 100644 index 0000000..acdc431 --- /dev/null +++ b/src/test/resources/realworld/pure_3_0_0.min.css @@ -0,0 +1,11 @@ +/*! +Pure v3.0.0 +Copyright 2013 Yahoo! +Licensed under the BSD License. +https://github.com/pure-css/pure/blob/master/LICENSE +*/ +/*! +normalize.css v | MIT License | https://necolas.github.io/normalize.css/ +Copyright (c) Nicolas Gallagher and Jonathan Neal +*/ +/*! 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{font-family:sans-serif}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block}.pure-g{display:flex;flex-flow:row wrap;align-content:flex-start}.pure-u{display:inline-block;vertical-align:top}.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-5-5{width:100%}.pure-button{display:inline-block;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-group{letter-spacing:-.31em;text-rendering:optimizespeed}.opera-only :-o-prefocus,.pure-button-group{word-spacing:-0.43em}.pure-button-group .pure-button{letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:rgba(0,0,0,.8);border:none transparent;background-color:#e6e6e6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:focus,.pure-button:hover{background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;border-color:#000}.pure-button-disabled,.pure-button-disabled:active,.pure-button-disabled:focus,.pure-button-disabled:hover,.pure-button[disabled]{border:none;background-image:none;opacity:.4;cursor:not-allowed;box-shadow:none;pointer-events:none}.pure-button-hidden{display:none}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-button-group .pure-button{margin:0;border-radius:0;border-right:1px solid rgba(0,0,0,.2)}.pure-button-group .pure-button:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.pure-button-group .pure-button:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px;border-right:none}.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=color]:focus,.pure-form input[type=date]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=email]:focus,.pure-form input[type=month]:focus,.pure-form input[type=number]:focus,.pure-form input[type=password]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=text]:focus,.pure-form input[type=time]:focus,.pure-form input[type=url]:focus,.pure-form input[type=week]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;border-color:#129fea}.pure-form input:not([type]):focus{outline:0;border-color:#129fea}.pure-form input[type=checkbox]:focus,.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus{outline:thin solid #129FEA;outline:1px auto #129FEA}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=color][disabled],.pure-form input[type=date][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=email][disabled],.pure-form input[type=month][disabled],.pure-form input[type=number][disabled],.pure-form input[type=password][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=text][disabled],.pure-form input[type=time][disabled],.pure-form input[type=url][disabled],.pure-form input[type=week][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form select:focus:invalid,.pure-form textarea:focus:invalid{color:#b94a48;border-color:#e9322d}.pure-form input[type=checkbox]:focus:invalid:focus,.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=color],.pure-form-stacked input[type=date],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=email],.pure-form-stacked input[type=file],.pure-form-stacked input[type=month],.pure-form-stacked input[type=number],.pure-form-stacked input[type=password],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=text],.pure-form-stacked input[type=time],.pure-form-stacked input[type=url],.pure-form-stacked input[type=week],.pure-form-stacked label,.pure-form-stacked select,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned select,.pure-form-aligned textarea,.pure-form-message-inline{display:inline-block;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}.pure-form .pure-input-rounded,.pure-form input.pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input,.pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus,.pure-form .pure-group textarea:focus{z-index:3}.pure-form .pure-group input:first-child,.pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}.pure-form .pure-group input:first-child:last-child,.pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}.pure-form .pure-group input:last-child,.pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-3-4{width:75%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=color],.pure-form input[type=date],.pure-form input[type=datetime-local],.pure-form input[type=datetime],.pure-form input[type=email],.pure-form input[type=month],.pure-form input[type=number],.pure-form input[type=password],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=text],.pure-form input[type=time],.pure-form input[type=url],.pure-form input[type=week],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=color],.pure-group input[type=date],.pure-group input[type=datetime-local],.pure-group input[type=datetime],.pure-group input[type=email],.pure-group input[type=month],.pure-group input[type=number],.pure-group input[type=password],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=text],.pure-group input[type=time],.pure-group input[type=url],.pure-group input[type=week]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0 0}.pure-form-message,.pure-form-message-inline{display:block;font-size:.75em;padding:.2em 0 .8em}}.pure-menu{box-sizing:border-box}.pure-menu-fixed{position:fixed;left:0;top:0;z-index:3}.pure-menu-item,.pure-menu-list{position:relative}.pure-menu-list{list-style:none;margin:0;padding:0}.pure-menu-item{padding:0;margin:0;height:100%}.pure-menu-heading,.pure-menu-link{display:block;text-decoration:none;white-space:nowrap}.pure-menu-horizontal{width:100%;white-space:nowrap}.pure-menu-horizontal .pure-menu-list{display:inline-block}.pure-menu-horizontal .pure-menu-heading,.pure-menu-horizontal .pure-menu-item,.pure-menu-horizontal .pure-menu-separator{display:inline-block;vertical-align:middle}.pure-menu-item .pure-menu-item{display:block}.pure-menu-children{display:none;position:absolute;left:100%;top:0;margin:0;padding:0;z-index:3}.pure-menu-horizontal .pure-menu-children{left:0;top:auto;width:inherit}.pure-menu-active>.pure-menu-children,.pure-menu-allow-hover:hover>.pure-menu-children{display:block;position:absolute}.pure-menu-has-children>.pure-menu-link:after{padding-left:.5em;content:"\25B8";font-size:small}.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after{content:"\25BE"}.pure-menu-scrollable{overflow-y:scroll;overflow-x:hidden}.pure-menu-scrollable .pure-menu-list{display:block}.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list{display:inline-block}.pure-menu-horizontal.pure-menu-scrollable{white-space:nowrap;overflow-y:hidden;overflow-x:auto;padding:.5em 0}.pure-menu-horizontal .pure-menu-children .pure-menu-separator,.pure-menu-separator{background-color:#ccc;height:1px;margin:.3em 0}.pure-menu-horizontal .pure-menu-separator{width:1px;height:1.3em;margin:0 .3em}.pure-menu-horizontal .pure-menu-children .pure-menu-separator{display:block;width:auto}.pure-menu-heading{text-transform:uppercase;color:#565d64}.pure-menu-link{color:#777}.pure-menu-children{background-color:#fff}.pure-menu-heading,.pure-menu-link{padding:.5em 1em}.pure-menu-disabled{opacity:.5}.pure-menu-disabled .pure-menu-link:hover{background-color:transparent;cursor:default}.pure-menu-active>.pure-menu-link,.pure-menu-link:focus,.pure-menu-link:hover{background-color:#eee}.pure-menu-selected>.pure-menu-link,.pure-menu-selected>.pure-menu-link:visited{color:#000}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0} \ No newline at end of file diff --git a/src/test/resources/realworld/semantic_2_5_0.css b/src/test/resources/realworld/semantic_2_5_0.css new file mode 100644 index 0000000..1d93bd7 --- /dev/null +++ b/src/test/resources/realworld/semantic_2_5_0.css @@ -0,0 +1,38759 @@ + /* + * # Semantic UI - 2.5.0 + * https://github.com/Semantic-Org/Semantic-UI + * http://www.semantic-ui.com/ + * + * Copyright 2022 Contributors + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ +@import url('https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin'); +/*! + * # Semantic UI 2.5.0 - Reset + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Reset +*******************************/ + +/* Border-Box */ + +*, +*:before, +*:after { + box-sizing: inherit; +} + +html { + box-sizing: border-box; +} + +/* iPad Input Shadows */ + +input[type="text"], +input[type="email"], +input[type="search"], +input[type="password"] { + -webkit-appearance: none; + -moz-appearance: none; + /* mobile firefox too! */ +} + +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ + +html { + line-height: 1.15; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers (opinionated). + */ + +body { + margin: 0; +} + +/** + * Add the correct display in IE 9-. + */ + +article, +aside, +footer, +header, +nav, +section { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + * 1. Add the correct display in IE. + */ + +figcaption, +figure, +main { + /* 1 */ + display: block; +} + +/** + * Add the correct margin in IE 8. + */ + +figure { + margin: 1em 40px; +} + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; + /* 1 */ + height: 0; + /* 1 */ + overflow: visible; + /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ + +a { + background-color: transparent; + /* 1 */ + -webkit-text-decoration-skip: objects; + /* 2 */ +} + +/** + * 1. Remove the bottom border in Chrome 57- and Firefox 39-. + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; + /* 1 */ + text-decoration: underline; + /* 2 */ + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + /* 2 */ +} + +/** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ + +b, +strong { + font-weight: inherit; +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/** + * Add the correct font style in Android 4.3-. + */ + +dfn { + font-style: italic; +} + +/** + * Add the correct background and color in IE 9-. + */ + +mark { + background-color: #ff0; + color: #000; +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + */ + +audio, +video { + display: inline-block; +} + +/** + * Add the correct display in iOS 4-7. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Remove the border on images inside links in IE 10-. + */ + +img { + border-style: none; +} + +/** + * Hide the overflow in IE. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers (opinionated). + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: sans-serif; + /* 1 */ + font-size: 100%; + /* 1 */ + line-height: 1.15; + /* 1 */ + margin: 0; + /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` + * controls in Android 4. + * 2. Correct the inability to style clickable types in iOS and Safari. + */ + +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; + /* 2 */ +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; + /* 1 */ + color: inherit; + /* 2 */ + display: table; + /* 1 */ + max-width: 100%; + /* 1 */ + padding: 0; + /* 3 */ + white-space: normal; + /* 1 */ +} + +/** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ +} + +/** + * Remove the default vertical scrollbar in IE. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in IE 9-. + * 1. Add the correct display in Edge, IE, and Firefox. + */ + +details, +menu { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Scripting + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + */ + +canvas { + display: inline-block; +} + +/** + * Add the correct display in IE. + */ + +template { + display: none; +} + +/* Hidden + ========================================================================== */ + +/** + * Add the correct display in IE 10-. + */ + +[hidden] { + display: none; +} + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Site + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Page +*******************************/ + +html, +body { + height: 100%; +} + +html { + font-size: 14px; +} + +body { + margin: 0px; + padding: 0px; + overflow-x: hidden; + min-width: 320px; + background: #FFFFFF; + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-size: 14px; + line-height: 1.4285em; + color: rgba(0, 0, 0, 0.87); + font-smoothing: antialiased; +} + +/******************************* + Headers +*******************************/ + +h1, +h2, +h3, +h4, +h5 { + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + line-height: 1.28571429em; + margin: calc(2rem - 0.14285714em ) 0em 1rem; + font-weight: bold; + padding: 0em; +} + +h1 { + min-height: 1rem; + font-size: 2rem; +} + +h2 { + font-size: 1.71428571rem; +} + +h3 { + font-size: 1.28571429rem; +} + +h4 { + font-size: 1.07142857rem; +} + +h5 { + font-size: 1rem; +} + +h1:first-child, +h2:first-child, +h3:first-child, +h4:first-child, +h5:first-child { + margin-top: 0em; +} + +h1:last-child, +h2:last-child, +h3:last-child, +h4:last-child, +h5:last-child { + margin-bottom: 0em; +} + +/******************************* + Text +*******************************/ + +p { + margin: 0em 0em 1em; + line-height: 1.4285em; +} + +p:first-child { + margin-top: 0em; +} + +p:last-child { + margin-bottom: 0em; +} + +/*------------------- + Links +--------------------*/ + +a { + color: #4183C4; + text-decoration: none; +} + +a:hover { + color: #1e70bf; + text-decoration: none; +} + +/******************************* + Scrollbars +*******************************/ + +/******************************* + Highlighting +*******************************/ + +/* Site */ + +::-webkit-selection { + background-color: #CCE2FF; + color: rgba(0, 0, 0, 0.87); +} + +::-moz-selection { + background-color: #CCE2FF; + color: rgba(0, 0, 0, 0.87); +} + +::selection { + background-color: #CCE2FF; + color: rgba(0, 0, 0, 0.87); +} + +/* Form */ + +textarea::-webkit-selection, +input::-webkit-selection { + background-color: rgba(100, 100, 100, 0.4); + color: rgba(0, 0, 0, 0.87); +} + +textarea::-moz-selection, +input::-moz-selection { + background-color: rgba(100, 100, 100, 0.4); + color: rgba(0, 0, 0, 0.87); +} + +textarea::-moz-selection, +input::-moz-selection { + background-color: rgba(100, 100, 100, 0.4); + color: rgba(0, 0, 0, 0.87); +} + +textarea::selection, +input::selection { + background-color: rgba(100, 100, 100, 0.4); + color: rgba(0, 0, 0, 0.87); +} + +/* Force Simple Scrollbars */ + +body ::-webkit-scrollbar { + -webkit-appearance: none; + width: 10px; + height: 10px; +} + +body ::-webkit-scrollbar-track { + background: rgba(0, 0, 0, 0.1); + border-radius: 0px; +} + +body ::-webkit-scrollbar-thumb { + cursor: pointer; + border-radius: 5px; + background: rgba(0, 0, 0, 0.25); + -webkit-transition: color 0.2s ease; + transition: color 0.2s ease; +} + +body ::-webkit-scrollbar-thumb:window-inactive { + background: rgba(0, 0, 0, 0.15); +} + +body ::-webkit-scrollbar-thumb:hover { + background: rgba(128, 135, 139, 0.8); +} + +/* Inverted UI */ + +body .ui.inverted::-webkit-scrollbar-track { + background: rgba(255, 255, 255, 0.1); +} + +body .ui.inverted::-webkit-scrollbar-thumb { + background: rgba(255, 255, 255, 0.25); +} + +body .ui.inverted::-webkit-scrollbar-thumb:window-inactive { + background: rgba(255, 255, 255, 0.15); +} + +body .ui.inverted::-webkit-scrollbar-thumb:hover { + background: rgba(255, 255, 255, 0.35); +} + +/******************************* + Global Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Button + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Button +*******************************/ + +.ui.button { + cursor: pointer; + display: inline-block; + min-height: 1em; + outline: none; + border: none; + vertical-align: baseline; + background: #E0E1E2 none; + color: rgba(0, 0, 0, 0.6); + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + margin: 0em 0.25em 0em 0em; + padding: 0.78571429em 1.5em 0.78571429em; + text-transform: none; + text-shadow: none; + font-weight: bold; + line-height: 1em; + font-style: normal; + text-align: center; + text-decoration: none; + border-radius: 0.28571429rem; + box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease; + will-change: ''; + -webkit-tap-highlight-color: transparent; +} + +/******************************* + States +*******************************/ + +/*-------------- + Hover +---------------*/ + +.ui.button:hover { + background-color: #CACBCD; + background-image: none; + box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + color: rgba(0, 0, 0, 0.8); +} + +.ui.button:hover .icon { + opacity: 0.85; +} + +/*-------------- + Focus +---------------*/ + +.ui.button:focus { + background-color: #CACBCD; + color: rgba(0, 0, 0, 0.8); + background-image: '' !important; + box-shadow: '' !important; +} + +.ui.button:focus .icon { + opacity: 0.85; +} + +/*-------------- + Down +---------------*/ + +.ui.button:active, +.ui.active.button:active { + background-color: #BABBBC; + background-image: ''; + color: rgba(0, 0, 0, 0.9); + box-shadow: 0px 0px 0px 1px transparent inset, none; +} + +/*-------------- + Active +---------------*/ + +.ui.active.button { + background-color: #C0C1C2; + background-image: none; + box-shadow: 0px 0px 0px 1px transparent inset; + color: rgba(0, 0, 0, 0.95); +} + +.ui.active.button:hover { + background-color: #C0C1C2; + background-image: none; + color: rgba(0, 0, 0, 0.95); +} + +.ui.active.button:active { + background-color: #C0C1C2; + background-image: none; +} + +/*-------------- + Loading +---------------*/ + +/* Specificity hack */ + +.ui.loading.loading.loading.loading.loading.loading.button { + position: relative; + cursor: default; + text-shadow: none !important; + color: transparent !important; + opacity: 1; + pointer-events: auto; + transition: all 0s linear, opacity 0.1s ease; +} + +.ui.loading.button:before { + position: absolute; + content: ''; + top: 50%; + left: 50%; + margin: -0.64285714em 0em 0em -0.64285714em; + width: 1.28571429em; + height: 1.28571429em; + border-radius: 500rem; + border: 0.2em solid rgba(0, 0, 0, 0.15); +} + +.ui.loading.button:after { + position: absolute; + content: ''; + top: 50%; + left: 50%; + margin: -0.64285714em 0em 0em -0.64285714em; + width: 1.28571429em; + height: 1.28571429em; + -webkit-animation: button-spin 0.6s linear; + animation: button-spin 0.6s linear; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + border-radius: 500rem; + border-color: #FFFFFF transparent transparent; + border-style: solid; + border-width: 0.2em; + box-shadow: 0px 0px 0px 1px transparent; +} + +.ui.labeled.icon.loading.button .icon { + background-color: transparent; + box-shadow: none; +} + +@-webkit-keyframes button-spin { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } +} + +@keyframes button-spin { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } +} + +.ui.basic.loading.button:not(.inverted):before { + border-color: rgba(0, 0, 0, 0.1); +} + +.ui.basic.loading.button:not(.inverted):after { + border-top-color: #767676; +} + +/*------------------- + Disabled +--------------------*/ + +.ui.buttons .disabled.button, +.ui.disabled.button, +.ui.button:disabled, +.ui.disabled.button:hover, +.ui.disabled.active.button { + cursor: default; + opacity: 0.45 !important; + background-image: none !important; + box-shadow: none !important; + pointer-events: none !important; +} + +/* Basic Group With Disabled */ + +.ui.basic.buttons .ui.disabled.button { + border-color: rgba(34, 36, 38, 0.5); +} + +/******************************* + Types +*******************************/ + +/*------------------- + Animated +--------------------*/ + +.ui.animated.button { + position: relative; + overflow: hidden; + padding-right: 0em !important; + vertical-align: middle; + z-index: 1; +} + +.ui.animated.button .content { + will-change: transform, opacity; +} + +.ui.animated.button .visible.content { + position: relative; + margin-right: 1.5em; +} + +.ui.animated.button .hidden.content { + position: absolute; + width: 100%; +} + +/* Horizontal */ + +.ui.animated.button .visible.content, +.ui.animated.button .hidden.content { + transition: right 0.3s ease 0s; +} + +.ui.animated.button .visible.content { + left: auto; + right: 0%; +} + +.ui.animated.button .hidden.content { + top: 50%; + left: auto; + right: -100%; + margin-top: -0.5em; +} + +.ui.animated.button:focus .visible.content, +.ui.animated.button:hover .visible.content { + left: auto; + right: 200%; +} + +.ui.animated.button:focus .hidden.content, +.ui.animated.button:hover .hidden.content { + left: auto; + right: 0%; +} + +/* Vertical */ + +.ui.vertical.animated.button .visible.content, +.ui.vertical.animated.button .hidden.content { + transition: top 0.3s ease, transform 0.3s ease; +} + +.ui.vertical.animated.button .visible.content { + transform: translateY(0%); + right: auto; +} + +.ui.vertical.animated.button .hidden.content { + top: -50%; + left: 0%; + right: auto; +} + +.ui.vertical.animated.button:focus .visible.content, +.ui.vertical.animated.button:hover .visible.content { + transform: translateY(200%); + right: auto; +} + +.ui.vertical.animated.button:focus .hidden.content, +.ui.vertical.animated.button:hover .hidden.content { + top: 50%; + right: auto; +} + +/* Fade */ + +.ui.fade.animated.button .visible.content, +.ui.fade.animated.button .hidden.content { + transition: opacity 0.3s ease, transform 0.3s ease; +} + +.ui.fade.animated.button .visible.content { + left: auto; + right: auto; + opacity: 1; + transform: scale(1); +} + +.ui.fade.animated.button .hidden.content { + opacity: 0; + left: 0%; + right: auto; + transform: scale(1.5); +} + +.ui.fade.animated.button:focus .visible.content, +.ui.fade.animated.button:hover .visible.content { + left: auto; + right: auto; + opacity: 0; + transform: scale(0.75); +} + +.ui.fade.animated.button:focus .hidden.content, +.ui.fade.animated.button:hover .hidden.content { + left: 0%; + right: auto; + opacity: 1; + transform: scale(1); +} + +/*------------------- + Inverted +--------------------*/ + +.ui.inverted.button { + box-shadow: 0px 0px 0px 2px #FFFFFF inset !important; + background: transparent none; + color: #FFFFFF; + text-shadow: none !important; +} + +/* Group */ + +.ui.inverted.buttons .button { + margin: 0px 0px 0px -2px; +} + +.ui.inverted.buttons .button:first-child { + margin-left: 0em; +} + +.ui.inverted.vertical.buttons .button { + margin: 0px 0px -2px 0px; +} + +.ui.inverted.vertical.buttons .button:first-child { + margin-top: 0em; +} + +/* States */ + +/* Hover */ + +.ui.inverted.button:hover { + background: #FFFFFF; + box-shadow: 0px 0px 0px 2px #FFFFFF inset !important; + color: rgba(0, 0, 0, 0.8); +} + +/* Active / Focus */ + +.ui.inverted.button:focus, +.ui.inverted.button.active { + background: #FFFFFF; + box-shadow: 0px 0px 0px 2px #FFFFFF inset !important; + color: rgba(0, 0, 0, 0.8); +} + +/* Active Focus */ + +.ui.inverted.button.active:focus { + background: #DCDDDE; + box-shadow: 0px 0px 0px 2px #DCDDDE inset !important; + color: rgba(0, 0, 0, 0.8); +} + +/*------------------- + Labeled Button +--------------------*/ + +.ui.labeled.button:not(.icon) { + display: inline-flex; + flex-direction: row; + background: none !important; + padding: 0px !important; + border: none !important; + box-shadow: none !important; +} + +.ui.labeled.button > .button { + margin: 0px; +} + +.ui.labeled.button > .label { + display: flex; + align-items: center; + margin: 0px 0px 0px -1px !important; + padding: ''; + font-size: 1em; + border-color: rgba(34, 36, 38, 0.15); +} + +/* Tag */ + +.ui.labeled.button > .tag.label:before { + width: 1.85em; + height: 1.85em; +} + +/* Right */ + +.ui.labeled.button:not([class*="left labeled"]) > .button { + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; +} + +.ui.labeled.button:not([class*="left labeled"]) > .label { + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; +} + +/* Left Side */ + +.ui[class*="left labeled"].button > .button { + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; +} + +.ui[class*="left labeled"].button > .label { + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; +} + +/*------------------- + Social +--------------------*/ + +/* Facebook */ + +.ui.facebook.button { + background-color: #3B5998; + color: #FFFFFF; + text-shadow: none; + background-image: none; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.facebook.button:hover { + background-color: #304d8a; + color: #FFFFFF; + text-shadow: none; +} + +.ui.facebook.button:active { + background-color: #2d4373; + color: #FFFFFF; + text-shadow: none; +} + +/* Twitter */ + +.ui.twitter.button { + background-color: #55ACEE; + color: #FFFFFF; + text-shadow: none; + background-image: none; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.twitter.button:hover { + background-color: #35a2f4; + color: #FFFFFF; + text-shadow: none; +} + +.ui.twitter.button:active { + background-color: #2795e9; + color: #FFFFFF; + text-shadow: none; +} + +/* Google Plus */ + +.ui.google.plus.button { + background-color: #DD4B39; + color: #FFFFFF; + text-shadow: none; + background-image: none; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.google.plus.button:hover { + background-color: #e0321c; + color: #FFFFFF; + text-shadow: none; +} + +.ui.google.plus.button:active { + background-color: #c23321; + color: #FFFFFF; + text-shadow: none; +} + +/* Linked In */ + +.ui.linkedin.button { + background-color: #1F88BE; + color: #FFFFFF; + text-shadow: none; +} + +.ui.linkedin.button:hover { + background-color: #147baf; + color: #FFFFFF; + text-shadow: none; +} + +.ui.linkedin.button:active { + background-color: #186992; + color: #FFFFFF; + text-shadow: none; +} + +/* YouTube */ + +.ui.youtube.button { + background-color: #FF0000; + color: #FFFFFF; + text-shadow: none; + background-image: none; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.youtube.button:hover { + background-color: #e60000; + color: #FFFFFF; + text-shadow: none; +} + +.ui.youtube.button:active { + background-color: #cc0000; + color: #FFFFFF; + text-shadow: none; +} + +/* Instagram */ + +.ui.instagram.button { + background-color: #49769C; + color: #FFFFFF; + text-shadow: none; + background-image: none; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.instagram.button:hover { + background-color: #3d698e; + color: #FFFFFF; + text-shadow: none; +} + +.ui.instagram.button:active { + background-color: #395c79; + color: #FFFFFF; + text-shadow: none; +} + +/* Pinterest */ + +.ui.pinterest.button { + background-color: #BD081C; + color: #FFFFFF; + text-shadow: none; + background-image: none; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.pinterest.button:hover { + background-color: #ac0013; + color: #FFFFFF; + text-shadow: none; +} + +.ui.pinterest.button:active { + background-color: #8c0615; + color: #FFFFFF; + text-shadow: none; +} + +/* VK */ + +.ui.vk.button { + background-color: #4D7198; + color: #FFFFFF; + background-image: none; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.vk.button:hover { + background-color: #41648a; + color: #FFFFFF; +} + +.ui.vk.button:active { + background-color: #3c5876; + color: #FFFFFF; +} + +/*-------------- + Icon +---------------*/ + +.ui.button > .icon:not(.button) { + height: 0.85714286em; + opacity: 0.8; + margin: 0em 0.42857143em 0em -0.21428571em; + transition: opacity 0.1s ease; + vertical-align: ''; + color: ''; +} + +.ui.button:not(.icon) > .icon:not(.button):not(.dropdown) { + margin: 0em 0.42857143em 0em -0.21428571em; +} + +.ui.button:not(.icon) > .right.icon:not(.button):not(.dropdown) { + margin: 0em -0.21428571em 0em 0.42857143em; +} + +/******************************* + Variations +*******************************/ + +/*------------------- + Floated +--------------------*/ + +.ui[class*="left floated"].buttons, +.ui[class*="left floated"].button { + float: left; + margin-left: 0em; + margin-right: 0.25em; +} + +.ui[class*="right floated"].buttons, +.ui[class*="right floated"].button { + float: right; + margin-right: 0em; + margin-left: 0.25em; +} + +/*------------------- + Compact +--------------------*/ + +.ui.compact.buttons .button, +.ui.compact.button { + padding: 0.58928571em 1.125em 0.58928571em; +} + +.ui.compact.icon.buttons .button, +.ui.compact.icon.button { + padding: 0.58928571em 0.58928571em 0.58928571em; +} + +.ui.compact.labeled.icon.buttons .button, +.ui.compact.labeled.icon.button { + padding: 0.58928571em 3.69642857em 0.58928571em; +} + +/*------------------- + Sizes +--------------------*/ + +.ui.mini.buttons .button, +.ui.mini.buttons .or, +.ui.mini.button { + font-size: 0.78571429rem; +} + +.ui.tiny.buttons .button, +.ui.tiny.buttons .or, +.ui.tiny.button { + font-size: 0.85714286rem; +} + +.ui.small.buttons .button, +.ui.small.buttons .or, +.ui.small.button { + font-size: 0.92857143rem; +} + +.ui.buttons .button, +.ui.buttons .or, +.ui.button { + font-size: 1rem; +} + +.ui.large.buttons .button, +.ui.large.buttons .or, +.ui.large.button { + font-size: 1.14285714rem; +} + +.ui.big.buttons .button, +.ui.big.buttons .or, +.ui.big.button { + font-size: 1.28571429rem; +} + +.ui.huge.buttons .button, +.ui.huge.buttons .or, +.ui.huge.button { + font-size: 1.42857143rem; +} + +.ui.massive.buttons .button, +.ui.massive.buttons .or, +.ui.massive.button { + font-size: 1.71428571rem; +} + +/*-------------- + Icon Only +---------------*/ + +.ui.icon.buttons .button, +.ui.icon.button { + padding: 0.78571429em 0.78571429em 0.78571429em; +} + +.ui.icon.buttons .button > .icon, +.ui.icon.button > .icon { + opacity: 0.9; + margin: 0em !important; + vertical-align: top; +} + +/*------------------- + Basic +--------------------*/ + +.ui.basic.buttons .button, +.ui.basic.button { + background: transparent none !important; + color: rgba(0, 0, 0, 0.6) !important; + font-weight: normal; + border-radius: 0.28571429rem; + text-transform: none; + text-shadow: none !important; + box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; +} + +.ui.basic.buttons { + box-shadow: none; + border: 1px solid rgba(34, 36, 38, 0.15); + border-radius: 0.28571429rem; +} + +.ui.basic.buttons .button { + border-radius: 0em; +} + +.ui.basic.buttons .button:hover, +.ui.basic.button:hover { + background: #FFFFFF !important; + color: rgba(0, 0, 0, 0.8) !important; + box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.basic.buttons .button:focus, +.ui.basic.button:focus { + background: #FFFFFF !important; + color: rgba(0, 0, 0, 0.8) !important; + box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.basic.buttons .button:active, +.ui.basic.button:active { + background: #F8F8F8 !important; + color: rgba(0, 0, 0, 0.9) !important; + box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.basic.buttons .active.button, +.ui.basic.active.button { + background: rgba(0, 0, 0, 0.05) !important; + box-shadow: '' !important; + color: rgba(0, 0, 0, 0.95) !important; +} + +.ui.basic.buttons .active.button:hover, +.ui.basic.active.button:hover { + background-color: rgba(0, 0, 0, 0.05); +} + +/* Vertical */ + +.ui.basic.buttons .button:hover { + box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset inset; +} + +.ui.basic.buttons .button:active { + box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset inset; +} + +.ui.basic.buttons .active.button { + box-shadow: '' !important; +} + +/* Standard Basic Inverted */ + +.ui.basic.inverted.buttons .button, +.ui.basic.inverted.button { + background-color: transparent !important; + color: #F9FAFB !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; +} + +.ui.basic.inverted.buttons .button:hover, +.ui.basic.inverted.button:hover { + color: #FFFFFF !important; + box-shadow: 0px 0px 0px 2px #ffffff inset !important; +} + +.ui.basic.inverted.buttons .button:focus, +.ui.basic.inverted.button:focus { + color: #FFFFFF !important; + box-shadow: 0px 0px 0px 2px #ffffff inset !important; +} + +.ui.basic.inverted.buttons .button:active, +.ui.basic.inverted.button:active { + background-color: rgba(255, 255, 255, 0.08) !important; + color: #FFFFFF !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.9) inset !important; +} + +.ui.basic.inverted.buttons .active.button, +.ui.basic.inverted.active.button { + background-color: rgba(255, 255, 255, 0.08); + color: #FFFFFF; + text-shadow: none; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.7) inset; +} + +.ui.basic.inverted.buttons .active.button:hover, +.ui.basic.inverted.active.button:hover { + background-color: rgba(255, 255, 255, 0.15); + box-shadow: 0px 0px 0px 2px #ffffff inset !important; +} + +/* Basic Group */ + +.ui.basic.buttons .button { + border-left: 1px solid rgba(34, 36, 38, 0.15); + box-shadow: none; +} + +.ui.basic.vertical.buttons .button { + border-left: none; +} + +.ui.basic.vertical.buttons .button { + border-left-width: 0px; + border-top: 1px solid rgba(34, 36, 38, 0.15); +} + +.ui.basic.vertical.buttons .button:first-child { + border-top-width: 0px; +} + +/*-------------- + Labeled Icon +---------------*/ + +.ui.labeled.icon.buttons .button, +.ui.labeled.icon.button { + position: relative; + padding-left: 4.07142857em !important; + padding-right: 1.5em !important; +} + +/* Left Labeled */ + +.ui.labeled.icon.buttons > .button > .icon, +.ui.labeled.icon.button > .icon { + position: absolute; + height: 100%; + line-height: 1; + border-radius: 0px; + border-top-left-radius: inherit; + border-bottom-left-radius: inherit; + text-align: center; + margin: 0em; + width: 2.57142857em; + background-color: rgba(0, 0, 0, 0.05); + color: ''; + box-shadow: -1px 0px 0px 0px transparent inset; +} + +/* Left Labeled */ + +.ui.labeled.icon.buttons > .button > .icon, +.ui.labeled.icon.button > .icon { + top: 0em; + left: 0em; +} + +/* Right Labeled */ + +.ui[class*="right labeled"].icon.button { + padding-right: 4.07142857em !important; + padding-left: 1.5em !important; +} + +.ui[class*="right labeled"].icon.button > .icon { + left: auto; + right: 0em; + border-radius: 0px; + border-top-right-radius: inherit; + border-bottom-right-radius: inherit; + box-shadow: 1px 0px 0px 0px transparent inset; +} + +.ui.labeled.icon.buttons > .button > .icon:before, +.ui.labeled.icon.button > .icon:before, +.ui.labeled.icon.buttons > .button > .icon:after, +.ui.labeled.icon.button > .icon:after { + display: block; + position: absolute; + width: 100%; + top: 50%; + text-align: center; + transform: translateY(-50%); +} + +/* Loading */ + +.ui.labeled.icon.button > .icon.loading { + -webkit-animation: none; + animation: none; +} + +.ui.labeled.icon.button > .icon.loading:before { + -webkit-animation: labeled-button-icon-loading 2s linear infinite; + animation: labeled-button-icon-loading 2s linear infinite; +} + +@-webkit-keyframes labeled-button-icon-loading { + from { + transform: translateY(-50%) rotate(0deg); + } + + to { + transform: translateY(-50%) rotate(360deg); + } +} + +@keyframes labeled-button-icon-loading { + from { + transform: translateY(-50%) rotate(0deg); + } + + to { + transform: translateY(-50%) rotate(360deg); + } +} + +.ui.labeled.icon.buttons .button > .icon { + border-radius: 0em; +} + +.ui.labeled.icon.buttons .button:first-child > .icon { + border-top-left-radius: 0.28571429rem; + border-bottom-left-radius: 0.28571429rem; +} + +.ui.labeled.icon.buttons .button:last-child > .icon { + border-top-right-radius: 0.28571429rem; + border-bottom-right-radius: 0.28571429rem; +} + +.ui.vertical.labeled.icon.buttons .button:first-child > .icon { + border-radius: 0em; + border-top-left-radius: 0.28571429rem; +} + +.ui.vertical.labeled.icon.buttons .button:last-child > .icon { + border-radius: 0em; + border-bottom-left-radius: 0.28571429rem; +} + +/* Fluid Labeled */ + +.ui.fluid[class*="left labeled"].icon.button, +.ui.fluid[class*="right labeled"].icon.button { + padding-left: 1.5em !important; + padding-right: 1.5em !important; +} + +/*-------------- + Toggle +---------------*/ + +/* Toggle (Modifies active state to give affordances) */ + +.ui.toggle.buttons .active.button, +.ui.buttons .button.toggle.active, +.ui.button.toggle.active { + background-color: #21BA45 !important; + box-shadow: none !important; + text-shadow: none; + color: #FFFFFF !important; +} + +.ui.button.toggle.active:hover { + background-color: #16ab39 !important; + text-shadow: none; + color: #FFFFFF !important; +} + +/*-------------- + Circular +---------------*/ + +.ui.circular.button { + border-radius: 10em; +} + +.ui.circular.button > .icon { + width: 1em; + vertical-align: baseline; +} + +/*------------------- + Or Buttons +--------------------*/ + +.ui.buttons .or { + position: relative; + width: 0.3em; + height: 2.57142857em; + z-index: 3; +} + +.ui.buttons .or:before { + position: absolute; + text-align: center; + border-radius: 500rem; + content: 'or'; + top: 50%; + left: 50%; + background-color: #FFFFFF; + text-shadow: none; + margin-top: -0.89285714em; + margin-left: -0.89285714em; + width: 1.78571429em; + height: 1.78571429em; + line-height: 1.78571429em; + color: rgba(0, 0, 0, 0.4); + font-style: normal; + font-weight: bold; + box-shadow: 0px 0px 0px 1px transparent inset; +} + +.ui.buttons .or[data-text]:before { + content: attr(data-text); +} + +/* Fluid Or */ + +.ui.fluid.buttons .or { + width: 0em !important; +} + +.ui.fluid.buttons .or:after { + display: none; +} + +/*------------------- + Attached +--------------------*/ + +/* Singular */ + +.ui.attached.button { + position: relative; + display: block; + margin: 0em; + border-radius: 0em; + box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) !important; +} + +/* Top / Bottom */ + +.ui.attached.top.button { + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +.ui.attached.bottom.button { + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +/* Left / Right */ + +.ui.left.attached.button { + display: inline-block; + border-left: none; + text-align: right; + padding-right: 0.75em; + border-radius: 0.28571429rem 0em 0em 0.28571429rem; +} + +.ui.right.attached.button { + display: inline-block; + text-align: left; + padding-left: 0.75em; + border-radius: 0em 0.28571429rem 0.28571429rem 0em; +} + +/* Plural */ + +.ui.attached.buttons { + position: relative; + display: flex; + border-radius: 0em; + width: auto !important; + z-index: 2; + margin-left: -1px; + margin-right: -1px; +} + +.ui.attached.buttons .button { + margin: 0em; +} + +.ui.attached.buttons .button:first-child { + border-radius: 0em; +} + +.ui.attached.buttons .button:last-child { + border-radius: 0em; +} + +/* Top / Bottom */ + +.ui[class*="top attached"].buttons { + margin-bottom: -1px; + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +.ui[class*="top attached"].buttons .button:first-child { + border-radius: 0.28571429rem 0em 0em 0em; +} + +.ui[class*="top attached"].buttons .button:last-child { + border-radius: 0em 0.28571429rem 0em 0em; +} + +.ui[class*="bottom attached"].buttons { + margin-top: -1px; + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +.ui[class*="bottom attached"].buttons .button:first-child { + border-radius: 0em 0em 0em 0.28571429rem; +} + +.ui[class*="bottom attached"].buttons .button:last-child { + border-radius: 0em 0em 0.28571429rem 0em; +} + +/* Left / Right */ + +.ui[class*="left attached"].buttons { + display: inline-flex; + margin-right: 0em; + margin-left: -1px; + border-radius: 0em 0.28571429rem 0.28571429rem 0em; +} + +.ui[class*="left attached"].buttons .button:first-child { + margin-left: -1px; + border-radius: 0em 0.28571429rem 0em 0em; +} + +.ui[class*="left attached"].buttons .button:last-child { + margin-left: -1px; + border-radius: 0em 0em 0.28571429rem 0em; +} + +.ui[class*="right attached"].buttons { + display: inline-flex; + margin-left: 0em; + margin-right: -1px; + border-radius: 0.28571429rem 0em 0em 0.28571429rem; +} + +.ui[class*="right attached"].buttons .button:first-child { + margin-left: -1px; + border-radius: 0.28571429rem 0em 0em 0em; +} + +.ui[class*="right attached"].buttons .button:last-child { + margin-left: -1px; + border-radius: 0em 0em 0em 0.28571429rem; +} + +/*------------------- + Fluid +--------------------*/ + +.ui.fluid.buttons, +.ui.fluid.button { + width: 100%; +} + +.ui.fluid.button { + display: block; +} + +.ui.two.buttons { + width: 100%; +} + +.ui.two.buttons > .button { + width: 50%; +} + +.ui.three.buttons { + width: 100%; +} + +.ui.three.buttons > .button { + width: 33.333%; +} + +.ui.four.buttons { + width: 100%; +} + +.ui.four.buttons > .button { + width: 25%; +} + +.ui.five.buttons { + width: 100%; +} + +.ui.five.buttons > .button { + width: 20%; +} + +.ui.six.buttons { + width: 100%; +} + +.ui.six.buttons > .button { + width: 16.666%; +} + +.ui.seven.buttons { + width: 100%; +} + +.ui.seven.buttons > .button { + width: 14.285%; +} + +.ui.eight.buttons { + width: 100%; +} + +.ui.eight.buttons > .button { + width: 12.5%; +} + +.ui.nine.buttons { + width: 100%; +} + +.ui.nine.buttons > .button { + width: 11.11%; +} + +.ui.ten.buttons { + width: 100%; +} + +.ui.ten.buttons > .button { + width: 10%; +} + +.ui.eleven.buttons { + width: 100%; +} + +.ui.eleven.buttons > .button { + width: 9.09%; +} + +.ui.twelve.buttons { + width: 100%; +} + +.ui.twelve.buttons > .button { + width: 8.3333%; +} + +/* Fluid Vertical Buttons */ + +.ui.fluid.vertical.buttons, +.ui.fluid.vertical.buttons > .button { + display: flex; + width: auto; +} + +.ui.two.vertical.buttons > .button { + height: 50%; +} + +.ui.three.vertical.buttons > .button { + height: 33.333%; +} + +.ui.four.vertical.buttons > .button { + height: 25%; +} + +.ui.five.vertical.buttons > .button { + height: 20%; +} + +.ui.six.vertical.buttons > .button { + height: 16.666%; +} + +.ui.seven.vertical.buttons > .button { + height: 14.285%; +} + +.ui.eight.vertical.buttons > .button { + height: 12.5%; +} + +.ui.nine.vertical.buttons > .button { + height: 11.11%; +} + +.ui.ten.vertical.buttons > .button { + height: 10%; +} + +.ui.eleven.vertical.buttons > .button { + height: 9.09%; +} + +.ui.twelve.vertical.buttons > .button { + height: 8.3333%; +} + +/*------------------- + Colors +--------------------*/ + +/*--- Black ---*/ + +.ui.black.buttons .button, +.ui.black.button { + background-color: #1B1C1D; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.black.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.black.buttons .button:hover, +.ui.black.button:hover { + background-color: #27292a; + color: #FFFFFF; + text-shadow: none; +} + +.ui.black.buttons .button:focus, +.ui.black.button:focus { + background-color: #2f3032; + color: #FFFFFF; + text-shadow: none; +} + +.ui.black.buttons .button:active, +.ui.black.button:active { + background-color: #343637; + color: #FFFFFF; + text-shadow: none; +} + +.ui.black.buttons .active.button, +.ui.black.buttons .active.button:active, +.ui.black.active.button, +.ui.black.button .active.button:active { + background-color: #0f0f10; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.black.buttons .button, +.ui.basic.black.button { + box-shadow: 0px 0px 0px 1px #1B1C1D inset !important; + color: #1B1C1D !important; +} + +.ui.basic.black.buttons .button:hover, +.ui.basic.black.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #27292a inset !important; + color: #27292a !important; +} + +.ui.basic.black.buttons .button:focus, +.ui.basic.black.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #2f3032 inset !important; + color: #27292a !important; +} + +.ui.basic.black.buttons .active.button, +.ui.basic.black.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #0f0f10 inset !important; + color: #343637 !important; +} + +.ui.basic.black.buttons .button:active, +.ui.basic.black.button:active { + box-shadow: 0px 0px 0px 1px #343637 inset !important; + color: #343637 !important; +} + +.ui.buttons:not(.vertical) > .basic.black.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.black.buttons .button, +.ui.inverted.black.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important; + color: #FFFFFF; +} + +.ui.inverted.black.buttons .button:hover, +.ui.inverted.black.button:hover, +.ui.inverted.black.buttons .button:focus, +.ui.inverted.black.button:focus, +.ui.inverted.black.buttons .button.active, +.ui.inverted.black.button.active, +.ui.inverted.black.buttons .button:active, +.ui.inverted.black.button:active { + box-shadow: none !important; + color: #FFFFFF; +} + +.ui.inverted.black.buttons .button:hover, +.ui.inverted.black.button:hover { + background-color: #000000; +} + +.ui.inverted.black.buttons .button:focus, +.ui.inverted.black.button:focus { + background-color: #000000; +} + +.ui.inverted.black.buttons .active.button, +.ui.inverted.black.active.button { + background-color: #000000; +} + +.ui.inverted.black.buttons .button:active, +.ui.inverted.black.button:active { + background-color: #000000; +} + +/* Inverted Basic */ + +.ui.inverted.black.basic.buttons .button, +.ui.inverted.black.buttons .basic.button, +.ui.inverted.black.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.black.basic.buttons .button:hover, +.ui.inverted.black.buttons .basic.button:hover, +.ui.inverted.black.basic.button:hover { + box-shadow: 0px 0px 0px 2px #000000 inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.black.basic.buttons .button:focus, +.ui.inverted.black.basic.buttons .button:focus, +.ui.inverted.black.basic.button:focus { + box-shadow: 0px 0px 0px 2px #000000 inset !important; + color: #545454 !important; +} + +.ui.inverted.black.basic.buttons .active.button, +.ui.inverted.black.buttons .basic.active.button, +.ui.inverted.black.basic.active.button { + box-shadow: 0px 0px 0px 2px #000000 inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.black.basic.buttons .button:active, +.ui.inverted.black.buttons .basic.button:active, +.ui.inverted.black.basic.button:active { + box-shadow: 0px 0px 0px 2px #000000 inset !important; + color: #FFFFFF !important; +} + +/*--- Grey ---*/ + +.ui.grey.buttons .button, +.ui.grey.button { + background-color: #767676; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.grey.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.grey.buttons .button:hover, +.ui.grey.button:hover { + background-color: #838383; + color: #FFFFFF; + text-shadow: none; +} + +.ui.grey.buttons .button:focus, +.ui.grey.button:focus { + background-color: #8a8a8a; + color: #FFFFFF; + text-shadow: none; +} + +.ui.grey.buttons .button:active, +.ui.grey.button:active { + background-color: #909090; + color: #FFFFFF; + text-shadow: none; +} + +.ui.grey.buttons .active.button, +.ui.grey.buttons .active.button:active, +.ui.grey.active.button, +.ui.grey.button .active.button:active { + background-color: #696969; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.grey.buttons .button, +.ui.basic.grey.button { + box-shadow: 0px 0px 0px 1px #767676 inset !important; + color: #767676 !important; +} + +.ui.basic.grey.buttons .button:hover, +.ui.basic.grey.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #838383 inset !important; + color: #838383 !important; +} + +.ui.basic.grey.buttons .button:focus, +.ui.basic.grey.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #8a8a8a inset !important; + color: #838383 !important; +} + +.ui.basic.grey.buttons .active.button, +.ui.basic.grey.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #696969 inset !important; + color: #909090 !important; +} + +.ui.basic.grey.buttons .button:active, +.ui.basic.grey.button:active { + box-shadow: 0px 0px 0px 1px #909090 inset !important; + color: #909090 !important; +} + +.ui.buttons:not(.vertical) > .basic.grey.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.grey.buttons .button, +.ui.inverted.grey.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important; + color: #FFFFFF; +} + +.ui.inverted.grey.buttons .button:hover, +.ui.inverted.grey.button:hover, +.ui.inverted.grey.buttons .button:focus, +.ui.inverted.grey.button:focus, +.ui.inverted.grey.buttons .button.active, +.ui.inverted.grey.button.active, +.ui.inverted.grey.buttons .button:active, +.ui.inverted.grey.button:active { + box-shadow: none !important; + color: rgba(0, 0, 0, 0.6); +} + +.ui.inverted.grey.buttons .button:hover, +.ui.inverted.grey.button:hover { + background-color: #cfd0d2; +} + +.ui.inverted.grey.buttons .button:focus, +.ui.inverted.grey.button:focus { + background-color: #c7c9cb; +} + +.ui.inverted.grey.buttons .active.button, +.ui.inverted.grey.active.button { + background-color: #cfd0d2; +} + +.ui.inverted.grey.buttons .button:active, +.ui.inverted.grey.button:active { + background-color: #c2c4c5; +} + +/* Inverted Basic */ + +.ui.inverted.grey.basic.buttons .button, +.ui.inverted.grey.buttons .basic.button, +.ui.inverted.grey.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.grey.basic.buttons .button:hover, +.ui.inverted.grey.buttons .basic.button:hover, +.ui.inverted.grey.basic.button:hover { + box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.grey.basic.buttons .button:focus, +.ui.inverted.grey.basic.buttons .button:focus, +.ui.inverted.grey.basic.button:focus { + box-shadow: 0px 0px 0px 2px #c7c9cb inset !important; + color: #DCDDDE !important; +} + +.ui.inverted.grey.basic.buttons .active.button, +.ui.inverted.grey.buttons .basic.active.button, +.ui.inverted.grey.basic.active.button { + box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.grey.basic.buttons .button:active, +.ui.inverted.grey.buttons .basic.button:active, +.ui.inverted.grey.basic.button:active { + box-shadow: 0px 0px 0px 2px #c2c4c5 inset !important; + color: #FFFFFF !important; +} + +/*--- Brown ---*/ + +.ui.brown.buttons .button, +.ui.brown.button { + background-color: #A5673F; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.brown.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.brown.buttons .button:hover, +.ui.brown.button:hover { + background-color: #975b33; + color: #FFFFFF; + text-shadow: none; +} + +.ui.brown.buttons .button:focus, +.ui.brown.button:focus { + background-color: #90532b; + color: #FFFFFF; + text-shadow: none; +} + +.ui.brown.buttons .button:active, +.ui.brown.button:active { + background-color: #805031; + color: #FFFFFF; + text-shadow: none; +} + +.ui.brown.buttons .active.button, +.ui.brown.buttons .active.button:active, +.ui.brown.active.button, +.ui.brown.button .active.button:active { + background-color: #995a31; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.brown.buttons .button, +.ui.basic.brown.button { + box-shadow: 0px 0px 0px 1px #A5673F inset !important; + color: #A5673F !important; +} + +.ui.basic.brown.buttons .button:hover, +.ui.basic.brown.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #975b33 inset !important; + color: #975b33 !important; +} + +.ui.basic.brown.buttons .button:focus, +.ui.basic.brown.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #90532b inset !important; + color: #975b33 !important; +} + +.ui.basic.brown.buttons .active.button, +.ui.basic.brown.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #995a31 inset !important; + color: #805031 !important; +} + +.ui.basic.brown.buttons .button:active, +.ui.basic.brown.button:active { + box-shadow: 0px 0px 0px 1px #805031 inset !important; + color: #805031 !important; +} + +.ui.buttons:not(.vertical) > .basic.brown.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.brown.buttons .button, +.ui.inverted.brown.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #D67C1C inset !important; + color: #D67C1C; +} + +.ui.inverted.brown.buttons .button:hover, +.ui.inverted.brown.button:hover, +.ui.inverted.brown.buttons .button:focus, +.ui.inverted.brown.button:focus, +.ui.inverted.brown.buttons .button.active, +.ui.inverted.brown.button.active, +.ui.inverted.brown.buttons .button:active, +.ui.inverted.brown.button:active { + box-shadow: none !important; + color: #FFFFFF; +} + +.ui.inverted.brown.buttons .button:hover, +.ui.inverted.brown.button:hover { + background-color: #c86f11; +} + +.ui.inverted.brown.buttons .button:focus, +.ui.inverted.brown.button:focus { + background-color: #c16808; +} + +.ui.inverted.brown.buttons .active.button, +.ui.inverted.brown.active.button { + background-color: #cc6f0d; +} + +.ui.inverted.brown.buttons .button:active, +.ui.inverted.brown.button:active { + background-color: #a96216; +} + +/* Inverted Basic */ + +.ui.inverted.brown.basic.buttons .button, +.ui.inverted.brown.buttons .basic.button, +.ui.inverted.brown.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.brown.basic.buttons .button:hover, +.ui.inverted.brown.buttons .basic.button:hover, +.ui.inverted.brown.basic.button:hover { + box-shadow: 0px 0px 0px 2px #c86f11 inset !important; + color: #D67C1C !important; +} + +.ui.inverted.brown.basic.buttons .button:focus, +.ui.inverted.brown.basic.buttons .button:focus, +.ui.inverted.brown.basic.button:focus { + box-shadow: 0px 0px 0px 2px #c16808 inset !important; + color: #D67C1C !important; +} + +.ui.inverted.brown.basic.buttons .active.button, +.ui.inverted.brown.buttons .basic.active.button, +.ui.inverted.brown.basic.active.button { + box-shadow: 0px 0px 0px 2px #cc6f0d inset !important; + color: #D67C1C !important; +} + +.ui.inverted.brown.basic.buttons .button:active, +.ui.inverted.brown.buttons .basic.button:active, +.ui.inverted.brown.basic.button:active { + box-shadow: 0px 0px 0px 2px #a96216 inset !important; + color: #D67C1C !important; +} + +/*--- Blue ---*/ + +.ui.blue.buttons .button, +.ui.blue.button { + background-color: #2185D0; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.blue.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.blue.buttons .button:hover, +.ui.blue.button:hover { + background-color: #1678c2; + color: #FFFFFF; + text-shadow: none; +} + +.ui.blue.buttons .button:focus, +.ui.blue.button:focus { + background-color: #0d71bb; + color: #FFFFFF; + text-shadow: none; +} + +.ui.blue.buttons .button:active, +.ui.blue.button:active { + background-color: #1a69a4; + color: #FFFFFF; + text-shadow: none; +} + +.ui.blue.buttons .active.button, +.ui.blue.buttons .active.button:active, +.ui.blue.active.button, +.ui.blue.button .active.button:active { + background-color: #1279c6; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.blue.buttons .button, +.ui.basic.blue.button { + box-shadow: 0px 0px 0px 1px #2185D0 inset !important; + color: #2185D0 !important; +} + +.ui.basic.blue.buttons .button:hover, +.ui.basic.blue.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #1678c2 inset !important; + color: #1678c2 !important; +} + +.ui.basic.blue.buttons .button:focus, +.ui.basic.blue.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #0d71bb inset !important; + color: #1678c2 !important; +} + +.ui.basic.blue.buttons .active.button, +.ui.basic.blue.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #1279c6 inset !important; + color: #1a69a4 !important; +} + +.ui.basic.blue.buttons .button:active, +.ui.basic.blue.button:active { + box-shadow: 0px 0px 0px 1px #1a69a4 inset !important; + color: #1a69a4 !important; +} + +.ui.buttons:not(.vertical) > .basic.blue.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.blue.buttons .button, +.ui.inverted.blue.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #54C8FF inset !important; + color: #54C8FF; +} + +.ui.inverted.blue.buttons .button:hover, +.ui.inverted.blue.button:hover, +.ui.inverted.blue.buttons .button:focus, +.ui.inverted.blue.button:focus, +.ui.inverted.blue.buttons .button.active, +.ui.inverted.blue.button.active, +.ui.inverted.blue.buttons .button:active, +.ui.inverted.blue.button:active { + box-shadow: none !important; + color: #FFFFFF; +} + +.ui.inverted.blue.buttons .button:hover, +.ui.inverted.blue.button:hover { + background-color: #3ac0ff; +} + +.ui.inverted.blue.buttons .button:focus, +.ui.inverted.blue.button:focus { + background-color: #2bbbff; +} + +.ui.inverted.blue.buttons .active.button, +.ui.inverted.blue.active.button { + background-color: #3ac0ff; +} + +.ui.inverted.blue.buttons .button:active, +.ui.inverted.blue.button:active { + background-color: #21b8ff; +} + +/* Inverted Basic */ + +.ui.inverted.blue.basic.buttons .button, +.ui.inverted.blue.buttons .basic.button, +.ui.inverted.blue.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.blue.basic.buttons .button:hover, +.ui.inverted.blue.buttons .basic.button:hover, +.ui.inverted.blue.basic.button:hover { + box-shadow: 0px 0px 0px 2px #3ac0ff inset !important; + color: #54C8FF !important; +} + +.ui.inverted.blue.basic.buttons .button:focus, +.ui.inverted.blue.basic.buttons .button:focus, +.ui.inverted.blue.basic.button:focus { + box-shadow: 0px 0px 0px 2px #2bbbff inset !important; + color: #54C8FF !important; +} + +.ui.inverted.blue.basic.buttons .active.button, +.ui.inverted.blue.buttons .basic.active.button, +.ui.inverted.blue.basic.active.button { + box-shadow: 0px 0px 0px 2px #3ac0ff inset !important; + color: #54C8FF !important; +} + +.ui.inverted.blue.basic.buttons .button:active, +.ui.inverted.blue.buttons .basic.button:active, +.ui.inverted.blue.basic.button:active { + box-shadow: 0px 0px 0px 2px #21b8ff inset !important; + color: #54C8FF !important; +} + +/*--- Green ---*/ + +.ui.green.buttons .button, +.ui.green.button { + background-color: #21BA45; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.green.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.green.buttons .button:hover, +.ui.green.button:hover { + background-color: #16ab39; + color: #FFFFFF; + text-shadow: none; +} + +.ui.green.buttons .button:focus, +.ui.green.button:focus { + background-color: #0ea432; + color: #FFFFFF; + text-shadow: none; +} + +.ui.green.buttons .button:active, +.ui.green.button:active { + background-color: #198f35; + color: #FFFFFF; + text-shadow: none; +} + +.ui.green.buttons .active.button, +.ui.green.buttons .active.button:active, +.ui.green.active.button, +.ui.green.button .active.button:active { + background-color: #13ae38; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.green.buttons .button, +.ui.basic.green.button { + box-shadow: 0px 0px 0px 1px #21BA45 inset !important; + color: #21BA45 !important; +} + +.ui.basic.green.buttons .button:hover, +.ui.basic.green.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #16ab39 inset !important; + color: #16ab39 !important; +} + +.ui.basic.green.buttons .button:focus, +.ui.basic.green.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #0ea432 inset !important; + color: #16ab39 !important; +} + +.ui.basic.green.buttons .active.button, +.ui.basic.green.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #13ae38 inset !important; + color: #198f35 !important; +} + +.ui.basic.green.buttons .button:active, +.ui.basic.green.button:active { + box-shadow: 0px 0px 0px 1px #198f35 inset !important; + color: #198f35 !important; +} + +.ui.buttons:not(.vertical) > .basic.green.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.green.buttons .button, +.ui.inverted.green.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #2ECC40 inset !important; + color: #2ECC40; +} + +.ui.inverted.green.buttons .button:hover, +.ui.inverted.green.button:hover, +.ui.inverted.green.buttons .button:focus, +.ui.inverted.green.button:focus, +.ui.inverted.green.buttons .button.active, +.ui.inverted.green.button.active, +.ui.inverted.green.buttons .button:active, +.ui.inverted.green.button:active { + box-shadow: none !important; + color: #FFFFFF; +} + +.ui.inverted.green.buttons .button:hover, +.ui.inverted.green.button:hover { + background-color: #22be34; +} + +.ui.inverted.green.buttons .button:focus, +.ui.inverted.green.button:focus { + background-color: #19b82b; +} + +.ui.inverted.green.buttons .active.button, +.ui.inverted.green.active.button { + background-color: #1fc231; +} + +.ui.inverted.green.buttons .button:active, +.ui.inverted.green.button:active { + background-color: #25a233; +} + +/* Inverted Basic */ + +.ui.inverted.green.basic.buttons .button, +.ui.inverted.green.buttons .basic.button, +.ui.inverted.green.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.green.basic.buttons .button:hover, +.ui.inverted.green.buttons .basic.button:hover, +.ui.inverted.green.basic.button:hover { + box-shadow: 0px 0px 0px 2px #22be34 inset !important; + color: #2ECC40 !important; +} + +.ui.inverted.green.basic.buttons .button:focus, +.ui.inverted.green.basic.buttons .button:focus, +.ui.inverted.green.basic.button:focus { + box-shadow: 0px 0px 0px 2px #19b82b inset !important; + color: #2ECC40 !important; +} + +.ui.inverted.green.basic.buttons .active.button, +.ui.inverted.green.buttons .basic.active.button, +.ui.inverted.green.basic.active.button { + box-shadow: 0px 0px 0px 2px #1fc231 inset !important; + color: #2ECC40 !important; +} + +.ui.inverted.green.basic.buttons .button:active, +.ui.inverted.green.buttons .basic.button:active, +.ui.inverted.green.basic.button:active { + box-shadow: 0px 0px 0px 2px #25a233 inset !important; + color: #2ECC40 !important; +} + +/*--- Orange ---*/ + +.ui.orange.buttons .button, +.ui.orange.button { + background-color: #F2711C; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.orange.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.orange.buttons .button:hover, +.ui.orange.button:hover { + background-color: #f26202; + color: #FFFFFF; + text-shadow: none; +} + +.ui.orange.buttons .button:focus, +.ui.orange.button:focus { + background-color: #e55b00; + color: #FFFFFF; + text-shadow: none; +} + +.ui.orange.buttons .button:active, +.ui.orange.button:active { + background-color: #cf590c; + color: #FFFFFF; + text-shadow: none; +} + +.ui.orange.buttons .active.button, +.ui.orange.buttons .active.button:active, +.ui.orange.active.button, +.ui.orange.button .active.button:active { + background-color: #f56100; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.orange.buttons .button, +.ui.basic.orange.button { + box-shadow: 0px 0px 0px 1px #F2711C inset !important; + color: #F2711C !important; +} + +.ui.basic.orange.buttons .button:hover, +.ui.basic.orange.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #f26202 inset !important; + color: #f26202 !important; +} + +.ui.basic.orange.buttons .button:focus, +.ui.basic.orange.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #e55b00 inset !important; + color: #f26202 !important; +} + +.ui.basic.orange.buttons .active.button, +.ui.basic.orange.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #f56100 inset !important; + color: #cf590c !important; +} + +.ui.basic.orange.buttons .button:active, +.ui.basic.orange.button:active { + box-shadow: 0px 0px 0px 1px #cf590c inset !important; + color: #cf590c !important; +} + +.ui.buttons:not(.vertical) > .basic.orange.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.orange.buttons .button, +.ui.inverted.orange.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #FF851B inset !important; + color: #FF851B; +} + +.ui.inverted.orange.buttons .button:hover, +.ui.inverted.orange.button:hover, +.ui.inverted.orange.buttons .button:focus, +.ui.inverted.orange.button:focus, +.ui.inverted.orange.buttons .button.active, +.ui.inverted.orange.button.active, +.ui.inverted.orange.buttons .button:active, +.ui.inverted.orange.button:active { + box-shadow: none !important; + color: #FFFFFF; +} + +.ui.inverted.orange.buttons .button:hover, +.ui.inverted.orange.button:hover { + background-color: #ff7701; +} + +.ui.inverted.orange.buttons .button:focus, +.ui.inverted.orange.button:focus { + background-color: #f17000; +} + +.ui.inverted.orange.buttons .active.button, +.ui.inverted.orange.active.button { + background-color: #ff7701; +} + +.ui.inverted.orange.buttons .button:active, +.ui.inverted.orange.button:active { + background-color: #e76b00; +} + +/* Inverted Basic */ + +.ui.inverted.orange.basic.buttons .button, +.ui.inverted.orange.buttons .basic.button, +.ui.inverted.orange.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.orange.basic.buttons .button:hover, +.ui.inverted.orange.buttons .basic.button:hover, +.ui.inverted.orange.basic.button:hover { + box-shadow: 0px 0px 0px 2px #ff7701 inset !important; + color: #FF851B !important; +} + +.ui.inverted.orange.basic.buttons .button:focus, +.ui.inverted.orange.basic.buttons .button:focus, +.ui.inverted.orange.basic.button:focus { + box-shadow: 0px 0px 0px 2px #f17000 inset !important; + color: #FF851B !important; +} + +.ui.inverted.orange.basic.buttons .active.button, +.ui.inverted.orange.buttons .basic.active.button, +.ui.inverted.orange.basic.active.button { + box-shadow: 0px 0px 0px 2px #ff7701 inset !important; + color: #FF851B !important; +} + +.ui.inverted.orange.basic.buttons .button:active, +.ui.inverted.orange.buttons .basic.button:active, +.ui.inverted.orange.basic.button:active { + box-shadow: 0px 0px 0px 2px #e76b00 inset !important; + color: #FF851B !important; +} + +/*--- Pink ---*/ + +.ui.pink.buttons .button, +.ui.pink.button { + background-color: #E03997; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.pink.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.pink.buttons .button:hover, +.ui.pink.button:hover { + background-color: #e61a8d; + color: #FFFFFF; + text-shadow: none; +} + +.ui.pink.buttons .button:focus, +.ui.pink.button:focus { + background-color: #e10f85; + color: #FFFFFF; + text-shadow: none; +} + +.ui.pink.buttons .button:active, +.ui.pink.button:active { + background-color: #c71f7e; + color: #FFFFFF; + text-shadow: none; +} + +.ui.pink.buttons .active.button, +.ui.pink.buttons .active.button:active, +.ui.pink.active.button, +.ui.pink.button .active.button:active { + background-color: #ea158d; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.pink.buttons .button, +.ui.basic.pink.button { + box-shadow: 0px 0px 0px 1px #E03997 inset !important; + color: #E03997 !important; +} + +.ui.basic.pink.buttons .button:hover, +.ui.basic.pink.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #e61a8d inset !important; + color: #e61a8d !important; +} + +.ui.basic.pink.buttons .button:focus, +.ui.basic.pink.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #e10f85 inset !important; + color: #e61a8d !important; +} + +.ui.basic.pink.buttons .active.button, +.ui.basic.pink.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #ea158d inset !important; + color: #c71f7e !important; +} + +.ui.basic.pink.buttons .button:active, +.ui.basic.pink.button:active { + box-shadow: 0px 0px 0px 1px #c71f7e inset !important; + color: #c71f7e !important; +} + +.ui.buttons:not(.vertical) > .basic.pink.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.pink.buttons .button, +.ui.inverted.pink.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #FF8EDF inset !important; + color: #FF8EDF; +} + +.ui.inverted.pink.buttons .button:hover, +.ui.inverted.pink.button:hover, +.ui.inverted.pink.buttons .button:focus, +.ui.inverted.pink.button:focus, +.ui.inverted.pink.buttons .button.active, +.ui.inverted.pink.button.active, +.ui.inverted.pink.buttons .button:active, +.ui.inverted.pink.button:active { + box-shadow: none !important; + color: #FFFFFF; +} + +.ui.inverted.pink.buttons .button:hover, +.ui.inverted.pink.button:hover { + background-color: #ff74d8; +} + +.ui.inverted.pink.buttons .button:focus, +.ui.inverted.pink.button:focus { + background-color: #ff65d3; +} + +.ui.inverted.pink.buttons .active.button, +.ui.inverted.pink.active.button { + background-color: #ff74d8; +} + +.ui.inverted.pink.buttons .button:active, +.ui.inverted.pink.button:active { + background-color: #ff5bd1; +} + +/* Inverted Basic */ + +.ui.inverted.pink.basic.buttons .button, +.ui.inverted.pink.buttons .basic.button, +.ui.inverted.pink.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.pink.basic.buttons .button:hover, +.ui.inverted.pink.buttons .basic.button:hover, +.ui.inverted.pink.basic.button:hover { + box-shadow: 0px 0px 0px 2px #ff74d8 inset !important; + color: #FF8EDF !important; +} + +.ui.inverted.pink.basic.buttons .button:focus, +.ui.inverted.pink.basic.buttons .button:focus, +.ui.inverted.pink.basic.button:focus { + box-shadow: 0px 0px 0px 2px #ff65d3 inset !important; + color: #FF8EDF !important; +} + +.ui.inverted.pink.basic.buttons .active.button, +.ui.inverted.pink.buttons .basic.active.button, +.ui.inverted.pink.basic.active.button { + box-shadow: 0px 0px 0px 2px #ff74d8 inset !important; + color: #FF8EDF !important; +} + +.ui.inverted.pink.basic.buttons .button:active, +.ui.inverted.pink.buttons .basic.button:active, +.ui.inverted.pink.basic.button:active { + box-shadow: 0px 0px 0px 2px #ff5bd1 inset !important; + color: #FF8EDF !important; +} + +/*--- Violet ---*/ + +.ui.violet.buttons .button, +.ui.violet.button { + background-color: #6435C9; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.violet.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.violet.buttons .button:hover, +.ui.violet.button:hover { + background-color: #5829bb; + color: #FFFFFF; + text-shadow: none; +} + +.ui.violet.buttons .button:focus, +.ui.violet.button:focus { + background-color: #4f20b5; + color: #FFFFFF; + text-shadow: none; +} + +.ui.violet.buttons .button:active, +.ui.violet.button:active { + background-color: #502aa1; + color: #FFFFFF; + text-shadow: none; +} + +.ui.violet.buttons .active.button, +.ui.violet.buttons .active.button:active, +.ui.violet.active.button, +.ui.violet.button .active.button:active { + background-color: #5626bf; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.violet.buttons .button, +.ui.basic.violet.button { + box-shadow: 0px 0px 0px 1px #6435C9 inset !important; + color: #6435C9 !important; +} + +.ui.basic.violet.buttons .button:hover, +.ui.basic.violet.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #5829bb inset !important; + color: #5829bb !important; +} + +.ui.basic.violet.buttons .button:focus, +.ui.basic.violet.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #4f20b5 inset !important; + color: #5829bb !important; +} + +.ui.basic.violet.buttons .active.button, +.ui.basic.violet.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #5626bf inset !important; + color: #502aa1 !important; +} + +.ui.basic.violet.buttons .button:active, +.ui.basic.violet.button:active { + box-shadow: 0px 0px 0px 1px #502aa1 inset !important; + color: #502aa1 !important; +} + +.ui.buttons:not(.vertical) > .basic.violet.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.violet.buttons .button, +.ui.inverted.violet.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #A291FB inset !important; + color: #A291FB; +} + +.ui.inverted.violet.buttons .button:hover, +.ui.inverted.violet.button:hover, +.ui.inverted.violet.buttons .button:focus, +.ui.inverted.violet.button:focus, +.ui.inverted.violet.buttons .button.active, +.ui.inverted.violet.button.active, +.ui.inverted.violet.buttons .button:active, +.ui.inverted.violet.button:active { + box-shadow: none !important; + color: #FFFFFF; +} + +.ui.inverted.violet.buttons .button:hover, +.ui.inverted.violet.button:hover { + background-color: #8a73ff; +} + +.ui.inverted.violet.buttons .button:focus, +.ui.inverted.violet.button:focus { + background-color: #7d64ff; +} + +.ui.inverted.violet.buttons .active.button, +.ui.inverted.violet.active.button { + background-color: #8a73ff; +} + +.ui.inverted.violet.buttons .button:active, +.ui.inverted.violet.button:active { + background-color: #7860f9; +} + +/* Inverted Basic */ + +.ui.inverted.violet.basic.buttons .button, +.ui.inverted.violet.buttons .basic.button, +.ui.inverted.violet.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.violet.basic.buttons .button:hover, +.ui.inverted.violet.buttons .basic.button:hover, +.ui.inverted.violet.basic.button:hover { + box-shadow: 0px 0px 0px 2px #8a73ff inset !important; + color: #A291FB !important; +} + +.ui.inverted.violet.basic.buttons .button:focus, +.ui.inverted.violet.basic.buttons .button:focus, +.ui.inverted.violet.basic.button:focus { + box-shadow: 0px 0px 0px 2px #7d64ff inset !important; + color: #A291FB !important; +} + +.ui.inverted.violet.basic.buttons .active.button, +.ui.inverted.violet.buttons .basic.active.button, +.ui.inverted.violet.basic.active.button { + box-shadow: 0px 0px 0px 2px #8a73ff inset !important; + color: #A291FB !important; +} + +.ui.inverted.violet.basic.buttons .button:active, +.ui.inverted.violet.buttons .basic.button:active, +.ui.inverted.violet.basic.button:active { + box-shadow: 0px 0px 0px 2px #7860f9 inset !important; + color: #A291FB !important; +} + +/*--- Purple ---*/ + +.ui.purple.buttons .button, +.ui.purple.button { + background-color: #A333C8; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.purple.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.purple.buttons .button:hover, +.ui.purple.button:hover { + background-color: #9627ba; + color: #FFFFFF; + text-shadow: none; +} + +.ui.purple.buttons .button:focus, +.ui.purple.button:focus { + background-color: #8f1eb4; + color: #FFFFFF; + text-shadow: none; +} + +.ui.purple.buttons .button:active, +.ui.purple.button:active { + background-color: #82299f; + color: #FFFFFF; + text-shadow: none; +} + +.ui.purple.buttons .active.button, +.ui.purple.buttons .active.button:active, +.ui.purple.active.button, +.ui.purple.button .active.button:active { + background-color: #9724be; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.purple.buttons .button, +.ui.basic.purple.button { + box-shadow: 0px 0px 0px 1px #A333C8 inset !important; + color: #A333C8 !important; +} + +.ui.basic.purple.buttons .button:hover, +.ui.basic.purple.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #9627ba inset !important; + color: #9627ba !important; +} + +.ui.basic.purple.buttons .button:focus, +.ui.basic.purple.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #8f1eb4 inset !important; + color: #9627ba !important; +} + +.ui.basic.purple.buttons .active.button, +.ui.basic.purple.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #9724be inset !important; + color: #82299f !important; +} + +.ui.basic.purple.buttons .button:active, +.ui.basic.purple.button:active { + box-shadow: 0px 0px 0px 1px #82299f inset !important; + color: #82299f !important; +} + +.ui.buttons:not(.vertical) > .basic.purple.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.purple.buttons .button, +.ui.inverted.purple.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #DC73FF inset !important; + color: #DC73FF; +} + +.ui.inverted.purple.buttons .button:hover, +.ui.inverted.purple.button:hover, +.ui.inverted.purple.buttons .button:focus, +.ui.inverted.purple.button:focus, +.ui.inverted.purple.buttons .button.active, +.ui.inverted.purple.button.active, +.ui.inverted.purple.buttons .button:active, +.ui.inverted.purple.button:active { + box-shadow: none !important; + color: #FFFFFF; +} + +.ui.inverted.purple.buttons .button:hover, +.ui.inverted.purple.button:hover { + background-color: #d65aff; +} + +.ui.inverted.purple.buttons .button:focus, +.ui.inverted.purple.button:focus { + background-color: #d24aff; +} + +.ui.inverted.purple.buttons .active.button, +.ui.inverted.purple.active.button { + background-color: #d65aff; +} + +.ui.inverted.purple.buttons .button:active, +.ui.inverted.purple.button:active { + background-color: #cf40ff; +} + +/* Inverted Basic */ + +.ui.inverted.purple.basic.buttons .button, +.ui.inverted.purple.buttons .basic.button, +.ui.inverted.purple.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.purple.basic.buttons .button:hover, +.ui.inverted.purple.buttons .basic.button:hover, +.ui.inverted.purple.basic.button:hover { + box-shadow: 0px 0px 0px 2px #d65aff inset !important; + color: #DC73FF !important; +} + +.ui.inverted.purple.basic.buttons .button:focus, +.ui.inverted.purple.basic.buttons .button:focus, +.ui.inverted.purple.basic.button:focus { + box-shadow: 0px 0px 0px 2px #d24aff inset !important; + color: #DC73FF !important; +} + +.ui.inverted.purple.basic.buttons .active.button, +.ui.inverted.purple.buttons .basic.active.button, +.ui.inverted.purple.basic.active.button { + box-shadow: 0px 0px 0px 2px #d65aff inset !important; + color: #DC73FF !important; +} + +.ui.inverted.purple.basic.buttons .button:active, +.ui.inverted.purple.buttons .basic.button:active, +.ui.inverted.purple.basic.button:active { + box-shadow: 0px 0px 0px 2px #cf40ff inset !important; + color: #DC73FF !important; +} + +/*--- Red ---*/ + +.ui.red.buttons .button, +.ui.red.button { + background-color: #DB2828; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.red.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.red.buttons .button:hover, +.ui.red.button:hover { + background-color: #d01919; + color: #FFFFFF; + text-shadow: none; +} + +.ui.red.buttons .button:focus, +.ui.red.button:focus { + background-color: #ca1010; + color: #FFFFFF; + text-shadow: none; +} + +.ui.red.buttons .button:active, +.ui.red.button:active { + background-color: #b21e1e; + color: #FFFFFF; + text-shadow: none; +} + +.ui.red.buttons .active.button, +.ui.red.buttons .active.button:active, +.ui.red.active.button, +.ui.red.button .active.button:active { + background-color: #d41515; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.red.buttons .button, +.ui.basic.red.button { + box-shadow: 0px 0px 0px 1px #DB2828 inset !important; + color: #DB2828 !important; +} + +.ui.basic.red.buttons .button:hover, +.ui.basic.red.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #d01919 inset !important; + color: #d01919 !important; +} + +.ui.basic.red.buttons .button:focus, +.ui.basic.red.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #ca1010 inset !important; + color: #d01919 !important; +} + +.ui.basic.red.buttons .active.button, +.ui.basic.red.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #d41515 inset !important; + color: #b21e1e !important; +} + +.ui.basic.red.buttons .button:active, +.ui.basic.red.button:active { + box-shadow: 0px 0px 0px 1px #b21e1e inset !important; + color: #b21e1e !important; +} + +.ui.buttons:not(.vertical) > .basic.red.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.red.buttons .button, +.ui.inverted.red.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #FF695E inset !important; + color: #FF695E; +} + +.ui.inverted.red.buttons .button:hover, +.ui.inverted.red.button:hover, +.ui.inverted.red.buttons .button:focus, +.ui.inverted.red.button:focus, +.ui.inverted.red.buttons .button.active, +.ui.inverted.red.button.active, +.ui.inverted.red.buttons .button:active, +.ui.inverted.red.button:active { + box-shadow: none !important; + color: #FFFFFF; +} + +.ui.inverted.red.buttons .button:hover, +.ui.inverted.red.button:hover { + background-color: #ff5144; +} + +.ui.inverted.red.buttons .button:focus, +.ui.inverted.red.button:focus { + background-color: #ff4335; +} + +.ui.inverted.red.buttons .active.button, +.ui.inverted.red.active.button { + background-color: #ff5144; +} + +.ui.inverted.red.buttons .button:active, +.ui.inverted.red.button:active { + background-color: #ff392b; +} + +/* Inverted Basic */ + +.ui.inverted.red.basic.buttons .button, +.ui.inverted.red.buttons .basic.button, +.ui.inverted.red.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.red.basic.buttons .button:hover, +.ui.inverted.red.buttons .basic.button:hover, +.ui.inverted.red.basic.button:hover { + box-shadow: 0px 0px 0px 2px #ff5144 inset !important; + color: #FF695E !important; +} + +.ui.inverted.red.basic.buttons .button:focus, +.ui.inverted.red.basic.buttons .button:focus, +.ui.inverted.red.basic.button:focus { + box-shadow: 0px 0px 0px 2px #ff4335 inset !important; + color: #FF695E !important; +} + +.ui.inverted.red.basic.buttons .active.button, +.ui.inverted.red.buttons .basic.active.button, +.ui.inverted.red.basic.active.button { + box-shadow: 0px 0px 0px 2px #ff5144 inset !important; + color: #FF695E !important; +} + +.ui.inverted.red.basic.buttons .button:active, +.ui.inverted.red.buttons .basic.button:active, +.ui.inverted.red.basic.button:active { + box-shadow: 0px 0px 0px 2px #ff392b inset !important; + color: #FF695E !important; +} + +/*--- Teal ---*/ + +.ui.teal.buttons .button, +.ui.teal.button { + background-color: #00B5AD; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.teal.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.teal.buttons .button:hover, +.ui.teal.button:hover { + background-color: #009c95; + color: #FFFFFF; + text-shadow: none; +} + +.ui.teal.buttons .button:focus, +.ui.teal.button:focus { + background-color: #008c86; + color: #FFFFFF; + text-shadow: none; +} + +.ui.teal.buttons .button:active, +.ui.teal.button:active { + background-color: #00827c; + color: #FFFFFF; + text-shadow: none; +} + +.ui.teal.buttons .active.button, +.ui.teal.buttons .active.button:active, +.ui.teal.active.button, +.ui.teal.button .active.button:active { + background-color: #009c95; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.teal.buttons .button, +.ui.basic.teal.button { + box-shadow: 0px 0px 0px 1px #00B5AD inset !important; + color: #00B5AD !important; +} + +.ui.basic.teal.buttons .button:hover, +.ui.basic.teal.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #009c95 inset !important; + color: #009c95 !important; +} + +.ui.basic.teal.buttons .button:focus, +.ui.basic.teal.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #008c86 inset !important; + color: #009c95 !important; +} + +.ui.basic.teal.buttons .active.button, +.ui.basic.teal.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #009c95 inset !important; + color: #00827c !important; +} + +.ui.basic.teal.buttons .button:active, +.ui.basic.teal.button:active { + box-shadow: 0px 0px 0px 1px #00827c inset !important; + color: #00827c !important; +} + +.ui.buttons:not(.vertical) > .basic.teal.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.teal.buttons .button, +.ui.inverted.teal.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #6DFFFF inset !important; + color: #6DFFFF; +} + +.ui.inverted.teal.buttons .button:hover, +.ui.inverted.teal.button:hover, +.ui.inverted.teal.buttons .button:focus, +.ui.inverted.teal.button:focus, +.ui.inverted.teal.buttons .button.active, +.ui.inverted.teal.button.active, +.ui.inverted.teal.buttons .button:active, +.ui.inverted.teal.button:active { + box-shadow: none !important; + color: rgba(0, 0, 0, 0.6); +} + +.ui.inverted.teal.buttons .button:hover, +.ui.inverted.teal.button:hover { + background-color: #54ffff; +} + +.ui.inverted.teal.buttons .button:focus, +.ui.inverted.teal.button:focus { + background-color: #44ffff; +} + +.ui.inverted.teal.buttons .active.button, +.ui.inverted.teal.active.button { + background-color: #54ffff; +} + +.ui.inverted.teal.buttons .button:active, +.ui.inverted.teal.button:active { + background-color: #3affff; +} + +/* Inverted Basic */ + +.ui.inverted.teal.basic.buttons .button, +.ui.inverted.teal.buttons .basic.button, +.ui.inverted.teal.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.teal.basic.buttons .button:hover, +.ui.inverted.teal.buttons .basic.button:hover, +.ui.inverted.teal.basic.button:hover { + box-shadow: 0px 0px 0px 2px #54ffff inset !important; + color: #6DFFFF !important; +} + +.ui.inverted.teal.basic.buttons .button:focus, +.ui.inverted.teal.basic.buttons .button:focus, +.ui.inverted.teal.basic.button:focus { + box-shadow: 0px 0px 0px 2px #44ffff inset !important; + color: #6DFFFF !important; +} + +.ui.inverted.teal.basic.buttons .active.button, +.ui.inverted.teal.buttons .basic.active.button, +.ui.inverted.teal.basic.active.button { + box-shadow: 0px 0px 0px 2px #54ffff inset !important; + color: #6DFFFF !important; +} + +.ui.inverted.teal.basic.buttons .button:active, +.ui.inverted.teal.buttons .basic.button:active, +.ui.inverted.teal.basic.button:active { + box-shadow: 0px 0px 0px 2px #3affff inset !important; + color: #6DFFFF !important; +} + +/*--- Olive ---*/ + +.ui.olive.buttons .button, +.ui.olive.button { + background-color: #B5CC18; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.olive.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.olive.buttons .button:hover, +.ui.olive.button:hover { + background-color: #a7bd0d; + color: #FFFFFF; + text-shadow: none; +} + +.ui.olive.buttons .button:focus, +.ui.olive.button:focus { + background-color: #a0b605; + color: #FFFFFF; + text-shadow: none; +} + +.ui.olive.buttons .button:active, +.ui.olive.button:active { + background-color: #8d9e13; + color: #FFFFFF; + text-shadow: none; +} + +.ui.olive.buttons .active.button, +.ui.olive.buttons .active.button:active, +.ui.olive.active.button, +.ui.olive.button .active.button:active { + background-color: #aac109; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.olive.buttons .button, +.ui.basic.olive.button { + box-shadow: 0px 0px 0px 1px #B5CC18 inset !important; + color: #B5CC18 !important; +} + +.ui.basic.olive.buttons .button:hover, +.ui.basic.olive.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #a7bd0d inset !important; + color: #a7bd0d !important; +} + +.ui.basic.olive.buttons .button:focus, +.ui.basic.olive.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #a0b605 inset !important; + color: #a7bd0d !important; +} + +.ui.basic.olive.buttons .active.button, +.ui.basic.olive.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #aac109 inset !important; + color: #8d9e13 !important; +} + +.ui.basic.olive.buttons .button:active, +.ui.basic.olive.button:active { + box-shadow: 0px 0px 0px 1px #8d9e13 inset !important; + color: #8d9e13 !important; +} + +.ui.buttons:not(.vertical) > .basic.olive.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.olive.buttons .button, +.ui.inverted.olive.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #D9E778 inset !important; + color: #D9E778; +} + +.ui.inverted.olive.buttons .button:hover, +.ui.inverted.olive.button:hover, +.ui.inverted.olive.buttons .button:focus, +.ui.inverted.olive.button:focus, +.ui.inverted.olive.buttons .button.active, +.ui.inverted.olive.button.active, +.ui.inverted.olive.buttons .button:active, +.ui.inverted.olive.button:active { + box-shadow: none !important; + color: rgba(0, 0, 0, 0.6); +} + +.ui.inverted.olive.buttons .button:hover, +.ui.inverted.olive.button:hover { + background-color: #d8ea5c; +} + +.ui.inverted.olive.buttons .button:focus, +.ui.inverted.olive.button:focus { + background-color: #daef47; +} + +.ui.inverted.olive.buttons .active.button, +.ui.inverted.olive.active.button { + background-color: #daed59; +} + +.ui.inverted.olive.buttons .button:active, +.ui.inverted.olive.button:active { + background-color: #cddf4d; +} + +/* Inverted Basic */ + +.ui.inverted.olive.basic.buttons .button, +.ui.inverted.olive.buttons .basic.button, +.ui.inverted.olive.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.olive.basic.buttons .button:hover, +.ui.inverted.olive.buttons .basic.button:hover, +.ui.inverted.olive.basic.button:hover { + box-shadow: 0px 0px 0px 2px #d8ea5c inset !important; + color: #D9E778 !important; +} + +.ui.inverted.olive.basic.buttons .button:focus, +.ui.inverted.olive.basic.buttons .button:focus, +.ui.inverted.olive.basic.button:focus { + box-shadow: 0px 0px 0px 2px #daef47 inset !important; + color: #D9E778 !important; +} + +.ui.inverted.olive.basic.buttons .active.button, +.ui.inverted.olive.buttons .basic.active.button, +.ui.inverted.olive.basic.active.button { + box-shadow: 0px 0px 0px 2px #daed59 inset !important; + color: #D9E778 !important; +} + +.ui.inverted.olive.basic.buttons .button:active, +.ui.inverted.olive.buttons .basic.button:active, +.ui.inverted.olive.basic.button:active { + box-shadow: 0px 0px 0px 2px #cddf4d inset !important; + color: #D9E778 !important; +} + +/*--- Yellow ---*/ + +.ui.yellow.buttons .button, +.ui.yellow.button { + background-color: #FBBD08; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.yellow.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.yellow.buttons .button:hover, +.ui.yellow.button:hover { + background-color: #eaae00; + color: #FFFFFF; + text-shadow: none; +} + +.ui.yellow.buttons .button:focus, +.ui.yellow.button:focus { + background-color: #daa300; + color: #FFFFFF; + text-shadow: none; +} + +.ui.yellow.buttons .button:active, +.ui.yellow.button:active { + background-color: #cd9903; + color: #FFFFFF; + text-shadow: none; +} + +.ui.yellow.buttons .active.button, +.ui.yellow.buttons .active.button:active, +.ui.yellow.active.button, +.ui.yellow.button .active.button:active { + background-color: #eaae00; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.yellow.buttons .button, +.ui.basic.yellow.button { + box-shadow: 0px 0px 0px 1px #FBBD08 inset !important; + color: #FBBD08 !important; +} + +.ui.basic.yellow.buttons .button:hover, +.ui.basic.yellow.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #eaae00 inset !important; + color: #eaae00 !important; +} + +.ui.basic.yellow.buttons .button:focus, +.ui.basic.yellow.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #daa300 inset !important; + color: #eaae00 !important; +} + +.ui.basic.yellow.buttons .active.button, +.ui.basic.yellow.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #eaae00 inset !important; + color: #cd9903 !important; +} + +.ui.basic.yellow.buttons .button:active, +.ui.basic.yellow.button:active { + box-shadow: 0px 0px 0px 1px #cd9903 inset !important; + color: #cd9903 !important; +} + +.ui.buttons:not(.vertical) > .basic.yellow.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.yellow.buttons .button, +.ui.inverted.yellow.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #FFE21F inset !important; + color: #FFE21F; +} + +.ui.inverted.yellow.buttons .button:hover, +.ui.inverted.yellow.button:hover, +.ui.inverted.yellow.buttons .button:focus, +.ui.inverted.yellow.button:focus, +.ui.inverted.yellow.buttons .button.active, +.ui.inverted.yellow.button.active, +.ui.inverted.yellow.buttons .button:active, +.ui.inverted.yellow.button:active { + box-shadow: none !important; + color: rgba(0, 0, 0, 0.6); +} + +.ui.inverted.yellow.buttons .button:hover, +.ui.inverted.yellow.button:hover { + background-color: #ffdf05; +} + +.ui.inverted.yellow.buttons .button:focus, +.ui.inverted.yellow.button:focus { + background-color: #f5d500; +} + +.ui.inverted.yellow.buttons .active.button, +.ui.inverted.yellow.active.button { + background-color: #ffdf05; +} + +.ui.inverted.yellow.buttons .button:active, +.ui.inverted.yellow.button:active { + background-color: #ebcd00; +} + +/* Inverted Basic */ + +.ui.inverted.yellow.basic.buttons .button, +.ui.inverted.yellow.buttons .basic.button, +.ui.inverted.yellow.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.yellow.basic.buttons .button:hover, +.ui.inverted.yellow.buttons .basic.button:hover, +.ui.inverted.yellow.basic.button:hover { + box-shadow: 0px 0px 0px 2px #ffdf05 inset !important; + color: #FFE21F !important; +} + +.ui.inverted.yellow.basic.buttons .button:focus, +.ui.inverted.yellow.basic.buttons .button:focus, +.ui.inverted.yellow.basic.button:focus { + box-shadow: 0px 0px 0px 2px #f5d500 inset !important; + color: #FFE21F !important; +} + +.ui.inverted.yellow.basic.buttons .active.button, +.ui.inverted.yellow.buttons .basic.active.button, +.ui.inverted.yellow.basic.active.button { + box-shadow: 0px 0px 0px 2px #ffdf05 inset !important; + color: #FFE21F !important; +} + +.ui.inverted.yellow.basic.buttons .button:active, +.ui.inverted.yellow.buttons .basic.button:active, +.ui.inverted.yellow.basic.button:active { + box-shadow: 0px 0px 0px 2px #ebcd00 inset !important; + color: #FFE21F !important; +} + +/*------------------- + Primary +--------------------*/ + +/*--- Standard ---*/ + +.ui.primary.buttons .button, +.ui.primary.button { + background-color: #2185D0; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.primary.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.primary.buttons .button:hover, +.ui.primary.button:hover { + background-color: #1678c2; + color: #FFFFFF; + text-shadow: none; +} + +.ui.primary.buttons .button:focus, +.ui.primary.button:focus { + background-color: #0d71bb; + color: #FFFFFF; + text-shadow: none; +} + +.ui.primary.buttons .button:active, +.ui.primary.button:active { + background-color: #1a69a4; + color: #FFFFFF; + text-shadow: none; +} + +.ui.primary.buttons .active.button, +.ui.primary.buttons .active.button:active, +.ui.primary.active.button, +.ui.primary.button .active.button:active { + background-color: #1279c6; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.primary.buttons .button, +.ui.basic.primary.button { + box-shadow: 0px 0px 0px 1px #2185D0 inset !important; + color: #2185D0 !important; +} + +.ui.basic.primary.buttons .button:hover, +.ui.basic.primary.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #1678c2 inset !important; + color: #1678c2 !important; +} + +.ui.basic.primary.buttons .button:focus, +.ui.basic.primary.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #0d71bb inset !important; + color: #1678c2 !important; +} + +.ui.basic.primary.buttons .active.button, +.ui.basic.primary.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #1279c6 inset !important; + color: #1a69a4 !important; +} + +.ui.basic.primary.buttons .button:active, +.ui.basic.primary.button:active { + box-shadow: 0px 0px 0px 1px #1a69a4 inset !important; + color: #1a69a4 !important; +} + +.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.primary.buttons .button, +.ui.inverted.primary.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #54C8FF inset !important; + color: #54C8FF; +} + +.ui.inverted.primary.buttons .button:hover, +.ui.inverted.primary.button:hover, +.ui.inverted.primary.buttons .button:focus, +.ui.inverted.primary.button:focus, +.ui.inverted.primary.buttons .button.active, +.ui.inverted.primary.button.active, +.ui.inverted.primary.buttons .button:active, +.ui.inverted.primary.button:active { + box-shadow: none !important; + color: #FFFFFF; +} + +.ui.inverted.primary.buttons .button:hover, +.ui.inverted.primary.button:hover { + background-color: #3ac0ff; +} + +.ui.inverted.primary.buttons .button:focus, +.ui.inverted.primary.button:focus { + background-color: #2bbbff; +} + +.ui.inverted.primary.buttons .active.button, +.ui.inverted.primary.active.button { + background-color: #3ac0ff; +} + +.ui.inverted.primary.buttons .button:active, +.ui.inverted.primary.button:active { + background-color: #21b8ff; +} + +/* Inverted Basic */ + +.ui.inverted.primary.basic.buttons .button, +.ui.inverted.primary.buttons .basic.button, +.ui.inverted.primary.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.primary.basic.buttons .button:hover, +.ui.inverted.primary.buttons .basic.button:hover, +.ui.inverted.primary.basic.button:hover { + box-shadow: 0px 0px 0px 2px #3ac0ff inset !important; + color: #54C8FF !important; +} + +.ui.inverted.primary.basic.buttons .button:focus, +.ui.inverted.primary.basic.buttons .button:focus, +.ui.inverted.primary.basic.button:focus { + box-shadow: 0px 0px 0px 2px #2bbbff inset !important; + color: #54C8FF !important; +} + +.ui.inverted.primary.basic.buttons .active.button, +.ui.inverted.primary.buttons .basic.active.button, +.ui.inverted.primary.basic.active.button { + box-shadow: 0px 0px 0px 2px #3ac0ff inset !important; + color: #54C8FF !important; +} + +.ui.inverted.primary.basic.buttons .button:active, +.ui.inverted.primary.buttons .basic.button:active, +.ui.inverted.primary.basic.button:active { + box-shadow: 0px 0px 0px 2px #21b8ff inset !important; + color: #54C8FF !important; +} + +/*------------------- + Secondary +--------------------*/ + +/* Standard */ + +.ui.secondary.buttons .button, +.ui.secondary.button { + background-color: #1B1C1D; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.secondary.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.secondary.buttons .button:hover, +.ui.secondary.button:hover { + background-color: #27292a; + color: #FFFFFF; + text-shadow: none; +} + +.ui.secondary.buttons .button:focus, +.ui.secondary.button:focus { + background-color: #2e3032; + color: #FFFFFF; + text-shadow: none; +} + +.ui.secondary.buttons .button:active, +.ui.secondary.button:active { + background-color: #343637; + color: #FFFFFF; + text-shadow: none; +} + +.ui.secondary.buttons .active.button, +.ui.secondary.buttons .active.button:active, +.ui.secondary.active.button, +.ui.secondary.button .active.button:active { + background-color: #27292a; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.secondary.buttons .button, +.ui.basic.secondary.button { + box-shadow: 0px 0px 0px 1px #1B1C1D inset !important; + color: #1B1C1D !important; +} + +.ui.basic.secondary.buttons .button:hover, +.ui.basic.secondary.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #27292a inset !important; + color: #27292a !important; +} + +.ui.basic.secondary.buttons .button:focus, +.ui.basic.secondary.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #2e3032 inset !important; + color: #27292a !important; +} + +.ui.basic.secondary.buttons .active.button, +.ui.basic.secondary.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #27292a inset !important; + color: #343637 !important; +} + +.ui.basic.secondary.buttons .button:active, +.ui.basic.secondary.button:active { + box-shadow: 0px 0px 0px 1px #343637 inset !important; + color: #343637 !important; +} + +.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ + +.ui.inverted.secondary.buttons .button, +.ui.inverted.secondary.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px #545454 inset !important; + color: #545454; +} + +.ui.inverted.secondary.buttons .button:hover, +.ui.inverted.secondary.button:hover, +.ui.inverted.secondary.buttons .button:focus, +.ui.inverted.secondary.button:focus, +.ui.inverted.secondary.buttons .button.active, +.ui.inverted.secondary.button.active, +.ui.inverted.secondary.buttons .button:active, +.ui.inverted.secondary.button:active { + box-shadow: none !important; + color: #FFFFFF; +} + +.ui.inverted.secondary.buttons .button:hover, +.ui.inverted.secondary.button:hover { + background-color: #616161; +} + +.ui.inverted.secondary.buttons .button:focus, +.ui.inverted.secondary.button:focus { + background-color: #686868; +} + +.ui.inverted.secondary.buttons .active.button, +.ui.inverted.secondary.active.button { + background-color: #616161; +} + +.ui.inverted.secondary.buttons .button:active, +.ui.inverted.secondary.button:active { + background-color: #6e6e6e; +} + +/* Inverted Basic */ + +.ui.inverted.secondary.basic.buttons .button, +.ui.inverted.secondary.buttons .basic.button, +.ui.inverted.secondary.basic.button { + background-color: transparent; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} + +.ui.inverted.secondary.basic.buttons .button:hover, +.ui.inverted.secondary.buttons .basic.button:hover, +.ui.inverted.secondary.basic.button:hover { + box-shadow: 0px 0px 0px 2px #616161 inset !important; + color: #545454 !important; +} + +.ui.inverted.secondary.basic.buttons .button:focus, +.ui.inverted.secondary.basic.buttons .button:focus, +.ui.inverted.secondary.basic.button:focus { + box-shadow: 0px 0px 0px 2px #686868 inset !important; + color: #545454 !important; +} + +.ui.inverted.secondary.basic.buttons .active.button, +.ui.inverted.secondary.buttons .basic.active.button, +.ui.inverted.secondary.basic.active.button { + box-shadow: 0px 0px 0px 2px #616161 inset !important; + color: #545454 !important; +} + +.ui.inverted.secondary.basic.buttons .button:active, +.ui.inverted.secondary.buttons .basic.button:active, +.ui.inverted.secondary.basic.button:active { + box-shadow: 0px 0px 0px 2px #6e6e6e inset !important; + color: #545454 !important; +} + +/*--------------- + Positive +----------------*/ + +/* Standard */ + +.ui.positive.buttons .button, +.ui.positive.button { + background-color: #21BA45; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.positive.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.positive.buttons .button:hover, +.ui.positive.button:hover { + background-color: #16ab39; + color: #FFFFFF; + text-shadow: none; +} + +.ui.positive.buttons .button:focus, +.ui.positive.button:focus { + background-color: #0ea432; + color: #FFFFFF; + text-shadow: none; +} + +.ui.positive.buttons .button:active, +.ui.positive.button:active { + background-color: #198f35; + color: #FFFFFF; + text-shadow: none; +} + +.ui.positive.buttons .active.button, +.ui.positive.buttons .active.button:active, +.ui.positive.active.button, +.ui.positive.button .active.button:active { + background-color: #13ae38; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.positive.buttons .button, +.ui.basic.positive.button { + box-shadow: 0px 0px 0px 1px #21BA45 inset !important; + color: #21BA45 !important; +} + +.ui.basic.positive.buttons .button:hover, +.ui.basic.positive.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #16ab39 inset !important; + color: #16ab39 !important; +} + +.ui.basic.positive.buttons .button:focus, +.ui.basic.positive.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #0ea432 inset !important; + color: #16ab39 !important; +} + +.ui.basic.positive.buttons .active.button, +.ui.basic.positive.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #13ae38 inset !important; + color: #198f35 !important; +} + +.ui.basic.positive.buttons .button:active, +.ui.basic.positive.button:active { + box-shadow: 0px 0px 0px 1px #198f35 inset !important; + color: #198f35 !important; +} + +.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) { + margin-left: -1px; +} + +/*--------------- + Negative +----------------*/ + +/* Standard */ + +.ui.negative.buttons .button, +.ui.negative.button { + background-color: #DB2828; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} + +.ui.negative.button { + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.negative.buttons .button:hover, +.ui.negative.button:hover { + background-color: #d01919; + color: #FFFFFF; + text-shadow: none; +} + +.ui.negative.buttons .button:focus, +.ui.negative.button:focus { + background-color: #ca1010; + color: #FFFFFF; + text-shadow: none; +} + +.ui.negative.buttons .button:active, +.ui.negative.button:active { + background-color: #b21e1e; + color: #FFFFFF; + text-shadow: none; +} + +.ui.negative.buttons .active.button, +.ui.negative.buttons .active.button:active, +.ui.negative.active.button, +.ui.negative.button .active.button:active { + background-color: #d41515; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ + +.ui.basic.negative.buttons .button, +.ui.basic.negative.button { + box-shadow: 0px 0px 0px 1px #DB2828 inset !important; + color: #DB2828 !important; +} + +.ui.basic.negative.buttons .button:hover, +.ui.basic.negative.button:hover { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #d01919 inset !important; + color: #d01919 !important; +} + +.ui.basic.negative.buttons .button:focus, +.ui.basic.negative.button:focus { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #ca1010 inset !important; + color: #d01919 !important; +} + +.ui.basic.negative.buttons .active.button, +.ui.basic.negative.active.button { + background: transparent !important; + box-shadow: 0px 0px 0px 1px #d41515 inset !important; + color: #b21e1e !important; +} + +.ui.basic.negative.buttons .button:active, +.ui.basic.negative.button:active { + box-shadow: 0px 0px 0px 1px #b21e1e inset !important; + color: #b21e1e !important; +} + +.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) { + margin-left: -1px; +} + +/******************************* + Groups +*******************************/ + +.ui.buttons { + display: inline-flex; + flex-direction: row; + font-size: 0em; + vertical-align: baseline; + margin: 0em 0.25em 0em 0em; +} + +.ui.buttons:not(.basic):not(.inverted) { + box-shadow: none; +} + +/* Clearfix */ + +.ui.buttons:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +/* Standard Group */ + +.ui.buttons .button { + flex: 1 0 auto; + margin: 0em; + border-radius: 0em; + margin: 0px 0px 0px 0px; +} + +.ui.buttons > .ui.button:not(.basic):not(.inverted), +.ui.buttons:not(.basic):not(.inverted) > .button { + box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} + +.ui.buttons .button:first-child { + border-left: none; + margin-left: 0em; + border-top-left-radius: 0.28571429rem; + border-bottom-left-radius: 0.28571429rem; +} + +.ui.buttons .button:last-child { + border-top-right-radius: 0.28571429rem; + border-bottom-right-radius: 0.28571429rem; +} + +/* Vertical Style */ + +.ui.vertical.buttons { + display: inline-flex; + flex-direction: column; +} + +.ui.vertical.buttons .button { + display: block; + float: none; + width: 100%; + margin: 0px 0px 0px 0px; + box-shadow: none; + border-radius: 0em; +} + +.ui.vertical.buttons .button:first-child { + border-top-left-radius: 0.28571429rem; + border-top-right-radius: 0.28571429rem; +} + +.ui.vertical.buttons .button:last-child { + margin-bottom: 0px; + border-bottom-left-radius: 0.28571429rem; + border-bottom-right-radius: 0.28571429rem; +} + +.ui.vertical.buttons .button:only-child { + border-radius: 0.28571429rem; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Container + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Container +*******************************/ + +/* All Sizes */ + +.ui.container { + display: block; + max-width: 100% !important; +} + +/* Mobile */ + +@media only screen and (max-width: 767px) { + .ui.container { + width: auto !important; + margin-left: 1em !important; + margin-right: 1em !important; + } + + .ui.grid.container { + width: auto !important; + } + + .ui.relaxed.grid.container { + width: auto !important; + } + + .ui.very.relaxed.grid.container { + width: auto !important; + } +} + +/* Tablet */ + +@media only screen and (min-width: 768px) and (max-width: 991px) { + .ui.container { + width: 723px; + margin-left: auto !important; + margin-right: auto !important; + } + + .ui.grid.container { + width: calc( 723px + 2rem ) !important; + } + + .ui.relaxed.grid.container { + width: calc( 723px + 3rem ) !important; + } + + .ui.very.relaxed.grid.container { + width: calc( 723px + 5rem ) !important; + } +} + +/* Small Monitor */ + +@media only screen and (min-width: 992px) and (max-width: 1199px) { + .ui.container { + width: 933px; + margin-left: auto !important; + margin-right: auto !important; + } + + .ui.grid.container { + width: calc( 933px + 2rem ) !important; + } + + .ui.relaxed.grid.container { + width: calc( 933px + 3rem ) !important; + } + + .ui.very.relaxed.grid.container { + width: calc( 933px + 5rem ) !important; + } +} + +/* Large Monitor */ + +@media only screen and (min-width: 1200px) { + .ui.container { + width: 1127px; + margin-left: auto !important; + margin-right: auto !important; + } + + .ui.grid.container { + width: calc( 1127px + 2rem ) !important; + } + + .ui.relaxed.grid.container { + width: calc( 1127px + 3rem ) !important; + } + + .ui.very.relaxed.grid.container { + width: calc( 1127px + 5rem ) !important; + } +} + +/******************************* + Types +*******************************/ + +/* Text Container */ + +.ui.text.container { + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + max-width: 700px !important; + line-height: 1.5; +} + +.ui.text.container { + font-size: 1.14285714rem; +} + +/* Fluid */ + +.ui.fluid.container { + width: 100%; +} + +/******************************* + Variations +*******************************/ + +.ui[class*="left aligned"].container { + text-align: left; +} + +.ui[class*="center aligned"].container { + text-align: center; +} + +.ui[class*="right aligned"].container { + text-align: right; +} + +.ui.justified.container { + text-align: justify; + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Divider + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Divider +*******************************/ + +.ui.divider { + margin: 1rem 0rem; + line-height: 1; + height: 0em; + font-weight: bold; + text-transform: uppercase; + letter-spacing: 0.05em; + color: rgba(0, 0, 0, 0.85); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +/*-------------- + Basic +---------------*/ + +.ui.divider:not(.vertical):not(.horizontal) { + border-top: 1px solid rgba(34, 36, 38, 0.15); + border-bottom: 1px solid rgba(255, 255, 255, 0.1); +} + +/*-------------- + Coupling +---------------*/ + +/* Allow divider between each column row */ + +.ui.grid > .column + .divider, +.ui.grid > .row > .column + .divider { + left: auto; +} + +/*-------------- + Horizontal +---------------*/ + +.ui.horizontal.divider { + display: table; + white-space: nowrap; + height: auto; + margin: ''; + line-height: 1; + text-align: center; +} + +.ui.horizontal.divider:before, +.ui.horizontal.divider:after { + content: ''; + display: table-cell; + position: relative; + top: 50%; + width: 50%; + background-repeat: no-repeat; +} + +.ui.horizontal.divider:before { + background-position: right 1em top 50%; +} + +.ui.horizontal.divider:after { + background-position: left 1em top 50%; +} + +/*-------------- + Vertical +---------------*/ + +.ui.vertical.divider { + position: absolute; + z-index: 2; + top: 50%; + left: 50%; + margin: 0rem; + padding: 0em; + width: auto; + height: 50%; + line-height: 0em; + text-align: center; + transform: translateX(-50%); +} + +.ui.vertical.divider:before, +.ui.vertical.divider:after { + position: absolute; + left: 50%; + content: ''; + z-index: 3; + border-left: 1px solid rgba(34, 36, 38, 0.15); + border-right: 1px solid rgba(255, 255, 255, 0.1); + width: 0%; + height: calc(100% - 1rem ); +} + +.ui.vertical.divider:before { + top: -100%; +} + +.ui.vertical.divider:after { + top: auto; + bottom: 0px; +} + +/* Inside grid */ + +@media only screen and (max-width: 767px) { + .ui.stackable.grid .ui.vertical.divider, + .ui.grid .stackable.row .ui.vertical.divider { + display: table; + white-space: nowrap; + height: auto; + margin: ''; + overflow: hidden; + line-height: 1; + text-align: center; + position: static; + top: 0; + left: 0; + transform: none; + } + + .ui.stackable.grid .ui.vertical.divider:before, + .ui.grid .stackable.row .ui.vertical.divider:before, + .ui.stackable.grid .ui.vertical.divider:after, + .ui.grid .stackable.row .ui.vertical.divider:after { + position: static; + left: 0; + border-left: none; + border-right: none; + content: ''; + display: table-cell; + position: relative; + top: 50%; + width: 50%; + background-repeat: no-repeat; + } + + .ui.stackable.grid .ui.vertical.divider:before, + .ui.grid .stackable.row .ui.vertical.divider:before { + background-position: right 1em top 50%; + } + + .ui.stackable.grid .ui.vertical.divider:after, + .ui.grid .stackable.row .ui.vertical.divider:after { + background-position: left 1em top 50%; + } +} + +/*-------------- + Icon +---------------*/ + +.ui.divider > .icon { + margin: 0rem; + font-size: 1rem; + height: 1em; + vertical-align: middle; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Hidden +---------------*/ + +.ui.hidden.divider { + border-color: transparent !important; +} + +.ui.hidden.divider:before, +.ui.hidden.divider:after { + display: none; +} + +/*-------------- + Inverted +---------------*/ + +.ui.divider.inverted, +.ui.vertical.inverted.divider, +.ui.horizontal.inverted.divider { + color: #FFFFFF; +} + +.ui.divider.inverted, +.ui.divider.inverted:after, +.ui.divider.inverted:before { + border-top-color: rgba(34, 36, 38, 0.15) !important; + border-left-color: rgba(34, 36, 38, 0.15) !important; + border-bottom-color: rgba(255, 255, 255, 0.15) !important; + border-right-color: rgba(255, 255, 255, 0.15) !important; +} + +/*-------------- + Fitted +---------------*/ + +.ui.fitted.divider { + margin: 0em; +} + +/*-------------- + Clearing +---------------*/ + +.ui.clearing.divider { + clear: both; +} + +/*-------------- + Section +---------------*/ + +.ui.section.divider { + margin-top: 2rem; + margin-bottom: 2rem; +} + +/*-------------- + Sizes +---------------*/ + +.ui.divider { + font-size: 1rem; +} + +/******************************* + Theme Overrides +*******************************/ + +.ui.horizontal.divider:before, +.ui.horizontal.divider:after { + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC'); +} + +@media only screen and (max-width: 767px) { + .ui.stackable.grid .ui.vertical.divider:before, + .ui.grid .stackable.row .ui.vertical.divider:before, + .ui.stackable.grid .ui.vertical.divider:after, + .ui.grid .stackable.row .ui.vertical.divider:after { + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC'); + } +} + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Flag + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Flag +*******************************/ + +i.flag:not(.icon) { + display: inline-block; + width: 16px; + height: 11px; + line-height: 11px; + vertical-align: baseline; + margin: 0em 0.5em 0em 0em; + text-decoration: inherit; + speak: none; + font-smoothing: antialiased; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +/* Sprite */ + +i.flag:not(.icon):before { + display: inline-block; + content: ''; + background: url("./themes/default/assets/images/flags.png") no-repeat -108px -1976px; + width: 16px; + height: 11px; +} + +/* Flag Sprite Based On http://www.famfamfam.com/lab/icons/flags/ */ + +/******************************* + Theme Overrides +*******************************/ + +i.flag.ad:before, +i.flag.andorra:before { + background-position: 0px 0px; +} + +i.flag.ae:before, +i.flag.united.arab.emirates:before, +i.flag.uae:before { + background-position: 0px -26px; +} + +i.flag.af:before, +i.flag.afghanistan:before { + background-position: 0px -52px; +} + +i.flag.ag:before, +i.flag.antigua:before { + background-position: 0px -78px; +} + +i.flag.ai:before, +i.flag.anguilla:before { + background-position: 0px -104px; +} + +i.flag.al:before, +i.flag.albania:before { + background-position: 0px -130px; +} + +i.flag.am:before, +i.flag.armenia:before { + background-position: 0px -156px; +} + +i.flag.an:before, +i.flag.netherlands.antilles:before { + background-position: 0px -182px; +} + +i.flag.ao:before, +i.flag.angola:before { + background-position: 0px -208px; +} + +i.flag.ar:before, +i.flag.argentina:before { + background-position: 0px -234px; +} + +i.flag.as:before, +i.flag.american.samoa:before { + background-position: 0px -260px; +} + +i.flag.at:before, +i.flag.austria:before { + background-position: 0px -286px; +} + +i.flag.au:before, +i.flag.australia:before { + background-position: 0px -312px; +} + +i.flag.aw:before, +i.flag.aruba:before { + background-position: 0px -338px; +} + +i.flag.ax:before, +i.flag.aland.islands:before { + background-position: 0px -364px; +} + +i.flag.az:before, +i.flag.azerbaijan:before { + background-position: 0px -390px; +} + +i.flag.ba:before, +i.flag.bosnia:before { + background-position: 0px -416px; +} + +i.flag.bb:before, +i.flag.barbados:before { + background-position: 0px -442px; +} + +i.flag.bd:before, +i.flag.bangladesh:before { + background-position: 0px -468px; +} + +i.flag.be:before, +i.flag.belgium:before { + background-position: 0px -494px; +} + +i.flag.bf:before, +i.flag.burkina.faso:before { + background-position: 0px -520px; +} + +i.flag.bg:before, +i.flag.bulgaria:before { + background-position: 0px -546px; +} + +i.flag.bh:before, +i.flag.bahrain:before { + background-position: 0px -572px; +} + +i.flag.bi:before, +i.flag.burundi:before { + background-position: 0px -598px; +} + +i.flag.bj:before, +i.flag.benin:before { + background-position: 0px -624px; +} + +i.flag.bm:before, +i.flag.bermuda:before { + background-position: 0px -650px; +} + +i.flag.bn:before, +i.flag.brunei:before { + background-position: 0px -676px; +} + +i.flag.bo:before, +i.flag.bolivia:before { + background-position: 0px -702px; +} + +i.flag.br:before, +i.flag.brazil:before { + background-position: 0px -728px; +} + +i.flag.bs:before, +i.flag.bahamas:before { + background-position: 0px -754px; +} + +i.flag.bt:before, +i.flag.bhutan:before { + background-position: 0px -780px; +} + +i.flag.bv:before, +i.flag.bouvet.island:before { + background-position: 0px -806px; +} + +i.flag.bw:before, +i.flag.botswana:before { + background-position: 0px -832px; +} + +i.flag.by:before, +i.flag.belarus:before { + background-position: 0px -858px; +} + +i.flag.bz:before, +i.flag.belize:before { + background-position: 0px -884px; +} + +i.flag.ca:before, +i.flag.canada:before { + background-position: 0px -910px; +} + +i.flag.cc:before, +i.flag.cocos.islands:before { + background-position: 0px -962px; +} + +i.flag.cd:before, +i.flag.congo:before { + background-position: 0px -988px; +} + +i.flag.cf:before, +i.flag.central.african.republic:before { + background-position: 0px -1014px; +} + +i.flag.cg:before, +i.flag.congo.brazzaville:before { + background-position: 0px -1040px; +} + +i.flag.ch:before, +i.flag.switzerland:before { + background-position: 0px -1066px; +} + +i.flag.ci:before, +i.flag.cote.divoire:before { + background-position: 0px -1092px; +} + +i.flag.ck:before, +i.flag.cook.islands:before { + background-position: 0px -1118px; +} + +i.flag.cl:before, +i.flag.chile:before { + background-position: 0px -1144px; +} + +i.flag.cm:before, +i.flag.cameroon:before { + background-position: 0px -1170px; +} + +i.flag.cn:before, +i.flag.china:before { + background-position: 0px -1196px; +} + +i.flag.co:before, +i.flag.colombia:before { + background-position: 0px -1222px; +} + +i.flag.cr:before, +i.flag.costa.rica:before { + background-position: 0px -1248px; +} + +i.flag.cs:before, +i.flag.serbia:before { + background-position: 0px -1274px; +} + +i.flag.cu:before, +i.flag.cuba:before { + background-position: 0px -1300px; +} + +i.flag.cv:before, +i.flag.cape.verde:before { + background-position: 0px -1326px; +} + +i.flag.cx:before, +i.flag.christmas.island:before { + background-position: 0px -1352px; +} + +i.flag.cy:before, +i.flag.cyprus:before { + background-position: 0px -1378px; +} + +i.flag.cz:before, +i.flag.czech.republic:before { + background-position: 0px -1404px; +} + +i.flag.de:before, +i.flag.germany:before { + background-position: 0px -1430px; +} + +i.flag.dj:before, +i.flag.djibouti:before { + background-position: 0px -1456px; +} + +i.flag.dk:before, +i.flag.denmark:before { + background-position: 0px -1482px; +} + +i.flag.dm:before, +i.flag.dominica:before { + background-position: 0px -1508px; +} + +i.flag.do:before, +i.flag.dominican.republic:before { + background-position: 0px -1534px; +} + +i.flag.dz:before, +i.flag.algeria:before { + background-position: 0px -1560px; +} + +i.flag.ec:before, +i.flag.ecuador:before { + background-position: 0px -1586px; +} + +i.flag.ee:before, +i.flag.estonia:before { + background-position: 0px -1612px; +} + +i.flag.eg:before, +i.flag.egypt:before { + background-position: 0px -1638px; +} + +i.flag.eh:before, +i.flag.western.sahara:before { + background-position: 0px -1664px; +} + +i.flag.gb.eng:before, +i.flag.england:before { + background-position: 0px -1690px; +} + +i.flag.er:before, +i.flag.eritrea:before { + background-position: 0px -1716px; +} + +i.flag.es:before, +i.flag.spain:before { + background-position: 0px -1742px; +} + +i.flag.et:before, +i.flag.ethiopia:before { + background-position: 0px -1768px; +} + +i.flag.eu:before, +i.flag.european.union:before { + background-position: 0px -1794px; +} + +i.flag.fi:before, +i.flag.finland:before { + background-position: 0px -1846px; +} + +i.flag.fj:before, +i.flag.fiji:before { + background-position: 0px -1872px; +} + +i.flag.fk:before, +i.flag.falkland.islands:before { + background-position: 0px -1898px; +} + +i.flag.fm:before, +i.flag.micronesia:before { + background-position: 0px -1924px; +} + +i.flag.fo:before, +i.flag.faroe.islands:before { + background-position: 0px -1950px; +} + +i.flag.fr:before, +i.flag.france:before { + background-position: 0px -1976px; +} + +i.flag.ga:before, +i.flag.gabon:before { + background-position: -36px 0px; +} + +i.flag.gb:before, +i.flag.uk:before, +i.flag.united.kingdom:before { + background-position: -36px -26px; +} + +i.flag.gd:before, +i.flag.grenada:before { + background-position: -36px -52px; +} + +i.flag.ge:before, +i.flag.georgia:before { + background-position: -36px -78px; +} + +i.flag.gf:before, +i.flag.french.guiana:before { + background-position: -36px -104px; +} + +i.flag.gh:before, +i.flag.ghana:before { + background-position: -36px -130px; +} + +i.flag.gi:before, +i.flag.gibraltar:before { + background-position: -36px -156px; +} + +i.flag.gl:before, +i.flag.greenland:before { + background-position: -36px -182px; +} + +i.flag.gm:before, +i.flag.gambia:before { + background-position: -36px -208px; +} + +i.flag.gn:before, +i.flag.guinea:before { + background-position: -36px -234px; +} + +i.flag.gp:before, +i.flag.guadeloupe:before { + background-position: -36px -260px; +} + +i.flag.gq:before, +i.flag.equatorial.guinea:before { + background-position: -36px -286px; +} + +i.flag.gr:before, +i.flag.greece:before { + background-position: -36px -312px; +} + +i.flag.gs:before, +i.flag.sandwich.islands:before { + background-position: -36px -338px; +} + +i.flag.gt:before, +i.flag.guatemala:before { + background-position: -36px -364px; +} + +i.flag.gu:before, +i.flag.guam:before { + background-position: -36px -390px; +} + +i.flag.gw:before, +i.flag.guinea-bissau:before { + background-position: -36px -416px; +} + +i.flag.gy:before, +i.flag.guyana:before { + background-position: -36px -442px; +} + +i.flag.hk:before, +i.flag.hong.kong:before { + background-position: -36px -468px; +} + +i.flag.hm:before, +i.flag.heard.island:before { + background-position: -36px -494px; +} + +i.flag.hn:before, +i.flag.honduras:before { + background-position: -36px -520px; +} + +i.flag.hr:before, +i.flag.croatia:before { + background-position: -36px -546px; +} + +i.flag.ht:before, +i.flag.haiti:before { + background-position: -36px -572px; +} + +i.flag.hu:before, +i.flag.hungary:before { + background-position: -36px -598px; +} + +i.flag.id:before, +i.flag.indonesia:before { + background-position: -36px -624px; +} + +i.flag.ie:before, +i.flag.ireland:before { + background-position: -36px -650px; +} + +i.flag.il:before, +i.flag.israel:before { + background-position: -36px -676px; +} + +i.flag.in:before, +i.flag.india:before { + background-position: -36px -702px; +} + +i.flag.io:before, +i.flag.indian.ocean.territory:before { + background-position: -36px -728px; +} + +i.flag.iq:before, +i.flag.iraq:before { + background-position: -36px -754px; +} + +i.flag.ir:before, +i.flag.iran:before { + background-position: -36px -780px; +} + +i.flag.is:before, +i.flag.iceland:before { + background-position: -36px -806px; +} + +i.flag.it:before, +i.flag.italy:before { + background-position: -36px -832px; +} + +i.flag.jm:before, +i.flag.jamaica:before { + background-position: -36px -858px; +} + +i.flag.jo:before, +i.flag.jordan:before { + background-position: -36px -884px; +} + +i.flag.jp:before, +i.flag.japan:before { + background-position: -36px -910px; +} + +i.flag.ke:before, +i.flag.kenya:before { + background-position: -36px -936px; +} + +i.flag.kg:before, +i.flag.kyrgyzstan:before { + background-position: -36px -962px; +} + +i.flag.kh:before, +i.flag.cambodia:before { + background-position: -36px -988px; +} + +i.flag.ki:before, +i.flag.kiribati:before { + background-position: -36px -1014px; +} + +i.flag.km:before, +i.flag.comoros:before { + background-position: -36px -1040px; +} + +i.flag.kn:before, +i.flag.saint.kitts.and.nevis:before { + background-position: -36px -1066px; +} + +i.flag.kp:before, +i.flag.north.korea:before { + background-position: -36px -1092px; +} + +i.flag.kr:before, +i.flag.south.korea:before { + background-position: -36px -1118px; +} + +i.flag.kw:before, +i.flag.kuwait:before { + background-position: -36px -1144px; +} + +i.flag.ky:before, +i.flag.cayman.islands:before { + background-position: -36px -1170px; +} + +i.flag.kz:before, +i.flag.kazakhstan:before { + background-position: -36px -1196px; +} + +i.flag.la:before, +i.flag.laos:before { + background-position: -36px -1222px; +} + +i.flag.lb:before, +i.flag.lebanon:before { + background-position: -36px -1248px; +} + +i.flag.lc:before, +i.flag.saint.lucia:before { + background-position: -36px -1274px; +} + +i.flag.li:before, +i.flag.liechtenstein:before { + background-position: -36px -1300px; +} + +i.flag.lk:before, +i.flag.sri.lanka:before { + background-position: -36px -1326px; +} + +i.flag.lr:before, +i.flag.liberia:before { + background-position: -36px -1352px; +} + +i.flag.ls:before, +i.flag.lesotho:before { + background-position: -36px -1378px; +} + +i.flag.lt:before, +i.flag.lithuania:before { + background-position: -36px -1404px; +} + +i.flag.lu:before, +i.flag.luxembourg:before { + background-position: -36px -1430px; +} + +i.flag.lv:before, +i.flag.latvia:before { + background-position: -36px -1456px; +} + +i.flag.ly:before, +i.flag.libya:before { + background-position: -36px -1482px; +} + +i.flag.ma:before, +i.flag.morocco:before { + background-position: -36px -1508px; +} + +i.flag.mc:before, +i.flag.monaco:before { + background-position: -36px -1534px; +} + +i.flag.md:before, +i.flag.moldova:before { + background-position: -36px -1560px; +} + +i.flag.me:before, +i.flag.montenegro:before { + background-position: -36px -1586px; +} + +i.flag.mg:before, +i.flag.madagascar:before { + background-position: -36px -1613px; +} + +i.flag.mh:before, +i.flag.marshall.islands:before { + background-position: -36px -1639px; +} + +i.flag.mk:before, +i.flag.macedonia:before { + background-position: -36px -1665px; +} + +i.flag.ml:before, +i.flag.mali:before { + background-position: -36px -1691px; +} + +i.flag.mm:before, +i.flag.myanmar:before, +i.flag.burma:before { + background-position: -73px -1821px; +} + +i.flag.mn:before, +i.flag.mongolia:before { + background-position: -36px -1743px; +} + +i.flag.mo:before, +i.flag.macau:before { + background-position: -36px -1769px; +} + +i.flag.mp:before, +i.flag.northern.mariana.islands:before { + background-position: -36px -1795px; +} + +i.flag.mq:before, +i.flag.martinique:before { + background-position: -36px -1821px; +} + +i.flag.mr:before, +i.flag.mauritania:before { + background-position: -36px -1847px; +} + +i.flag.ms:before, +i.flag.montserrat:before { + background-position: -36px -1873px; +} + +i.flag.mt:before, +i.flag.malta:before { + background-position: -36px -1899px; +} + +i.flag.mu:before, +i.flag.mauritius:before { + background-position: -36px -1925px; +} + +i.flag.mv:before, +i.flag.maldives:before { + background-position: -36px -1951px; +} + +i.flag.mw:before, +i.flag.malawi:before { + background-position: -36px -1977px; +} + +i.flag.mx:before, +i.flag.mexico:before { + background-position: -72px 0px; +} + +i.flag.my:before, +i.flag.malaysia:before { + background-position: -72px -26px; +} + +i.flag.mz:before, +i.flag.mozambique:before { + background-position: -72px -52px; +} + +i.flag.na:before, +i.flag.namibia:before { + background-position: -72px -78px; +} + +i.flag.nc:before, +i.flag.new.caledonia:before { + background-position: -72px -104px; +} + +i.flag.ne:before, +i.flag.niger:before { + background-position: -72px -130px; +} + +i.flag.nf:before, +i.flag.norfolk.island:before { + background-position: -72px -156px; +} + +i.flag.ng:before, +i.flag.nigeria:before { + background-position: -72px -182px; +} + +i.flag.ni:before, +i.flag.nicaragua:before { + background-position: -72px -208px; +} + +i.flag.nl:before, +i.flag.netherlands:before { + background-position: -72px -234px; +} + +i.flag.no:before, +i.flag.norway:before { + background-position: -72px -260px; +} + +i.flag.np:before, +i.flag.nepal:before { + background-position: -72px -286px; +} + +i.flag.nr:before, +i.flag.nauru:before { + background-position: -72px -312px; +} + +i.flag.nu:before, +i.flag.niue:before { + background-position: -72px -338px; +} + +i.flag.nz:before, +i.flag.new.zealand:before { + background-position: -72px -364px; +} + +i.flag.om:before, +i.flag.oman:before { + background-position: -72px -390px; +} + +i.flag.pa:before, +i.flag.panama:before { + background-position: -72px -416px; +} + +i.flag.pe:before, +i.flag.peru:before { + background-position: -72px -442px; +} + +i.flag.pf:before, +i.flag.french.polynesia:before { + background-position: -72px -468px; +} + +i.flag.pg:before, +i.flag.new.guinea:before { + background-position: -72px -494px; +} + +i.flag.ph:before, +i.flag.philippines:before { + background-position: -72px -520px; +} + +i.flag.pk:before, +i.flag.pakistan:before { + background-position: -72px -546px; +} + +i.flag.pl:before, +i.flag.poland:before { + background-position: -72px -572px; +} + +i.flag.pm:before, +i.flag.saint.pierre:before { + background-position: -72px -598px; +} + +i.flag.pn:before, +i.flag.pitcairn.islands:before { + background-position: -72px -624px; +} + +i.flag.pr:before, +i.flag.puerto.rico:before { + background-position: -72px -650px; +} + +i.flag.ps:before, +i.flag.palestine:before { + background-position: -72px -676px; +} + +i.flag.pt:before, +i.flag.portugal:before { + background-position: -72px -702px; +} + +i.flag.pw:before, +i.flag.palau:before { + background-position: -72px -728px; +} + +i.flag.py:before, +i.flag.paraguay:before { + background-position: -72px -754px; +} + +i.flag.qa:before, +i.flag.qatar:before { + background-position: -72px -780px; +} + +i.flag.re:before, +i.flag.reunion:before { + background-position: -72px -806px; +} + +i.flag.ro:before, +i.flag.romania:before { + background-position: -72px -832px; +} + +i.flag.rs:before, +i.flag.serbia:before { + background-position: -72px -858px; +} + +i.flag.ru:before, +i.flag.russia:before { + background-position: -72px -884px; +} + +i.flag.rw:before, +i.flag.rwanda:before { + background-position: -72px -910px; +} + +i.flag.sa:before, +i.flag.saudi.arabia:before { + background-position: -72px -936px; +} + +i.flag.sb:before, +i.flag.solomon.islands:before { + background-position: -72px -962px; +} + +i.flag.sc:before, +i.flag.seychelles:before { + background-position: -72px -988px; +} + +i.flag.gb.sct:before, +i.flag.scotland:before { + background-position: -72px -1014px; +} + +i.flag.sd:before, +i.flag.sudan:before { + background-position: -72px -1040px; +} + +i.flag.se:before, +i.flag.sweden:before { + background-position: -72px -1066px; +} + +i.flag.sg:before, +i.flag.singapore:before { + background-position: -72px -1092px; +} + +i.flag.sh:before, +i.flag.saint.helena:before { + background-position: -72px -1118px; +} + +i.flag.si:before, +i.flag.slovenia:before { + background-position: -72px -1144px; +} + +i.flag.sj:before, +i.flag.svalbard:before, +i.flag.jan.mayen:before { + background-position: -72px -1170px; +} + +i.flag.sk:before, +i.flag.slovakia:before { + background-position: -72px -1196px; +} + +i.flag.sl:before, +i.flag.sierra.leone:before { + background-position: -72px -1222px; +} + +i.flag.sm:before, +i.flag.san.marino:before { + background-position: -72px -1248px; +} + +i.flag.sn:before, +i.flag.senegal:before { + background-position: -72px -1274px; +} + +i.flag.so:before, +i.flag.somalia:before { + background-position: -72px -1300px; +} + +i.flag.sr:before, +i.flag.suriname:before { + background-position: -72px -1326px; +} + +i.flag.st:before, +i.flag.sao.tome:before { + background-position: -72px -1352px; +} + +i.flag.sv:before, +i.flag.el.salvador:before { + background-position: -72px -1378px; +} + +i.flag.sy:before, +i.flag.syria:before { + background-position: -72px -1404px; +} + +i.flag.sz:before, +i.flag.swaziland:before { + background-position: -72px -1430px; +} + +i.flag.tc:before, +i.flag.caicos.islands:before { + background-position: -72px -1456px; +} + +i.flag.td:before, +i.flag.chad:before { + background-position: -72px -1482px; +} + +i.flag.tf:before, +i.flag.french.territories:before { + background-position: -72px -1508px; +} + +i.flag.tg:before, +i.flag.togo:before { + background-position: -72px -1534px; +} + +i.flag.th:before, +i.flag.thailand:before { + background-position: -72px -1560px; +} + +i.flag.tj:before, +i.flag.tajikistan:before { + background-position: -72px -1586px; +} + +i.flag.tk:before, +i.flag.tokelau:before { + background-position: -72px -1612px; +} + +i.flag.tl:before, +i.flag.timorleste:before { + background-position: -72px -1638px; +} + +i.flag.tm:before, +i.flag.turkmenistan:before { + background-position: -72px -1664px; +} + +i.flag.tn:before, +i.flag.tunisia:before { + background-position: -72px -1690px; +} + +i.flag.to:before, +i.flag.tonga:before { + background-position: -72px -1716px; +} + +i.flag.tr:before, +i.flag.turkey:before { + background-position: -72px -1742px; +} + +i.flag.tt:before, +i.flag.trinidad:before { + background-position: -72px -1768px; +} + +i.flag.tv:before, +i.flag.tuvalu:before { + background-position: -72px -1794px; +} + +i.flag.tw:before, +i.flag.taiwan:before { + background-position: -72px -1820px; +} + +i.flag.tz:before, +i.flag.tanzania:before { + background-position: -72px -1846px; +} + +i.flag.ua:before, +i.flag.ukraine:before { + background-position: -72px -1872px; +} + +i.flag.ug:before, +i.flag.uganda:before { + background-position: -72px -1898px; +} + +i.flag.um:before, +i.flag.us.minor.islands:before { + background-position: -72px -1924px; +} + +i.flag.us:before, +i.flag.america:before, +i.flag.united.states:before { + background-position: -72px -1950px; +} + +i.flag.uy:before, +i.flag.uruguay:before { + background-position: -72px -1976px; +} + +i.flag.uz:before, +i.flag.uzbekistan:before { + background-position: -108px 0px; +} + +i.flag.va:before, +i.flag.vatican.city:before { + background-position: -108px -26px; +} + +i.flag.vc:before, +i.flag.saint.vincent:before { + background-position: -108px -52px; +} + +i.flag.ve:before, +i.flag.venezuela:before { + background-position: -108px -78px; +} + +i.flag.vg:before, +i.flag.british.virgin.islands:before { + background-position: -108px -104px; +} + +i.flag.vi:before, +i.flag.us.virgin.islands:before { + background-position: -108px -130px; +} + +i.flag.vn:before, +i.flag.vietnam:before { + background-position: -108px -156px; +} + +i.flag.vu:before, +i.flag.vanuatu:before { + background-position: -108px -182px; +} + +i.flag.gb.wls:before, +i.flag.wales:before { + background-position: -108px -208px; +} + +i.flag.wf:before, +i.flag.wallis.and.futuna:before { + background-position: -108px -234px; +} + +i.flag.ws:before, +i.flag.samoa:before { + background-position: -108px -260px; +} + +i.flag.ye:before, +i.flag.yemen:before { + background-position: -108px -286px; +} + +i.flag.yt:before, +i.flag.mayotte:before { + background-position: -108px -312px; +} + +i.flag.za:before, +i.flag.south.africa:before { + background-position: -108px -338px; +} + +i.flag.zm:before, +i.flag.zambia:before { + background-position: -108px -364px; +} + +i.flag.zw:before, +i.flag.zimbabwe:before { + background-position: -108px -390px; +} + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Header + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Header +*******************************/ + +/* Standard */ + +.ui.header { + border: none; + margin: calc(2rem - 0.14285714em ) 0em 1rem; + padding: 0em 0em; + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-weight: bold; + line-height: 1.28571429em; + text-transform: none; + color: rgba(0, 0, 0, 0.87); +} + +.ui.header:first-child { + margin-top: -0.14285714em; +} + +.ui.header:last-child { + margin-bottom: 0em; +} + +/*-------------- + Sub Header +---------------*/ + +.ui.header .sub.header { + display: block; + font-weight: normal; + padding: 0em; + margin: 0em; + font-size: 1rem; + line-height: 1.2em; + color: rgba(0, 0, 0, 0.6); +} + +/*-------------- + Icon +---------------*/ + +.ui.header > .icon { + display: table-cell; + opacity: 1; + font-size: 1.5em; + padding-top: 0em; + vertical-align: middle; +} + +/* With Text Node */ + +.ui.header .icon:only-child { + display: inline-block; + padding: 0em; + margin-right: 0.75rem; +} + +/*------------------- + Image +--------------------*/ + +.ui.header > .image:not(.icon), +.ui.header > img { + display: inline-block; + margin-top: 0.14285714em; + width: 2.5em; + height: auto; + vertical-align: middle; +} + +.ui.header > .image:not(.icon):only-child, +.ui.header > img:only-child { + margin-right: 0.75rem; +} + +/*-------------- + Content +---------------*/ + +.ui.header .content { + display: inline-block; + vertical-align: top; +} + +/* After Image */ + +.ui.header > img + .content, +.ui.header > .image + .content { + padding-left: 0.75rem; + vertical-align: middle; +} + +/* After Icon */ + +.ui.header > .icon + .content { + padding-left: 0.75rem; + display: table-cell; + vertical-align: middle; +} + +/*-------------- + Loose Coupling +---------------*/ + +.ui.header .ui.label { + font-size: ''; + margin-left: 0.5rem; + vertical-align: middle; +} + +/* Positioning */ + +.ui.header + p { + margin-top: 0em; +} + +/******************************* + Types +*******************************/ + +/*-------------- + Page +---------------*/ + +h1.ui.header { + font-size: 2rem; +} + +h2.ui.header { + font-size: 1.71428571rem; +} + +h3.ui.header { + font-size: 1.28571429rem; +} + +h4.ui.header { + font-size: 1.07142857rem; +} + +h5.ui.header { + font-size: 1rem; +} + +/* Sub Header */ + +h1.ui.header .sub.header { + font-size: 1.14285714rem; +} + +h2.ui.header .sub.header { + font-size: 1.14285714rem; +} + +h3.ui.header .sub.header { + font-size: 1rem; +} + +h4.ui.header .sub.header { + font-size: 1rem; +} + +h5.ui.header .sub.header { + font-size: 0.92857143rem; +} + +/*-------------- + Content Heading +---------------*/ + +.ui.huge.header { + min-height: 1em; + font-size: 2em; +} + +.ui.large.header { + font-size: 1.71428571em; +} + +.ui.medium.header { + font-size: 1.28571429em; +} + +.ui.small.header { + font-size: 1.07142857em; +} + +.ui.tiny.header { + font-size: 1em; +} + +/* Sub Header */ + +.ui.huge.header .sub.header { + font-size: 1.14285714rem; +} + +.ui.large.header .sub.header { + font-size: 1.14285714rem; +} + +.ui.header .sub.header { + font-size: 1rem; +} + +.ui.small.header .sub.header { + font-size: 1rem; +} + +.ui.tiny.header .sub.header { + font-size: 0.92857143rem; +} + +/*-------------- + Sub Heading +---------------*/ + +.ui.sub.header { + padding: 0em; + margin-bottom: 0.14285714rem; + font-weight: bold; + font-size: 0.85714286em; + text-transform: uppercase; + color: ''; +} + +.ui.small.sub.header { + font-size: 0.78571429em; +} + +.ui.sub.header { + font-size: 0.85714286em; +} + +.ui.large.sub.header { + font-size: 0.92857143em; +} + +.ui.huge.sub.header { + font-size: 1em; +} + +/*------------------- + Icon +--------------------*/ + +.ui.icon.header { + display: inline-block; + text-align: center; + margin: 2rem 0em 1rem; +} + +.ui.icon.header:after { + content: ''; + display: block; + height: 0px; + clear: both; + visibility: hidden; +} + +.ui.icon.header:first-child { + margin-top: 0em; +} + +.ui.icon.header .icon { + float: none; + display: block; + width: auto; + height: auto; + line-height: 1; + padding: 0em; + font-size: 3em; + margin: 0em auto 0.5rem; + opacity: 1; +} + +.ui.icon.header .content { + display: block; + padding: 0em; +} + +.ui.icon.header .circular.icon { + font-size: 2em; +} + +.ui.icon.header .square.icon { + font-size: 2em; +} + +.ui.block.icon.header .icon { + margin-bottom: 0em; +} + +.ui.icon.header.aligned { + margin-left: auto; + margin-right: auto; + display: block; +} + +/******************************* + States +*******************************/ + +.ui.disabled.header { + opacity: 0.45; +} + +/******************************* + Variations +*******************************/ + +/*------------------- + Inverted +--------------------*/ + +.ui.inverted.header { + color: #FFFFFF; +} + +.ui.inverted.header .sub.header { + color: rgba(255, 255, 255, 0.8); +} + +.ui.inverted.attached.header { + background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05)); + box-shadow: none; + border-color: transparent; +} + +.ui.inverted.block.header { + background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05)); + box-shadow: none; +} + +.ui.inverted.block.header { + border-bottom: none; +} + +/*------------------- + Colors +--------------------*/ + +/*--- Red ---*/ + +.ui.red.header { + color: #DB2828 !important; +} + +a.ui.red.header:hover { + color: #d01919 !important; +} + +.ui.red.dividing.header { + border-bottom: 2px solid #DB2828; +} + +/* Inverted */ + +.ui.inverted.red.header { + color: #FF695E !important; +} + +a.ui.inverted.red.header:hover { + color: #ff5144 !important; +} + +/*--- Orange ---*/ + +.ui.orange.header { + color: #F2711C !important; +} + +a.ui.orange.header:hover { + color: #f26202 !important; +} + +.ui.orange.dividing.header { + border-bottom: 2px solid #F2711C; +} + +/* Inverted */ + +.ui.inverted.orange.header { + color: #FF851B !important; +} + +a.ui.inverted.orange.header:hover { + color: #ff7701 !important; +} + +/*--- Olive ---*/ + +.ui.olive.header { + color: #B5CC18 !important; +} + +a.ui.olive.header:hover { + color: #a7bd0d !important; +} + +.ui.olive.dividing.header { + border-bottom: 2px solid #B5CC18; +} + +/* Inverted */ + +.ui.inverted.olive.header { + color: #D9E778 !important; +} + +a.ui.inverted.olive.header:hover { + color: #d8ea5c !important; +} + +/*--- Yellow ---*/ + +.ui.yellow.header { + color: #FBBD08 !important; +} + +a.ui.yellow.header:hover { + color: #eaae00 !important; +} + +.ui.yellow.dividing.header { + border-bottom: 2px solid #FBBD08; +} + +/* Inverted */ + +.ui.inverted.yellow.header { + color: #FFE21F !important; +} + +a.ui.inverted.yellow.header:hover { + color: #ffdf05 !important; +} + +/*--- Green ---*/ + +.ui.green.header { + color: #21BA45 !important; +} + +a.ui.green.header:hover { + color: #16ab39 !important; +} + +.ui.green.dividing.header { + border-bottom: 2px solid #21BA45; +} + +/* Inverted */ + +.ui.inverted.green.header { + color: #2ECC40 !important; +} + +a.ui.inverted.green.header:hover { + color: #22be34 !important; +} + +/*--- Teal ---*/ + +.ui.teal.header { + color: #00B5AD !important; +} + +a.ui.teal.header:hover { + color: #009c95 !important; +} + +.ui.teal.dividing.header { + border-bottom: 2px solid #00B5AD; +} + +/* Inverted */ + +.ui.inverted.teal.header { + color: #6DFFFF !important; +} + +a.ui.inverted.teal.header:hover { + color: #54ffff !important; +} + +/*--- Blue ---*/ + +.ui.blue.header { + color: #2185D0 !important; +} + +a.ui.blue.header:hover { + color: #1678c2 !important; +} + +.ui.blue.dividing.header { + border-bottom: 2px solid #2185D0; +} + +/* Inverted */ + +.ui.inverted.blue.header { + color: #54C8FF !important; +} + +a.ui.inverted.blue.header:hover { + color: #3ac0ff !important; +} + +/*--- Violet ---*/ + +.ui.violet.header { + color: #6435C9 !important; +} + +a.ui.violet.header:hover { + color: #5829bb !important; +} + +.ui.violet.dividing.header { + border-bottom: 2px solid #6435C9; +} + +/* Inverted */ + +.ui.inverted.violet.header { + color: #A291FB !important; +} + +a.ui.inverted.violet.header:hover { + color: #8a73ff !important; +} + +/*--- Purple ---*/ + +.ui.purple.header { + color: #A333C8 !important; +} + +a.ui.purple.header:hover { + color: #9627ba !important; +} + +.ui.purple.dividing.header { + border-bottom: 2px solid #A333C8; +} + +/* Inverted */ + +.ui.inverted.purple.header { + color: #DC73FF !important; +} + +a.ui.inverted.purple.header:hover { + color: #d65aff !important; +} + +/*--- Pink ---*/ + +.ui.pink.header { + color: #E03997 !important; +} + +a.ui.pink.header:hover { + color: #e61a8d !important; +} + +.ui.pink.dividing.header { + border-bottom: 2px solid #E03997; +} + +/* Inverted */ + +.ui.inverted.pink.header { + color: #FF8EDF !important; +} + +a.ui.inverted.pink.header:hover { + color: #ff74d8 !important; +} + +/*--- Brown ---*/ + +.ui.brown.header { + color: #A5673F !important; +} + +a.ui.brown.header:hover { + color: #975b33 !important; +} + +.ui.brown.dividing.header { + border-bottom: 2px solid #A5673F; +} + +/* Inverted */ + +.ui.inverted.brown.header { + color: #D67C1C !important; +} + +a.ui.inverted.brown.header:hover { + color: #c86f11 !important; +} + +/*--- Grey ---*/ + +.ui.grey.header { + color: #767676 !important; +} + +a.ui.grey.header:hover { + color: #838383 !important; +} + +.ui.grey.dividing.header { + border-bottom: 2px solid #767676; +} + +/* Inverted */ + +.ui.inverted.grey.header { + color: #DCDDDE !important; +} + +a.ui.inverted.grey.header:hover { + color: #cfd0d2 !important; +} + +/*------------------- + Aligned +--------------------*/ + +.ui.left.aligned.header { + text-align: left; +} + +.ui.right.aligned.header { + text-align: right; +} + +.ui.centered.header, +.ui.center.aligned.header { + text-align: center; +} + +.ui.justified.header { + text-align: justify; +} + +.ui.justified.header:after { + display: inline-block; + content: ''; + width: 100%; +} + +/*------------------- + Floated +--------------------*/ + +.ui.floated.header, +.ui[class*="left floated"].header { + float: left; + margin-top: 0em; + margin-right: 0.5em; +} + +.ui[class*="right floated"].header { + float: right; + margin-top: 0em; + margin-left: 0.5em; +} + +/*------------------- + Fitted +--------------------*/ + +.ui.fitted.header { + padding: 0em; +} + +/*------------------- + Dividing +--------------------*/ + +.ui.dividing.header { + padding-bottom: 0.21428571rem; + border-bottom: 1px solid rgba(34, 36, 38, 0.15); +} + +.ui.dividing.header .sub.header { + padding-bottom: 0.21428571rem; +} + +.ui.dividing.header .icon { + margin-bottom: 0em; +} + +.ui.inverted.dividing.header { + border-bottom-color: rgba(255, 255, 255, 0.1); +} + +/*------------------- + Block +--------------------*/ + +.ui.block.header { + background: #F3F4F5; + padding: 0.78571429rem 1rem; + box-shadow: none; + border: 1px solid #D4D4D5; + border-radius: 0.28571429rem; +} + +.ui.tiny.block.header { + font-size: 0.85714286rem; +} + +.ui.small.block.header { + font-size: 0.92857143rem; +} + +.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) { + font-size: 1rem; +} + +.ui.large.block.header { + font-size: 1.14285714rem; +} + +.ui.huge.block.header { + font-size: 1.42857143rem; +} + +/*------------------- + Attached +--------------------*/ + +.ui.attached.header { + background: #FFFFFF; + padding: 0.78571429rem 1rem; + margin-left: -1px; + margin-right: -1px; + box-shadow: none; + border: 1px solid #D4D4D5; +} + +.ui.attached.block.header { + background: #F3F4F5; +} + +.ui.attached:not(.top):not(.bottom).header { + margin-top: 0em; + margin-bottom: 0em; + border-top: none; + border-radius: 0em; +} + +.ui.top.attached.header { + margin-bottom: 0em; + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +.ui.bottom.attached.header { + margin-top: 0em; + border-top: none; + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +/* Attached Sizes */ + +.ui.tiny.attached.header { + font-size: 0.85714286em; +} + +.ui.small.attached.header { + font-size: 0.92857143em; +} + +.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) { + font-size: 1em; +} + +.ui.large.attached.header { + font-size: 1.14285714em; +} + +.ui.huge.attached.header { + font-size: 1.42857143em; +} + +/*------------------- + Sizing +--------------------*/ + +.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) { + font-size: 1.28571429em; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Icon + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Icon +*******************************/ + +@font-face { + font-family: 'Icons'; + src: url("./themes/default/assets/fonts/icons.eot"); + src: url("./themes/default/assets/fonts/icons.eot?#iefix") format('embedded-opentype'), url("./themes/default/assets/fonts/icons.woff2") format('woff2'), url("./themes/default/assets/fonts/icons.woff") format('woff'), url("./themes/default/assets/fonts/icons.ttf") format('truetype'), url("./themes/default/assets/fonts/icons.svg#icons") format('svg'); + font-style: normal; + font-weight: normal; + font-variant: normal; + text-decoration: inherit; + text-transform: none; +} + +i.icon { + display: inline-block; + opacity: 1; + margin: 0em 0.25rem 0em 0em; + width: 1.18em; + height: 1em; + font-family: 'Icons'; + font-style: normal; + font-weight: normal; + text-decoration: inherit; + text-align: center; + speak: none; + font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +i.icon:before { + background: none !important; +} + +/******************************* + Types +*******************************/ + +/*-------------- + Loading +---------------*/ + +i.icon.loading { + height: 1em; + line-height: 1; +} + +i.icon.loading { + -webkit-animation: icon-loading 2s linear infinite; + animation: icon-loading 2s linear infinite; +} + +@-webkit-keyframes icon-loading { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } +} + +@keyframes icon-loading { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } +} + +/******************************* + States +*******************************/ + +i.icon.hover { + opacity: 1 !important; +} + +i.icon.active { + opacity: 1 !important; +} + +i.emphasized.icon { + opacity: 1 !important; +} + +i.disabled.icon { + opacity: 0.45 !important; +} + +/******************************* + Variations +*******************************/ + +/*------------------- + Fitted +--------------------*/ + +i.fitted.icon { + width: auto; + margin: 0em !important; +} + +/*------------------- + Link +--------------------*/ + +i.link.icon, +i.link.icons { + cursor: pointer; + opacity: 0.8; + transition: opacity 0.1s ease; +} + +i.link.icon:hover, +i.link.icons:hover { + opacity: 1 !important; +} + +/*------------------- + Circular +--------------------*/ + +i.circular.icon { + border-radius: 500em !important; + line-height: 1 !important; + padding: 0.5em 0em !important; + box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; + width: 2em !important; + height: 2em !important; +} + +i.circular.inverted.icon { + border: none; + box-shadow: none; +} + +/*------------------- + Flipped +--------------------*/ + +i.flipped.icon, +i.horizontally.flipped.icon { + transform: scale(-1, 1); +} + +i.vertically.flipped.icon { + transform: scale(1, -1); +} + +/*------------------- + Rotated +--------------------*/ + +i.rotated.icon, +i.right.rotated.icon, +i.clockwise.rotated.icon { + transform: rotate(90deg); +} + +i.left.rotated.icon, +i.counterclockwise.rotated.icon { + transform: rotate(-90deg); +} + +/*------------------- + Bordered +--------------------*/ + +i.bordered.icon { + line-height: 1; + vertical-align: baseline; + width: 2em; + height: 2em; + padding: 0.5em 0em !important; + box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset; +} + +i.bordered.inverted.icon { + border: none; + box-shadow: none; +} + +/*------------------- + Inverted +--------------------*/ + +/* Inverted Shapes */ + +i.inverted.bordered.icon, +i.inverted.circular.icon { + background-color: #1B1C1D !important; + color: #FFFFFF !important; +} + +i.inverted.icon { + color: #FFFFFF; +} + +/*------------------- + Colors +--------------------*/ + +/* Red */ + +i.red.icon { + color: #DB2828 !important; +} + +i.inverted.red.icon { + color: #FF695E !important; +} + +i.inverted.bordered.red.icon, +i.inverted.circular.red.icon { + background-color: #DB2828 !important; + color: #FFFFFF !important; +} + +/* Orange */ + +i.orange.icon { + color: #F2711C !important; +} + +i.inverted.orange.icon { + color: #FF851B !important; +} + +i.inverted.bordered.orange.icon, +i.inverted.circular.orange.icon { + background-color: #F2711C !important; + color: #FFFFFF !important; +} + +/* Yellow */ + +i.yellow.icon { + color: #FBBD08 !important; +} + +i.inverted.yellow.icon { + color: #FFE21F !important; +} + +i.inverted.bordered.yellow.icon, +i.inverted.circular.yellow.icon { + background-color: #FBBD08 !important; + color: #FFFFFF !important; +} + +/* Olive */ + +i.olive.icon { + color: #B5CC18 !important; +} + +i.inverted.olive.icon { + color: #D9E778 !important; +} + +i.inverted.bordered.olive.icon, +i.inverted.circular.olive.icon { + background-color: #B5CC18 !important; + color: #FFFFFF !important; +} + +/* Green */ + +i.green.icon { + color: #21BA45 !important; +} + +i.inverted.green.icon { + color: #2ECC40 !important; +} + +i.inverted.bordered.green.icon, +i.inverted.circular.green.icon { + background-color: #21BA45 !important; + color: #FFFFFF !important; +} + +/* Teal */ + +i.teal.icon { + color: #00B5AD !important; +} + +i.inverted.teal.icon { + color: #6DFFFF !important; +} + +i.inverted.bordered.teal.icon, +i.inverted.circular.teal.icon { + background-color: #00B5AD !important; + color: #FFFFFF !important; +} + +/* Blue */ + +i.blue.icon { + color: #2185D0 !important; +} + +i.inverted.blue.icon { + color: #54C8FF !important; +} + +i.inverted.bordered.blue.icon, +i.inverted.circular.blue.icon { + background-color: #2185D0 !important; + color: #FFFFFF !important; +} + +/* Violet */ + +i.violet.icon { + color: #6435C9 !important; +} + +i.inverted.violet.icon { + color: #A291FB !important; +} + +i.inverted.bordered.violet.icon, +i.inverted.circular.violet.icon { + background-color: #6435C9 !important; + color: #FFFFFF !important; +} + +/* Purple */ + +i.purple.icon { + color: #A333C8 !important; +} + +i.inverted.purple.icon { + color: #DC73FF !important; +} + +i.inverted.bordered.purple.icon, +i.inverted.circular.purple.icon { + background-color: #A333C8 !important; + color: #FFFFFF !important; +} + +/* Pink */ + +i.pink.icon { + color: #E03997 !important; +} + +i.inverted.pink.icon { + color: #FF8EDF !important; +} + +i.inverted.bordered.pink.icon, +i.inverted.circular.pink.icon { + background-color: #E03997 !important; + color: #FFFFFF !important; +} + +/* Brown */ + +i.brown.icon { + color: #A5673F !important; +} + +i.inverted.brown.icon { + color: #D67C1C !important; +} + +i.inverted.bordered.brown.icon, +i.inverted.circular.brown.icon { + background-color: #A5673F !important; + color: #FFFFFF !important; +} + +/* Grey */ + +i.grey.icon { + color: #767676 !important; +} + +i.inverted.grey.icon { + color: #DCDDDE !important; +} + +i.inverted.bordered.grey.icon, +i.inverted.circular.grey.icon { + background-color: #767676 !important; + color: #FFFFFF !important; +} + +/* Black */ + +i.black.icon { + color: #1B1C1D !important; +} + +i.inverted.black.icon { + color: #545454 !important; +} + +i.inverted.bordered.black.icon, +i.inverted.circular.black.icon { + background-color: #1B1C1D !important; + color: #FFFFFF !important; +} + +/*------------------- + Sizes +--------------------*/ + +i.mini.icon, +i.mini.icons { + line-height: 1; + font-size: 0.4em; +} + +i.tiny.icon, +i.tiny.icons { + line-height: 1; + font-size: 0.5em; +} + +i.small.icon, +i.small.icons { + line-height: 1; + font-size: 0.75em; +} + +i.icon, +i.icons { + font-size: 1em; +} + +i.large.icon, +i.large.icons { + line-height: 1; + vertical-align: middle; + font-size: 1.5em; +} + +i.big.icon, +i.big.icons { + line-height: 1; + vertical-align: middle; + font-size: 2em; +} + +i.huge.icon, +i.huge.icons { + line-height: 1; + vertical-align: middle; + font-size: 4em; +} + +i.massive.icon, +i.massive.icons { + line-height: 1; + vertical-align: middle; + font-size: 8em; +} + +/******************************* + Groups +*******************************/ + +i.icons { + display: inline-block; + position: relative; + line-height: 1; +} + +i.icons .icon { + position: absolute; + top: 50%; + left: 50%; + transform: translateX(-50%) translateY(-50%); + margin: 0em; + margin: 0; +} + +i.icons .icon:first-child { + position: static; + width: auto; + height: auto; + vertical-align: top; + transform: none; + margin-right: 0.25rem; +} + +/* Corner Icon */ + +i.icons .corner.icon { + top: auto; + left: auto; + right: 0; + bottom: 0; + transform: none; + font-size: 0.45em; + text-shadow: -1px -1px 0 #FFFFFF, 1px -1px 0 #FFFFFF, -1px 1px 0 #FFFFFF, 1px 1px 0 #FFFFFF; +} + +i.icons .top.right.corner.icon { + top: 0; + left: auto; + right: 0; + bottom: auto; +} + +i.icons .top.left.corner.icon { + top: 0; + left: 0; + right: auto; + bottom: auto; +} + +i.icons .bottom.left.corner.icon { + top: auto; + left: 0; + right: auto; + bottom: 0; +} + +i.icons .bottom.right.corner.icon { + top: auto; + left: auto; + right: 0; + bottom: 0; +} + +i.icons .inverted.corner.icon { + text-shadow: -1px -1px 0 #1B1C1D, 1px -1px 0 #1B1C1D, -1px 1px 0 #1B1C1D, 1px 1px 0 #1B1C1D; +} + +/* + * Font Awesome 5.0.8 by @fontawesome - http://fontawesome.io - @fontawesome + * License - https://fontawesome.com/license (Icons: CC BY 4.0 License, Fonts: SIL OFL 1.1 License, CSS: MIT License) + */ + +/******************************* + +Semantic-UI integration of font-awesome : + +///class names are separated +i.icon.circle => i.icon.circle +i.icon.circle-o => i.icon.circle.outline + +//abbreviation are replaced by full letters: +i.icon.ellipsis-h => i.icon.ellipsis.horizontal +i.icon.ellipsis-v => i.icon.ellipsis.vertical +.alpha => .i.icon.alphabet +.asc => .i.icon.ascending +.desc => .i.icon.descending +.alt =>.alternate + +ASCII order is conserved for easier maintenance. + +Icons that only have one style 'outline', 'square' etc do not require this class +for instance `lemon icon` not `lemon outline icon` since there is only one lemon + +*******************************/ + +/******************************* + Icons +*******************************/ + +/* Deprecated *In/Out Naming Conflict) */ + +i.icon.linkedin.in:before { + content: "\f0e1"; +} + +i.icon.zoom.in:before { + content: "\f00e"; +} + +i.icon.zoom.out:before { + content: "\f010"; +} + +i.icon.sign.in:before { + content: "\f2f6"; +} + +i.icon.in.cart:before { + content: "\f218"; +} + +i.icon.log.out:before { + content: "\f2f5"; +} + +i.icon.sign.out:before { + content: "\f2f5"; +} + +/* Icons */ + +i.icon.\35 00px:before { + content: "\f26e"; +} + +i.icon.accessible.icon:before { + content: "\f368"; +} + +i.icon.accusoft:before { + content: "\f369"; +} + +i.icon.address.book:before { + content: "\f2b9"; +} + +i.icon.address.card:before { + content: "\f2bb"; +} + +i.icon.adjust:before { + content: "\f042"; +} + +i.icon.adn:before { + content: "\f170"; +} + +i.icon.adversal:before { + content: "\f36a"; +} + +i.icon.affiliatetheme:before { + content: "\f36b"; +} + +i.icon.algolia:before { + content: "\f36c"; +} + +i.icon.align.center:before { + content: "\f037"; +} + +i.icon.align.justify:before { + content: "\f039"; +} + +i.icon.align.left:before { + content: "\f036"; +} + +i.icon.align.right:before { + content: "\f038"; +} + +i.icon.amazon:before { + content: "\f270"; +} + +i.icon.amazon.pay:before { + content: "\f42c"; +} + +i.icon.ambulance:before { + content: "\f0f9"; +} + +i.icon.american.sign.language.interpreting:before { + content: "\f2a3"; +} + +i.icon.amilia:before { + content: "\f36d"; +} + +i.icon.anchor:before { + content: "\f13d"; +} + +i.icon.android:before { + content: "\f17b"; +} + +i.icon.angellist:before { + content: "\f209"; +} + +i.icon.angle.double.down:before { + content: "\f103"; +} + +i.icon.angle.double.left:before { + content: "\f100"; +} + +i.icon.angle.double.right:before { + content: "\f101"; +} + +i.icon.angle.double.up:before { + content: "\f102"; +} + +i.icon.angle.down:before { + content: "\f107"; +} + +i.icon.angle.left:before { + content: "\f104"; +} + +i.icon.angle.right:before { + content: "\f105"; +} + +i.icon.angle.up:before { + content: "\f106"; +} + +i.icon.angrycreative:before { + content: "\f36e"; +} + +i.icon.angular:before { + content: "\f420"; +} + +i.icon.app.store:before { + content: "\f36f"; +} + +i.icon.app.store.ios:before { + content: "\f370"; +} + +i.icon.apper:before { + content: "\f371"; +} + +i.icon.apple:before { + content: "\f179"; +} + +i.icon.apple.pay:before { + content: "\f415"; +} + +i.icon.archive:before { + content: "\f187"; +} + +i.icon.arrow.alternate.circle.down:before { + content: "\f358"; +} + +i.icon.arrow.alternate.circle.left:before { + content: "\f359"; +} + +i.icon.arrow.alternate.circle.right:before { + content: "\f35a"; +} + +i.icon.arrow.alternate.circle.up:before { + content: "\f35b"; +} + +i.icon.arrow.circle.down:before { + content: "\f0ab"; +} + +i.icon.arrow.circle.left:before { + content: "\f0a8"; +} + +i.icon.arrow.circle.right:before { + content: "\f0a9"; +} + +i.icon.arrow.circle.up:before { + content: "\f0aa"; +} + +i.icon.arrow.down:before { + content: "\f063"; +} + +i.icon.arrow.left:before { + content: "\f060"; +} + +i.icon.arrow.right:before { + content: "\f061"; +} + +i.icon.arrow.up:before { + content: "\f062"; +} + +i.icon.arrows.alternate:before { + content: "\f0b2"; +} + +i.icon.arrows.alternate.horizontal:before { + content: "\f337"; +} + +i.icon.arrows.alternate.vertical:before { + content: "\f338"; +} + +i.icon.assistive.listening.systems:before { + content: "\f2a2"; +} + +i.icon.asterisk:before { + content: "\f069"; +} + +i.icon.asymmetrik:before { + content: "\f372"; +} + +i.icon.at:before { + content: "\f1fa"; +} + +i.icon.audible:before { + content: "\f373"; +} + +i.icon.audio.description:before { + content: "\f29e"; +} + +i.icon.autoprefixer:before { + content: "\f41c"; +} + +i.icon.avianex:before { + content: "\f374"; +} + +i.icon.aviato:before { + content: "\f421"; +} + +i.icon.aws:before { + content: "\f375"; +} + +i.icon.backward:before { + content: "\f04a"; +} + +i.icon.balance.scale:before { + content: "\f24e"; +} + +i.icon.ban:before { + content: "\f05e"; +} + +i.icon.band.aid:before { + content: "\f462"; +} + +i.icon.bandcamp:before { + content: "\f2d5"; +} + +i.icon.barcode:before { + content: "\f02a"; +} + +i.icon.bars:before { + content: "\f0c9"; +} + +i.icon.baseball.ball:before { + content: "\f433"; +} + +i.icon.basketball.ball:before { + content: "\f434"; +} + +i.icon.bath:before { + content: "\f2cd"; +} + +i.icon.battery.empty:before { + content: "\f244"; +} + +i.icon.battery.full:before { + content: "\f240"; +} + +i.icon.battery.half:before { + content: "\f242"; +} + +i.icon.battery.quarter:before { + content: "\f243"; +} + +i.icon.battery.three.quarters:before { + content: "\f241"; +} + +i.icon.bed:before { + content: "\f236"; +} + +i.icon.beer:before { + content: "\f0fc"; +} + +i.icon.behance:before { + content: "\f1b4"; +} + +i.icon.behance.square:before { + content: "\f1b5"; +} + +i.icon.bell:before { + content: "\f0f3"; +} + +i.icon.bell.slash:before { + content: "\f1f6"; +} + +i.icon.bicycle:before { + content: "\f206"; +} + +i.icon.bimobject:before { + content: "\f378"; +} + +i.icon.binoculars:before { + content: "\f1e5"; +} + +i.icon.birthday.cake:before { + content: "\f1fd"; +} + +i.icon.bitbucket:before { + content: "\f171"; +} + +i.icon.bitcoin:before { + content: "\f379"; +} + +i.icon.bity:before { + content: "\f37a"; +} + +i.icon.black.tie:before { + content: "\f27e"; +} + +i.icon.blackberry:before { + content: "\f37b"; +} + +i.icon.blind:before { + content: "\f29d"; +} + +i.icon.blogger:before { + content: "\f37c"; +} + +i.icon.blogger.b:before { + content: "\f37d"; +} + +i.icon.bluetooth:before { + content: "\f293"; +} + +i.icon.bluetooth.b:before { + content: "\f294"; +} + +i.icon.bold:before { + content: "\f032"; +} + +i.icon.bolt:before { + content: "\f0e7"; +} + +i.icon.bomb:before { + content: "\f1e2"; +} + +i.icon.book:before { + content: "\f02d"; +} + +i.icon.bookmark:before { + content: "\f02e"; +} + +i.icon.bowling.ball:before { + content: "\f436"; +} + +i.icon.box:before { + content: "\f466"; +} + +i.icon.boxes:before { + content: "\f468"; +} + +i.icon.braille:before { + content: "\f2a1"; +} + +i.icon.briefcase:before { + content: "\f0b1"; +} + +i.icon.btc:before { + content: "\f15a"; +} + +i.icon.bug:before { + content: "\f188"; +} + +i.icon.building:before { + content: "\f1ad"; +} + +i.icon.bullhorn:before { + content: "\f0a1"; +} + +i.icon.bullseye:before { + content: "\f140"; +} + +i.icon.buromobelexperte:before { + content: "\f37f"; +} + +i.icon.bus:before { + content: "\f207"; +} + +i.icon.buysellads:before { + content: "\f20d"; +} + +i.icon.calculator:before { + content: "\f1ec"; +} + +i.icon.calendar:before { + content: "\f133"; +} + +i.icon.calendar.alternate:before { + content: "\f073"; +} + +i.icon.calendar.check:before { + content: "\f274"; +} + +i.icon.calendar.minus:before { + content: "\f272"; +} + +i.icon.calendar.plus:before { + content: "\f271"; +} + +i.icon.calendar.times:before { + content: "\f273"; +} + +i.icon.camera:before { + content: "\f030"; +} + +i.icon.camera.retro:before { + content: "\f083"; +} + +i.icon.car:before { + content: "\f1b9"; +} + +i.icon.caret.down:before { + content: "\f0d7"; +} + +i.icon.caret.left:before { + content: "\f0d9"; +} + +i.icon.caret.right:before { + content: "\f0da"; +} + +i.icon.caret.square.down:before { + content: "\f150"; +} + +i.icon.caret.square.left:before { + content: "\f191"; +} + +i.icon.caret.square.right:before { + content: "\f152"; +} + +i.icon.caret.square.up:before { + content: "\f151"; +} + +i.icon.caret.up:before { + content: "\f0d8"; +} + +i.icon.cart.arrow.down:before { + content: "\f218"; +} + +i.icon.cart.plus:before { + content: "\f217"; +} + +i.icon.cc.amazon.pay:before { + content: "\f42d"; +} + +i.icon.cc.amex:before { + content: "\f1f3"; +} + +i.icon.cc.apple.pay:before { + content: "\f416"; +} + +i.icon.cc.diners.club:before { + content: "\f24c"; +} + +i.icon.cc.discover:before { + content: "\f1f2"; +} + +i.icon.cc.jcb:before { + content: "\f24b"; +} + +i.icon.cc.mastercard:before { + content: "\f1f1"; +} + +i.icon.cc.paypal:before { + content: "\f1f4"; +} + +i.icon.cc.stripe:before { + content: "\f1f5"; +} + +i.icon.cc.visa:before { + content: "\f1f0"; +} + +i.icon.centercode:before { + content: "\f380"; +} + +i.icon.certificate:before { + content: "\f0a3"; +} + +i.icon.chart.area:before { + content: "\f1fe"; +} + +i.icon.chart.bar:before { + content: "\f080"; +} + +i.icon.chart.line:before { + content: "\f201"; +} + +i.icon.chart.pie:before { + content: "\f200"; +} + +i.icon.check:before { + content: "\f00c"; +} + +i.icon.check.circle:before { + content: "\f058"; +} + +i.icon.check.square:before { + content: "\f14a"; +} + +i.icon.chess:before { + content: "\f439"; +} + +i.icon.chess.bishop:before { + content: "\f43a"; +} + +i.icon.chess.board:before { + content: "\f43c"; +} + +i.icon.chess.king:before { + content: "\f43f"; +} + +i.icon.chess.knight:before { + content: "\f441"; +} + +i.icon.chess.pawn:before { + content: "\f443"; +} + +i.icon.chess.queen:before { + content: "\f445"; +} + +i.icon.chess.rook:before { + content: "\f447"; +} + +i.icon.chevron.circle.down:before { + content: "\f13a"; +} + +i.icon.chevron.circle.left:before { + content: "\f137"; +} + +i.icon.chevron.circle.right:before { + content: "\f138"; +} + +i.icon.chevron.circle.up:before { + content: "\f139"; +} + +i.icon.chevron.down:before { + content: "\f078"; +} + +i.icon.chevron.left:before { + content: "\f053"; +} + +i.icon.chevron.right:before { + content: "\f054"; +} + +i.icon.chevron.up:before { + content: "\f077"; +} + +i.icon.child:before { + content: "\f1ae"; +} + +i.icon.chrome:before { + content: "\f268"; +} + +i.icon.circle:before { + content: "\f111"; +} + +i.icon.circle.notch:before { + content: "\f1ce"; +} + +i.icon.clipboard:before { + content: "\f328"; +} + +i.icon.clipboard.check:before { + content: "\f46c"; +} + +i.icon.clipboard.list:before { + content: "\f46d"; +} + +i.icon.clock:before { + content: "\f017"; +} + +i.icon.clone:before { + content: "\f24d"; +} + +i.icon.closed.captioning:before { + content: "\f20a"; +} + +i.icon.cloud:before { + content: "\f0c2"; +} + +i.icon.cloudscale:before { + content: "\f383"; +} + +i.icon.cloudsmith:before { + content: "\f384"; +} + +i.icon.cloudversify:before { + content: "\f385"; +} + +i.icon.code:before { + content: "\f121"; +} + +i.icon.code.branch:before { + content: "\f126"; +} + +i.icon.codepen:before { + content: "\f1cb"; +} + +i.icon.codiepie:before { + content: "\f284"; +} + +i.icon.coffee:before { + content: "\f0f4"; +} + +i.icon.cog:before { + content: "\f013"; +} + +i.icon.cogs:before { + content: "\f085"; +} + +i.icon.columns:before { + content: "\f0db"; +} + +i.icon.comment:before { + content: "\f075"; +} + +i.icon.comment.alternate:before { + content: "\f27a"; +} + +i.icon.comments:before { + content: "\f086"; +} + +i.icon.compass:before { + content: "\f14e"; +} + +i.icon.compress:before { + content: "\f066"; +} + +i.icon.connectdevelop:before { + content: "\f20e"; +} + +i.icon.contao:before { + content: "\f26d"; +} + +i.icon.copy:before { + content: "\f0c5"; +} + +i.icon.copyright:before { + content: "\f1f9"; +} + +i.icon.cpanel:before { + content: "\f388"; +} + +i.icon.creative.commons:before { + content: "\f25e"; +} + +i.icon.credit.card:before { + content: "\f09d"; +} + +i.icon.crop:before { + content: "\f125"; +} + +i.icon.crosshairs:before { + content: "\f05b"; +} + +i.icon.css3:before { + content: "\f13c"; +} + +i.icon.css3.alternate:before { + content: "\f38b"; +} + +i.icon.cube:before { + content: "\f1b2"; +} + +i.icon.cubes:before { + content: "\f1b3"; +} + +i.icon.cut:before { + content: "\f0c4"; +} + +i.icon.cuttlefish:before { + content: "\f38c"; +} + +i.icon.d.and.d:before { + content: "\f38d"; +} + +i.icon.dashcube:before { + content: "\f210"; +} + +i.icon.database:before { + content: "\f1c0"; +} + +i.icon.deaf:before { + content: "\f2a4"; +} + +i.icon.delicious:before { + content: "\f1a5"; +} + +i.icon.deploydog:before { + content: "\f38e"; +} + +i.icon.deskpro:before { + content: "\f38f"; +} + +i.icon.desktop:before { + content: "\f108"; +} + +i.icon.deviantart:before { + content: "\f1bd"; +} + +i.icon.digg:before { + content: "\f1a6"; +} + +i.icon.digital.ocean:before { + content: "\f391"; +} + +i.icon.discord:before { + content: "\f392"; +} + +i.icon.discourse:before { + content: "\f393"; +} + +i.icon.dna:before { + content: "\f471"; +} + +i.icon.dochub:before { + content: "\f394"; +} + +i.icon.docker:before { + content: "\f395"; +} + +i.icon.dollar.sign:before { + content: "\f155"; +} + +i.icon.dolly:before { + content: "\f472"; +} + +i.icon.dolly.flatbed:before { + content: "\f474"; +} + +i.icon.dot.circle:before { + content: "\f192"; +} + +i.icon.download:before { + content: "\f019"; +} + +i.icon.draft2digital:before { + content: "\f396"; +} + +i.icon.dribbble:before { + content: "\f17d"; +} + +i.icon.dribbble.square:before { + content: "\f397"; +} + +i.icon.dropbox:before { + content: "\f16b"; +} + +i.icon.drupal:before { + content: "\f1a9"; +} + +i.icon.dyalog:before { + content: "\f399"; +} + +i.icon.earlybirds:before { + content: "\f39a"; +} + +i.icon.edge:before { + content: "\f282"; +} + +i.icon.edit:before { + content: "\f044"; +} + +i.icon.eject:before { + content: "\f052"; +} + +i.icon.elementor:before { + content: "\f430"; +} + +i.icon.ellipsis.horizontal:before { + content: "\f141"; +} + +i.icon.ellipsis.vertical:before { + content: "\f142"; +} + +i.icon.ember:before { + content: "\f423"; +} + +i.icon.empire:before { + content: "\f1d1"; +} + +i.icon.envelope:before { + content: "\f0e0"; +} + +i.icon.envelope.open:before { + content: "\f2b6"; +} + +i.icon.envelope.square:before { + content: "\f199"; +} + +i.icon.envira:before { + content: "\f299"; +} + +i.icon.eraser:before { + content: "\f12d"; +} + +i.icon.erlang:before { + content: "\f39d"; +} + +i.icon.ethereum:before { + content: "\f42e"; +} + +i.icon.etsy:before { + content: "\f2d7"; +} + +i.icon.euro.sign:before { + content: "\f153"; +} + +i.icon.exchange.alternate:before { + content: "\f362"; +} + +i.icon.exclamation:before { + content: "\f12a"; +} + +i.icon.exclamation.circle:before { + content: "\f06a"; +} + +i.icon.exclamation.triangle:before { + content: "\f071"; +} + +i.icon.expand:before { + content: "\f065"; +} + +i.icon.expand.arrows.alternate:before { + content: "\f31e"; +} + +i.icon.expeditedssl:before { + content: "\f23e"; +} + +i.icon.external.alternate:before { + content: "\f35d"; +} + +i.icon.external.square.alternate:before { + content: "\f360"; +} + +i.icon.eye:before { + content: "\f06e"; +} + +i.icon.eye.dropper:before { + content: "\f1fb"; +} + +i.icon.eye.slash:before { + content: "\f070"; +} + +i.icon.facebook:before { + content: "\f09a"; +} + +i.icon.facebook.f:before { + content: "\f39e"; +} + +i.icon.facebook.messenger:before { + content: "\f39f"; +} + +i.icon.facebook.square:before { + content: "\f082"; +} + +i.icon.fast.backward:before { + content: "\f049"; +} + +i.icon.fast.forward:before { + content: "\f050"; +} + +i.icon.fax:before { + content: "\f1ac"; +} + +i.icon.female:before { + content: "\f182"; +} + +i.icon.fighter.jet:before { + content: "\f0fb"; +} + +i.icon.file:before { + content: "\f15b"; +} + +i.icon.file.alternate:before { + content: "\f15c"; +} + +i.icon.file.archive:before { + content: "\f1c6"; +} + +i.icon.file.audio:before { + content: "\f1c7"; +} + +i.icon.file.code:before { + content: "\f1c9"; +} + +i.icon.file.excel:before { + content: "\f1c3"; +} + +i.icon.file.image:before { + content: "\f1c5"; +} + +i.icon.file.pdf:before { + content: "\f1c1"; +} + +i.icon.file.powerpoint:before { + content: "\f1c4"; +} + +i.icon.file.video:before { + content: "\f1c8"; +} + +i.icon.file.word:before { + content: "\f1c2"; +} + +i.icon.film:before { + content: "\f008"; +} + +i.icon.filter:before { + content: "\f0b0"; +} + +i.icon.fire:before { + content: "\f06d"; +} + +i.icon.fire.extinguisher:before { + content: "\f134"; +} + +i.icon.firefox:before { + content: "\f269"; +} + +i.icon.first.aid:before { + content: "\f479"; +} + +i.icon.first.order:before { + content: "\f2b0"; +} + +i.icon.firstdraft:before { + content: "\f3a1"; +} + +i.icon.flag:before { + content: "\f024"; +} + +i.icon.flag.checkered:before { + content: "\f11e"; +} + +i.icon.flask:before { + content: "\f0c3"; +} + +i.icon.flickr:before { + content: "\f16e"; +} + +i.icon.flipboard:before { + content: "\f44d"; +} + +i.icon.fly:before { + content: "\f417"; +} + +i.icon.folder:before { + content: "\f07b"; +} + +i.icon.folder.open:before { + content: "\f07c"; +} + +i.icon.font:before { + content: "\f031"; +} + +i.icon.font.awesome:before { + content: "\f2b4"; +} + +i.icon.font.awesome.alternate:before { + content: "\f35c"; +} + +i.icon.font.awesome.flag:before { + content: "\f425"; +} + +i.icon.fonticons:before { + content: "\f280"; +} + +i.icon.fonticons.fi:before { + content: "\f3a2"; +} + +i.icon.football.ball:before { + content: "\f44e"; +} + +i.icon.fort.awesome:before { + content: "\f286"; +} + +i.icon.fort.awesome.alternate:before { + content: "\f3a3"; +} + +i.icon.forumbee:before { + content: "\f211"; +} + +i.icon.forward:before { + content: "\f04e"; +} + +i.icon.foursquare:before { + content: "\f180"; +} + +i.icon.free.code.camp:before { + content: "\f2c5"; +} + +i.icon.freebsd:before { + content: "\f3a4"; +} + +i.icon.frown:before { + content: "\f119"; +} + +i.icon.futbol:before { + content: "\f1e3"; +} + +i.icon.gamepad:before { + content: "\f11b"; +} + +i.icon.gavel:before { + content: "\f0e3"; +} + +i.icon.gem:before { + content: "\f3a5"; +} + +i.icon.genderless:before { + content: "\f22d"; +} + +i.icon.get.pocket:before { + content: "\f265"; +} + +i.icon.gg:before { + content: "\f260"; +} + +i.icon.gg.circle:before { + content: "\f261"; +} + +i.icon.gift:before { + content: "\f06b"; +} + +i.icon.git:before { + content: "\f1d3"; +} + +i.icon.git.square:before { + content: "\f1d2"; +} + +i.icon.github:before { + content: "\f09b"; +} + +i.icon.github.alternate:before { + content: "\f113"; +} + +i.icon.github.square:before { + content: "\f092"; +} + +i.icon.gitkraken:before { + content: "\f3a6"; +} + +i.icon.gitlab:before { + content: "\f296"; +} + +i.icon.gitter:before { + content: "\f426"; +} + +i.icon.glass.martini:before { + content: "\f000"; +} + +i.icon.glide:before { + content: "\f2a5"; +} + +i.icon.glide.g:before { + content: "\f2a6"; +} + +i.icon.globe:before { + content: "\f0ac"; +} + +i.icon.gofore:before { + content: "\f3a7"; +} + +i.icon.golf.ball:before { + content: "\f450"; +} + +i.icon.goodreads:before { + content: "\f3a8"; +} + +i.icon.goodreads.g:before { + content: "\f3a9"; +} + +i.icon.google:before { + content: "\f1a0"; +} + +i.icon.google.drive:before { + content: "\f3aa"; +} + +i.icon.google.play:before { + content: "\f3ab"; +} + +i.icon.google.plus:before { + content: "\f2b3"; +} + +i.icon.google.plus.g:before { + content: "\f0d5"; +} + +i.icon.google.plus.square:before { + content: "\f0d4"; +} + +i.icon.google.wallet:before { + content: "\f1ee"; +} + +i.icon.graduation.cap:before { + content: "\f19d"; +} + +i.icon.gratipay:before { + content: "\f184"; +} + +i.icon.grav:before { + content: "\f2d6"; +} + +i.icon.gripfire:before { + content: "\f3ac"; +} + +i.icon.grunt:before { + content: "\f3ad"; +} + +i.icon.gulp:before { + content: "\f3ae"; +} + +i.icon.h.square:before { + content: "\f0fd"; +} + +i.icon.hacker.news:before { + content: "\f1d4"; +} + +i.icon.hacker.news.square:before { + content: "\f3af"; +} + +i.icon.hand.lizard:before { + content: "\f258"; +} + +i.icon.hand.paper:before { + content: "\f256"; +} + +i.icon.hand.peace:before { + content: "\f25b"; +} + +i.icon.hand.point.down:before { + content: "\f0a7"; +} + +i.icon.hand.point.left:before { + content: "\f0a5"; +} + +i.icon.hand.point.right:before { + content: "\f0a4"; +} + +i.icon.hand.point.up:before { + content: "\f0a6"; +} + +i.icon.hand.pointer:before { + content: "\f25a"; +} + +i.icon.hand.rock:before { + content: "\f255"; +} + +i.icon.hand.scissors:before { + content: "\f257"; +} + +i.icon.hand.spock:before { + content: "\f259"; +} + +i.icon.handshake:before { + content: "\f2b5"; +} + +i.icon.hashtag:before { + content: "\f292"; +} + +i.icon.hdd:before { + content: "\f0a0"; +} + +i.icon.heading:before { + content: "\f1dc"; +} + +i.icon.headphones:before { + content: "\f025"; +} + +i.icon.heart:before { + content: "\f004"; +} + +i.icon.heartbeat:before { + content: "\f21e"; +} + +i.icon.hips:before { + content: "\f452"; +} + +i.icon.hire.a.helper:before { + content: "\f3b0"; +} + +i.icon.history:before { + content: "\f1da"; +} + +i.icon.hockey.puck:before { + content: "\f453"; +} + +i.icon.home:before { + content: "\f015"; +} + +i.icon.hooli:before { + content: "\f427"; +} + +i.icon.hospital:before { + content: "\f0f8"; +} + +i.icon.hospital.symbol:before { + content: "\f47e"; +} + +i.icon.hotjar:before { + content: "\f3b1"; +} + +i.icon.hourglass:before { + content: "\f254"; +} + +i.icon.hourglass.end:before { + content: "\f253"; +} + +i.icon.hourglass.half:before { + content: "\f252"; +} + +i.icon.hourglass.start:before { + content: "\f251"; +} + +i.icon.houzz:before { + content: "\f27c"; +} + +i.icon.html5:before { + content: "\f13b"; +} + +i.icon.hubspot:before { + content: "\f3b2"; +} + +i.icon.i.cursor:before { + content: "\f246"; +} + +i.icon.id.badge:before { + content: "\f2c1"; +} + +i.icon.id.card:before { + content: "\f2c2"; +} + +i.icon.image:before { + content: "\f03e"; +} + +i.icon.images:before { + content: "\f302"; +} + +i.icon.imdb:before { + content: "\f2d8"; +} + +i.icon.inbox:before { + content: "\f01c"; +} + +i.icon.indent:before { + content: "\f03c"; +} + +i.icon.industry:before { + content: "\f275"; +} + +i.icon.info:before { + content: "\f129"; +} + +i.icon.info.circle:before { + content: "\f05a"; +} + +i.icon.instagram:before { + content: "\f16d"; +} + +i.icon.internet.explorer:before { + content: "\f26b"; +} + +i.icon.ioxhost:before { + content: "\f208"; +} + +i.icon.italic:before { + content: "\f033"; +} + +i.icon.itunes:before { + content: "\f3b4"; +} + +i.icon.itunes.note:before { + content: "\f3b5"; +} + +i.icon.jenkins:before { + content: "\f3b6"; +} + +i.icon.joget:before { + content: "\f3b7"; +} + +i.icon.joomla:before { + content: "\f1aa"; +} + +i.icon.js:before { + content: "\f3b8"; +} + +i.icon.js.square:before { + content: "\f3b9"; +} + +i.icon.jsfiddle:before { + content: "\f1cc"; +} + +i.icon.key:before { + content: "\f084"; +} + +i.icon.keyboard:before { + content: "\f11c"; +} + +i.icon.keycdn:before { + content: "\f3ba"; +} + +i.icon.kickstarter:before { + content: "\f3bb"; +} + +i.icon.kickstarter.k:before { + content: "\f3bc"; +} + +i.icon.korvue:before { + content: "\f42f"; +} + +i.icon.language:before { + content: "\f1ab"; +} + +i.icon.laptop:before { + content: "\f109"; +} + +i.icon.laravel:before { + content: "\f3bd"; +} + +i.icon.lastfm:before { + content: "\f202"; +} + +i.icon.lastfm.square:before { + content: "\f203"; +} + +i.icon.leaf:before { + content: "\f06c"; +} + +i.icon.leanpub:before { + content: "\f212"; +} + +i.icon.lemon:before { + content: "\f094"; +} + +i.icon.less:before { + content: "\f41d"; +} + +i.icon.level.down.alternate:before { + content: "\f3be"; +} + +i.icon.level.up.alternate:before { + content: "\f3bf"; +} + +i.icon.life.ring:before { + content: "\f1cd"; +} + +i.icon.lightbulb:before { + content: "\f0eb"; +} + +i.icon.linechat:before { + content: "\f3c0"; +} + +i.icon.linkify:before { + content: "\f0c1"; +} + +i.icon.linkedin:before { + content: "\f08c"; +} + +i.icon.linkedin.alt:before { + content: "\f0e1"; +} + +i.icon.linode:before { + content: "\f2b8"; +} + +i.icon.linux:before { + content: "\f17c"; +} + +i.icon.lira.sign:before { + content: "\f195"; +} + +i.icon.list:before { + content: "\f03a"; +} + +i.icon.list.alternate:before { + content: "\f022"; +} + +i.icon.list.ol:before { + content: "\f0cb"; +} + +i.icon.list.ul:before { + content: "\f0ca"; +} + +i.icon.location.arrow:before { + content: "\f124"; +} + +i.icon.lock:before { + content: "\f023"; +} + +i.icon.lock.open:before { + content: "\f3c1"; +} + +i.icon.long.arrow.alternate.down:before { + content: "\f309"; +} + +i.icon.long.arrow.alternate.left:before { + content: "\f30a"; +} + +i.icon.long.arrow.alternate.right:before { + content: "\f30b"; +} + +i.icon.long.arrow.alternate.up:before { + content: "\f30c"; +} + +i.icon.low.vision:before { + content: "\f2a8"; +} + +i.icon.lyft:before { + content: "\f3c3"; +} + +i.icon.magento:before { + content: "\f3c4"; +} + +i.icon.magic:before { + content: "\f0d0"; +} + +i.icon.magnet:before { + content: "\f076"; +} + +i.icon.male:before { + content: "\f183"; +} + +i.icon.map:before { + content: "\f279"; +} + +i.icon.map.marker:before { + content: "\f041"; +} + +i.icon.map.marker.alternate:before { + content: "\f3c5"; +} + +i.icon.map.pin:before { + content: "\f276"; +} + +i.icon.map.signs:before { + content: "\f277"; +} + +i.icon.mars:before { + content: "\f222"; +} + +i.icon.mars.double:before { + content: "\f227"; +} + +i.icon.mars.stroke:before { + content: "\f229"; +} + +i.icon.mars.stroke.horizontal:before { + content: "\f22b"; +} + +i.icon.mars.stroke.vertical:before { + content: "\f22a"; +} + +i.icon.maxcdn:before { + content: "\f136"; +} + +i.icon.medapps:before { + content: "\f3c6"; +} + +i.icon.medium:before { + content: "\f23a"; +} + +i.icon.medium.m:before { + content: "\f3c7"; +} + +i.icon.medkit:before { + content: "\f0fa"; +} + +i.icon.medrt:before { + content: "\f3c8"; +} + +i.icon.meetup:before { + content: "\f2e0"; +} + +i.icon.meh:before { + content: "\f11a"; +} + +i.icon.mercury:before { + content: "\f223"; +} + +i.icon.microchip:before { + content: "\f2db"; +} + +i.icon.microphone:before { + content: "\f130"; +} + +i.icon.microphone.slash:before { + content: "\f131"; +} + +i.icon.microsoft:before { + content: "\f3ca"; +} + +i.icon.minus:before { + content: "\f068"; +} + +i.icon.minus.circle:before { + content: "\f056"; +} + +i.icon.minus.square:before { + content: "\f146"; +} + +i.icon.mix:before { + content: "\f3cb"; +} + +i.icon.mixcloud:before { + content: "\f289"; +} + +i.icon.mizuni:before { + content: "\f3cc"; +} + +i.icon.mobile:before { + content: "\f10b"; +} + +i.icon.mobile.alternate:before { + content: "\f3cd"; +} + +i.icon.modx:before { + content: "\f285"; +} + +i.icon.monero:before { + content: "\f3d0"; +} + +i.icon.money.bill.alternate:before { + content: "\f3d1"; +} + +i.icon.moon:before { + content: "\f186"; +} + +i.icon.motorcycle:before { + content: "\f21c"; +} + +i.icon.mouse.pointer:before { + content: "\f245"; +} + +i.icon.music:before { + content: "\f001"; +} + +i.icon.napster:before { + content: "\f3d2"; +} + +i.icon.neuter:before { + content: "\f22c"; +} + +i.icon.newspaper:before { + content: "\f1ea"; +} + +i.icon.nintendo.switch:before { + content: "\f418"; +} + +i.icon.node:before { + content: "\f419"; +} + +i.icon.node.js:before { + content: "\f3d3"; +} + +i.icon.npm:before { + content: "\f3d4"; +} + +i.icon.ns8:before { + content: "\f3d5"; +} + +i.icon.nutritionix:before { + content: "\f3d6"; +} + +i.icon.object.group:before { + content: "\f247"; +} + +i.icon.object.ungroup:before { + content: "\f248"; +} + +i.icon.odnoklassniki:before { + content: "\f263"; +} + +i.icon.odnoklassniki.square:before { + content: "\f264"; +} + +i.icon.opencart:before { + content: "\f23d"; +} + +i.icon.openid:before { + content: "\f19b"; +} + +i.icon.opera:before { + content: "\f26a"; +} + +i.icon.optin.monster:before { + content: "\f23c"; +} + +i.icon.osi:before { + content: "\f41a"; +} + +i.icon.outdent:before { + content: "\f03b"; +} + +i.icon.page4:before { + content: "\f3d7"; +} + +i.icon.pagelines:before { + content: "\f18c"; +} + +i.icon.paint.brush:before { + content: "\f1fc"; +} + +i.icon.palfed:before { + content: "\f3d8"; +} + +i.icon.pallet:before { + content: "\f482"; +} + +i.icon.paper.plane:before { + content: "\f1d8"; +} + +i.icon.paperclip:before { + content: "\f0c6"; +} + +i.icon.paragraph:before { + content: "\f1dd"; +} + +i.icon.paste:before { + content: "\f0ea"; +} + +i.icon.patreon:before { + content: "\f3d9"; +} + +i.icon.pause:before { + content: "\f04c"; +} + +i.icon.pause.circle:before { + content: "\f28b"; +} + +i.icon.paw:before { + content: "\f1b0"; +} + +i.icon.paypal:before { + content: "\f1ed"; +} + +i.icon.pen.square:before { + content: "\f14b"; +} + +i.icon.pencil.alternate:before { + content: "\f303"; +} + +i.icon.percent:before { + content: "\f295"; +} + +i.icon.periscope:before { + content: "\f3da"; +} + +i.icon.phabricator:before { + content: "\f3db"; +} + +i.icon.phoenix.framework:before { + content: "\f3dc"; +} + +i.icon.phone:before { + content: "\f095"; +} + +i.icon.phone.square:before { + content: "\f098"; +} + +i.icon.phone.volume:before { + content: "\f2a0"; +} + +i.icon.php:before { + content: "\f457"; +} + +i.icon.pied.piper:before { + content: "\f2ae"; +} + +i.icon.pied.piper.alternate:before { + content: "\f1a8"; +} + +i.icon.pied.piper.pp:before { + content: "\f1a7"; +} + +i.icon.pills:before { + content: "\f484"; +} + +i.icon.pinterest:before { + content: "\f0d2"; +} + +i.icon.pinterest.p:before { + content: "\f231"; +} + +i.icon.pinterest.square:before { + content: "\f0d3"; +} + +i.icon.plane:before { + content: "\f072"; +} + +i.icon.play:before { + content: "\f04b"; +} + +i.icon.play.circle:before { + content: "\f144"; +} + +i.icon.playstation:before { + content: "\f3df"; +} + +i.icon.plug:before { + content: "\f1e6"; +} + +i.icon.plus:before { + content: "\f067"; +} + +i.icon.plus.circle:before { + content: "\f055"; +} + +i.icon.plus.square:before { + content: "\f0fe"; +} + +i.icon.podcast:before { + content: "\f2ce"; +} + +i.icon.pound.sign:before { + content: "\f154"; +} + +i.icon.power.off:before { + content: "\f011"; +} + +i.icon.print:before { + content: "\f02f"; +} + +i.icon.product.hunt:before { + content: "\f288"; +} + +i.icon.pushed:before { + content: "\f3e1"; +} + +i.icon.puzzle.piece:before { + content: "\f12e"; +} + +i.icon.python:before { + content: "\f3e2"; +} + +i.icon.qq:before { + content: "\f1d6"; +} + +i.icon.qrcode:before { + content: "\f029"; +} + +i.icon.question:before { + content: "\f128"; +} + +i.icon.question.circle:before { + content: "\f059"; +} + +i.icon.quidditch:before { + content: "\f458"; +} + +i.icon.quinscape:before { + content: "\f459"; +} + +i.icon.quora:before { + content: "\f2c4"; +} + +i.icon.quote.left:before { + content: "\f10d"; +} + +i.icon.quote.right:before { + content: "\f10e"; +} + +i.icon.random:before { + content: "\f074"; +} + +i.icon.ravelry:before { + content: "\f2d9"; +} + +i.icon.react:before { + content: "\f41b"; +} + +i.icon.rebel:before { + content: "\f1d0"; +} + +i.icon.recycle:before { + content: "\f1b8"; +} + +i.icon.redriver:before { + content: "\f3e3"; +} + +i.icon.reddit:before { + content: "\f1a1"; +} + +i.icon.reddit.alien:before { + content: "\f281"; +} + +i.icon.reddit.square:before { + content: "\f1a2"; +} + +i.icon.redo:before { + content: "\f01e"; +} + +i.icon.redo.alternate:before { + content: "\f2f9"; +} + +i.icon.registered:before { + content: "\f25d"; +} + +i.icon.rendact:before { + content: "\f3e4"; +} + +i.icon.renren:before { + content: "\f18b"; +} + +i.icon.reply:before { + content: "\f3e5"; +} + +i.icon.reply.all:before { + content: "\f122"; +} + +i.icon.replyd:before { + content: "\f3e6"; +} + +i.icon.resolving:before { + content: "\f3e7"; +} + +i.icon.retweet:before { + content: "\f079"; +} + +i.icon.road:before { + content: "\f018"; +} + +i.icon.rocket:before { + content: "\f135"; +} + +i.icon.rocketchat:before { + content: "\f3e8"; +} + +i.icon.rockrms:before { + content: "\f3e9"; +} + +i.icon.rss:before { + content: "\f09e"; +} + +i.icon.rss.square:before { + content: "\f143"; +} + +i.icon.ruble.sign:before { + content: "\f158"; +} + +i.icon.rupee.sign:before { + content: "\f156"; +} + +i.icon.safari:before { + content: "\f267"; +} + +i.icon.sass:before { + content: "\f41e"; +} + +i.icon.save:before { + content: "\f0c7"; +} + +i.icon.schlix:before { + content: "\f3ea"; +} + +i.icon.scribd:before { + content: "\f28a"; +} + +i.icon.search:before { + content: "\f002"; +} + +i.icon.search.minus:before { + content: "\f010"; +} + +i.icon.search.plus:before { + content: "\f00e"; +} + +i.icon.searchengin:before { + content: "\f3eb"; +} + +i.icon.sellcast:before { + content: "\f2da"; +} + +i.icon.sellsy:before { + content: "\f213"; +} + +i.icon.server:before { + content: "\f233"; +} + +i.icon.servicestack:before { + content: "\f3ec"; +} + +i.icon.share:before { + content: "\f064"; +} + +i.icon.share.alternate:before { + content: "\f1e0"; +} + +i.icon.share.alternate.square:before { + content: "\f1e1"; +} + +i.icon.share.square:before { + content: "\f14d"; +} + +i.icon.shekel.sign:before { + content: "\f20b"; +} + +i.icon.shield.alternate:before { + content: "\f3ed"; +} + +i.icon.ship:before { + content: "\f21a"; +} + +i.icon.shipping.fast:before { + content: "\f48b"; +} + +i.icon.shirtsinbulk:before { + content: "\f214"; +} + +i.icon.shopping.bag:before { + content: "\f290"; +} + +i.icon.shopping.basket:before { + content: "\f291"; +} + +i.icon.shopping.cart:before { + content: "\f07a"; +} + +i.icon.shower:before { + content: "\f2cc"; +} + +i.icon.sign.language:before { + content: "\f2a7"; +} + +i.icon.signal:before { + content: "\f012"; +} + +i.icon.simplybuilt:before { + content: "\f215"; +} + +i.icon.sistrix:before { + content: "\f3ee"; +} + +i.icon.sitemap:before { + content: "\f0e8"; +} + +i.icon.skyatlas:before { + content: "\f216"; +} + +i.icon.skype:before { + content: "\f17e"; +} + +i.icon.slack:before { + content: "\f198"; +} + +i.icon.slack.hash:before { + content: "\f3ef"; +} + +i.icon.sliders.horizontal:before { + content: "\f1de"; +} + +i.icon.slideshare:before { + content: "\f1e7"; +} + +i.icon.smile:before { + content: "\f118"; +} + +i.icon.snapchat:before { + content: "\f2ab"; +} + +i.icon.snapchat.ghost:before { + content: "\f2ac"; +} + +i.icon.snapchat.square:before { + content: "\f2ad"; +} + +i.icon.snowflake:before { + content: "\f2dc"; +} + +i.icon.sort:before { + content: "\f0dc"; +} + +i.icon.sort.alphabet.down:before { + content: "\f15d"; +} + +i.icon.sort.alphabet.up:before { + content: "\f15e"; +} + +i.icon.sort.amount.down:before { + content: "\f160"; +} + +i.icon.sort.amount.up:before { + content: "\f161"; +} + +i.icon.sort.down:before { + content: "\f0dd"; +} + +i.icon.sort.numeric.down:before { + content: "\f162"; +} + +i.icon.sort.numeric.up:before { + content: "\f163"; +} + +i.icon.sort.up:before { + content: "\f0de"; +} + +i.icon.soundcloud:before { + content: "\f1be"; +} + +i.icon.space.shuttle:before { + content: "\f197"; +} + +i.icon.speakap:before { + content: "\f3f3"; +} + +i.icon.spinner:before { + content: "\f110"; +} + +i.icon.spotify:before { + content: "\f1bc"; +} + +i.icon.square:before { + content: "\f0c8"; +} + +i.icon.square.full:before { + content: "\f45c"; +} + +i.icon.stack.exchange:before { + content: "\f18d"; +} + +i.icon.stack.overflow:before { + content: "\f16c"; +} + +i.icon.star:before { + content: "\f005"; +} + +i.icon.star.half:before { + content: "\f089"; +} + +i.icon.staylinked:before { + content: "\f3f5"; +} + +i.icon.steam:before { + content: "\f1b6"; +} + +i.icon.steam.square:before { + content: "\f1b7"; +} + +i.icon.steam.symbol:before { + content: "\f3f6"; +} + +i.icon.step.backward:before { + content: "\f048"; +} + +i.icon.step.forward:before { + content: "\f051"; +} + +i.icon.stethoscope:before { + content: "\f0f1"; +} + +i.icon.sticker.mule:before { + content: "\f3f7"; +} + +i.icon.sticky.note:before { + content: "\f249"; +} + +i.icon.stop:before { + content: "\f04d"; +} + +i.icon.stop.circle:before { + content: "\f28d"; +} + +i.icon.stopwatch:before { + content: "\f2f2"; +} + +i.icon.strava:before { + content: "\f428"; +} + +i.icon.street.view:before { + content: "\f21d"; +} + +i.icon.strikethrough:before { + content: "\f0cc"; +} + +i.icon.stripe:before { + content: "\f429"; +} + +i.icon.stripe.s:before { + content: "\f42a"; +} + +i.icon.studiovinari:before { + content: "\f3f8"; +} + +i.icon.stumbleupon:before { + content: "\f1a4"; +} + +i.icon.stumbleupon.circle:before { + content: "\f1a3"; +} + +i.icon.subscript:before { + content: "\f12c"; +} + +i.icon.subway:before { + content: "\f239"; +} + +i.icon.suitcase:before { + content: "\f0f2"; +} + +i.icon.sun:before { + content: "\f185"; +} + +i.icon.superpowers:before { + content: "\f2dd"; +} + +i.icon.superscript:before { + content: "\f12b"; +} + +i.icon.supple:before { + content: "\f3f9"; +} + +i.icon.sync:before { + content: "\f021"; +} + +i.icon.sync.alternate:before { + content: "\f2f1"; +} + +i.icon.syringe:before { + content: "\f48e"; +} + +i.icon.table:before { + content: "\f0ce"; +} + +i.icon.table.tennis:before { + content: "\f45d"; +} + +i.icon.tablet:before { + content: "\f10a"; +} + +i.icon.tablet.alternate:before { + content: "\f3fa"; +} + +i.icon.tachometer.alternate:before { + content: "\f3fd"; +} + +i.icon.tag:before { + content: "\f02b"; +} + +i.icon.tags:before { + content: "\f02c"; +} + +i.icon.tasks:before { + content: "\f0ae"; +} + +i.icon.taxi:before { + content: "\f1ba"; +} + +i.icon.telegram:before { + content: "\f2c6"; +} + +i.icon.telegram.plane:before { + content: "\f3fe"; +} + +i.icon.tencent.weibo:before { + content: "\f1d5"; +} + +i.icon.terminal:before { + content: "\f120"; +} + +i.icon.text.height:before { + content: "\f034"; +} + +i.icon.text.width:before { + content: "\f035"; +} + +i.icon.th:before { + content: "\f00a"; +} + +i.icon.th.large:before { + content: "\f009"; +} + +i.icon.th.list:before { + content: "\f00b"; +} + +i.icon.themeisle:before { + content: "\f2b2"; +} + +i.icon.thermometer:before { + content: "\f491"; +} + +i.icon.thermometer.empty:before { + content: "\f2cb"; +} + +i.icon.thermometer.full:before { + content: "\f2c7"; +} + +i.icon.thermometer.half:before { + content: "\f2c9"; +} + +i.icon.thermometer.quarter:before { + content: "\f2ca"; +} + +i.icon.thermometer.three.quarters:before { + content: "\f2c8"; +} + +i.icon.thumbs.down:before { + content: "\f165"; +} + +i.icon.thumbs.up:before { + content: "\f164"; +} + +i.icon.thumbtack:before { + content: "\f08d"; +} + +i.icon.ticket.alternate:before { + content: "\f3ff"; +} + +i.icon.times:before { + content: "\f00d"; +} + +i.icon.times.circle:before { + content: "\f057"; +} + +i.icon.tint:before { + content: "\f043"; +} + +i.icon.toggle.off:before { + content: "\f204"; +} + +i.icon.toggle.on:before { + content: "\f205"; +} + +i.icon.trademark:before { + content: "\f25c"; +} + +i.icon.train:before { + content: "\f238"; +} + +i.icon.transgender:before { + content: "\f224"; +} + +i.icon.transgender.alternate:before { + content: "\f225"; +} + +i.icon.trash:before { + content: "\f1f8"; +} + +i.icon.trash.alternate:before { + content: "\f2ed"; +} + +i.icon.tree:before { + content: "\f1bb"; +} + +i.icon.trello:before { + content: "\f181"; +} + +i.icon.tripadvisor:before { + content: "\f262"; +} + +i.icon.trophy:before { + content: "\f091"; +} + +i.icon.truck:before { + content: "\f0d1"; +} + +i.icon.tty:before { + content: "\f1e4"; +} + +i.icon.tumblr:before { + content: "\f173"; +} + +i.icon.tumblr.square:before { + content: "\f174"; +} + +i.icon.tv:before { + content: "\f26c"; +} + +i.icon.twitch:before { + content: "\f1e8"; +} + +i.icon.twitter:before { + content: "\f099"; +} + +i.icon.twitter.square:before { + content: "\f081"; +} + +i.icon.typo3:before { + content: "\f42b"; +} + +i.icon.uber:before { + content: "\f402"; +} + +i.icon.uikit:before { + content: "\f403"; +} + +i.icon.umbrella:before { + content: "\f0e9"; +} + +i.icon.underline:before { + content: "\f0cd"; +} + +i.icon.undo:before { + content: "\f0e2"; +} + +i.icon.undo.alternate:before { + content: "\f2ea"; +} + +i.icon.uniregistry:before { + content: "\f404"; +} + +i.icon.universal.access:before { + content: "\f29a"; +} + +i.icon.university:before { + content: "\f19c"; +} + +i.icon.unlink:before { + content: "\f127"; +} + +i.icon.unlock:before { + content: "\f09c"; +} + +i.icon.unlock.alternate:before { + content: "\f13e"; +} + +i.icon.untappd:before { + content: "\f405"; +} + +i.icon.upload:before { + content: "\f093"; +} + +i.icon.usb:before { + content: "\f287"; +} + +i.icon.user:before { + content: "\f007"; +} + +i.icon.user.circle:before { + content: "\f2bd"; +} + +i.icon.user.md:before { + content: "\f0f0"; +} + +i.icon.user.plus:before { + content: "\f234"; +} + +i.icon.user.secret:before { + content: "\f21b"; +} + +i.icon.user.times:before { + content: "\f235"; +} + +i.icon.users:before { + content: "\f0c0"; +} + +i.icon.ussunnah:before { + content: "\f407"; +} + +i.icon.utensil.spoon:before { + content: "\f2e5"; +} + +i.icon.utensils:before { + content: "\f2e7"; +} + +i.icon.vaadin:before { + content: "\f408"; +} + +i.icon.venus:before { + content: "\f221"; +} + +i.icon.venus.double:before { + content: "\f226"; +} + +i.icon.venus.mars:before { + content: "\f228"; +} + +i.icon.viacoin:before { + content: "\f237"; +} + +i.icon.viadeo:before { + content: "\f2a9"; +} + +i.icon.viadeo.square:before { + content: "\f2aa"; +} + +i.icon.viber:before { + content: "\f409"; +} + +i.icon.video:before { + content: "\f03d"; +} + +i.icon.vimeo:before { + content: "\f40a"; +} + +i.icon.vimeo.square:before { + content: "\f194"; +} + +i.icon.vimeo.v:before { + content: "\f27d"; +} + +i.icon.vine:before { + content: "\f1ca"; +} + +i.icon.vk:before { + content: "\f189"; +} + +i.icon.vnv:before { + content: "\f40b"; +} + +i.icon.volleyball.ball:before { + content: "\f45f"; +} + +i.icon.volume.down:before { + content: "\f027"; +} + +i.icon.volume.off:before { + content: "\f026"; +} + +i.icon.volume.up:before { + content: "\f028"; +} + +i.icon.vuejs:before { + content: "\f41f"; +} + +i.icon.warehouse:before { + content: "\f494"; +} + +i.icon.weibo:before { + content: "\f18a"; +} + +i.icon.weight:before { + content: "\f496"; +} + +i.icon.weixin:before { + content: "\f1d7"; +} + +i.icon.whatsapp:before { + content: "\f232"; +} + +i.icon.whatsapp.square:before { + content: "\f40c"; +} + +i.icon.wheelchair:before { + content: "\f193"; +} + +i.icon.whmcs:before { + content: "\f40d"; +} + +i.icon.wifi:before { + content: "\f1eb"; +} + +i.icon.wikipedia.w:before { + content: "\f266"; +} + +i.icon.window.close:before { + content: "\f410"; +} + +i.icon.window.maximize:before { + content: "\f2d0"; +} + +i.icon.window.minimize:before { + content: "\f2d1"; +} + +i.icon.window.restore:before { + content: "\f2d2"; +} + +i.icon.windows:before { + content: "\f17a"; +} + +i.icon.won.sign:before { + content: "\f159"; +} + +i.icon.wordpress:before { + content: "\f19a"; +} + +i.icon.wordpress.simple:before { + content: "\f411"; +} + +i.icon.wpbeginner:before { + content: "\f297"; +} + +i.icon.wpexplorer:before { + content: "\f2de"; +} + +i.icon.wpforms:before { + content: "\f298"; +} + +i.icon.wrench:before { + content: "\f0ad"; +} + +i.icon.xbox:before { + content: "\f412"; +} + +i.icon.xing:before { + content: "\f168"; +} + +i.icon.xing.square:before { + content: "\f169"; +} + +i.icon.y.combinator:before { + content: "\f23b"; +} + +i.icon.yahoo:before { + content: "\f19e"; +} + +i.icon.yandex:before { + content: "\f413"; +} + +i.icon.yandex.international:before { + content: "\f414"; +} + +i.icon.yelp:before { + content: "\f1e9"; +} + +i.icon.yen.sign:before { + content: "\f157"; +} + +i.icon.yoast:before { + content: "\f2b1"; +} + +i.icon.youtube:before { + content: "\f167"; +} + +i.icon.youtube.square:before { + content: "\f431"; +} + +/* Aliases */ + +i.icon.chess.rock:before { + content: "\f447"; +} + +i.icon.ordered.list:before { + content: "\f0cb"; +} + +i.icon.unordered.list:before { + content: "\f0ca"; +} + +i.icon.user.doctor:before { + content: "\f0f0"; +} + +i.icon.shield:before { + content: "\f3ed"; +} + +i.icon.puzzle:before { + content: "\f12e"; +} + +i.icon.credit.card.amazon.pay:before { + content: "\f42d"; +} + +i.icon.credit.card.american.express:before { + content: "\f1f3"; +} + +i.icon.credit.card.diners.club:before { + content: "\f24c"; +} + +i.icon.credit.card.discover:before { + content: "\f1f2"; +} + +i.icon.credit.card.jcb:before { + content: "\f24b"; +} + +i.icon.credit.card.mastercard:before { + content: "\f1f1"; +} + +i.icon.credit.card.paypal:before { + content: "\f1f4"; +} + +i.icon.credit.card.stripe:before { + content: "\f1f5"; +} + +i.icon.credit.card.visa:before { + content: "\f1f0"; +} + +i.icon.add.circle:before { + content: "\f055"; +} + +i.icon.add.square:before { + content: "\f0fe"; +} + +i.icon.add.to.calendar:before { + content: "\f271"; +} + +i.icon.add.to.cart:before { + content: "\f217"; +} + +i.icon.add.user:before { + content: "\f234"; +} + +i.icon.add:before { + content: "\f067"; +} + +i.icon.alarm.mute:before { + content: "\f1f6"; +} + +i.icon.alarm:before { + content: "\f0f3"; +} + +i.icon.ald:before { + content: "\f2a2"; +} + +i.icon.als:before { + content: "\f2a2"; +} + +i.icon.american.express.card:before { + content: "\f1f3"; +} + +i.icon.american.express:before { + content: "\f1f3"; +} + +i.icon.amex:before { + content: "\f1f3"; +} + +i.icon.announcement:before { + content: "\f0a1"; +} + +i.icon.area.chart:before { + content: "\f1fe"; +} + +i.icon.area.graph:before { + content: "\f1fe"; +} + +i.icon.arrow.down.cart:before { + content: "\f218"; +} + +i.icon.asexual:before { + content: "\f22d"; +} + +i.icon.asl.interpreting:before { + content: "\f2a3"; +} + +i.icon.asl:before { + content: "\f2a3"; +} + +i.icon.assistive.listening.devices:before { + content: "\f2a2"; +} + +i.icon.attach:before { + content: "\f0c6"; +} + +i.icon.attention:before { + content: "\f06a"; +} + +i.icon.balance:before { + content: "\f24e"; +} + +i.icon.bar:before { + content: "\f0fc"; +} + +i.icon.bathtub:before { + content: "\f2cd"; +} + +i.icon.battery.four:before { + content: "\f240"; +} + +i.icon.battery.high:before { + content: "\f241"; +} + +i.icon.battery.low:before { + content: "\f243"; +} + +i.icon.battery.medium:before { + content: "\f242"; +} + +i.icon.battery.one:before { + content: "\f243"; +} + +i.icon.battery.three:before { + content: "\f241"; +} + +i.icon.battery.two:before { + content: "\f242"; +} + +i.icon.battery.zero:before { + content: "\f244"; +} + +i.icon.birthday:before { + content: "\f1fd"; +} + +i.icon.block.layout:before { + content: "\f009"; +} + +i.icon.bluetooth.alternative:before { + content: "\f294"; +} + +i.icon.broken.chain:before { + content: "\f127"; +} + +i.icon.browser:before { + content: "\f022"; +} + +i.icon.call.square:before { + content: "\f098"; +} + +i.icon.call:before { + content: "\f095"; +} + +i.icon.cancel:before { + content: "\f00d"; +} + +i.icon.cart:before { + content: "\f07a"; +} + +i.icon.cc:before { + content: "\f20a"; +} + +i.icon.chain:before { + content: "\f0c1"; +} + +i.icon.chat:before { + content: "\f075"; +} + +i.icon.checked.calendar:before { + content: "\f274"; +} + +i.icon.checkmark:before { + content: "\f00c"; +} + +i.icon.circle.notched:before { + content: "\f1ce"; +} + +i.icon.close:before { + content: "\f00d"; +} + +i.icon.cny:before { + content: "\f157"; +} + +i.icon.cocktail:before { + content: "\f000"; +} + +i.icon.commenting:before { + content: "\f27a"; +} + +i.icon.computer:before { + content: "\f108"; +} + +i.icon.configure:before { + content: "\f0ad"; +} + +i.icon.content:before { + content: "\f0c9"; +} + +i.icon.deafness:before { + content: "\f2a4"; +} + +i.icon.delete.calendar:before { + content: "\f273"; +} + +i.icon.delete:before { + content: "\f00d"; +} + +i.icon.detective:before { + content: "\f21b"; +} + +i.icon.diners.club.card:before { + content: "\f24c"; +} + +i.icon.diners.club:before { + content: "\f24c"; +} + +i.icon.discover.card:before { + content: "\f1f2"; +} + +i.icon.discover:before { + content: "\f1f2"; +} + +i.icon.discussions:before { + content: "\f086"; +} + +i.icon.doctor:before { + content: "\f0f0"; +} + +i.icon.dollar:before { + content: "\f155"; +} + +i.icon.dont:before { + content: "\f05e"; +} + +i.icon.dribble:before { + content: "\f17d"; +} + +i.icon.drivers.license:before { + content: "\f2c2"; +} + +i.icon.dropdown:before { + content: "\f0d7"; +} + +i.icon.eercast:before { + content: "\f2da"; +} + +i.icon.emergency:before { + content: "\f0f9"; +} + +i.icon.envira.gallery:before { + content: "\f299"; +} + +i.icon.erase:before { + content: "\f12d"; +} + +i.icon.eur:before { + content: "\f153"; +} + +i.icon.euro:before { + content: "\f153"; +} + +i.icon.eyedropper:before { + content: "\f1fb"; +} + +i.icon.fa:before { + content: "\f2b4"; +} + +i.icon.factory:before { + content: "\f275"; +} + +i.icon.favorite:before { + content: "\f005"; +} + +i.icon.feed:before { + content: "\f09e"; +} + +i.icon.female.homosexual:before { + content: "\f226"; +} + +i.icon.file.text:before { + content: "\f15c"; +} + +i.icon.find:before { + content: "\f1e5"; +} + +i.icon.first.aid:before { + content: "\f0fa"; +} + +i.icon.five.hundred.pixels:before { + content: "\f26e"; +} + +i.icon.fork:before { + content: "\f126"; +} + +i.icon.game:before { + content: "\f11b"; +} + +i.icon.gay:before { + content: "\f227"; +} + +i.icon.gbp:before { + content: "\f154"; +} + +i.icon.gittip:before { + content: "\f184"; +} + +i.icon.google.plus.circle:before { + content: "\f2b3"; +} + +i.icon.google.plus.official:before { + content: "\f2b3"; +} + +i.icon.grab:before { + content: "\f255"; +} + +i.icon.graduation:before { + content: "\f19d"; +} + +i.icon.grid.layout:before { + content: "\f00a"; +} + +i.icon.group:before { + content: "\f0c0"; +} + +i.icon.h:before { + content: "\f0fd"; +} + +i.icon.hand.victory:before { + content: "\f25b"; +} + +i.icon.handicap:before { + content: "\f193"; +} + +i.icon.hard.of.hearing:before { + content: "\f2a4"; +} + +i.icon.header:before { + content: "\f1dc"; +} + +i.icon.help.circle:before { + content: "\f059"; +} + +i.icon.help:before { + content: "\f128"; +} + +i.icon.heterosexual:before { + content: "\f228"; +} + +i.icon.hide:before { + content: "\f070"; +} + +i.icon.hotel:before { + content: "\f236"; +} + +i.icon.hourglass.four:before { + content: "\f254"; +} + +i.icon.hourglass.full:before { + content: "\f254"; +} + +i.icon.hourglass.one:before { + content: "\f251"; +} + +i.icon.hourglass.three:before { + content: "\f253"; +} + +i.icon.hourglass.two:before { + content: "\f252"; +} + +i.icon.idea:before { + content: "\f0eb"; +} + +i.icon.ils:before { + content: "\f20b"; +} + +i.icon.in-cart:before { + content: "\f218"; +} + +i.icon.inr:before { + content: "\f156"; +} + +i.icon.intergender:before { + content: "\f224"; +} + +i.icon.intersex:before { + content: "\f224"; +} + +i.icon.japan.credit.bureau.card:before { + content: "\f24b"; +} + +i.icon.japan.credit.bureau:before { + content: "\f24b"; +} + +i.icon.jcb:before { + content: "\f24b"; +} + +i.icon.jpy:before { + content: "\f157"; +} + +i.icon.krw:before { + content: "\f159"; +} + +i.icon.lab:before { + content: "\f0c3"; +} + +i.icon.law:before { + content: "\f24e"; +} + +i.icon.legal:before { + content: "\f0e3"; +} + +i.icon.lesbian:before { + content: "\f226"; +} + +i.icon.lightning:before { + content: "\f0e7"; +} + +i.icon.like:before { + content: "\f004"; +} + +i.icon.line.graph:before { + content: "\f201"; +} + +i.icon.linkedin.square:before { + content: "\f08c"; +} + +i.icon.linkify:before { + content: "\f0c1"; +} + +i.icon.lira:before { + content: "\f195"; +} + +i.icon.list.layout:before { + content: "\f00b"; +} + +i.icon.magnify:before { + content: "\f00e"; +} + +i.icon.mail.forward:before { + content: "\f064"; +} + +i.icon.mail.square:before { + content: "\f199"; +} + +i.icon.mail:before { + content: "\f0e0"; +} + +i.icon.male.homosexual:before { + content: "\f227"; +} + +i.icon.man:before { + content: "\f222"; +} + +i.icon.marker:before { + content: "\f041"; +} + +i.icon.mars.alternate:before { + content: "\f229"; +} + +i.icon.mars.horizontal:before { + content: "\f22b"; +} + +i.icon.mars.vertical:before { + content: "\f22a"; +} + +i.icon.mastercard.card:before { + content: "\f1f1"; +} + +i.icon.mastercard:before { + content: "\f1f1"; +} + +i.icon.microsoft.edge:before { + content: "\f282"; +} + +i.icon.military:before { + content: "\f0fb"; +} + +i.icon.ms.edge:before { + content: "\f282"; +} + +i.icon.mute:before { + content: "\f131"; +} + +i.icon.new.pied.piper:before { + content: "\f2ae"; +} + +i.icon.non.binary.transgender:before { + content: "\f223"; +} + +i.icon.numbered.list:before { + content: "\f0cb"; +} + +i.icon.optinmonster:before { + content: "\f23c"; +} + +i.icon.options:before { + content: "\f1de"; +} + +i.icon.other.gender.horizontal:before { + content: "\f22b"; +} + +i.icon.other.gender.vertical:before { + content: "\f22a"; +} + +i.icon.other.gender:before { + content: "\f229"; +} + +i.icon.payment:before { + content: "\f09d"; +} + +i.icon.paypal.card:before { + content: "\f1f4"; +} + +i.icon.pencil.square:before { + content: "\f14b"; +} + +i.icon.photo:before { + content: "\f030"; +} + +i.icon.picture:before { + content: "\f03e"; +} + +i.icon.pie.chart:before { + content: "\f200"; +} + +i.icon.pie.graph:before { + content: "\f200"; +} + +i.icon.pied.piper.hat:before { + content: "\f2ae"; +} + +i.icon.pin:before { + content: "\f08d"; +} + +i.icon.plus.cart:before { + content: "\f217"; +} + +i.icon.pocket:before { + content: "\f265"; +} + +i.icon.point:before { + content: "\f041"; +} + +i.icon.pointing.down:before { + content: "\f0a7"; +} + +i.icon.pointing.left:before { + content: "\f0a5"; +} + +i.icon.pointing.right:before { + content: "\f0a4"; +} + +i.icon.pointing.up:before { + content: "\f0a6"; +} + +i.icon.pound:before { + content: "\f154"; +} + +i.icon.power.cord:before { + content: "\f1e6"; +} + +i.icon.power:before { + content: "\f011"; +} + +i.icon.privacy:before { + content: "\f084"; +} + +i.icon.r.circle:before { + content: "\f25d"; +} + +i.icon.rain:before { + content: "\f0e9"; +} + +i.icon.record:before { + content: "\f03d"; +} + +i.icon.refresh:before { + content: "\f021"; +} + +i.icon.remove.circle:before { + content: "\f057"; +} + +i.icon.remove.from.calendar:before { + content: "\f272"; +} + +i.icon.remove.user:before { + content: "\f235"; +} + +i.icon.remove:before { + content: "\f00d"; +} + +i.icon.repeat:before { + content: "\f01e"; +} + +i.icon.rmb:before { + content: "\f157"; +} + +i.icon.rouble:before { + content: "\f158"; +} + +i.icon.rub:before { + content: "\f158"; +} + +i.icon.ruble:before { + content: "\f158"; +} + +i.icon.rupee:before { + content: "\f156"; +} + +i.icon.s15:before { + content: "\f2cd"; +} + +i.icon.selected.radio:before { + content: "\f192"; +} + +i.icon.send:before { + content: "\f1d8"; +} + +i.icon.setting:before { + content: "\f013"; +} + +i.icon.settings:before { + content: "\f085"; +} + +i.icon.shekel:before { + content: "\f20b"; +} + +i.icon.sheqel:before { + content: "\f20b"; +} + +i.icon.shipping:before { + content: "\f0d1"; +} + +i.icon.shop:before { + content: "\f07a"; +} + +i.icon.shuffle:before { + content: "\f074"; +} + +i.icon.shutdown:before { + content: "\f011"; +} + +i.icon.sidebar:before { + content: "\f0c9"; +} + +i.icon.signing:before { + content: "\f2a7"; +} + +i.icon.signup:before { + content: "\f044"; +} + +i.icon.sliders:before { + content: "\f1de"; +} + +i.icon.soccer:before { + content: "\f1e3"; +} + +i.icon.sort.alphabet.ascending:before { + content: "\f15d"; +} + +i.icon.sort.alphabet.descending:before { + content: "\f15e"; +} + +i.icon.sort.ascending:before { + content: "\f0de"; +} + +i.icon.sort.content.ascending:before { + content: "\f160"; +} + +i.icon.sort.content.descending:before { + content: "\f161"; +} + +i.icon.sort.descending:before { + content: "\f0dd"; +} + +i.icon.sort.numeric.ascending:before { + content: "\f162"; +} + +i.icon.sort.numeric.descending:before { + content: "\f163"; +} + +i.icon.sound:before { + content: "\f025"; +} + +i.icon.spy:before { + content: "\f21b"; +} + +i.icon.stripe.card:before { + content: "\f1f5"; +} + +i.icon.student:before { + content: "\f19d"; +} + +i.icon.talk:before { + content: "\f27a"; +} + +i.icon.target:before { + content: "\f140"; +} + +i.icon.teletype:before { + content: "\f1e4"; +} + +i.icon.television:before { + content: "\f26c"; +} + +i.icon.text.cursor:before { + content: "\f246"; +} + +i.icon.text.telephone:before { + content: "\f1e4"; +} + +i.icon.theme.isle:before { + content: "\f2b2"; +} + +i.icon.theme:before { + content: "\f043"; +} + +i.icon.thermometer:before { + content: "\f2c7"; +} + +i.icon.thumb.tack:before { + content: "\f08d"; +} + +i.icon.time:before { + content: "\f017"; +} + +i.icon.tm:before { + content: "\f25c"; +} + +i.icon.toggle.down:before { + content: "\f150"; +} + +i.icon.toggle.left:before { + content: "\f191"; +} + +i.icon.toggle.right:before { + content: "\f152"; +} + +i.icon.toggle.up:before { + content: "\f151"; +} + +i.icon.translate:before { + content: "\f1ab"; +} + +i.icon.travel:before { + content: "\f0b1"; +} + +i.icon.treatment:before { + content: "\f0f1"; +} + +i.icon.triangle.down:before { + content: "\f0d7"; +} + +i.icon.triangle.left:before { + content: "\f0d9"; +} + +i.icon.triangle.right:before { + content: "\f0da"; +} + +i.icon.triangle.up:before { + content: "\f0d8"; +} + +i.icon.try:before { + content: "\f195"; +} + +i.icon.unhide:before { + content: "\f06e"; +} + +i.icon.unlinkify:before { + content: "\f127"; +} + +i.icon.unmute:before { + content: "\f130"; +} + +i.icon.usd:before { + content: "\f155"; +} + +i.icon.user.cancel:before { + content: "\f235"; +} + +i.icon.user.close:before { + content: "\f235"; +} + +i.icon.user.delete:before { + content: "\f235"; +} + +i.icon.user.x:before { + content: "\f235"; +} + +i.icon.vcard:before { + content: "\f2bb"; +} + +i.icon.video.camera:before { + content: "\f03d"; +} + +i.icon.video.play:before { + content: "\f144"; +} + +i.icon.visa.card:before { + content: "\f1f0"; +} + +i.icon.visa:before { + content: "\f1f0"; +} + +i.icon.volume.control.phone:before { + content: "\f2a0"; +} + +i.icon.wait:before { + content: "\f017"; +} + +i.icon.warning.circle:before { + content: "\f06a"; +} + +i.icon.warning.sign:before { + content: "\f071"; +} + +i.icon.warning:before { + content: "\f12a"; +} + +i.icon.wechat:before { + content: "\f1d7"; +} + +i.icon.wi-fi:before { + content: "\f1eb"; +} + +i.icon.wikipedia:before { + content: "\f266"; +} + +i.icon.winner:before { + content: "\f091"; +} + +i.icon.wizard:before { + content: "\f0d0"; +} + +i.icon.woman:before { + content: "\f221"; +} + +i.icon.won:before { + content: "\f159"; +} + +i.icon.wordpress.beginner:before { + content: "\f297"; +} + +i.icon.wordpress.forms:before { + content: "\f298"; +} + +i.icon.world:before { + content: "\f0ac"; +} + +i.icon.write.square:before { + content: "\f14b"; +} + +i.icon.x:before { + content: "\f00d"; +} + +i.icon.yc:before { + content: "\f23b"; +} + +i.icon.ycombinator:before { + content: "\f23b"; +} + +i.icon.yen:before { + content: "\f157"; +} + +i.icon.zip:before { + content: "\f187"; +} + +i.icon.zoom-in:before { + content: "\f00e"; +} + +i.icon.zoom-out:before { + content: "\f010"; +} + +i.icon.zoom:before { + content: "\f00e"; +} + +i.icon.bitbucket.square:before { + content: "\f171"; +} + +i.icon.checkmark.box:before { + content: "\f14a"; +} + +i.icon.circle.thin:before { + content: "\f111"; +} + +i.icon.cloud.download:before { + content: "\f381"; +} + +i.icon.cloud.upload:before { + content: "\f382"; +} + +i.icon.compose:before { + content: "\f303"; +} + +i.icon.conversation:before { + content: "\f086"; +} + +i.icon.credit.card.alternative:before { + content: "\f09d"; +} + +i.icon.currency:before { + content: "\f3d1"; +} + +i.icon.dashboard:before { + content: "\f3fd"; +} + +i.icon.diamond:before { + content: "\f3a5"; +} + +i.icon.disk:before { + content: "\f0a0"; +} + +i.icon.exchange:before { + content: "\f362"; +} + +i.icon.external.share:before { + content: "\f14d"; +} + +i.icon.external.square:before { + content: "\f360"; +} + +i.icon.external:before { + content: "\f35d"; +} + +i.icon.facebook.official:before { + content: "\f082"; +} + +i.icon.food:before { + content: "\f2e7"; +} + +i.icon.hourglass.zero:before { + content: "\f253"; +} + +i.icon.level.down:before { + content: "\f3be"; +} + +i.icon.level.up:before { + content: "\f3bf"; +} + +i.icon.logout:before { + content: "\f2f5"; +} + +i.icon.meanpath:before { + content: "\f0c8"; +} + +i.icon.money:before { + content: "\f3d1"; +} + +i.icon.move:before { + content: "\f0b2"; +} + +i.icon.pencil:before { + content: "\f303"; +} + +i.icon.protect:before { + content: "\f023"; +} + +i.icon.radio:before { + content: "\f192"; +} + +i.icon.remove.bookmark:before { + content: "\f02e"; +} + +i.icon.resize.horizontal:before { + content: "\f337"; +} + +i.icon.resize.vertical:before { + content: "\f338"; +} + +i.icon.sign-in:before { + content: "\f2f6"; +} + +i.icon.sign-out:before { + content: "\f2f5"; +} + +i.icon.spoon:before { + content: "\f2e5"; +} + +i.icon.star.half.empty:before { + content: "\f089"; +} + +i.icon.star.half.full:before { + content: "\f089"; +} + +i.icon.ticket:before { + content: "\f3ff"; +} + +i.icon.times.rectangle:before { + content: "\f410"; +} + +i.icon.write:before { + content: "\f303"; +} + +i.icon.youtube.play:before { + content: "\f167"; +} + +/******************************* + Outline Icons +*******************************/ + +/* Outline Icon */ + +/* Load & Define Icon Font */ + +@font-face { + font-family: 'outline-icons'; + src: url("./themes/default/assets/fonts/outline-icons.eot"); + src: url("./themes/default/assets/fonts/outline-icons.eot?#iefix") format('embedded-opentype'), url("./themes/default/assets/fonts/outline-icons.woff2") format('woff2'), url("./themes/default/assets/fonts/outline-icons.woff") format('woff'), url("./themes/default/assets/fonts/outline-icons.ttf") format('truetype'), url("./themes/default/assets/fonts/outline-icons.svg#icons") format('svg'); + font-style: normal; + font-weight: normal; + font-variant: normal; + text-decoration: inherit; + text-transform: none; +} + +i.icon.outline { + font-family: 'outline-icons'; +} + +/* Icon Definitions */ + +i.icon.address.book.outline:before { + content: "\f2b9"; +} + +i.icon.address.card.outline:before { + content: "\f2bb"; +} + +i.icon.arrow.alternate.circle.down.outline:before { + content: "\f358"; +} + +i.icon.arrow.alternate.circle.left.outline:before { + content: "\f359"; +} + +i.icon.arrow.alternate.circle.right.outline:before { + content: "\f35a"; +} + +i.icon.arrow.alternate.circle.up.outline:before { + content: "\f35b"; +} + +i.icon.bell.outline:before { + content: "\f0f3"; +} + +i.icon.bell.slash.outline:before { + content: "\f1f6"; +} + +i.icon.bookmark.outline:before { + content: "\f02e"; +} + +i.icon.building.outline:before { + content: "\f1ad"; +} + +i.icon.calendar.outline:before { + content: "\f133"; +} + +i.icon.calendar.alternate.outline:before { + content: "\f073"; +} + +i.icon.calendar.check.outline:before { + content: "\f274"; +} + +i.icon.calendar.minus.outline:before { + content: "\f272"; +} + +i.icon.calendar.plus.outline:before { + content: "\f271"; +} + +i.icon.calendar.times.outline:before { + content: "\f273"; +} + +i.icon.caret.square.down.outline:before { + content: "\f150"; +} + +i.icon.caret.square.left.outline:before { + content: "\f191"; +} + +i.icon.caret.square.right.outline:before { + content: "\f152"; +} + +i.icon.caret.square.up.outline:before { + content: "\f151"; +} + +i.icon.chart.bar.outline:before { + content: "\f080"; +} + +i.icon.check.circle.outline:before { + content: "\f058"; +} + +i.icon.check.square.outline:before { + content: "\f14a"; +} + +i.icon.circle.outline:before { + content: "\f111"; +} + +i.icon.clipboard.outline:before { + content: "\f328"; +} + +i.icon.clock.outline:before { + content: "\f017"; +} + +i.icon.clone.outline:before { + content: "\f24d"; +} + +i.icon.closed.captioning.outline:before { + content: "\f20a"; +} + +i.icon.comment.outline:before { + content: "\f075"; +} + +i.icon.comment.alternate.outline:before { + content: "\f27a"; +} + +i.icon.comments.outline:before { + content: "\f086"; +} + +i.icon.compass.outline:before { + content: "\f14e"; +} + +i.icon.copy.outline:before { + content: "\f0c5"; +} + +i.icon.copyright.outline:before { + content: "\f1f9"; +} + +i.icon.credit.card.outline:before { + content: "\f09d"; +} + +i.icon.dot.circle.outline:before { + content: "\f192"; +} + +i.icon.edit.outline:before { + content: "\f044"; +} + +i.icon.envelope.outline:before { + content: "\f0e0"; +} + +i.icon.envelope.open.outline:before { + content: "\f2b6"; +} + +i.icon.eye.slash.outline:before { + content: "\f070"; +} + +i.icon.file.outline:before { + content: "\f15b"; +} + +i.icon.file.alternate.outline:before { + content: "\f15c"; +} + +i.icon.file.archive.outline:before { + content: "\f1c6"; +} + +i.icon.file.audio.outline:before { + content: "\f1c7"; +} + +i.icon.file.code.outline:before { + content: "\f1c9"; +} + +i.icon.file.excel.outline:before { + content: "\f1c3"; +} + +i.icon.file.image.outline:before { + content: "\f1c5"; +} + +i.icon.file.pdf.outline:before { + content: "\f1c1"; +} + +i.icon.file.powerpoint.outline:before { + content: "\f1c4"; +} + +i.icon.file.video.outline:before { + content: "\f1c8"; +} + +i.icon.file.word.outline:before { + content: "\f1c2"; +} + +i.icon.flag.outline:before { + content: "\f024"; +} + +i.icon.folder.outline:before { + content: "\f07b"; +} + +i.icon.folder.open.outline:before { + content: "\f07c"; +} + +i.icon.frown.outline:before { + content: "\f119"; +} + +i.icon.futbol.outline:before { + content: "\f1e3"; +} + +i.icon.gem.outline:before { + content: "\f3a5"; +} + +i.icon.hand.lizard.outline:before { + content: "\f258"; +} + +i.icon.hand.paper.outline:before { + content: "\f256"; +} + +i.icon.hand.peace.outline:before { + content: "\f25b"; +} + +i.icon.hand.point.down.outline:before { + content: "\f0a7"; +} + +i.icon.hand.point.left.outline:before { + content: "\f0a5"; +} + +i.icon.hand.point.right.outline:before { + content: "\f0a4"; +} + +i.icon.hand.point.up.outline:before { + content: "\f0a6"; +} + +i.icon.hand.pointer.outline:before { + content: "\f25a"; +} + +i.icon.hand.rock.outline:before { + content: "\f255"; +} + +i.icon.hand.scissors.outline:before { + content: "\f257"; +} + +i.icon.hand.spock.outline:before { + content: "\f259"; +} + +i.icon.handshake.outline:before { + content: "\f2b5"; +} + +i.icon.hdd.outline:before { + content: "\f0a0"; +} + +i.icon.heart.outline:before { + content: "\f004"; +} + +i.icon.hospital.outline:before { + content: "\f0f8"; +} + +i.icon.hourglass.outline:before { + content: "\f254"; +} + +i.icon.id.badge.outline:before { + content: "\f2c1"; +} + +i.icon.id.card.outline:before { + content: "\f2c2"; +} + +i.icon.image.outline:before { + content: "\f03e"; +} + +i.icon.images.outline:before { + content: "\f302"; +} + +i.icon.keyboard.outline:before { + content: "\f11c"; +} + +i.icon.lemon.outline:before { + content: "\f094"; +} + +i.icon.life.ring.outline:before { + content: "\f1cd"; +} + +i.icon.lightbulb.outline:before { + content: "\f0eb"; +} + +i.icon.list.alternate.outline:before { + content: "\f022"; +} + +i.icon.map.outline:before { + content: "\f279"; +} + +i.icon.meh.outline:before { + content: "\f11a"; +} + +i.icon.minus.square.outline:before { + content: "\f146"; +} + +i.icon.money.bill.alternate.outline:before { + content: "\f3d1"; +} + +i.icon.moon.outline:before { + content: "\f186"; +} + +i.icon.newspaper.outline:before { + content: "\f1ea"; +} + +i.icon.object.group.outline:before { + content: "\f247"; +} + +i.icon.object.ungroup.outline:before { + content: "\f248"; +} + +i.icon.paper.plane.outline:before { + content: "\f1d8"; +} + +i.icon.pause.circle.outline:before { + content: "\f28b"; +} + +i.icon.play.circle.outline:before { + content: "\f144"; +} + +i.icon.plus.square.outline:before { + content: "\f0fe"; +} + +i.icon.question.circle.outline:before { + content: "\f059"; +} + +i.icon.registered.outline:before { + content: "\f25d"; +} + +i.icon.save.outline:before { + content: "\f0c7"; +} + +i.icon.share.square.outline:before { + content: "\f14d"; +} + +i.icon.smile.outline:before { + content: "\f118"; +} + +i.icon.snowflake.outline:before { + content: "\f2dc"; +} + +i.icon.square.outline:before { + content: "\f0c8"; +} + +i.icon.star.outline:before { + content: "\f005"; +} + +i.icon.star.half.outline:before { + content: "\f089"; +} + +i.icon.sticky.note.outline:before { + content: "\f249"; +} + +i.icon.stop.circle.outline:before { + content: "\f28d"; +} + +i.icon.sun.outline:before { + content: "\f185"; +} + +i.icon.thumbs.down.outline:before { + content: "\f165"; +} + +i.icon.thumbs.up.outline:before { + content: "\f164"; +} + +i.icon.times.circle.outline:before { + content: "\f057"; +} + +i.icon.trash.alternate.outline:before { + content: "\f2ed"; +} + +i.icon.user.outline:before { + content: "\f007"; +} + +i.icon.user.circle.outline:before { + content: "\f2bd"; +} + +i.icon.window.close.outline:before { + content: "\f410"; +} + +i.icon.window.maximize.outline:before { + content: "\f2d0"; +} + +i.icon.window.minimize.outline:before { + content: "\f2d1"; +} + +i.icon.window.restore.outline:before { + content: "\f2d2"; +} + +/* Outline Aliases */ + +i.icon.disk.outline:before { + content: "\f0a0"; +} + +i.icon.heart.empty, +i.icon.star.empty { + font-family: 'outline-icons'; +} + +i.icon.heart.empty:before { + content: "\f004"; +} + +i.icon.star.empty:before { + content: "\f089"; +} + +/******************************* + Brand Icons +*******************************/ + +/* Load & Define Brand Font */ + +@font-face { + font-family: 'brand-icons'; + src: url("./themes/default/assets/fonts/brand-icons.eot"); + src: url("./themes/default/assets/fonts/brand-icons.eot?#iefix") format('embedded-opentype'), url("./themes/default/assets/fonts/brand-icons.woff2") format('woff2'), url("./themes/default/assets/fonts/brand-icons.woff") format('woff'), url("./themes/default/assets/fonts/brand-icons.ttf") format('truetype'), url("./themes/default/assets/fonts/brand-icons.svg#icons") format('svg'); + font-style: normal; + font-weight: normal; + font-variant: normal; + text-decoration: inherit; + text-transform: none; +} + +/* Brand Icon Font Family */ + +i.icon.\35 00px, +i.icon.accessible.icon, +i.icon.accusoft, +i.icon.adn, +i.icon.adversal, +i.icon.affiliatetheme, +i.icon.algolia, +i.icon.amazon, +i.icon.amazon.pay, +i.icon.amilia, +i.icon.android, +i.icon.angellist, +i.icon.angrycreative, +i.icon.angular, +i.icon.app.store, +i.icon.app.store.ios, +i.icon.apper, +i.icon.apple, +i.icon.apple.pay, +i.icon.asymmetrik, +i.icon.audible, +i.icon.autoprefixer, +i.icon.avianex, +i.icon.aviato, +i.icon.aws, +i.icon.bandcamp, +i.icon.behance, +i.icon.behance.square, +i.icon.bimobject, +i.icon.bitbucket, +i.icon.bitcoin, +i.icon.bity, +i.icon.black.tie, +i.icon.blackberry, +i.icon.blogger, +i.icon.blogger.b, +i.icon.bluetooth, +i.icon.bluetooth.b, +i.icon.btc, +i.icon.buromobelexperte, +i.icon.buysellads, +i.icon.cc.amazon.pay, +i.icon.cc.amex, +i.icon.cc.apple.pay, +i.icon.cc.diners.club, +i.icon.cc.discover, +i.icon.cc.jcb, +i.icon.cc.mastercard, +i.icon.cc.paypal, +i.icon.cc.stripe, +i.icon.cc.visa, +i.icon.centercode, +i.icon.chrome, +i.icon.cloudscale, +i.icon.cloudsmith, +i.icon.cloudversify, +i.icon.codepen, +i.icon.codiepie, +i.icon.connectdevelop, +i.icon.contao, +i.icon.cpanel, +i.icon.creative.commons, +i.icon.css3, +i.icon.css3.alternate, +i.icon.cuttlefish, +i.icon.d.and.d, +i.icon.dashcube, +i.icon.delicious, +i.icon.deploydog, +i.icon.deskpro, +i.icon.deviantart, +i.icon.digg, +i.icon.digital.ocean, +i.icon.discord, +i.icon.discourse, +i.icon.dochub, +i.icon.docker, +i.icon.draft2digital, +i.icon.dribbble, +i.icon.dribbble.square, +i.icon.dropbox, +i.icon.drupal, +i.icon.dyalog, +i.icon.earlybirds, +i.icon.edge, +i.icon.elementor, +i.icon.ember, +i.icon.empire, +i.icon.envira, +i.icon.erlang, +i.icon.ethereum, +i.icon.etsy, +i.icon.expeditedssl, +i.icon.facebook, +i.icon.facebook.f, +i.icon.facebook.messenger, +i.icon.facebook.square, +i.icon.firefox, +i.icon.first.order, +i.icon.firstdraft, +i.icon.flickr, +i.icon.flipboard, +i.icon.fly, +i.icon.font.awesome, +i.icon.font.awesome.alternate, +i.icon.font.awesome.flag, +i.icon.fonticons, +i.icon.fonticons.fi, +i.icon.fort.awesome, +i.icon.fort.awesome.alternate, +i.icon.forumbee, +i.icon.foursquare, +i.icon.free.code.camp, +i.icon.freebsd, +i.icon.get.pocket, +i.icon.gg, +i.icon.gg.circle, +i.icon.git, +i.icon.git.square, +i.icon.github, +i.icon.github.alternate, +i.icon.github.square, +i.icon.gitkraken, +i.icon.gitlab, +i.icon.gitter, +i.icon.glide, +i.icon.glide.g, +i.icon.gofore, +i.icon.goodreads, +i.icon.goodreads.g, +i.icon.google, +i.icon.google.drive, +i.icon.google.play, +i.icon.google.plus, +i.icon.google.plus.g, +i.icon.google.plus.square, +i.icon.google.wallet, +i.icon.gratipay, +i.icon.grav, +i.icon.gripfire, +i.icon.grunt, +i.icon.gulp, +i.icon.hacker.news, +i.icon.hacker.news.square, +i.icon.hips, +i.icon.hire.a.helper, +i.icon.hooli, +i.icon.hotjar, +i.icon.houzz, +i.icon.html5, +i.icon.hubspot, +i.icon.imdb, +i.icon.instagram, +i.icon.internet.explorer, +i.icon.ioxhost, +i.icon.itunes, +i.icon.itunes.note, +i.icon.jenkins, +i.icon.joget, +i.icon.joomla, +i.icon.js, +i.icon.js.square, +i.icon.jsfiddle, +i.icon.keycdn, +i.icon.kickstarter, +i.icon.kickstarter.k, +i.icon.korvue, +i.icon.laravel, +i.icon.lastfm, +i.icon.lastfm.square, +i.icon.leanpub, +i.icon.less, +i.icon.linechat, +i.icon.linkedin, +i.icon.linkedin.alternate, +i.icon.linkedin.in, +i.icon.linode, +i.icon.linux, +i.icon.lyft, +i.icon.magento, +i.icon.maxcdn, +i.icon.medapps, +i.icon.medium, +i.icon.medium.m, +i.icon.medrt, +i.icon.meetup, +i.icon.microsoft, +i.icon.mix, +i.icon.mixcloud, +i.icon.mizuni, +i.icon.modx, +i.icon.monero, +i.icon.napster, +i.icon.nintendo.switch, +i.icon.node, +i.icon.node.js, +i.icon.npm, +i.icon.ns8, +i.icon.nutritionix, +i.icon.odnoklassniki, +i.icon.odnoklassniki.square, +i.icon.opencart, +i.icon.openid, +i.icon.opera, +i.icon.optin.monster, +i.icon.osi, +i.icon.page4, +i.icon.pagelines, +i.icon.palfed, +i.icon.patreon, +i.icon.paypal, +i.icon.periscope, +i.icon.phabricator, +i.icon.phoenix.framework, +i.icon.php, +i.icon.pied.piper, +i.icon.pied.piper.alternate, +i.icon.pied.piper.pp, +i.icon.pinterest, +i.icon.pinterest.p, +i.icon.pinterest.square, +i.icon.playstation, +i.icon.product.hunt, +i.icon.pushed, +i.icon.python, +i.icon.qq, +i.icon.quinscape, +i.icon.quora, +i.icon.ravelry, +i.icon.react, +i.icon.rebel, +i.icon.redriver, +i.icon.reddit, +i.icon.reddit.alien, +i.icon.reddit.square, +i.icon.rendact, +i.icon.renren, +i.icon.replyd, +i.icon.resolving, +i.icon.rocketchat, +i.icon.rockrms, +i.icon.safari, +i.icon.sass, +i.icon.schlix, +i.icon.scribd, +i.icon.searchengin, +i.icon.sellcast, +i.icon.sellsy, +i.icon.servicestack, +i.icon.shirtsinbulk, +i.icon.simplybuilt, +i.icon.sistrix, +i.icon.skyatlas, +i.icon.skype, +i.icon.slack, +i.icon.slack.hash, +i.icon.slideshare, +i.icon.snapchat, +i.icon.snapchat.ghost, +i.icon.snapchat.square, +i.icon.soundcloud, +i.icon.speakap, +i.icon.spotify, +i.icon.stack.exchange, +i.icon.stack.overflow, +i.icon.staylinked, +i.icon.steam, +i.icon.steam.square, +i.icon.steam.symbol, +i.icon.sticker.mule, +i.icon.strava, +i.icon.stripe, +i.icon.stripe.s, +i.icon.studiovinari, +i.icon.stumbleupon, +i.icon.stumbleupon.circle, +i.icon.superpowers, +i.icon.supple, +i.icon.telegram, +i.icon.telegram.plane, +i.icon.tencent.weibo, +i.icon.themeisle, +i.icon.trello, +i.icon.tripadvisor, +i.icon.tumblr, +i.icon.tumblr.square, +i.icon.twitch, +i.icon.twitter, +i.icon.twitter.square, +i.icon.typo3, +i.icon.uber, +i.icon.uikit, +i.icon.uniregistry, +i.icon.untappd, +i.icon.usb, +i.icon.ussunnah, +i.icon.vaadin, +i.icon.viacoin, +i.icon.viadeo, +i.icon.viadeo.square, +i.icon.viber, +i.icon.vimeo, +i.icon.vimeo.square, +i.icon.vimeo.v, +i.icon.vine, +i.icon.vk, +i.icon.vnv, +i.icon.vuejs, +i.icon.wechat, +i.icon.weibo, +i.icon.weixin, +i.icon.whatsapp, +i.icon.whatsapp.square, +i.icon.whmcs, +i.icon.wikipedia.w, +i.icon.windows, +i.icon.wordpress, +i.icon.wordpress.simple, +i.icon.wpbeginner, +i.icon.wpexplorer, +i.icon.wpforms, +i.icon.xbox, +i.icon.xing, +i.icon.xing.square, +i.icon.y.combinator, +i.icon.yahoo, +i.icon.yandex, +i.icon.yandex.international, +i.icon.yelp, +i.icon.yoast, +i.icon.youtube, +i.icon.youtube.square { + font-family: 'brand-icons'; +} + +/* Brand Icons Ideally Would Be Defined Here */ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Image + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Image +*******************************/ + +.ui.image { + position: relative; + display: inline-block; + vertical-align: middle; + max-width: 100%; + background-color: transparent; +} + +img.ui.image { + display: block; +} + +.ui.image svg, +.ui.image img { + display: block; + max-width: 100%; + height: auto; +} + +/******************************* + States +*******************************/ + +.ui.hidden.images, +.ui.hidden.image { + display: none; +} + +.ui.hidden.transition.images, +.ui.hidden.transition.image { + display: block; + visibility: hidden; +} + +.ui.images > .hidden.transition { + display: inline-block; + visibility: hidden; +} + +.ui.disabled.images, +.ui.disabled.image { + cursor: default; + opacity: 0.45; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Inline +---------------*/ + +.ui.inline.image, +.ui.inline.image svg, +.ui.inline.image img { + display: inline-block; +} + +/*------------------ + Vertical Aligned +-------------------*/ + +.ui.top.aligned.images .image, +.ui.top.aligned.image, +.ui.top.aligned.image svg, +.ui.top.aligned.image img { + display: inline-block; + vertical-align: top; +} + +.ui.middle.aligned.images .image, +.ui.middle.aligned.image, +.ui.middle.aligned.image svg, +.ui.middle.aligned.image img { + display: inline-block; + vertical-align: middle; +} + +.ui.bottom.aligned.images .image, +.ui.bottom.aligned.image, +.ui.bottom.aligned.image svg, +.ui.bottom.aligned.image img { + display: inline-block; + vertical-align: bottom; +} + +/*-------------- + Rounded +---------------*/ + +.ui.rounded.images .image, +.ui.rounded.image, +.ui.rounded.images .image > *, +.ui.rounded.image > * { + border-radius: 0.3125em; +} + +/*-------------- + Bordered +---------------*/ + +.ui.bordered.images .image, +.ui.bordered.images img, +.ui.bordered.images svg, +.ui.bordered.image img, +.ui.bordered.image svg, +img.ui.bordered.image { + border: 1px solid rgba(0, 0, 0, 0.1); +} + +/*-------------- + Circular +---------------*/ + +.ui.circular.images, +.ui.circular.image { + overflow: hidden; +} + +.ui.circular.images .image, +.ui.circular.image, +.ui.circular.images .image > *, +.ui.circular.image > * { + border-radius: 500rem; +} + +/*-------------- + Fluid +---------------*/ + +.ui.fluid.images, +.ui.fluid.image, +.ui.fluid.images img, +.ui.fluid.images svg, +.ui.fluid.image svg, +.ui.fluid.image img { + display: block; + width: 100%; + height: auto; +} + +/*-------------- + Avatar +---------------*/ + +.ui.avatar.images .image, +.ui.avatar.images img, +.ui.avatar.images svg, +.ui.avatar.image img, +.ui.avatar.image svg, +.ui.avatar.image { + margin-right: 0.25em; + display: inline-block; + width: 2em; + height: 2em; + border-radius: 500rem; +} + +/*------------------- + Spaced +--------------------*/ + +.ui.spaced.image { + display: inline-block !important; + margin-left: 0.5em; + margin-right: 0.5em; +} + +.ui[class*="left spaced"].image { + margin-left: 0.5em; + margin-right: 0em; +} + +.ui[class*="right spaced"].image { + margin-left: 0em; + margin-right: 0.5em; +} + +/*------------------- + Floated +--------------------*/ + +.ui.floated.image, +.ui.floated.images { + float: left; + margin-right: 1em; + margin-bottom: 1em; +} + +.ui.right.floated.images, +.ui.right.floated.image { + float: right; + margin-right: 0em; + margin-bottom: 1em; + margin-left: 1em; +} + +.ui.floated.images:last-child, +.ui.floated.image:last-child { + margin-bottom: 0em; +} + +.ui.centered.images, +.ui.centered.image { + margin-left: auto; + margin-right: auto; +} + +/*-------------- + Sizes +---------------*/ + +.ui.mini.images .image, +.ui.mini.images img, +.ui.mini.images svg, +.ui.mini.image { + width: 35px; + height: auto; + font-size: 0.78571429rem; +} + +.ui.tiny.images .image, +.ui.tiny.images img, +.ui.tiny.images svg, +.ui.tiny.image { + width: 80px; + height: auto; + font-size: 0.85714286rem; +} + +.ui.small.images .image, +.ui.small.images img, +.ui.small.images svg, +.ui.small.image { + width: 150px; + height: auto; + font-size: 0.92857143rem; +} + +.ui.medium.images .image, +.ui.medium.images img, +.ui.medium.images svg, +.ui.medium.image { + width: 300px; + height: auto; + font-size: 1rem; +} + +.ui.large.images .image, +.ui.large.images img, +.ui.large.images svg, +.ui.large.image { + width: 450px; + height: auto; + font-size: 1.14285714rem; +} + +.ui.big.images .image, +.ui.big.images img, +.ui.big.images svg, +.ui.big.image { + width: 600px; + height: auto; + font-size: 1.28571429rem; +} + +.ui.huge.images .image, +.ui.huge.images img, +.ui.huge.images svg, +.ui.huge.image { + width: 800px; + height: auto; + font-size: 1.42857143rem; +} + +.ui.massive.images .image, +.ui.massive.images img, +.ui.massive.images svg, +.ui.massive.image { + width: 960px; + height: auto; + font-size: 1.71428571rem; +} + +/******************************* + Groups +*******************************/ + +.ui.images { + font-size: 0em; + margin: 0em -0.25rem 0rem; +} + +.ui.images .image, +.ui.images > img, +.ui.images > svg { + display: inline-block; + margin: 0em 0.25rem 0.5rem; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Input + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Standard +*******************************/ + +/*-------------------- + Inputs +---------------------*/ + +.ui.input { + position: relative; + font-weight: normal; + font-style: normal; + display: inline-flex; + color: rgba(0, 0, 0, 0.87); +} + +.ui.input > input { + margin: 0em; + max-width: 100%; + flex: 1 0 auto; + outline: none; + -webkit-tap-highlight-color: rgba(255, 255, 255, 0); + text-align: left; + line-height: 1.21428571em; + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + padding: 0.67857143em 1em; + background: #FFFFFF; + border: 1px solid rgba(34, 36, 38, 0.15); + color: rgba(0, 0, 0, 0.87); + border-radius: 0.28571429rem; + transition: box-shadow 0.1s ease, border-color 0.1s ease; + box-shadow: none; +} + +/*-------------------- + Placeholder +---------------------*/ + +/* browsers require these rules separate */ + +.ui.input > input::-webkit-input-placeholder { + color: rgba(191, 191, 191, 0.87); +} + +.ui.input > input::-moz-placeholder { + color: rgba(191, 191, 191, 0.87); +} + +.ui.input > input:-ms-input-placeholder { + color: rgba(191, 191, 191, 0.87); +} + +/******************************* + States +*******************************/ + +/*-------------------- + Disabled +---------------------*/ + +.ui.disabled.input, +.ui.input:not(.disabled) input[disabled] { + opacity: 0.45; +} + +.ui.disabled.input > input, +.ui.input:not(.disabled) input[disabled] { + pointer-events: none; +} + +/*-------------------- + Active +---------------------*/ + +.ui.input > input:active, +.ui.input.down input { + border-color: rgba(0, 0, 0, 0.3); + background: #FAFAFA; + color: rgba(0, 0, 0, 0.87); + box-shadow: none; +} + +/*-------------------- + Loading +---------------------*/ + +.ui.loading.loading.input > i.icon:before { + position: absolute; + content: ''; + top: 50%; + left: 50%; + margin: -0.64285714em 0em 0em -0.64285714em; + width: 1.28571429em; + height: 1.28571429em; + border-radius: 500rem; + border: 0.2em solid rgba(0, 0, 0, 0.1); +} + +.ui.loading.loading.input > i.icon:after { + position: absolute; + content: ''; + top: 50%; + left: 50%; + margin: -0.64285714em 0em 0em -0.64285714em; + width: 1.28571429em; + height: 1.28571429em; + -webkit-animation: button-spin 0.6s linear; + animation: button-spin 0.6s linear; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + border-radius: 500rem; + border-color: #767676 transparent transparent; + border-style: solid; + border-width: 0.2em; + box-shadow: 0px 0px 0px 1px transparent; +} + +/*-------------------- + Focus +---------------------*/ + +.ui.input.focus > input, +.ui.input > input:focus { + border-color: #85B7D9; + background: #FFFFFF; + color: rgba(0, 0, 0, 0.8); + box-shadow: none; +} + +.ui.input.focus > input::-webkit-input-placeholder, +.ui.input > input:focus::-webkit-input-placeholder { + color: rgba(115, 115, 115, 0.87); +} + +.ui.input.focus > input::-moz-placeholder, +.ui.input > input:focus::-moz-placeholder { + color: rgba(115, 115, 115, 0.87); +} + +.ui.input.focus > input:-ms-input-placeholder, +.ui.input > input:focus:-ms-input-placeholder { + color: rgba(115, 115, 115, 0.87); +} + +/*-------------------- + Error +---------------------*/ + +.ui.input.error > input { + background-color: #FFF6F6; + border-color: #E0B4B4; + color: #9F3A38; + box-shadow: none; +} + +/* Error Placeholder */ + +.ui.input.error > input::-webkit-input-placeholder { + color: #e7bdbc; +} + +.ui.input.error > input::-moz-placeholder { + color: #e7bdbc; +} + +.ui.input.error > input:-ms-input-placeholder { + color: #e7bdbc !important; +} + +/* Focused Error Placeholder */ + +.ui.input.error > input:focus::-webkit-input-placeholder { + color: #da9796; +} + +.ui.input.error > input:focus::-moz-placeholder { + color: #da9796; +} + +.ui.input.error > input:focus:-ms-input-placeholder { + color: #da9796 !important; +} + +/******************************* + Variations +*******************************/ + +/*-------------------- + Transparent +---------------------*/ + +.ui.transparent.input > input { + border-color: transparent !important; + background-color: transparent !important; + padding: 0em !important; + box-shadow: none !important; + border-radius: 0px !important; +} + +/* Transparent Icon */ + +.ui.transparent.icon.input > i.icon { + width: 1.1em; +} + +.ui.transparent.icon.input > input { + padding-left: 0em !important; + padding-right: 2em !important; +} + +.ui.transparent[class*="left icon"].input > input { + padding-left: 2em !important; + padding-right: 0em !important; +} + +/* Transparent Inverted */ + +.ui.transparent.inverted.input { + color: #FFFFFF; +} + +.ui.transparent.inverted.input > input { + color: inherit; +} + +.ui.transparent.inverted.input > input::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.5); +} + +.ui.transparent.inverted.input > input::-moz-placeholder { + color: rgba(255, 255, 255, 0.5); +} + +.ui.transparent.inverted.input > input:-ms-input-placeholder { + color: rgba(255, 255, 255, 0.5); +} + +/*-------------------- + Icon +---------------------*/ + +.ui.icon.input > i.icon { + cursor: default; + position: absolute; + line-height: 1; + text-align: center; + top: 0px; + right: 0px; + margin: 0em; + height: 100%; + width: 2.67142857em; + opacity: 0.5; + border-radius: 0em 0.28571429rem 0.28571429rem 0em; + transition: opacity 0.3s ease; +} + +.ui.icon.input > i.icon:not(.link) { + pointer-events: none; +} + +.ui.icon.input > input { + padding-right: 2.67142857em !important; +} + +.ui.icon.input > i.icon:before, +.ui.icon.input > i.icon:after { + left: 0; + position: absolute; + text-align: center; + top: 50%; + width: 100%; + margin-top: -0.5em; +} + +.ui.icon.input > i.link.icon { + cursor: pointer; +} + +.ui.icon.input > i.circular.icon { + top: 0.35em; + right: 0.5em; +} + +/* Left Icon Input */ + +.ui[class*="left icon"].input > i.icon { + right: auto; + left: 1px; + border-radius: 0.28571429rem 0em 0em 0.28571429rem; +} + +.ui[class*="left icon"].input > i.circular.icon { + right: auto; + left: 0.5em; +} + +.ui[class*="left icon"].input > input { + padding-left: 2.67142857em !important; + padding-right: 1em !important; +} + +/* Focus */ + +.ui.icon.input > input:focus ~ i.icon { + opacity: 1; +} + +/*-------------------- + Labeled +---------------------*/ + +/* Adjacent Label */ + +.ui.labeled.input > .label { + flex: 0 0 auto; + margin: 0; + font-size: 1em; +} + +.ui.labeled.input > .label:not(.corner) { + padding-top: 0.78571429em; + padding-bottom: 0.78571429em; +} + +/* Regular Label on Left */ + +.ui.labeled.input:not([class*="corner labeled"]) .label:first-child { + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; +} + +.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input { + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; + border-left-color: transparent; +} + +.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input:focus { + border-left-color: #85B7D9; +} + +/* Regular Label on Right */ + +.ui[class*="right labeled"].input > input { + border-top-right-radius: 0px !important; + border-bottom-right-radius: 0px !important; + border-right-color: transparent !important; +} + +.ui[class*="right labeled"].input > input + .label { + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; +} + +.ui[class*="right labeled"].input > input:focus { + border-right-color: #85B7D9 !important; +} + +/* Corner Label */ + +.ui.labeled.input .corner.label { + top: 1px; + right: 1px; + font-size: 0.64285714em; + border-radius: 0em 0.28571429rem 0em 0em; +} + +/* Spacing with corner label */ + +.ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input > input { + padding-right: 2.5em !important; +} + +.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > input { + padding-right: 3.25em !important; +} + +.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > .icon { + margin-right: 1.25em; +} + +/* Left Labeled */ + +.ui[class*="left corner labeled"].labeled.input > input { + padding-left: 2.5em !important; +} + +.ui[class*="left corner labeled"].icon.input > input { + padding-left: 3.25em !important; +} + +.ui[class*="left corner labeled"].icon.input > .icon { + margin-left: 1.25em; +} + +/* Corner Label Position */ + +.ui.input > .ui.corner.label { + top: 1px; + right: 1px; +} + +.ui.input > .ui.left.corner.label { + right: auto; + left: 1px; +} + +/*-------------------- + Action +---------------------*/ + +.ui.action.input > .button, +.ui.action.input > .buttons { + display: flex; + align-items: center; + flex: 0 0 auto; +} + +.ui.action.input > .button, +.ui.action.input > .buttons > .button { + padding-top: 0.78571429em; + padding-bottom: 0.78571429em; + margin: 0; +} + +/* Button on Right */ + +.ui.action.input:not([class*="left action"]) > input { + border-top-right-radius: 0px !important; + border-bottom-right-radius: 0px !important; + border-right-color: transparent !important; +} + +.ui.action.input:not([class*="left action"]) > .dropdown:not(:first-child), +.ui.action.input:not([class*="left action"]) > .button:not(:first-child), +.ui.action.input:not([class*="left action"]) > .buttons:not(:first-child) > .button { + border-radius: 0px; +} + +.ui.action.input:not([class*="left action"]) > .dropdown:last-child, +.ui.action.input:not([class*="left action"]) > .button:last-child, +.ui.action.input:not([class*="left action"]) > .buttons:last-child > .button { + border-radius: 0px 0.28571429rem 0.28571429rem 0px; +} + +/* Input Focus */ + +.ui.action.input:not([class*="left action"]) > input:focus { + border-right-color: #85B7D9 !important; +} + +/* Button on Left */ + +.ui[class*="left action"].input > input { + border-top-left-radius: 0px !important; + border-bottom-left-radius: 0px !important; + border-left-color: transparent !important; +} + +.ui[class*="left action"].input > .dropdown, +.ui[class*="left action"].input > .button, +.ui[class*="left action"].input > .buttons > .button { + border-radius: 0px; +} + +.ui[class*="left action"].input > .dropdown:first-child, +.ui[class*="left action"].input > .button:first-child, +.ui[class*="left action"].input > .buttons:first-child > .button { + border-radius: 0.28571429rem 0px 0px 0.28571429rem; +} + +/* Input Focus */ + +.ui[class*="left action"].input > input:focus { + border-left-color: #85B7D9 !important; +} + +/*-------------------- + Inverted +---------------------*/ + +/* Standard */ + +.ui.inverted.input > input { + border: none; +} + +/*-------------------- + Fluid +---------------------*/ + +.ui.fluid.input { + display: flex; +} + +.ui.fluid.input > input { + width: 0px !important; +} + +/*-------------------- + Size +---------------------*/ + +.ui.mini.input { + font-size: 0.78571429em; +} + +.ui.small.input { + font-size: 0.92857143em; +} + +.ui.input { + font-size: 1em; +} + +.ui.large.input { + font-size: 1.14285714em; +} + +.ui.big.input { + font-size: 1.28571429em; +} + +.ui.huge.input { + font-size: 1.42857143em; +} + +.ui.massive.input { + font-size: 1.71428571em; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Label + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Label +*******************************/ + +.ui.label { + display: inline-block; + line-height: 1; + vertical-align: baseline; + margin: 0em 0.14285714em; + background-color: #E8E8E8; + background-image: none; + padding: 0.5833em 0.833em; + color: rgba(0, 0, 0, 0.6); + text-transform: none; + font-weight: bold; + border: 0px solid transparent; + border-radius: 0.28571429rem; + transition: background 0.1s ease; +} + +.ui.label:first-child { + margin-left: 0em; +} + +.ui.label:last-child { + margin-right: 0em; +} + +/* Link */ + +a.ui.label { + cursor: pointer; +} + +/* Inside Link */ + +.ui.label > a { + cursor: pointer; + color: inherit; + opacity: 0.5; + transition: 0.1s opacity ease; +} + +.ui.label > a:hover { + opacity: 1; +} + +/* Image */ + +.ui.label > img { + width: auto !important; + vertical-align: middle; + height: 2.1666em !important; +} + +/* Icon */ + +.ui.label > .icon { + width: auto; + margin: 0em 0.75em 0em 0em; +} + +/* Detail */ + +.ui.label > .detail { + display: inline-block; + vertical-align: top; + font-weight: bold; + margin-left: 1em; + opacity: 0.8; +} + +.ui.label > .detail .icon { + margin: 0em 0.25em 0em 0em; +} + +/* Removable label */ + +.ui.label > .close.icon, +.ui.label > .delete.icon { + cursor: pointer; + margin-right: 0em; + margin-left: 0.5em; + font-size: 0.92857143em; + opacity: 0.5; + transition: background 0.1s ease; +} + +.ui.label > .delete.icon:hover { + opacity: 1; +} + +/*------------------- + Group +--------------------*/ + +.ui.labels > .label { + margin: 0em 0.5em 0.5em 0em; +} + +/*------------------- + Coupling +--------------------*/ + +.ui.header > .ui.label { + margin-top: -0.29165em; +} + +/* Remove border radius on attached segment */ + +.ui.attached.segment > .ui.top.left.attached.label, +.ui.bottom.attached.segment > .ui.top.left.attached.label { + border-top-left-radius: 0; +} + +.ui.attached.segment > .ui.top.right.attached.label, +.ui.bottom.attached.segment > .ui.top.right.attached.label { + border-top-right-radius: 0; +} + +.ui.top.attached.segment > .ui.bottom.left.attached.label { + border-bottom-left-radius: 0; +} + +.ui.top.attached.segment > .ui.bottom.right.attached.label { + border-bottom-right-radius: 0; +} + +/* Padding on next content after a label */ + +.ui.top.attached.label:first-child + :not(.attached), +.ui.top.attached.label + [class*="right floated"] + * { + margin-top: 2rem !important; +} + +.ui.bottom.attached.label:first-child ~ :last-child:not(.attached) { + margin-top: 0em; + margin-bottom: 2rem !important; +} + +/******************************* + Types +*******************************/ + +.ui.image.label { + width: auto !important; + margin-top: 0em; + margin-bottom: 0em; + max-width: 9999px; + vertical-align: baseline; + text-transform: none; + background: #E8E8E8; + padding: 0.5833em 0.833em 0.5833em 0.5em; + border-radius: 0.28571429rem; + box-shadow: none; +} + +.ui.image.label img { + display: inline-block; + vertical-align: top; + height: 2.1666em; + margin: -0.5833em 0.5em -0.5833em -0.5em; + border-radius: 0.28571429rem 0em 0em 0.28571429rem; +} + +.ui.image.label .detail { + background: rgba(0, 0, 0, 0.1); + margin: -0.5833em -0.833em -0.5833em 0.5em; + padding: 0.5833em 0.833em; + border-radius: 0em 0.28571429rem 0.28571429rem 0em; +} + +/*------------------- + Tag +--------------------*/ + +.ui.tag.labels .label, +.ui.tag.label { + margin-left: 1em; + position: relative; + padding-left: 1.5em; + padding-right: 1.5em; + border-radius: 0em 0.28571429rem 0.28571429rem 0em; + transition: none; +} + +.ui.tag.labels .label:before, +.ui.tag.label:before { + position: absolute; + transform: translateY(-50%) translateX(50%) rotate(-45deg); + top: 50%; + right: 100%; + content: ''; + background-color: inherit; + background-image: none; + width: 1.56em; + height: 1.56em; + transition: none; +} + +.ui.tag.labels .label:after, +.ui.tag.label:after { + position: absolute; + content: ''; + top: 50%; + left: -0.25em; + margin-top: -0.25em; + background-color: #FFFFFF !important; + width: 0.5em; + height: 0.5em; + box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3); + border-radius: 500rem; +} + +/*------------------- + Corner Label +--------------------*/ + +.ui.corner.label { + position: absolute; + top: 0em; + right: 0em; + margin: 0em; + padding: 0em; + text-align: center; + border-color: #E8E8E8; + width: 4em; + height: 4em; + z-index: 1; + transition: border-color 0.1s ease; +} + +/* Icon Label */ + +.ui.corner.label { + background-color: transparent !important; +} + +.ui.corner.label:after { + position: absolute; + content: ""; + right: 0em; + top: 0em; + z-index: -1; + width: 0em; + height: 0em; + background-color: transparent !important; + border-top: 0em solid transparent; + border-right: 4em solid transparent; + border-bottom: 4em solid transparent; + border-left: 0em solid transparent; + border-right-color: inherit; + transition: border-color 0.1s ease; +} + +.ui.corner.label .icon { + cursor: default; + position: relative; + top: 0.64285714em; + left: 0.78571429em; + font-size: 1.14285714em; + margin: 0em; +} + +/* Left Corner */ + +.ui.left.corner.label, +.ui.left.corner.label:after { + right: auto; + left: 0em; +} + +.ui.left.corner.label:after { + border-top: 4em solid transparent; + border-right: 4em solid transparent; + border-bottom: 0em solid transparent; + border-left: 0em solid transparent; + border-top-color: inherit; +} + +.ui.left.corner.label .icon { + left: -0.78571429em; +} + +/* Segment */ + +.ui.segment > .ui.corner.label { + top: -1px; + right: -1px; +} + +.ui.segment > .ui.left.corner.label { + right: auto; + left: -1px; +} + +/*------------------- + Ribbon +--------------------*/ + +.ui.ribbon.label { + position: relative; + margin: 0em; + min-width: -webkit-max-content; + min-width: -moz-max-content; + min-width: max-content; + border-radius: 0em 0.28571429rem 0.28571429rem 0em; + border-color: rgba(0, 0, 0, 0.15); +} + +.ui.ribbon.label:after { + position: absolute; + content: ''; + top: 100%; + left: 0%; + background-color: transparent !important; + border-style: solid; + border-width: 0em 1.2em 1.2em 0em; + border-color: transparent; + border-right-color: inherit; + width: 0em; + height: 0em; +} + +/* Positioning */ + +.ui.ribbon.label { + left: calc(-1rem - 1.2em); + margin-right: -1.2em; + padding-left: calc(1rem + 1.2em); + padding-right: 1.2em; +} + +.ui[class*="right ribbon"].label { + left: calc(100% + 1rem + 1.2em); + padding-left: 1.2em; + padding-right: calc(1rem + 1.2em); +} + +/* Right Ribbon */ + +.ui[class*="right ribbon"].label { + text-align: left; + transform: translateX(-100%); + border-radius: 0.28571429rem 0em 0em 0.28571429rem; +} + +.ui[class*="right ribbon"].label:after { + left: auto; + right: 0%; + border-style: solid; + border-width: 1.2em 1.2em 0em 0em; + border-color: transparent; + border-top-color: inherit; +} + +/* Inside Table */ + +.ui.image > .ribbon.label, +.ui.card .image > .ribbon.label { + position: absolute; + top: 1rem; +} + +.ui.card .image > .ui.ribbon.label, +.ui.image > .ui.ribbon.label { + left: calc(--0.05rem - 1.2em); +} + +.ui.card .image > .ui[class*="right ribbon"].label, +.ui.image > .ui[class*="right ribbon"].label { + left: calc(100% + -0.05rem + 1.2em); + padding-left: 0.833em; +} + +/* Inside Table */ + +.ui.table td > .ui.ribbon.label { + left: calc(-0.78571429em - 1.2em); +} + +.ui.table td > .ui[class*="right ribbon"].label { + left: calc(100% + 0.78571429em + 1.2em); + padding-left: 0.833em; +} + +/*------------------- + Attached +--------------------*/ + +.ui[class*="top attached"].label, +.ui.attached.label { + width: 100%; + position: absolute; + margin: 0em; + top: 0em; + left: 0em; + padding: 0.75em 1em; + border-radius: 0.21428571rem 0.21428571rem 0em 0em; +} + +.ui[class*="bottom attached"].label { + top: auto; + bottom: 0em; + border-radius: 0em 0em 0.21428571rem 0.21428571rem; +} + +.ui[class*="top left attached"].label { + width: auto; + margin-top: 0em !important; + border-radius: 0.21428571rem 0em 0.28571429rem 0em; +} + +.ui[class*="top right attached"].label { + width: auto; + left: auto; + right: 0em; + border-radius: 0em 0.21428571rem 0em 0.28571429rem; +} + +.ui[class*="bottom left attached"].label { + width: auto; + top: auto; + bottom: 0em; + border-radius: 0em 0.28571429rem 0em 0.21428571rem; +} + +.ui[class*="bottom right attached"].label { + top: auto; + bottom: 0em; + left: auto; + right: 0em; + width: auto; + border-radius: 0.28571429rem 0em 0.21428571rem 0em; +} + +/******************************* + States +*******************************/ + +/*------------------- + Disabled +--------------------*/ + +.ui.label.disabled { + opacity: 0.5; +} + +/*------------------- + Hover +--------------------*/ + +a.ui.labels .label:hover, +a.ui.label:hover { + background-color: #E0E0E0; + border-color: #E0E0E0; + background-image: none; + color: rgba(0, 0, 0, 0.8); +} + +.ui.labels a.label:hover:before, +a.ui.label:hover:before { + color: rgba(0, 0, 0, 0.8); +} + +/*------------------- + Active +--------------------*/ + +.ui.active.label { + background-color: #D0D0D0; + border-color: #D0D0D0; + background-image: none; + color: rgba(0, 0, 0, 0.95); +} + +.ui.active.label:before { + background-color: #D0D0D0; + background-image: none; + color: rgba(0, 0, 0, 0.95); +} + +/*------------------- + Active Hover +--------------------*/ + +a.ui.labels .active.label:hover, +a.ui.active.label:hover { + background-color: #C8C8C8; + border-color: #C8C8C8; + background-image: none; + color: rgba(0, 0, 0, 0.95); +} + +.ui.labels a.active.label:ActiveHover:before, +a.ui.active.label:ActiveHover:before { + background-color: #C8C8C8; + background-image: none; + color: rgba(0, 0, 0, 0.95); +} + +/*------------------- + Visible +--------------------*/ + +.ui.labels.visible .label, +.ui.label.visible:not(.dropdown) { + display: inline-block !important; +} + +/*------------------- + Hidden +--------------------*/ + +.ui.labels.hidden .label, +.ui.label.hidden { + display: none !important; +} + +/******************************* + Variations +*******************************/ + +/*------------------- + Colors +--------------------*/ + +/*--- Red ---*/ + +.ui.red.labels .label, +.ui.red.label { + background-color: #DB2828 !important; + border-color: #DB2828 !important; + color: #FFFFFF !important; +} + +/* Link */ + +.ui.red.labels .label:hover, +a.ui.red.label:hover { + background-color: #d01919 !important; + border-color: #d01919 !important; + color: #FFFFFF !important; +} + +/* Corner */ + +.ui.red.corner.label, +.ui.red.corner.label:hover { + background-color: transparent !important; +} + +/* Ribbon */ + +.ui.red.ribbon.label { + border-color: #b21e1e !important; +} + +/* Basic */ + +.ui.basic.red.label { + background: none #FFFFFF !important; + color: #DB2828 !important; + border-color: #DB2828 !important; +} + +.ui.basic.red.labels a.label:hover, +a.ui.basic.red.label:hover { + background-color: #FFFFFF !important; + color: #d01919 !important; + border-color: #d01919 !important; +} + +/*--- Orange ---*/ + +.ui.orange.labels .label, +.ui.orange.label { + background-color: #F2711C !important; + border-color: #F2711C !important; + color: #FFFFFF !important; +} + +/* Link */ + +.ui.orange.labels .label:hover, +a.ui.orange.label:hover { + background-color: #f26202 !important; + border-color: #f26202 !important; + color: #FFFFFF !important; +} + +/* Corner */ + +.ui.orange.corner.label, +.ui.orange.corner.label:hover { + background-color: transparent !important; +} + +/* Ribbon */ + +.ui.orange.ribbon.label { + border-color: #cf590c !important; +} + +/* Basic */ + +.ui.basic.orange.label { + background: none #FFFFFF !important; + color: #F2711C !important; + border-color: #F2711C !important; +} + +.ui.basic.orange.labels a.label:hover, +a.ui.basic.orange.label:hover { + background-color: #FFFFFF !important; + color: #f26202 !important; + border-color: #f26202 !important; +} + +/*--- Yellow ---*/ + +.ui.yellow.labels .label, +.ui.yellow.label { + background-color: #FBBD08 !important; + border-color: #FBBD08 !important; + color: #FFFFFF !important; +} + +/* Link */ + +.ui.yellow.labels .label:hover, +a.ui.yellow.label:hover { + background-color: #eaae00 !important; + border-color: #eaae00 !important; + color: #FFFFFF !important; +} + +/* Corner */ + +.ui.yellow.corner.label, +.ui.yellow.corner.label:hover { + background-color: transparent !important; +} + +/* Ribbon */ + +.ui.yellow.ribbon.label { + border-color: #cd9903 !important; +} + +/* Basic */ + +.ui.basic.yellow.label { + background: none #FFFFFF !important; + color: #FBBD08 !important; + border-color: #FBBD08 !important; +} + +.ui.basic.yellow.labels a.label:hover, +a.ui.basic.yellow.label:hover { + background-color: #FFFFFF !important; + color: #eaae00 !important; + border-color: #eaae00 !important; +} + +/*--- Olive ---*/ + +.ui.olive.labels .label, +.ui.olive.label { + background-color: #B5CC18 !important; + border-color: #B5CC18 !important; + color: #FFFFFF !important; +} + +/* Link */ + +.ui.olive.labels .label:hover, +a.ui.olive.label:hover { + background-color: #a7bd0d !important; + border-color: #a7bd0d !important; + color: #FFFFFF !important; +} + +/* Corner */ + +.ui.olive.corner.label, +.ui.olive.corner.label:hover { + background-color: transparent !important; +} + +/* Ribbon */ + +.ui.olive.ribbon.label { + border-color: #198f35 !important; +} + +/* Basic */ + +.ui.basic.olive.label { + background: none #FFFFFF !important; + color: #B5CC18 !important; + border-color: #B5CC18 !important; +} + +.ui.basic.olive.labels a.label:hover, +a.ui.basic.olive.label:hover { + background-color: #FFFFFF !important; + color: #a7bd0d !important; + border-color: #a7bd0d !important; +} + +/*--- Green ---*/ + +.ui.green.labels .label, +.ui.green.label { + background-color: #21BA45 !important; + border-color: #21BA45 !important; + color: #FFFFFF !important; +} + +/* Link */ + +.ui.green.labels .label:hover, +a.ui.green.label:hover { + background-color: #16ab39 !important; + border-color: #16ab39 !important; + color: #FFFFFF !important; +} + +/* Corner */ + +.ui.green.corner.label, +.ui.green.corner.label:hover { + background-color: transparent !important; +} + +/* Ribbon */ + +.ui.green.ribbon.label { + border-color: #198f35 !important; +} + +/* Basic */ + +.ui.basic.green.label { + background: none #FFFFFF !important; + color: #21BA45 !important; + border-color: #21BA45 !important; +} + +.ui.basic.green.labels a.label:hover, +a.ui.basic.green.label:hover { + background-color: #FFFFFF !important; + color: #16ab39 !important; + border-color: #16ab39 !important; +} + +/*--- Teal ---*/ + +.ui.teal.labels .label, +.ui.teal.label { + background-color: #00B5AD !important; + border-color: #00B5AD !important; + color: #FFFFFF !important; +} + +/* Link */ + +.ui.teal.labels .label:hover, +a.ui.teal.label:hover { + background-color: #009c95 !important; + border-color: #009c95 !important; + color: #FFFFFF !important; +} + +/* Corner */ + +.ui.teal.corner.label, +.ui.teal.corner.label:hover { + background-color: transparent !important; +} + +/* Ribbon */ + +.ui.teal.ribbon.label { + border-color: #00827c !important; +} + +/* Basic */ + +.ui.basic.teal.label { + background: none #FFFFFF !important; + color: #00B5AD !important; + border-color: #00B5AD !important; +} + +.ui.basic.teal.labels a.label:hover, +a.ui.basic.teal.label:hover { + background-color: #FFFFFF !important; + color: #009c95 !important; + border-color: #009c95 !important; +} + +/*--- Blue ---*/ + +.ui.blue.labels .label, +.ui.blue.label { + background-color: #2185D0 !important; + border-color: #2185D0 !important; + color: #FFFFFF !important; +} + +/* Link */ + +.ui.blue.labels .label:hover, +a.ui.blue.label:hover { + background-color: #1678c2 !important; + border-color: #1678c2 !important; + color: #FFFFFF !important; +} + +/* Corner */ + +.ui.blue.corner.label, +.ui.blue.corner.label:hover { + background-color: transparent !important; +} + +/* Ribbon */ + +.ui.blue.ribbon.label { + border-color: #1a69a4 !important; +} + +/* Basic */ + +.ui.basic.blue.label { + background: none #FFFFFF !important; + color: #2185D0 !important; + border-color: #2185D0 !important; +} + +.ui.basic.blue.labels a.label:hover, +a.ui.basic.blue.label:hover { + background-color: #FFFFFF !important; + color: #1678c2 !important; + border-color: #1678c2 !important; +} + +/*--- Violet ---*/ + +.ui.violet.labels .label, +.ui.violet.label { + background-color: #6435C9 !important; + border-color: #6435C9 !important; + color: #FFFFFF !important; +} + +/* Link */ + +.ui.violet.labels .label:hover, +a.ui.violet.label:hover { + background-color: #5829bb !important; + border-color: #5829bb !important; + color: #FFFFFF !important; +} + +/* Corner */ + +.ui.violet.corner.label, +.ui.violet.corner.label:hover { + background-color: transparent !important; +} + +/* Ribbon */ + +.ui.violet.ribbon.label { + border-color: #502aa1 !important; +} + +/* Basic */ + +.ui.basic.violet.label { + background: none #FFFFFF !important; + color: #6435C9 !important; + border-color: #6435C9 !important; +} + +.ui.basic.violet.labels a.label:hover, +a.ui.basic.violet.label:hover { + background-color: #FFFFFF !important; + color: #5829bb !important; + border-color: #5829bb !important; +} + +/*--- Purple ---*/ + +.ui.purple.labels .label, +.ui.purple.label { + background-color: #A333C8 !important; + border-color: #A333C8 !important; + color: #FFFFFF !important; +} + +/* Link */ + +.ui.purple.labels .label:hover, +a.ui.purple.label:hover { + background-color: #9627ba !important; + border-color: #9627ba !important; + color: #FFFFFF !important; +} + +/* Corner */ + +.ui.purple.corner.label, +.ui.purple.corner.label:hover { + background-color: transparent !important; +} + +/* Ribbon */ + +.ui.purple.ribbon.label { + border-color: #82299f !important; +} + +/* Basic */ + +.ui.basic.purple.label { + background: none #FFFFFF !important; + color: #A333C8 !important; + border-color: #A333C8 !important; +} + +.ui.basic.purple.labels a.label:hover, +a.ui.basic.purple.label:hover { + background-color: #FFFFFF !important; + color: #9627ba !important; + border-color: #9627ba !important; +} + +/*--- Pink ---*/ + +.ui.pink.labels .label, +.ui.pink.label { + background-color: #E03997 !important; + border-color: #E03997 !important; + color: #FFFFFF !important; +} + +/* Link */ + +.ui.pink.labels .label:hover, +a.ui.pink.label:hover { + background-color: #e61a8d !important; + border-color: #e61a8d !important; + color: #FFFFFF !important; +} + +/* Corner */ + +.ui.pink.corner.label, +.ui.pink.corner.label:hover { + background-color: transparent !important; +} + +/* Ribbon */ + +.ui.pink.ribbon.label { + border-color: #c71f7e !important; +} + +/* Basic */ + +.ui.basic.pink.label { + background: none #FFFFFF !important; + color: #E03997 !important; + border-color: #E03997 !important; +} + +.ui.basic.pink.labels a.label:hover, +a.ui.basic.pink.label:hover { + background-color: #FFFFFF !important; + color: #e61a8d !important; + border-color: #e61a8d !important; +} + +/*--- Brown ---*/ + +.ui.brown.labels .label, +.ui.brown.label { + background-color: #A5673F !important; + border-color: #A5673F !important; + color: #FFFFFF !important; +} + +/* Link */ + +.ui.brown.labels .label:hover, +a.ui.brown.label:hover { + background-color: #975b33 !important; + border-color: #975b33 !important; + color: #FFFFFF !important; +} + +/* Corner */ + +.ui.brown.corner.label, +.ui.brown.corner.label:hover { + background-color: transparent !important; +} + +/* Ribbon */ + +.ui.brown.ribbon.label { + border-color: #805031 !important; +} + +/* Basic */ + +.ui.basic.brown.label { + background: none #FFFFFF !important; + color: #A5673F !important; + border-color: #A5673F !important; +} + +.ui.basic.brown.labels a.label:hover, +a.ui.basic.brown.label:hover { + background-color: #FFFFFF !important; + color: #975b33 !important; + border-color: #975b33 !important; +} + +/*--- Grey ---*/ + +.ui.grey.labels .label, +.ui.grey.label { + background-color: #767676 !important; + border-color: #767676 !important; + color: #FFFFFF !important; +} + +/* Link */ + +.ui.grey.labels .label:hover, +a.ui.grey.label:hover { + background-color: #838383 !important; + border-color: #838383 !important; + color: #FFFFFF !important; +} + +/* Corner */ + +.ui.grey.corner.label, +.ui.grey.corner.label:hover { + background-color: transparent !important; +} + +/* Ribbon */ + +.ui.grey.ribbon.label { + border-color: #805031 !important; +} + +/* Basic */ + +.ui.basic.grey.label { + background: none #FFFFFF !important; + color: #767676 !important; + border-color: #767676 !important; +} + +.ui.basic.grey.labels a.label:hover, +a.ui.basic.grey.label:hover { + background-color: #FFFFFF !important; + color: #838383 !important; + border-color: #838383 !important; +} + +/*--- Black ---*/ + +.ui.black.labels .label, +.ui.black.label { + background-color: #1B1C1D !important; + border-color: #1B1C1D !important; + color: #FFFFFF !important; +} + +/* Link */ + +.ui.black.labels .label:hover, +a.ui.black.label:hover { + background-color: #27292a !important; + border-color: #27292a !important; + color: #FFFFFF !important; +} + +/* Corner */ + +.ui.black.corner.label, +.ui.black.corner.label:hover { + background-color: transparent !important; +} + +/* Ribbon */ + +.ui.black.ribbon.label { + border-color: #805031 !important; +} + +/* Basic */ + +.ui.basic.black.label { + background: none #FFFFFF !important; + color: #1B1C1D !important; + border-color: #1B1C1D !important; +} + +.ui.basic.black.labels a.label:hover, +a.ui.basic.black.label:hover { + background-color: #FFFFFF !important; + color: #27292a !important; + border-color: #27292a !important; +} + +/*------------------- + Basic +--------------------*/ + +.ui.basic.label { + background: none #FFFFFF; + border: 1px solid rgba(34, 36, 38, 0.15); + color: rgba(0, 0, 0, 0.87); + box-shadow: none; +} + +/* Link */ + +a.ui.basic.label:hover { + text-decoration: none; + background: none #FFFFFF; + color: #1e70bf; + box-shadow: 1px solid rgba(34, 36, 38, 0.15); + box-shadow: none; +} + +/* Pointing */ + +.ui.basic.pointing.label:before { + border-color: inherit; +} + +/*------------------- + Fluid +--------------------*/ + +.ui.label.fluid, +.ui.fluid.labels > .label { + width: 100%; + box-sizing: border-box; +} + +/*------------------- + Inverted +--------------------*/ + +.ui.inverted.labels .label, +.ui.inverted.label { + color: rgba(255, 255, 255, 0.9) !important; +} + +/*------------------- + Horizontal +--------------------*/ + +.ui.horizontal.labels .label, +.ui.horizontal.label { + margin: 0em 0.5em 0em 0em; + padding: 0.4em 0.833em; + min-width: 3em; + text-align: center; +} + +/*------------------- + Circular +--------------------*/ + +.ui.circular.labels .label, +.ui.circular.label { + min-width: 2em; + min-height: 2em; + padding: 0.5em !important; + line-height: 1em; + text-align: center; + border-radius: 500rem; +} + +.ui.empty.circular.labels .label, +.ui.empty.circular.label { + min-width: 0em; + min-height: 0em; + overflow: hidden; + width: 0.5em; + height: 0.5em; + vertical-align: baseline; +} + +/*------------------- + Pointing +--------------------*/ + +.ui.pointing.label { + position: relative; +} + +.ui.attached.pointing.label { + position: absolute; +} + +.ui.pointing.label:before { + background-color: inherit; + background-image: inherit; + border-width: none; + border-style: solid; + border-color: inherit; +} + +/* Arrow */ + +.ui.pointing.label:before { + position: absolute; + content: ''; + transform: rotate(45deg); + background-image: none; + z-index: 2; + width: 0.6666em; + height: 0.6666em; + transition: background 0.1s ease; +} + +/*--- Above ---*/ + +.ui.pointing.label, +.ui[class*="pointing above"].label { + margin-top: 1em; +} + +.ui.pointing.label:before, +.ui[class*="pointing above"].label:before { + border-width: 1px 0px 0px 1px; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + top: 0%; + left: 50%; +} + +/*--- Below ---*/ + +.ui[class*="bottom pointing"].label, +.ui[class*="pointing below"].label { + margin-top: 0em; + margin-bottom: 1em; +} + +.ui[class*="bottom pointing"].label:before, +.ui[class*="pointing below"].label:before { + border-width: 0px 1px 1px 0px; + top: auto; + right: auto; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + top: 100%; + left: 50%; +} + +/*--- Left ---*/ + +.ui[class*="left pointing"].label { + margin-top: 0em; + margin-left: 0.6666em; +} + +.ui[class*="left pointing"].label:before { + border-width: 0px 0px 1px 1px; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + bottom: auto; + right: auto; + top: 50%; + left: 0em; +} + +/*--- Right ---*/ + +.ui[class*="right pointing"].label { + margin-top: 0em; + margin-right: 0.6666em; +} + +.ui[class*="right pointing"].label:before { + border-width: 1px 1px 0px 0px; + transform: translateX(50%) translateY(-50%) rotate(45deg); + top: 50%; + right: 0%; + bottom: auto; + left: auto; +} + +/* Basic Pointing */ + +/*--- Above ---*/ + +.ui.basic.pointing.label:before, +.ui.basic[class*="pointing above"].label:before { + margin-top: -1px; +} + +/*--- Below ---*/ + +.ui.basic[class*="bottom pointing"].label:before, +.ui.basic[class*="pointing below"].label:before { + bottom: auto; + top: 100%; + margin-top: 1px; +} + +/*--- Left ---*/ + +.ui.basic[class*="left pointing"].label:before { + top: 50%; + left: -1px; +} + +/*--- Right ---*/ + +.ui.basic[class*="right pointing"].label:before { + top: 50%; + right: -1px; +} + +/*------------------ + Floating Label +-------------------*/ + +.ui.floating.label { + position: absolute; + z-index: 100; + top: -1em; + left: 100%; + margin: 0em 0em 0em -1.5em !important; +} + +/*------------------- + Sizes +--------------------*/ + +.ui.mini.labels .label, +.ui.mini.label { + font-size: 0.64285714rem; +} + +.ui.tiny.labels .label, +.ui.tiny.label { + font-size: 0.71428571rem; +} + +.ui.small.labels .label, +.ui.small.label { + font-size: 0.78571429rem; +} + +.ui.labels .label, +.ui.label { + font-size: 0.85714286rem; +} + +.ui.large.labels .label, +.ui.large.label { + font-size: 1rem; +} + +.ui.big.labels .label, +.ui.big.label { + font-size: 1.28571429rem; +} + +.ui.huge.labels .label, +.ui.huge.label { + font-size: 1.42857143rem; +} + +.ui.massive.labels .label, +.ui.massive.label { + font-size: 1.71428571rem; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - List + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + List +*******************************/ + +ul.ui.list, +ol.ui.list, +.ui.list { + list-style-type: none; + margin: 1em 0em; + padding: 0em 0em; +} + +ul.ui.list:first-child, +ol.ui.list:first-child, +.ui.list:first-child { + margin-top: 0em; + padding-top: 0em; +} + +ul.ui.list:last-child, +ol.ui.list:last-child, +.ui.list:last-child { + margin-bottom: 0em; + padding-bottom: 0em; +} + +/******************************* + Content +*******************************/ + +/* List Item */ + +ul.ui.list li, +ol.ui.list li, +.ui.list > .item, +.ui.list .list > .item { + display: list-item; + table-layout: fixed; + list-style-type: none; + list-style-position: outside; + padding: 0.21428571em 0em; + line-height: 1.14285714em; +} + +ul.ui.list > li:first-child:after, +ol.ui.list > li:first-child:after, +.ui.list > .list > .item, +.ui.list > .item:after { + content: ''; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +ul.ui.list li:first-child, +ol.ui.list li:first-child, +.ui.list .list > .item:first-child, +.ui.list > .item:first-child { + padding-top: 0em; +} + +ul.ui.list li:last-child, +ol.ui.list li:last-child, +.ui.list .list > .item:last-child, +.ui.list > .item:last-child { + padding-bottom: 0em; +} + +/* Child List */ + +ul.ui.list ul, +ol.ui.list ol, +.ui.list .list { + clear: both; + margin: 0em; + padding: 0.75em 0em 0.25em 0.5em; +} + +/* Child Item */ + +ul.ui.list ul li, +ol.ui.list ol li, +.ui.list .list > .item { + padding: 0.14285714em 0em; + line-height: inherit; +} + +/* Icon */ + +.ui.list .list > .item > i.icon, +.ui.list > .item > i.icon { + display: table-cell; + margin: 0em; + padding-top: 0em; + padding-right: 0.28571429em; + vertical-align: top; + transition: color 0.1s ease; +} + +.ui.list .list > .item > i.icon:only-child, +.ui.list > .item > i.icon:only-child { + display: inline-block; + vertical-align: top; +} + +/* Image */ + +.ui.list .list > .item > .image, +.ui.list > .item > .image { + display: table-cell; + background-color: transparent; + margin: 0em; + vertical-align: top; +} + +.ui.list .list > .item > .image:not(:only-child):not(img), +.ui.list > .item > .image:not(:only-child):not(img) { + padding-right: 0.5em; +} + +.ui.list .list > .item > .image img, +.ui.list > .item > .image img { + vertical-align: top; +} + +.ui.list .list > .item > img.image, +.ui.list .list > .item > .image:only-child, +.ui.list > .item > img.image, +.ui.list > .item > .image:only-child { + display: inline-block; +} + +/* Content */ + +.ui.list .list > .item > .content, +.ui.list > .item > .content { + line-height: 1.14285714em; +} + +.ui.list .list > .item > .image + .content, +.ui.list .list > .item > .icon + .content, +.ui.list > .item > .image + .content, +.ui.list > .item > .icon + .content { + display: table-cell; + width: 100%; + padding: 0em 0em 0em 0.5em; + vertical-align: top; +} + +.ui.list .list > .item > img.image + .content, +.ui.list > .item > img.image + .content { + display: inline-block; + width: auto; +} + +.ui.list .list > .item > .content > .list, +.ui.list > .item > .content > .list { + margin-left: 0em; + padding-left: 0em; +} + +/* Header */ + +.ui.list .list > .item .header, +.ui.list > .item .header { + display: block; + margin: 0em; + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-weight: bold; + color: rgba(0, 0, 0, 0.87); +} + +/* Description */ + +.ui.list .list > .item .description, +.ui.list > .item .description { + display: block; + color: rgba(0, 0, 0, 0.7); +} + +/* Child Link */ + +.ui.list > .item a, +.ui.list .list > .item a { + cursor: pointer; +} + +/* Linking Item */ + +.ui.list .list > a.item, +.ui.list > a.item { + cursor: pointer; + color: #4183C4; +} + +.ui.list .list > a.item:hover, +.ui.list > a.item:hover { + color: #1e70bf; +} + +/* Linked Item Icons */ + +.ui.list .list > a.item i.icon, +.ui.list > a.item i.icon { + color: rgba(0, 0, 0, 0.4); +} + +/* Header Link */ + +.ui.list .list > .item a.header, +.ui.list > .item a.header { + cursor: pointer; + color: #4183C4 !important; +} + +.ui.list .list > .item a.header:hover, +.ui.list > .item a.header:hover { + color: #1e70bf !important; +} + +/* Floated Content */ + +.ui[class*="left floated"].list { + float: left; +} + +.ui[class*="right floated"].list { + float: right; +} + +.ui.list .list > .item [class*="left floated"], +.ui.list > .item [class*="left floated"] { + float: left; + margin: 0em 1em 0em 0em; +} + +.ui.list .list > .item [class*="right floated"], +.ui.list > .item [class*="right floated"] { + float: right; + margin: 0em 0em 0em 1em; +} + +/******************************* + Coupling +*******************************/ + +.ui.menu .ui.list > .item, +.ui.menu .ui.list .list > .item { + display: list-item; + table-layout: fixed; + background-color: transparent; + list-style-type: none; + list-style-position: outside; + padding: 0.21428571em 0em; + line-height: 1.14285714em; +} + +.ui.menu .ui.list .list > .item:before, +.ui.menu .ui.list > .item:before { + border: none; + background: none; +} + +.ui.menu .ui.list .list > .item:first-child, +.ui.menu .ui.list > .item:first-child { + padding-top: 0em; +} + +.ui.menu .ui.list .list > .item:last-child, +.ui.menu .ui.list > .item:last-child { + padding-bottom: 0em; +} + +/******************************* + Types +*******************************/ + +/*------------------- + Horizontal +--------------------*/ + +.ui.horizontal.list { + display: inline-block; + font-size: 0em; +} + +.ui.horizontal.list > .item { + display: inline-block; + margin-left: 1em; + font-size: 1rem; +} + +.ui.horizontal.list:not(.celled) > .item:first-child { + margin-left: 0em !important; + padding-left: 0em !important; +} + +.ui.horizontal.list .list { + padding-left: 0em; + padding-bottom: 0em; +} + +.ui.horizontal.list > .item > .image, +.ui.horizontal.list .list > .item > .image, +.ui.horizontal.list > .item > .icon, +.ui.horizontal.list .list > .item > .icon, +.ui.horizontal.list > .item > .content, +.ui.horizontal.list .list > .item > .content { + vertical-align: middle; +} + +/* Padding on all elements */ + +.ui.horizontal.list > .item:first-child, +.ui.horizontal.list > .item:last-child { + padding-top: 0.21428571em; + padding-bottom: 0.21428571em; +} + +/* Horizontal List */ + +.ui.horizontal.list > .item > i.icon { + margin: 0em; + padding: 0em 0.25em 0em 0em; +} + +.ui.horizontal.list > .item > .icon, +.ui.horizontal.list > .item > .icon + .content { + float: none; + display: inline-block; +} + +/******************************* + States +*******************************/ + +/*------------------- + Disabled +--------------------*/ + +.ui.list .list > .disabled.item, +.ui.list > .disabled.item { + pointer-events: none; + color: rgba(40, 40, 40, 0.3) !important; +} + +.ui.inverted.list .list > .disabled.item, +.ui.inverted.list > .disabled.item { + color: rgba(225, 225, 225, 0.3) !important; +} + +/*------------------- + Hover +--------------------*/ + +.ui.list .list > a.item:hover .icon, +.ui.list > a.item:hover .icon { + color: rgba(0, 0, 0, 0.87); +} + +/******************************* + Variations +*******************************/ + +/*------------------- + Inverted +--------------------*/ + +.ui.inverted.list .list > a.item > .icon, +.ui.inverted.list > a.item > .icon { + color: rgba(255, 255, 255, 0.7); +} + +.ui.inverted.list .list > .item .header, +.ui.inverted.list > .item .header { + color: rgba(255, 255, 255, 0.9); +} + +.ui.inverted.list .list > .item .description, +.ui.inverted.list > .item .description { + color: rgba(255, 255, 255, 0.7); +} + +/* Item Link */ + +.ui.inverted.list .list > a.item, +.ui.inverted.list > a.item { + cursor: pointer; + color: rgba(255, 255, 255, 0.9); +} + +.ui.inverted.list .list > a.item:hover, +.ui.inverted.list > a.item:hover { + color: #1e70bf; +} + +/* Linking Content */ + +.ui.inverted.list .item a:not(.ui) { + color: rgba(255, 255, 255, 0.9) !important; +} + +.ui.inverted.list .item a:not(.ui):hover { + color: #1e70bf !important; +} + +/*------------------- + Aligned +--------------------*/ + +.ui.list[class*="top aligned"] .image, +.ui.list[class*="top aligned"] .content, +.ui.list [class*="top aligned"] { + vertical-align: top !important; +} + +.ui.list[class*="middle aligned"] .image, +.ui.list[class*="middle aligned"] .content, +.ui.list [class*="middle aligned"] { + vertical-align: middle !important; +} + +.ui.list[class*="bottom aligned"] .image, +.ui.list[class*="bottom aligned"] .content, +.ui.list [class*="bottom aligned"] { + vertical-align: bottom !important; +} + +/*------------------- + Link +--------------------*/ + +.ui.link.list .item, +.ui.link.list a.item, +.ui.link.list .item a:not(.ui) { + color: rgba(0, 0, 0, 0.4); + transition: 0.1s color ease; +} + +.ui.link.list.list a.item:hover, +.ui.link.list.list .item a:not(.ui):hover { + color: rgba(0, 0, 0, 0.8); +} + +.ui.link.list.list a.item:active, +.ui.link.list.list .item a:not(.ui):active { + color: rgba(0, 0, 0, 0.9); +} + +.ui.link.list.list .active.item, +.ui.link.list.list .active.item a:not(.ui) { + color: rgba(0, 0, 0, 0.95); +} + +/* Inverted */ + +.ui.inverted.link.list .item, +.ui.inverted.link.list a.item, +.ui.inverted.link.list .item a:not(.ui) { + color: rgba(255, 255, 255, 0.5); +} + +.ui.inverted.link.list.list a.item:hover, +.ui.inverted.link.list.list .item a:not(.ui):hover { + color: #ffffff; +} + +.ui.inverted.link.list.list a.item:active, +.ui.inverted.link.list.list .item a:not(.ui):active { + color: #ffffff; +} + +.ui.inverted.link.list.list a.active.item, +.ui.inverted.link.list.list .active.item a:not(.ui) { + color: #ffffff; +} + +/*------------------- + Selection +--------------------*/ + +.ui.selection.list .list > .item, +.ui.selection.list > .item { + cursor: pointer; + background: transparent; + padding: 0.5em 0.5em; + margin: 0em; + color: rgba(0, 0, 0, 0.4); + border-radius: 0.5em; + transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease; +} + +.ui.selection.list .list > .item:last-child, +.ui.selection.list > .item:last-child { + margin-bottom: 0em; +} + +.ui.selection.list.list > .item:hover, +.ui.selection.list > .item:hover { + background: rgba(0, 0, 0, 0.03); + color: rgba(0, 0, 0, 0.8); +} + +.ui.selection.list .list > .item:active, +.ui.selection.list > .item:active { + background: rgba(0, 0, 0, 0.05); + color: rgba(0, 0, 0, 0.9); +} + +.ui.selection.list .list > .item.active, +.ui.selection.list > .item.active { + background: rgba(0, 0, 0, 0.05); + color: rgba(0, 0, 0, 0.95); +} + +/* Inverted */ + +.ui.inverted.selection.list > .item, +.ui.inverted.selection.list > .item { + background: transparent; + color: rgba(255, 255, 255, 0.5); +} + +.ui.inverted.selection.list > .item:hover, +.ui.inverted.selection.list > .item:hover { + background: rgba(255, 255, 255, 0.02); + color: #ffffff; +} + +.ui.inverted.selection.list > .item:active, +.ui.inverted.selection.list > .item:active { + background: rgba(255, 255, 255, 0.08); + color: #ffffff; +} + +.ui.inverted.selection.list > .item.active, +.ui.inverted.selection.list > .item.active { + background: rgba(255, 255, 255, 0.08); + color: #ffffff; +} + +/* Celled / Divided Selection List */ + +.ui.celled.selection.list .list > .item, +.ui.divided.selection.list .list > .item, +.ui.celled.selection.list > .item, +.ui.divided.selection.list > .item { + border-radius: 0em; +} + +/*------------------- + Animated +--------------------*/ + +.ui.animated.list > .item { + transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s; +} + +.ui.animated.list:not(.horizontal) > .item:hover { + padding-left: 1em; +} + +/*------------------- + Fitted +--------------------*/ + +.ui.fitted.list:not(.selection) .list > .item, +.ui.fitted.list:not(.selection) > .item { + padding-left: 0em; + padding-right: 0em; +} + +.ui.fitted.selection.list .list > .item, +.ui.fitted.selection.list > .item { + margin-left: -0.5em; + margin-right: -0.5em; +} + +/*------------------- + Bulleted +--------------------*/ + +ul.ui.list, +.ui.bulleted.list { + margin-left: 1.25rem; +} + +ul.ui.list li, +.ui.bulleted.list .list > .item, +.ui.bulleted.list > .item { + position: relative; +} + +ul.ui.list li:before, +.ui.bulleted.list .list > .item:before, +.ui.bulleted.list > .item:before { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; + position: absolute; + top: auto; + left: auto; + font-weight: normal; + margin-left: -1.25rem; + content: '•'; + opacity: 1; + color: inherit; + vertical-align: top; +} + +ul.ui.list li:before, +.ui.bulleted.list .list > a.item:before, +.ui.bulleted.list > a.item:before { + color: rgba(0, 0, 0, 0.87); +} + +ul.ui.list ul, +.ui.bulleted.list .list { + padding-left: 1.25rem; +} + +/* Horizontal Bulleted */ + +ul.ui.horizontal.bulleted.list, +.ui.horizontal.bulleted.list { + margin-left: 0em; +} + +ul.ui.horizontal.bulleted.list li, +.ui.horizontal.bulleted.list > .item { + margin-left: 1.75rem; +} + +ul.ui.horizontal.bulleted.list li:first-child, +.ui.horizontal.bulleted.list > .item:first-child { + margin-left: 0em; +} + +ul.ui.horizontal.bulleted.list li::before, +.ui.horizontal.bulleted.list > .item::before { + color: rgba(0, 0, 0, 0.87); +} + +ul.ui.horizontal.bulleted.list li:first-child::before, +.ui.horizontal.bulleted.list > .item:first-child::before { + display: none; +} + +/*------------------- + Ordered +--------------------*/ + +ol.ui.list, +.ui.ordered.list, +.ui.ordered.list .list, +ol.ui.list ol { + counter-reset: ordered; + margin-left: 1.25rem; + list-style-type: none; +} + +ol.ui.list li, +.ui.ordered.list .list > .item, +.ui.ordered.list > .item { + list-style-type: none; + position: relative; +} + +ol.ui.list li:before, +.ui.ordered.list .list > .item:before, +.ui.ordered.list > .item:before { + position: absolute; + top: auto; + left: auto; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; + margin-left: -1.25rem; + counter-increment: ordered; + content: counters(ordered, ".") " "; + text-align: right; + color: rgba(0, 0, 0, 0.87); + vertical-align: middle; + opacity: 0.8; +} + +ol.ui.inverted.list li:before, +.ui.ordered.inverted.list .list > .item:before, +.ui.ordered.inverted.list > .item:before { + color: rgba(255, 255, 255, 0.7); +} + +/* Value */ + +.ui.ordered.list > .list > .item[data-value], +.ui.ordered.list > .item[data-value] { + content: attr(data-value); +} + +ol.ui.list li[value]:before { + content: attr(value); +} + +/* Child Lists */ + +ol.ui.list ol, +.ui.ordered.list .list { + margin-left: 1em; +} + +ol.ui.list ol li:before, +.ui.ordered.list .list > .item:before { + margin-left: -2em; +} + +/* Horizontal Ordered */ + +ol.ui.horizontal.list, +.ui.ordered.horizontal.list { + margin-left: 0em; +} + +ol.ui.horizontal.list li:before, +.ui.ordered.horizontal.list .list > .item:before, +.ui.ordered.horizontal.list > .item:before { + position: static; + margin: 0em 0.5em 0em 0em; +} + +/*------------------- + Divided +--------------------*/ + +.ui.divided.list > .item { + border-top: 1px solid rgba(34, 36, 38, 0.15); +} + +.ui.divided.list .list > .item { + border-top: none; +} + +.ui.divided.list .item .list > .item { + border-top: none; +} + +.ui.divided.list .list > .item:first-child, +.ui.divided.list > .item:first-child { + border-top: none; +} + +/* Sub Menu */ + +.ui.divided.list:not(.horizontal) .list > .item:first-child { + border-top-width: 1px; +} + +/* Divided bulleted */ + +.ui.divided.bulleted.list:not(.horizontal), +.ui.divided.bulleted.list .list { + margin-left: 0em; + padding-left: 0em; +} + +.ui.divided.bulleted.list > .item:not(.horizontal) { + padding-left: 1.25rem; +} + +/* Divided Ordered */ + +.ui.divided.ordered.list { + margin-left: 0em; +} + +.ui.divided.ordered.list .list > .item, +.ui.divided.ordered.list > .item { + padding-left: 1.25rem; +} + +.ui.divided.ordered.list .item .list { + margin-left: 0em; + margin-right: 0em; + padding-bottom: 0.21428571em; +} + +.ui.divided.ordered.list .item .list > .item { + padding-left: 1em; +} + +/* Divided Selection */ + +.ui.divided.selection.list .list > .item, +.ui.divided.selection.list > .item { + margin: 0em; + border-radius: 0em; +} + +/* Divided horizontal */ + +.ui.divided.horizontal.list { + margin-left: 0em; +} + +.ui.divided.horizontal.list > .item:not(:first-child) { + padding-left: 0.5em; +} + +.ui.divided.horizontal.list > .item:not(:last-child) { + padding-right: 0.5em; +} + +.ui.divided.horizontal.list > .item { + border-top: none; + border-left: 1px solid rgba(34, 36, 38, 0.15); + margin: 0em; + line-height: 0.6; +} + +.ui.horizontal.divided.list > .item:first-child { + border-left: none; +} + +/* Inverted */ + +.ui.divided.inverted.list > .item, +.ui.divided.inverted.list > .list, +.ui.divided.inverted.horizontal.list > .item { + border-color: rgba(255, 255, 255, 0.1); +} + +/*------------------- + Celled +--------------------*/ + +.ui.celled.list > .item, +.ui.celled.list > .list { + border-top: 1px solid rgba(34, 36, 38, 0.15); + padding-left: 0.5em; + padding-right: 0.5em; +} + +.ui.celled.list > .item:last-child { + border-bottom: 1px solid rgba(34, 36, 38, 0.15); +} + +/* Padding on all elements */ + +.ui.celled.list > .item:first-child, +.ui.celled.list > .item:last-child { + padding-top: 0.21428571em; + padding-bottom: 0.21428571em; +} + +/* Sub Menu */ + +.ui.celled.list .item .list > .item { + border-width: 0px; +} + +.ui.celled.list .list > .item:first-child { + border-top-width: 0px; +} + +/* Celled Bulleted */ + +.ui.celled.bulleted.list { + margin-left: 0em; +} + +.ui.celled.bulleted.list .list > .item, +.ui.celled.bulleted.list > .item { + padding-left: 1.25rem; +} + +.ui.celled.bulleted.list .item .list { + margin-left: -1.25rem; + margin-right: -1.25rem; + padding-bottom: 0.21428571em; +} + +/* Celled Ordered */ + +.ui.celled.ordered.list { + margin-left: 0em; +} + +.ui.celled.ordered.list .list > .item, +.ui.celled.ordered.list > .item { + padding-left: 1.25rem; +} + +.ui.celled.ordered.list .item .list { + margin-left: 0em; + margin-right: 0em; + padding-bottom: 0.21428571em; +} + +.ui.celled.ordered.list .list > .item { + padding-left: 1em; +} + +/* Celled Horizontal */ + +.ui.horizontal.celled.list { + margin-left: 0em; +} + +.ui.horizontal.celled.list .list > .item, +.ui.horizontal.celled.list > .item { + border-top: none; + border-left: 1px solid rgba(34, 36, 38, 0.15); + margin: 0em; + padding-left: 0.5em; + padding-right: 0.5em; + line-height: 0.6; +} + +.ui.horizontal.celled.list .list > .item:last-child, +.ui.horizontal.celled.list > .item:last-child { + border-bottom: none; + border-right: 1px solid rgba(34, 36, 38, 0.15); +} + +/* Inverted */ + +.ui.celled.inverted.list > .item, +.ui.celled.inverted.list > .list { + border-color: 1px solid rgba(255, 255, 255, 0.1); +} + +.ui.celled.inverted.horizontal.list .list > .item, +.ui.celled.inverted.horizontal.list > .item { + border-color: 1px solid rgba(255, 255, 255, 0.1); +} + +/*------------------- + Relaxed +--------------------*/ + +.ui.relaxed.list:not(.horizontal) > .item:not(:first-child) { + padding-top: 0.42857143em; +} + +.ui.relaxed.list:not(.horizontal) > .item:not(:last-child) { + padding-bottom: 0.42857143em; +} + +.ui.horizontal.relaxed.list .list > .item:not(:first-child), +.ui.horizontal.relaxed.list > .item:not(:first-child) { + padding-left: 1rem; +} + +.ui.horizontal.relaxed.list .list > .item:not(:last-child), +.ui.horizontal.relaxed.list > .item:not(:last-child) { + padding-right: 1rem; +} + +/* Very Relaxed */ + +.ui[class*="very relaxed"].list:not(.horizontal) > .item:not(:first-child) { + padding-top: 0.85714286em; +} + +.ui[class*="very relaxed"].list:not(.horizontal) > .item:not(:last-child) { + padding-bottom: 0.85714286em; +} + +.ui.horizontal[class*="very relaxed"].list .list > .item:not(:first-child), +.ui.horizontal[class*="very relaxed"].list > .item:not(:first-child) { + padding-left: 1.5rem; +} + +.ui.horizontal[class*="very relaxed"].list .list > .item:not(:last-child), +.ui.horizontal[class*="very relaxed"].list > .item:not(:last-child) { + padding-right: 1.5rem; +} + +/*------------------- + Sizes +--------------------*/ + +.ui.mini.list { + font-size: 0.78571429em; +} + +.ui.tiny.list { + font-size: 0.85714286em; +} + +.ui.small.list { + font-size: 0.92857143em; +} + +.ui.list { + font-size: 1em; +} + +.ui.large.list { + font-size: 1.14285714em; +} + +.ui.big.list { + font-size: 1.28571429em; +} + +.ui.huge.list { + font-size: 1.42857143em; +} + +.ui.massive.list { + font-size: 1.71428571em; +} + +.ui.mini.horizontal.list .list > .item, +.ui.mini.horizontal.list > .item { + font-size: 0.78571429rem; +} + +.ui.tiny.horizontal.list .list > .item, +.ui.tiny.horizontal.list > .item { + font-size: 0.85714286rem; +} + +.ui.small.horizontal.list .list > .item, +.ui.small.horizontal.list > .item { + font-size: 0.92857143rem; +} + +.ui.horizontal.list .list > .item, +.ui.horizontal.list > .item { + font-size: 1rem; +} + +.ui.large.horizontal.list .list > .item, +.ui.large.horizontal.list > .item { + font-size: 1.14285714rem; +} + +.ui.big.horizontal.list .list > .item, +.ui.big.horizontal.list > .item { + font-size: 1.28571429rem; +} + +.ui.huge.horizontal.list .list > .item, +.ui.huge.horizontal.list > .item { + font-size: 1.42857143rem; +} + +.ui.massive.horizontal.list .list > .item, +.ui.massive.horizontal.list > .item { + font-size: 1.71428571rem; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + User Variable Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Loader + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Loader +*******************************/ + +/* Standard Size */ + +.ui.loader { + display: none; + position: absolute; + top: 50%; + left: 50%; + margin: 0px; + text-align: center; + z-index: 1000; + transform: translateX(-50%) translateY(-50%); +} + +/* Static Shape */ + +.ui.loader:before { + position: absolute; + content: ''; + top: 0%; + left: 50%; + width: 100%; + height: 100%; + border-radius: 500rem; + border: 0.2em solid rgba(0, 0, 0, 0.1); +} + +/* Active Shape */ + +.ui.loader:after { + position: absolute; + content: ''; + top: 0%; + left: 50%; + width: 100%; + height: 100%; + -webkit-animation: loader 0.6s linear; + animation: loader 0.6s linear; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + border-radius: 500rem; + border-color: #767676 transparent transparent; + border-style: solid; + border-width: 0.2em; + box-shadow: 0px 0px 0px 1px transparent; +} + +/* Active Animation */ + +@-webkit-keyframes loader { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } +} + +@keyframes loader { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } +} + +/* Sizes */ + +.ui.mini.loader:before, +.ui.mini.loader:after { + width: 1rem; + height: 1rem; + margin: 0em 0em 0em -0.5rem; +} + +.ui.tiny.loader:before, +.ui.tiny.loader:after { + width: 1.14285714rem; + height: 1.14285714rem; + margin: 0em 0em 0em -0.57142857rem; +} + +.ui.small.loader:before, +.ui.small.loader:after { + width: 1.71428571rem; + height: 1.71428571rem; + margin: 0em 0em 0em -0.85714286rem; +} + +.ui.loader:before, +.ui.loader:after { + width: 2.28571429rem; + height: 2.28571429rem; + margin: 0em 0em 0em -1.14285714rem; +} + +.ui.large.loader:before, +.ui.large.loader:after { + width: 3.42857143rem; + height: 3.42857143rem; + margin: 0em 0em 0em -1.71428571rem; +} + +.ui.big.loader:before, +.ui.big.loader:after { + width: 3.71428571rem; + height: 3.71428571rem; + margin: 0em 0em 0em -1.85714286rem; +} + +.ui.huge.loader:before, +.ui.huge.loader:after { + width: 4.14285714rem; + height: 4.14285714rem; + margin: 0em 0em 0em -2.07142857rem; +} + +.ui.massive.loader:before, +.ui.massive.loader:after { + width: 4.57142857rem; + height: 4.57142857rem; + margin: 0em 0em 0em -2.28571429rem; +} + +/*------------------- + Coupling +--------------------*/ + +/* Show inside active dimmer */ + +.ui.dimmer .loader { + display: block; +} + +/* Black Dimmer */ + +.ui.dimmer .ui.loader { + color: rgba(255, 255, 255, 0.9); +} + +.ui.dimmer .ui.loader:before { + border-color: rgba(255, 255, 255, 0.15); +} + +.ui.dimmer .ui.loader:after { + border-color: #FFFFFF transparent transparent; +} + +/* White Dimmer (Inverted) */ + +.ui.inverted.dimmer .ui.loader { + color: rgba(0, 0, 0, 0.87); +} + +.ui.inverted.dimmer .ui.loader:before { + border-color: rgba(0, 0, 0, 0.1); +} + +.ui.inverted.dimmer .ui.loader:after { + border-color: #767676 transparent transparent; +} + +/******************************* + Types +*******************************/ + +/*------------------- + Text +--------------------*/ + +.ui.text.loader { + width: auto !important; + height: auto !important; + text-align: center; + font-style: normal; +} + +/******************************* + States +*******************************/ + +.ui.indeterminate.loader:after { + animation-direction: reverse; + -webkit-animation-duration: 1.2s; + animation-duration: 1.2s; +} + +.ui.loader.active, +.ui.loader.visible { + display: block; +} + +.ui.loader.disabled, +.ui.loader.hidden { + display: none; +} + +/******************************* + Variations +*******************************/ + +/*------------------- + Sizes +--------------------*/ + +/* Loader */ + +.ui.inverted.dimmer .ui.mini.loader, +.ui.mini.loader { + width: 1rem; + height: 1rem; + font-size: 0.78571429em; +} + +.ui.inverted.dimmer .ui.tiny.loader, +.ui.tiny.loader { + width: 1.14285714rem; + height: 1.14285714rem; + font-size: 0.85714286em; +} + +.ui.inverted.dimmer .ui.small.loader, +.ui.small.loader { + width: 1.71428571rem; + height: 1.71428571rem; + font-size: 0.92857143em; +} + +.ui.inverted.dimmer .ui.loader, +.ui.loader { + width: 2.28571429rem; + height: 2.28571429rem; + font-size: 1em; +} + +.ui.inverted.dimmer .ui.large.loader, +.ui.large.loader { + width: 3.42857143rem; + height: 3.42857143rem; + font-size: 1.14285714em; +} + +.ui.inverted.dimmer .ui.big.loader, +.ui.big.loader { + width: 3.71428571rem; + height: 3.71428571rem; + font-size: 1.28571429em; +} + +.ui.inverted.dimmer .ui.huge.loader, +.ui.huge.loader { + width: 4.14285714rem; + height: 4.14285714rem; + font-size: 1.42857143em; +} + +.ui.inverted.dimmer .ui.massive.loader, +.ui.massive.loader { + width: 4.57142857rem; + height: 4.57142857rem; + font-size: 1.71428571em; +} + +/* Text Loader */ + +.ui.mini.text.loader { + min-width: 1rem; + padding-top: 1.78571429rem; +} + +.ui.tiny.text.loader { + min-width: 1.14285714rem; + padding-top: 1.92857143rem; +} + +.ui.small.text.loader { + min-width: 1.71428571rem; + padding-top: 2.5rem; +} + +.ui.text.loader { + min-width: 2.28571429rem; + padding-top: 3.07142857rem; +} + +.ui.large.text.loader { + min-width: 3.42857143rem; + padding-top: 4.21428571rem; +} + +.ui.big.text.loader { + min-width: 3.71428571rem; + padding-top: 4.5rem; +} + +.ui.huge.text.loader { + min-width: 4.14285714rem; + padding-top: 4.92857143rem; +} + +.ui.massive.text.loader { + min-width: 4.57142857rem; + padding-top: 5.35714286rem; +} + +/*------------------- + Inverted +--------------------*/ + +.ui.inverted.loader { + color: rgba(255, 255, 255, 0.9); +} + +.ui.inverted.loader:before { + border-color: rgba(255, 255, 255, 0.15); +} + +.ui.inverted.loader:after { + border-top-color: #FFFFFF; +} + +/*------------------- + Inline +--------------------*/ + +.ui.inline.loader { + position: relative; + vertical-align: middle; + margin: 0em; + left: 0em; + top: 0em; + transform: none; +} + +.ui.inline.loader.active, +.ui.inline.loader.visible { + display: inline-block; +} + +/* Centered Inline */ + +.ui.centered.inline.loader.active, +.ui.centered.inline.loader.visible { + display: block; + margin-left: auto; + margin-right: auto; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Loader + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/*------------------- + Content +--------------------*/ + +.ui.placeholder { + position: static; + overflow: hidden; + -webkit-animation: placeholderShimmer 2s linear; + animation: placeholderShimmer 2s linear; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + background-color: #FFFFFF; + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.15) 15%, rgba(0, 0, 0, 0.08) 30%); + background-size: 1200px 100%; + max-width: 30rem; +} + +@-webkit-keyframes placeholderShimmer { + 0% { + background-position: -1200px 0; + } + + 100% { + background-position: 1200px 0; + } +} + +@keyframes placeholderShimmer { + 0% { + background-position: -1200px 0; + } + + 100% { + background-position: 1200px 0; + } +} + +.ui.placeholder + .ui.placeholder { + margin-top: 2rem; +} + +.ui.placeholder + .ui.placeholder { + -webkit-animation-delay: 0.15s; + animation-delay: 0.15s; +} + +.ui.placeholder + .ui.placeholder + .ui.placeholder { + -webkit-animation-delay: 0.3s; + animation-delay: 0.3s; +} + +.ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder { + -webkit-animation-delay: 0.45s; + animation-delay: 0.45s; +} + +.ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder { + -webkit-animation-delay: 0.6s; + animation-delay: 0.6s; +} + +.ui.placeholder, +.ui.placeholder > :before, +.ui.placeholder .image.header:after, +.ui.placeholder .line, +.ui.placeholder .line:after { + background-color: #FFFFFF; +} + +/* Image */ + +.ui.placeholder .image:not(.header):not(.ui) { + height: 100px; +} + +.ui.placeholder .square.image:not(.header) { + height: 0px; + overflow: hidden; + /* 1/1 aspect ratio */ + padding-top: 100%; +} + +.ui.placeholder .rectangular.image:not(.header) { + height: 0px; + overflow: hidden; + /* 4/3 aspect ratio */ + padding-top: 75%; +} + +/* Lines */ + +.ui.placeholder .line { + position: relative; + height: 0.85714286em; +} + +.ui.placeholder .line:before, +.ui.placeholder .line:after { + top: 100%; + position: absolute; + content: ''; + background-color: inherit; +} + +.ui.placeholder .line:before { + left: 0px; +} + +.ui.placeholder .line:after { + right: 0px; +} + +/* Any Lines */ + +.ui.placeholder .line { + margin-bottom: 0.5em; +} + +.ui.placeholder .line:before, +.ui.placeholder .line:after { + height: 0.5em; +} + +.ui.placeholder .line:not(:first-child) { + margin-top: 0.5em; +} + +/* Header Image + 2 Lines */ + +.ui.placeholder .header { + position: relative; + overflow: hidden; +} + +/* Line Outdent */ + +.ui.placeholder .line:nth-child(1):after { + width: 0%; +} + +.ui.placeholder .line:nth-child(2):after { + width: 50%; +} + +.ui.placeholder .line:nth-child(3):after { + width: 10%; +} + +.ui.placeholder .line:nth-child(4):after { + width: 35%; +} + +.ui.placeholder .line:nth-child(5):after { + width: 65%; +} + +/* Header Line 1 & 2*/ + +.ui.placeholder .header .line { + margin-bottom: 0.64285714em; +} + +.ui.placeholder .header .line:before, +.ui.placeholder .header .line:after { + height: 0.64285714em; +} + +.ui.placeholder .header .line:not(:first-child) { + margin-top: 0.64285714em; +} + +.ui.placeholder .header .line:after { + width: 20%; +} + +.ui.placeholder .header .line:nth-child(2):after { + width: 60%; +} + +/* Image Header */ + +.ui.placeholder .image.header .line { + margin-left: 3em; +} + +.ui.placeholder .image.header .line:before { + width: 0.71428571rem; +} + +.ui.placeholder .image.header:after { + display: block; + height: 0.85714286em; + content: ''; + margin-left: 3em; +} + +/* Spacing */ + +.ui.placeholder .image .line:first-child, +.ui.placeholder .paragraph .line:first-child, +.ui.placeholder .header .line:first-child { + height: 0.01px; +} + +.ui.placeholder .image:not(:first-child):before, +.ui.placeholder .paragraph:not(:first-child):before, +.ui.placeholder .header:not(:first-child):before { + height: 1.42857143em; + content: ''; + display: block; +} + +/* Inverted Content Loader */ + +.ui.inverted.placeholder { + background-image: linear-gradient(to right, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.14) 15%, rgba(255, 255, 255, 0.08) 30%); +} + +.ui.inverted.placeholder, +.ui.inverted.placeholder > :before, +.ui.inverted.placeholder .image.header:after, +.ui.inverted.placeholder .line, +.ui.inverted.placeholder .line:after { + background-color: #1B1C1D; +} + +/******************************* + Variations +*******************************/ + +/*------------------- + Sizes +--------------------*/ + +.ui.placeholder .full.line.line.line:after { + width: 0%; +} + +.ui.placeholder .very.long.line.line.line:after { + width: 10%; +} + +.ui.placeholder .long.line.line.line:after { + width: 35%; +} + +.ui.placeholder .medium.line.line.line:after { + width: 50%; +} + +.ui.placeholder .short.line.line.line:after { + width: 65%; +} + +.ui.placeholder .very.short.line.line.line:after { + width: 80%; +} + +/*------------------- + Fluid +--------------------*/ + +.ui.fluid.placeholder { + max-width: none; +} +/*! + * # Semantic UI 2.5.0 - Rail + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Rails +*******************************/ + +.ui.rail { + position: absolute; + top: 0%; + width: 300px; + height: 100%; +} + +.ui.left.rail { + left: auto; + right: 100%; + padding: 0em 2rem 0em 0em; + margin: 0em 2rem 0em 0em; +} + +.ui.right.rail { + left: 100%; + right: auto; + padding: 0em 0em 0em 2rem; + margin: 0em 0em 0em 2rem; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Internal +---------------*/ + +.ui.left.internal.rail { + left: 0%; + right: auto; + padding: 0em 0em 0em 2rem; + margin: 0em 0em 0em 2rem; +} + +.ui.right.internal.rail { + left: auto; + right: 0%; + padding: 0em 2rem 0em 0em; + margin: 0em 2rem 0em 0em; +} + +/*-------------- + Dividing +---------------*/ + +.ui.dividing.rail { + width: 302.5px; +} + +.ui.left.dividing.rail { + padding: 0em 2.5rem 0em 0em; + margin: 0em 2.5rem 0em 0em; + border-right: 1px solid rgba(34, 36, 38, 0.15); +} + +.ui.right.dividing.rail { + border-left: 1px solid rgba(34, 36, 38, 0.15); + padding: 0em 0em 0em 2.5rem; + margin: 0em 0em 0em 2.5rem; +} + +/*-------------- + Distance +---------------*/ + +.ui.close.rail { + width: calc( 300px + 1em ); +} + +.ui.close.left.rail { + padding: 0em 1em 0em 0em; + margin: 0em 1em 0em 0em; +} + +.ui.close.right.rail { + padding: 0em 0em 0em 1em; + margin: 0em 0em 0em 1em; +} + +.ui.very.close.rail { + width: calc( 300px + 0.5em ); +} + +.ui.very.close.left.rail { + padding: 0em 0.5em 0em 0em; + margin: 0em 0.5em 0em 0em; +} + +.ui.very.close.right.rail { + padding: 0em 0em 0em 0.5em; + margin: 0em 0em 0em 0.5em; +} + +/*-------------- + Attached +---------------*/ + +.ui.attached.left.rail, +.ui.attached.right.rail { + padding: 0em; + margin: 0em; +} + +/*-------------- + Sizing +---------------*/ + +.ui.mini.rail { + font-size: 0.78571429rem; +} + +.ui.tiny.rail { + font-size: 0.85714286rem; +} + +.ui.small.rail { + font-size: 0.92857143rem; +} + +.ui.rail { + font-size: 1rem; +} + +.ui.large.rail { + font-size: 1.14285714rem; +} + +.ui.big.rail { + font-size: 1.28571429rem; +} + +.ui.huge.rail { + font-size: 1.42857143rem; +} + +.ui.massive.rail { + font-size: 1.71428571rem; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Reveal + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Reveal +*******************************/ + +.ui.reveal { + display: inherit; + position: relative !important; + font-size: 0em !important; +} + +.ui.reveal > .visible.content { + position: absolute !important; + top: 0em !important; + left: 0em !important; + z-index: 3 !important; + transition: all 0.5s ease 0.1s; +} + +.ui.reveal > .hidden.content { + position: relative !important; + z-index: 2 !important; +} + +/* Make sure hovered element is on top of other reveal */ + +.ui.active.reveal .visible.content, +.ui.reveal:hover .visible.content { + z-index: 4 !important; +} + +/******************************* + Types +*******************************/ + +/*-------------- + Slide +---------------*/ + +.ui.slide.reveal { + position: relative !important; + overflow: hidden !important; + white-space: nowrap; +} + +.ui.slide.reveal > .content { + display: block; + width: 100%; + white-space: normal; + float: left; + margin: 0em; + transition: transform 0.5s ease 0.1s; +} + +.ui.slide.reveal > .visible.content { + position: relative !important; +} + +.ui.slide.reveal > .hidden.content { + position: absolute !important; + left: 0% !important; + width: 100% !important; + transform: translateX(100%) !important; +} + +.ui.slide.active.reveal > .visible.content, +.ui.slide.reveal:hover > .visible.content { + transform: translateX(-100%) !important; +} + +.ui.slide.active.reveal > .hidden.content, +.ui.slide.reveal:hover > .hidden.content { + transform: translateX(0%) !important; +} + +.ui.slide.right.reveal > .visible.content { + transform: translateX(0%) !important; +} + +.ui.slide.right.reveal > .hidden.content { + transform: translateX(-100%) !important; +} + +.ui.slide.right.active.reveal > .visible.content, +.ui.slide.right.reveal:hover > .visible.content { + transform: translateX(100%) !important; +} + +.ui.slide.right.active.reveal > .hidden.content, +.ui.slide.right.reveal:hover > .hidden.content { + transform: translateX(0%) !important; +} + +.ui.slide.up.reveal > .hidden.content { + transform: translateY(100%) !important; +} + +.ui.slide.up.active.reveal > .visible.content, +.ui.slide.up.reveal:hover > .visible.content { + transform: translateY(-100%) !important; +} + +.ui.slide.up.active.reveal > .hidden.content, +.ui.slide.up.reveal:hover > .hidden.content { + transform: translateY(0%) !important; +} + +.ui.slide.down.reveal > .hidden.content { + transform: translateY(-100%) !important; +} + +.ui.slide.down.active.reveal > .visible.content, +.ui.slide.down.reveal:hover > .visible.content { + transform: translateY(100%) !important; +} + +.ui.slide.down.active.reveal > .hidden.content, +.ui.slide.down.reveal:hover > .hidden.content { + transform: translateY(0%) !important; +} + +/*-------------- + Fade +---------------*/ + +.ui.fade.reveal > .visible.content { + opacity: 1; +} + +.ui.fade.active.reveal > .visible.content, +.ui.fade.reveal:hover > .visible.content { + opacity: 0; +} + +/*-------------- + Move +---------------*/ + +.ui.move.reveal { + position: relative !important; + overflow: hidden !important; + white-space: nowrap; +} + +.ui.move.reveal > .content { + display: block; + float: left; + white-space: normal; + margin: 0em; + transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s; +} + +.ui.move.reveal > .visible.content { + position: relative !important; +} + +.ui.move.reveal > .hidden.content { + position: absolute !important; + left: 0% !important; + width: 100% !important; +} + +.ui.move.active.reveal > .visible.content, +.ui.move.reveal:hover > .visible.content { + transform: translateX(-100%) !important; +} + +.ui.move.right.active.reveal > .visible.content, +.ui.move.right.reveal:hover > .visible.content { + transform: translateX(100%) !important; +} + +.ui.move.up.active.reveal > .visible.content, +.ui.move.up.reveal:hover > .visible.content { + transform: translateY(-100%) !important; +} + +.ui.move.down.active.reveal > .visible.content, +.ui.move.down.reveal:hover > .visible.content { + transform: translateY(100%) !important; +} + +/*-------------- + Rotate +---------------*/ + +.ui.rotate.reveal > .visible.content { + transition-duration: 0.5s; + transform: rotate(0deg); +} + +.ui.rotate.reveal > .visible.content, +.ui.rotate.right.reveal > .visible.content { + transform-origin: bottom right; +} + +.ui.rotate.active.reveal > .visible.content, +.ui.rotate.reveal:hover > .visible.content, +.ui.rotate.right.active.reveal > .visible.content, +.ui.rotate.right.reveal:hover > .visible.content { + transform: rotate(110deg); +} + +.ui.rotate.left.reveal > .visible.content { + transform-origin: bottom left; +} + +.ui.rotate.left.active.reveal > .visible.content, +.ui.rotate.left.reveal:hover > .visible.content { + transform: rotate(-110deg); +} + +/******************************* + States +*******************************/ + +.ui.disabled.reveal:hover > .visible.visible.content { + position: static !important; + display: block !important; + opacity: 1 !important; + top: 0 !important; + left: 0 !important; + right: auto !important; + bottom: auto !important; + transform: none !important; +} + +.ui.disabled.reveal:hover > .hidden.hidden.content { + display: none !important; +} + +/******************************* + Coupling +*******************************/ + +.ui.reveal > .ui.ribbon.label { + z-index: 5; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Visible +---------------*/ + +.ui.visible.reveal { + overflow: visible; +} + +/*-------------- + Instant +---------------*/ + +.ui.instant.reveal > .content { + transition-delay: 0s !important; +} + +/*-------------- + Sizing +---------------*/ + +.ui.reveal > .content { + font-size: 1rem !important; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Segment + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Segment +*******************************/ + +.ui.segment { + position: relative; + background: #FFFFFF; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15); + margin: 1rem 0em; + padding: 1em 1em; + border-radius: 0.28571429rem; + border: 1px solid rgba(34, 36, 38, 0.15); +} + +.ui.segment:first-child { + margin-top: 0em; +} + +.ui.segment:last-child { + margin-bottom: 0em; +} + +/* Vertical */ + +.ui.vertical.segment { + margin: 0em; + padding-left: 0em; + padding-right: 0em; + background: none transparent; + border-radius: 0px; + box-shadow: none; + border: none; + border-bottom: 1px solid rgba(34, 36, 38, 0.15); +} + +.ui.vertical.segment:last-child { + border-bottom: none; +} + +/*------------------- + Loose Coupling +--------------------*/ + +/* Header */ + +.ui.inverted.segment > .ui.header { + color: #FFFFFF; +} + +/* Label */ + +.ui[class*="bottom attached"].segment > [class*="top attached"].label { + border-top-left-radius: 0em; + border-top-right-radius: 0em; +} + +.ui[class*="top attached"].segment > [class*="bottom attached"].label { + border-bottom-left-radius: 0em; + border-bottom-right-radius: 0em; +} + +.ui.attached.segment:not(.top):not(.bottom) > [class*="top attached"].label { + border-top-left-radius: 0em; + border-top-right-radius: 0em; +} + +.ui.attached.segment:not(.top):not(.bottom) > [class*="bottom attached"].label { + border-bottom-left-radius: 0em; + border-bottom-right-radius: 0em; +} + +/* Grid */ + +.ui.page.grid.segment, +.ui.grid > .row > .ui.segment.column, +.ui.grid > .ui.segment.column { + padding-top: 2em; + padding-bottom: 2em; +} + +.ui.grid.segment { + margin: 1rem 0em; + border-radius: 0.28571429rem; +} + +/* Table */ + +.ui.basic.table.segment { + background: #FFFFFF; + border: 1px solid rgba(34, 36, 38, 0.15); + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15); +} + +.ui[class*="very basic"].table.segment { + padding: 1em 1em; +} + +/******************************* + Types +*******************************/ + +/*------------------- + Placeholder +--------------------*/ + +.ui.placeholder.segment { + display: flex; + flex-direction: column; + justify-content: center; + align-items: stretch; + max-width: initial; + -webkit-animation: none; + animation: none; + overflow: visible; + padding: 1em 1em; + min-height: 18rem; + background: #F9FAFB; + border-color: rgba(34, 36, 38, 0.15); + box-shadow: 0px 2px 25px 0 rgba(34, 36, 38, 0.05) inset; +} + +.ui.placeholder.segment .button, +.ui.placeholder.segment textarea { + display: block; +} + +.ui.placeholder.segment .field, +.ui.placeholder.segment textarea, +.ui.placeholder.segment > .ui.input, +.ui.placeholder.segment .button { + max-width: 15rem; + margin-left: auto; + margin-right: auto; +} + +.ui.placeholder.segment .column .button, +.ui.placeholder.segment .column .field, +.ui.placeholder.segment .column textarea, +.ui.placeholder.segment .column > .ui.input { + max-width: 15rem; + margin-left: auto; + margin-right: auto; +} + +.ui.placeholder.segment > .inline { + align-self: center; +} + +.ui.placeholder.segment > .inline > .button { + display: inline-block; + width: auto; + margin: 0px 0.35714286rem 0px 0px; +} + +.ui.placeholder.segment > .inline > .button:last-child { + margin-right: 0px; +} + +/*------------------- + Piled +--------------------*/ + +.ui.piled.segments, +.ui.piled.segment { + margin: 3em 0em; + box-shadow: ''; + z-index: auto; +} + +.ui.piled.segment:first-child { + margin-top: 0em; +} + +.ui.piled.segment:last-child { + margin-bottom: 0em; +} + +.ui.piled.segments:after, +.ui.piled.segments:before, +.ui.piled.segment:after, +.ui.piled.segment:before { + background-color: #FFFFFF; + visibility: visible; + content: ''; + display: block; + height: 100%; + left: 0px; + position: absolute; + width: 100%; + border: 1px solid rgba(34, 36, 38, 0.15); + box-shadow: ''; +} + +.ui.piled.segments:before, +.ui.piled.segment:before { + transform: rotate(-1.2deg); + top: 0; + z-index: -2; +} + +.ui.piled.segments:after, +.ui.piled.segment:after { + transform: rotate(1.2deg); + top: 0; + z-index: -1; +} + +/* Piled Attached */ + +.ui[class*="top attached"].piled.segment { + margin-top: 3em; + margin-bottom: 0em; +} + +.ui.piled.segment[class*="top attached"]:first-child { + margin-top: 0em; +} + +.ui.piled.segment[class*="bottom attached"] { + margin-top: 0em; + margin-bottom: 3em; +} + +.ui.piled.segment[class*="bottom attached"]:last-child { + margin-bottom: 0em; +} + +/*------------------- + Stacked +--------------------*/ + +.ui.stacked.segment { + padding-bottom: 1.4em; +} + +.ui.stacked.segments:before, +.ui.stacked.segments:after, +.ui.stacked.segment:before, +.ui.stacked.segment:after { + content: ''; + position: absolute; + bottom: -3px; + left: 0%; + border-top: 1px solid rgba(34, 36, 38, 0.15); + background: rgba(0, 0, 0, 0.03); + width: 100%; + height: 6px; + visibility: visible; +} + +.ui.stacked.segments:before, +.ui.stacked.segment:before { + display: none; +} + +/* Add additional page */ + +.ui.tall.stacked.segments:before, +.ui.tall.stacked.segment:before { + display: block; + bottom: 0px; +} + +/* Inverted */ + +.ui.stacked.inverted.segments:before, +.ui.stacked.inverted.segments:after, +.ui.stacked.inverted.segment:before, +.ui.stacked.inverted.segment:after { + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(34, 36, 38, 0.35); +} + +/*------------------- + Padded +--------------------*/ + +.ui.padded.segment { + padding: 1.5em; +} + +.ui[class*="very padded"].segment { + padding: 3em; +} + +/* Padded vertical */ + +.ui.padded.segment.vertical.segment, +.ui[class*="very padded"].vertical.segment { + padding-left: 0px; + padding-right: 0px; +} + +/*------------------- + Compact +--------------------*/ + +.ui.compact.segment { + display: table; +} + +/* Compact Group */ + +.ui.compact.segments { + display: inline-flex; +} + +.ui.compact.segments .segment, +.ui.segments .compact.segment { + display: block; + flex: 0 1 auto; +} + +/*------------------- + Circular +--------------------*/ + +.ui.circular.segment { + display: table-cell; + padding: 2em; + text-align: center; + vertical-align: middle; + border-radius: 500em; +} + +/*------------------- + Raised +--------------------*/ + +.ui.raised.segments, +.ui.raised.segment { + box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15); +} + +/******************************* + Groups +*******************************/ + +/* Group */ + +.ui.segments { + flex-direction: column; + position: relative; + margin: 1rem 0em; + border: 1px solid rgba(34, 36, 38, 0.15); + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15); + border-radius: 0.28571429rem; +} + +.ui.segments:first-child { + margin-top: 0em; +} + +.ui.segments:last-child { + margin-bottom: 0em; +} + +/* Nested Segment */ + +.ui.segments > .segment { + top: 0px; + bottom: 0px; + border-radius: 0px; + margin: 0em; + width: auto; + box-shadow: none; + border: none; + border-top: 1px solid rgba(34, 36, 38, 0.15); +} + +.ui.segments:not(.horizontal) > .segment:first-child { + border-top: none; + margin-top: 0em; + bottom: 0px; + margin-bottom: 0em; + top: 0px; + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +/* Bottom */ + +.ui.segments:not(.horizontal) > .segment:last-child { + top: 0px; + bottom: 0px; + margin-top: 0em; + margin-bottom: 0em; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none; + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +/* Only */ + +.ui.segments:not(.horizontal) > .segment:only-child { + border-radius: 0.28571429rem; +} + +/* Nested Group */ + +.ui.segments > .ui.segments { + border-top: 1px solid rgba(34, 36, 38, 0.15); + margin: 1rem 1rem; +} + +.ui.segments > .segments:first-child { + border-top: none; +} + +.ui.segments > .segment + .segments:not(.horizontal) { + margin-top: 0em; +} + +/* Horizontal Group */ + +.ui.horizontal.segments { + display: flex; + flex-direction: row; + background-color: transparent; + border-radius: 0px; + padding: 0em; + background-color: #FFFFFF; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15); + margin: 1rem 0em; + border-radius: 0.28571429rem; + border: 1px solid rgba(34, 36, 38, 0.15); +} + +/* Nested Horizontal Group */ + +.ui.segments > .horizontal.segments { + margin: 0em; + background-color: transparent; + border-radius: 0px; + border: none; + box-shadow: none; + border-top: 1px solid rgba(34, 36, 38, 0.15); +} + +/* Horizontal Segment */ + +.ui.horizontal.segments > .segment { + flex: 1 1 auto; + -ms-flex: 1 1 0px; + /* Solves #2550 MS Flex */ + margin: 0em; + min-width: 0px; + background-color: transparent; + border-radius: 0px; + border: none; + box-shadow: none; + border-left: 1px solid rgba(34, 36, 38, 0.15); +} + +/* Border Fixes */ + +.ui.segments > .horizontal.segments:first-child { + border-top: none; +} + +.ui.horizontal.segments > .segment:first-child { + border-left: none; +} + +/******************************* + States +*******************************/ + +/*-------------- + Disabled +---------------*/ + +.ui.disabled.segment { + opacity: 0.45; + color: rgba(40, 40, 40, 0.3); +} + +/*-------------- + Loading +---------------*/ + +.ui.loading.segment { + position: relative; + cursor: default; + pointer-events: none; + text-shadow: none !important; + color: transparent !important; + transition: all 0s linear; +} + +.ui.loading.segment:before { + position: absolute; + content: ''; + top: 0%; + left: 0%; + background: rgba(255, 255, 255, 0.8); + width: 100%; + height: 100%; + border-radius: 0.28571429rem; + z-index: 100; +} + +.ui.loading.segment:after { + position: absolute; + content: ''; + top: 50%; + left: 50%; + margin: -1.5em 0em 0em -1.5em; + width: 3em; + height: 3em; + -webkit-animation: segment-spin 0.6s linear; + animation: segment-spin 0.6s linear; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + border-radius: 500rem; + border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1); + border-style: solid; + border-width: 0.2em; + box-shadow: 0px 0px 0px 1px transparent; + visibility: visible; + z-index: 101; +} + +@-webkit-keyframes segment-spin { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } +} + +@keyframes segment-spin { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } +} + +/******************************* + Variations +*******************************/ + +/*------------------- + Basic +--------------------*/ + +.ui.basic.segment { + background: none transparent; + box-shadow: none; + border: none; + border-radius: 0px; +} + +/*------------------- + Clearing +--------------------*/ + +.ui.clearing.segment:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +/*------------------- + Colors +--------------------*/ + +/* Red */ + +.ui.red.segment:not(.inverted) { + border-top: 2px solid #DB2828 !important; +} + +.ui.inverted.red.segment { + background-color: #DB2828 !important; + color: #FFFFFF !important; +} + +/* Orange */ + +.ui.orange.segment:not(.inverted) { + border-top: 2px solid #F2711C !important; +} + +.ui.inverted.orange.segment { + background-color: #F2711C !important; + color: #FFFFFF !important; +} + +/* Yellow */ + +.ui.yellow.segment:not(.inverted) { + border-top: 2px solid #FBBD08 !important; +} + +.ui.inverted.yellow.segment { + background-color: #FBBD08 !important; + color: #FFFFFF !important; +} + +/* Olive */ + +.ui.olive.segment:not(.inverted) { + border-top: 2px solid #B5CC18 !important; +} + +.ui.inverted.olive.segment { + background-color: #B5CC18 !important; + color: #FFFFFF !important; +} + +/* Green */ + +.ui.green.segment:not(.inverted) { + border-top: 2px solid #21BA45 !important; +} + +.ui.inverted.green.segment { + background-color: #21BA45 !important; + color: #FFFFFF !important; +} + +/* Teal */ + +.ui.teal.segment:not(.inverted) { + border-top: 2px solid #00B5AD !important; +} + +.ui.inverted.teal.segment { + background-color: #00B5AD !important; + color: #FFFFFF !important; +} + +/* Blue */ + +.ui.blue.segment:not(.inverted) { + border-top: 2px solid #2185D0 !important; +} + +.ui.inverted.blue.segment { + background-color: #2185D0 !important; + color: #FFFFFF !important; +} + +/* Violet */ + +.ui.violet.segment:not(.inverted) { + border-top: 2px solid #6435C9 !important; +} + +.ui.inverted.violet.segment { + background-color: #6435C9 !important; + color: #FFFFFF !important; +} + +/* Purple */ + +.ui.purple.segment:not(.inverted) { + border-top: 2px solid #A333C8 !important; +} + +.ui.inverted.purple.segment { + background-color: #A333C8 !important; + color: #FFFFFF !important; +} + +/* Pink */ + +.ui.pink.segment:not(.inverted) { + border-top: 2px solid #E03997 !important; +} + +.ui.inverted.pink.segment { + background-color: #E03997 !important; + color: #FFFFFF !important; +} + +/* Brown */ + +.ui.brown.segment:not(.inverted) { + border-top: 2px solid #A5673F !important; +} + +.ui.inverted.brown.segment { + background-color: #A5673F !important; + color: #FFFFFF !important; +} + +/* Grey */ + +.ui.grey.segment:not(.inverted) { + border-top: 2px solid #767676 !important; +} + +.ui.inverted.grey.segment { + background-color: #767676 !important; + color: #FFFFFF !important; +} + +/* Black */ + +.ui.black.segment:not(.inverted) { + border-top: 2px solid #1B1C1D !important; +} + +.ui.inverted.black.segment { + background-color: #1B1C1D !important; + color: #FFFFFF !important; +} + +/*------------------- + Aligned +--------------------*/ + +.ui[class*="left aligned"].segment { + text-align: left; +} + +.ui[class*="right aligned"].segment { + text-align: right; +} + +.ui[class*="center aligned"].segment { + text-align: center; +} + +/*------------------- + Floated +--------------------*/ + +.ui.floated.segment, +.ui[class*="left floated"].segment { + float: left; + margin-right: 1em; +} + +.ui[class*="right floated"].segment { + float: right; + margin-left: 1em; +} + +/*------------------- + Inverted +--------------------*/ + +.ui.inverted.segment { + border: none; + box-shadow: none; +} + +.ui.inverted.segment, +.ui.primary.inverted.segment { + background: #1B1C1D; + color: rgba(255, 255, 255, 0.9); +} + +/* Nested */ + +.ui.inverted.segment .segment { + color: rgba(0, 0, 0, 0.87); +} + +.ui.inverted.segment .inverted.segment { + color: rgba(255, 255, 255, 0.9); +} + +/* Attached */ + +.ui.inverted.attached.segment { + border-color: #555555; +} + +/*------------------- + Emphasis +--------------------*/ + +/* Secondary */ + +.ui.secondary.segment { + background: #F3F4F5; + color: rgba(0, 0, 0, 0.6); +} + +.ui.secondary.inverted.segment { + background: #4c4f52 linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%); + color: rgba(255, 255, 255, 0.8); +} + +/* Tertiary */ + +.ui.tertiary.segment { + background: #DCDDDE; + color: rgba(0, 0, 0, 0.6); +} + +.ui.tertiary.inverted.segment { + background: #717579 linear-gradient(rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 100%); + color: rgba(255, 255, 255, 0.8); +} + +/*------------------- + Attached +--------------------*/ + +/* Middle */ + +.ui.attached.segment { + top: 0px; + bottom: 0px; + border-radius: 0px; + margin: 0em -1px; + width: calc(100% - (-1px * 2)); + max-width: calc(100% - (-1px * 2)); + box-shadow: none; + border: 1px solid #D4D4D5; +} + +.ui.attached:not(.message) + .ui.attached.segment:not(.top) { + border-top: none; +} + +/* Top */ + +.ui[class*="top attached"].segment { + bottom: 0px; + margin-bottom: 0em; + top: 0px; + margin-top: 1rem; + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +.ui.segment[class*="top attached"]:first-child { + margin-top: 0em; +} + +/* Bottom */ + +.ui.segment[class*="bottom attached"] { + bottom: 0px; + margin-top: 0em; + top: 0px; + margin-bottom: 1rem; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none; + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +.ui.segment[class*="bottom attached"]:last-child { + margin-bottom: 0em; +} + +/*------------------- + Size +--------------------*/ + +.ui.mini.segments .segment, +.ui.mini.segment { + font-size: 0.78571429rem; +} + +.ui.tiny.segments .segment, +.ui.tiny.segment { + font-size: 0.85714286rem; +} + +.ui.small.segments .segment, +.ui.small.segment { + font-size: 0.92857143rem; +} + +.ui.segments .segment, +.ui.segment { + font-size: 1rem; +} + +.ui.large.segments .segment, +.ui.large.segment { + font-size: 1.14285714rem; +} + +.ui.big.segments .segment, +.ui.big.segment { + font-size: 1.28571429rem; +} + +.ui.huge.segments .segment, +.ui.huge.segment { + font-size: 1.42857143rem; +} + +.ui.massive.segments .segment, +.ui.massive.segment { + font-size: 1.71428571rem; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Step + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Plural +*******************************/ + +.ui.steps { + display: inline-flex; + flex-direction: row; + align-items: stretch; + margin: 1em 0em; + background: ''; + box-shadow: none; + line-height: 1.14285714em; + border-radius: 0.28571429rem; + border: 1px solid rgba(34, 36, 38, 0.15); +} + +/* First Steps */ + +.ui.steps:first-child { + margin-top: 0em; +} + +/* Last Steps */ + +.ui.steps:last-child { + margin-bottom: 0em; +} + +/******************************* + Singular +*******************************/ + +.ui.steps .step { + position: relative; + display: flex; + flex: 1 0 auto; + flex-wrap: wrap; + flex-direction: row; + vertical-align: middle; + align-items: center; + justify-content: center; + margin: 0em 0em; + padding: 1.14285714em 2em; + background: #FFFFFF; + color: rgba(0, 0, 0, 0.87); + box-shadow: none; + border-radius: 0em; + border: none; + border-right: 1px solid rgba(34, 36, 38, 0.15); + transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease; +} + +/* Arrow */ + +.ui.steps .step:after { + display: none; + position: absolute; + z-index: 2; + content: ''; + top: 50%; + right: 0%; + border: medium none; + background-color: #FFFFFF; + width: 1.14285714em; + height: 1.14285714em; + border-style: solid; + border-color: rgba(34, 36, 38, 0.15); + border-width: 0px 1px 1px 0px; + transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease; + transform: translateY(-50%) translateX(50%) rotate(-45deg); +} + +/* First Step */ + +.ui.steps .step:first-child { + padding-left: 2em; + border-radius: 0.28571429rem 0em 0em 0.28571429rem; +} + +/* Last Step */ + +.ui.steps .step:last-child { + border-radius: 0em 0.28571429rem 0.28571429rem 0em; +} + +.ui.steps .step:last-child { + border-right: none; + margin-right: 0em; +} + +/* Only Step */ + +.ui.steps .step:only-child { + border-radius: 0.28571429rem; +} + +/******************************* + Content +*******************************/ + +/* Title */ + +.ui.steps .step .title { + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-size: 1.14285714em; + font-weight: bold; +} + +.ui.steps .step > .title { + width: 100%; +} + +/* Description */ + +.ui.steps .step .description { + font-weight: normal; + font-size: 0.92857143em; + color: rgba(0, 0, 0, 0.87); +} + +.ui.steps .step > .description { + width: 100%; +} + +.ui.steps .step .title ~ .description { + margin-top: 0.25em; +} + +/* Icon */ + +.ui.steps .step > .icon { + line-height: 1; + font-size: 2.5em; + margin: 0em 1rem 0em 0em; +} + +.ui.steps .step > .icon, +.ui.steps .step > .icon ~ .content { + display: block; + flex: 0 1 auto; + align-self: middle; +} + +.ui.steps .step > .icon ~ .content { + flex-grow: 1 0 auto; +} + +/* Horizontal Icon */ + +.ui.steps:not(.vertical) .step > .icon { + width: auto; +} + +/* Link */ + +.ui.steps .link.step, +.ui.steps a.step { + cursor: pointer; +} + +/******************************* + Types +*******************************/ + +/*-------------- + Ordered +---------------*/ + +.ui.ordered.steps { + counter-reset: ordered; +} + +.ui.ordered.steps .step:before { + display: block; + position: static; + text-align: center; + content: counters(ordered, "."); + align-self: middle; + margin-right: 1rem; + font-size: 2.5em; + counter-increment: ordered; + font-family: inherit; + font-weight: bold; +} + +.ui.ordered.steps .step > * { + display: block; + align-self: middle; +} + +/*-------------- + Vertical +---------------*/ + +.ui.vertical.steps { + display: inline-flex; + flex-direction: column; + overflow: visible; +} + +.ui.vertical.steps .step { + justify-content: flex-start; + border-radius: 0em; + padding: 1.14285714em 2em; + border-right: none; + border-bottom: 1px solid rgba(34, 36, 38, 0.15); +} + +.ui.vertical.steps .step:first-child { + padding: 1.14285714em 2em; + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +.ui.vertical.steps .step:last-child { + border-bottom: none; + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +.ui.vertical.steps .step:only-child { + border-radius: 0.28571429rem; +} + +/* Arrow */ + +.ui.vertical.steps .step:after { + display: none; +} + +.ui.vertical.steps .step:after { + top: 50%; + right: 0%; + border-width: 0px 1px 1px 0px; +} + +.ui.vertical.steps .step:after { + display: none; +} + +.ui.vertical.steps .active.step:after { + display: block; +} + +.ui.vertical.steps .step:last-child:after { + display: none; +} + +.ui.vertical.steps .active.step:last-child:after { + display: block; +} + +/*--------------- + Responsive +----------------*/ + +/* Mobile (Default) */ + +@media only screen and (max-width: 767px) { + .ui.steps:not(.unstackable) { + display: inline-flex; + overflow: visible; + flex-direction: column; + } + + .ui.steps:not(.unstackable) .step { + width: 100% !important; + flex-direction: column; + border-radius: 0em; + padding: 1.14285714em 2em; + } + + .ui.steps:not(.unstackable) .step:first-child { + padding: 1.14285714em 2em; + border-radius: 0.28571429rem 0.28571429rem 0em 0em; + } + + .ui.steps:not(.unstackable) .step:last-child { + border-radius: 0em 0em 0.28571429rem 0.28571429rem; + } + + /* Arrow */ + + .ui.steps:not(.unstackable) .step:after { + display: none !important; + } + + /* Content */ + + .ui.steps:not(.unstackable) .step .content { + text-align: center; + } + + /* Icon */ + + .ui.steps:not(.unstackable) .step > .icon, + .ui.ordered.steps:not(.unstackable) .step:before { + margin: 0em 0em 1rem 0em; + } +} + +/******************************* + States +*******************************/ + +/* Link Hover */ + +.ui.steps .link.step:hover::after, +.ui.steps .link.step:hover, +.ui.steps a.step:hover::after, +.ui.steps a.step:hover { + background: #F9FAFB; + color: rgba(0, 0, 0, 0.8); +} + +/* Link Down */ + +.ui.steps .link.step:active::after, +.ui.steps .link.step:active, +.ui.steps a.step:active::after, +.ui.steps a.step:active { + background: #F3F4F5; + color: rgba(0, 0, 0, 0.9); +} + +/* Active */ + +.ui.steps .step.active { + cursor: auto; + background: #F3F4F5; +} + +.ui.steps .step.active:after { + background: #F3F4F5; +} + +.ui.steps .step.active .title { + color: #4183C4; +} + +.ui.ordered.steps .step.active:before, +.ui.steps .active.step .icon { + color: rgba(0, 0, 0, 0.85); +} + +/* Active Arrow */ + +.ui.steps .step:after { + display: block; +} + +.ui.steps .active.step:after { + display: block; +} + +.ui.steps .step:last-child:after { + display: none; +} + +.ui.steps .active.step:last-child:after { + display: none; +} + +/* Active Hover */ + +.ui.steps .link.active.step:hover::after, +.ui.steps .link.active.step:hover, +.ui.steps a.active.step:hover::after, +.ui.steps a.active.step:hover { + cursor: pointer; + background: #DCDDDE; + color: rgba(0, 0, 0, 0.87); +} + +/* Completed */ + +.ui.steps .step.completed > .icon:before, +.ui.ordered.steps .step.completed:before { + color: #21BA45; +} + +/* Disabled */ + +.ui.steps .disabled.step { + cursor: auto; + background: #FFFFFF; + pointer-events: none; +} + +.ui.steps .disabled.step, +.ui.steps .disabled.step .title, +.ui.steps .disabled.step .description { + color: rgba(40, 40, 40, 0.3); +} + +.ui.steps .disabled.step:after { + background: #FFFFFF; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Stackable +---------------*/ + +/* Tablet Or Below */ + +@media only screen and (max-width: 991px) { + .ui[class*="tablet stackable"].steps { + display: inline-flex; + overflow: visible; + flex-direction: column; + } + + /* Steps */ + + .ui[class*="tablet stackable"].steps .step { + flex-direction: column; + border-radius: 0em; + padding: 1.14285714em 2em; + } + + .ui[class*="tablet stackable"].steps .step:first-child { + padding: 1.14285714em 2em; + border-radius: 0.28571429rem 0.28571429rem 0em 0em; + } + + .ui[class*="tablet stackable"].steps .step:last-child { + border-radius: 0em 0em 0.28571429rem 0.28571429rem; + } + + /* Arrow */ + + .ui[class*="tablet stackable"].steps .step:after { + display: none !important; + } + + /* Content */ + + .ui[class*="tablet stackable"].steps .step .content { + text-align: center; + } + + /* Icon */ + + .ui[class*="tablet stackable"].steps .step > .icon, + .ui[class*="tablet stackable"].ordered.steps .step:before { + margin: 0em 0em 1rem 0em; + } +} + +/*-------------- + Fluid +---------------*/ + +/* Fluid */ + +.ui.fluid.steps { + display: flex; + width: 100%; +} + +/*-------------- + Attached +---------------*/ + +/* Top */ + +.ui.attached.steps { + width: calc(100% + (--1px * 2)) !important; + margin: 0em -1px 0; + max-width: calc(100% + (--1px * 2)); + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +.ui.attached.steps .step:first-child { + border-radius: 0.28571429rem 0em 0em 0em; +} + +.ui.attached.steps .step:last-child { + border-radius: 0em 0.28571429rem 0em 0em; +} + +/* Bottom */ + +.ui.bottom.attached.steps { + margin: 0 -1px 0em; + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +.ui.bottom.attached.steps .step:first-child { + border-radius: 0em 0em 0em 0.28571429rem; +} + +.ui.bottom.attached.steps .step:last-child { + border-radius: 0em 0em 0.28571429rem 0em; +} + +/*------------------- + Evenly Divided +--------------------*/ + +.ui.one.steps, +.ui.two.steps, +.ui.three.steps, +.ui.four.steps, +.ui.five.steps, +.ui.six.steps, +.ui.seven.steps, +.ui.eight.steps { + width: 100%; +} + +.ui.one.steps > .step, +.ui.two.steps > .step, +.ui.three.steps > .step, +.ui.four.steps > .step, +.ui.five.steps > .step, +.ui.six.steps > .step, +.ui.seven.steps > .step, +.ui.eight.steps > .step { + flex-wrap: nowrap; +} + +.ui.one.steps > .step { + width: 100%; +} + +.ui.two.steps > .step { + width: 50%; +} + +.ui.three.steps > .step { + width: 33.333%; +} + +.ui.four.steps > .step { + width: 25%; +} + +.ui.five.steps > .step { + width: 20%; +} + +.ui.six.steps > .step { + width: 16.666%; +} + +.ui.seven.steps > .step { + width: 14.285%; +} + +.ui.eight.steps > .step { + width: 12.5%; +} + +/*------------------- + Sizes +--------------------*/ + +.ui.mini.steps .step, +.ui.mini.step { + font-size: 0.78571429rem; +} + +.ui.tiny.steps .step, +.ui.tiny.step { + font-size: 0.85714286rem; +} + +.ui.small.steps .step, +.ui.small.step { + font-size: 0.92857143rem; +} + +.ui.steps .step, +.ui.step { + font-size: 1rem; +} + +.ui.large.steps .step, +.ui.large.step { + font-size: 1.14285714rem; +} + +.ui.big.steps .step, +.ui.big.step { + font-size: 1.28571429rem; +} + +.ui.huge.steps .step, +.ui.huge.step { + font-size: 1.42857143rem; +} + +.ui.massive.steps .step, +.ui.massive.step { + font-size: 1.71428571rem; +} + +/******************************* + Theme Overrides +*******************************/ + +@font-face { + font-family: 'Step'; + src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAQNS/2oAWgMLAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAf//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADpAKYABUAHEAZDwEAAQFCAAIBAmoAAQABagAAAGEUFxQDEisBFAcBBiInASY0PwE2Mh8BATYyHwEWA6QP/iAQLBD+6g8PTBAsEKQBbhAsEEwPAhYWEP4gDw8BFhAsEEwQEKUBbxAQTBAAAAH//f+xA18DCwAMABJADwABAQpDAAAACwBEFRMCESsBFA4BIi4CPgEyHgEDWXLG6MhuBnq89Lp+AV51xHR0xOrEdHTEAAAAAAEAAAABAADDeRpdXw889QALA+gAAAAAzzWYjQAAAADPNWBN//3/sQOkAwsAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP/3A6QAAQAAAAAAAAAAAAAAAAAAAAMD6AAAA+gAAANZAAAAAAAAADgAWwABAAAAAwAWAAEAAAAAAAIABgATAG4AAAAtCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAQIBAwljaGVja21hcmsGY2lyY2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgML/7EDC/+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAoUAA4AAAAAEPQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPeFJAWNtYXAAAAGIAAAAOgAAAUrQEhm3Y3Z0IAAAAcQAAAAUAAAAHAZJ/5RmcGdtAAAB2AAABPkAAAmRigp4O2dhc3AAAAbUAAAACAAAAAgAAAAQZ2x5ZgAABtwAAACuAAAAtt9nBHZoZWFkAAAHjAAAADUAAAA2ASs8e2hoZWEAAAfEAAAAIAAAACQHUwNNaG10eAAAB+QAAAAMAAAADAspAABsb2NhAAAH8AAAAAgAAAAIADgAW21heHAAAAf4AAAAIAAAACAApgm8bmFtZQAACBgAAAF3AAACzcydGhxwb3N0AAAJkAAAACoAAAA7rr1AmHByZXAAAAm8AAAAVgAAAFaSoZr/eJxjYGTewTiBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeMHIHPQ/iyGKmZvBHyjMCJIDAPe9C2B4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/v8PUvCCAURLMELVAwEjG8OIBwBk5AavAAB4nGNgQANGDEbM3P83gjAAELQD4XicnVXZdtNWFJU8ZHASOmSgoA7X3DhQ68qEKRgwaSrFdiEdHAitBB2kDHTkncc+62uOQrtWH/m07n09JLR0rbYsls++R1tn2DrnRhwjKn0aiGvUoZKXA6msPZZK90lc13Uvj5UMBnFdthJPSZuonSRKat3sUC7xWOsqWSdYJ+PlIFZPVZ5noAziFB5lSUQbRBuplyZJ4onjJ4kWZxAfJUkgJaMQp9LIUEI1GsRS1aFM6dCr1xNx00DKRqMedVhU90PFJ8c1p9SsA0YqVznCFevVRr4bpwMve5DEOsGzrYcxHnisfpQqkIqR6cg/dkpOlIaBVHHUoVbi6DCTX/eRTCrNQKaMYkWl7oG43f102xYxPXQ6vi5KlUaqurnOKJrt0fGogygP2cbppNzQ2fbw5RlTVKtdcbPtQGYNXErJbHSfRAAdJlLj6QFONZwCqRn1R8XZ588BEslclKo8VTKHegOZMzt7cTHtbiersnCknwcyb3Z2452HQ6dXh3/R+hdM4cxHj+Jifj5C+lBqfiJOJKVGWMzyp4YfcVcgQrkxiAsXyuBThDl0RdrZZl3jtTH2hs/5SqlhPQna6KP4fgr9TiQrHGdRo/VInM1j13Wt3GdQS7W7Fzsyr0OVIu7vCwuuM+eEYZ4WC1VfnvneBTT/Bohn/EDeNIVL+5YpSrRvm6JMu2iKCu0SVKVdNsUU7YoppmnPmmKG9h1TzNKeMzLj/8vc55H7HN7xkJv2XeSmfQ+5ad9HbtoPkJtWITdtHblpLyA3rUZu2lWjOnYEGgZpF1IVQdA0svph3Fab9UDWjDR8aWDyLmLI+upER521tcofxX914gsHcmmip7siF5viLq/bFj483e6rj5pG3bDV+MaR8jAeRnocmtBZ+c3hv+1N3S6a7jKqMugBFUwKwABl7UAC0zrbCaT1mqf48gdgXIZ4zkpDtVSfO4am7+V5X/exOfG+x+3GLrdcd3kJWdYNcmP28N9SZKrrH+UtrVQnR6wrJ49VaxhDKrwour6SlHu0tRu/KKmy8l6U1srnk5CbPYMbQlu27mGwI0xpyiUeXlOlKD3UUo6yQyxvKco84JSLC1qGxLgOdQ9qa8TpoXoYGwshhqG0vRBwSCldFd+0ynfxHqtr2Oj4xRXh6XpyEhGf4ir7UfBU10b96A7avGbdMoMpVaqn+4xPsa/b9lFZaaSOsxe3VAfXNOsaORXTT+Rr4HRvOGjdAz1UfDRBI1U1x+jGKGM0ljXl3wR0MVZ+w2jVYvs93E+dpFWsuUuY7JsT9+C0u/0q+7WcW0bW/dcGvW3kip8jMb8tCvw7B2K3ZA3UO5OBGAvIWdAYxhYmdxiug23EbfY/Jqf/34aFRXJXOxq7eerD1ZNRJXfZ8rjLTXZZ16M2R9VOGvsIjS0PN+bY4XIstsRgQbb+wf8x7gF3aVEC4NDIZZiI2nShnurh6h6rsW04VxIBds2x43QAegAuQd8cu9bzCYD13CPnLsB9cgh2yCH4lByCz8i5BfA5OQRfkEMwIIdgl5w7AA/IIXhIDsEeOQSPyNkE+JIcgq/IIYjJIUjIuQ3wmByCJ+QQfE0OwTdGrk5k/pYH2QD6zqKbQKmdGhzaOGRGrk3Y+zxY9oFFZB9aROqRkesT6lMeLPV7i0j9wSJSfzRyY0L9iQdL/dkiUn+xiNRnxpeZIymvDp7zjg7+BJfqrV4AAAAAAQAB//8AD3icY2BkAALmJUwzGEQZZBwk+RkZGBmdGJgYmbIYgMwsoGSiiLgIs5A2owg7I5uSOqOaiT2jmZE8I5gQY17C/09BQEfg3yt+fh8gvYQxD0j68DOJiQn8U+DnZxQDcQUEljLmCwBpBgbG/3//b2SOZ+Zm4GEQcuAH2sblDLSEm8FFVJhJEGgLH6OSHpMdo5EcI3Nk0bEXJ/LYqvZ82VXHGFd6pKTkyCsQwQAAq+QkqAAAeJxjYGRgYADiw5VSsfH8Nl8ZuJlfAEUYzpvO6IXQCb7///7fyLyEmRvI5WBgAokCAFb/DJAAAAB4nGNgZGBgDvqfxRDF/IKB4f935iUMQBEUwAwAi5YFpgPoAAAD6AAAA1kAAAAAAAAAOABbAAEAAAADABYAAQAAAAAAAgAGABMAbgAAAC0JkQAAAAB4nHWQy2rCQBSG//HSi0JbWui2sypKabxgN4IgWHTTbqS4LTHGJBIzMhkFX6Pv0IfpS/RZ+puMpShNmMx3vjlz5mQAXOMbAvnzxJGzwBmjnAs4Rc9ykf7Zcon8YrmMKt4sn9C/W67gAYHlKm7wwQqidM5ogU/LAlfi0nIBF+LOcpH+0XKJ3LNcxq14tXxC71muYCJSy1Xci6+BWm11FIRG1gZ12W62OnK6lYoqStxYumsTKp3KvpyrxPhxrBxPLfc89oN17Op9uJ8nvk4jlciW09yrkZ/42jX+bFc93QRtY+ZyrtVSDm2GXGm18D3jhMasuo3G3/MwgMIKW2hEvKoQBhI12jrnNppooUOaMkMyM8+KkMBFTONizR1htpIy7nPMGSW0PjNisgOP3+WRH5MC7o9ZRR+tHsYT0u6MKPOSfTns7jBrREqyTDezs9/eU2x4WpvWcNeuS511JTE8qCF5H7u1BY1H72S3Ymi7aPD95/9+AN1fhEsAeJxjYGKAAC4G7ICZgYGRiZGZMzkjNTk7N7Eomy05syg5J5WBAQBE1QZBAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA) format('woff'); +} + +.ui.steps .step.completed > .icon:before, +.ui.ordered.steps .step.completed:before { + font-family: 'Step'; + content: '\e800'; + /* '' */ +} + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Breadcrumb + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Breadcrumb +*******************************/ + +.ui.breadcrumb { + line-height: 1; + display: inline-block; + margin: 0em 0em; + vertical-align: middle; +} + +.ui.breadcrumb:first-child { + margin-top: 0em; +} + +.ui.breadcrumb:last-child { + margin-bottom: 0em; +} + +/******************************* + Content +*******************************/ + +/* Divider */ + +.ui.breadcrumb .divider { + display: inline-block; + opacity: 0.7; + margin: 0em 0.21428571rem 0em; + font-size: 0.92857143em; + color: rgba(0, 0, 0, 0.4); + vertical-align: baseline; +} + +/* Link */ + +.ui.breadcrumb a { + color: #4183C4; +} + +.ui.breadcrumb a:hover { + color: #1e70bf; +} + +/* Icon Divider */ + +.ui.breadcrumb .icon.divider { + font-size: 0.85714286em; + vertical-align: baseline; +} + +/* Section */ + +.ui.breadcrumb a.section { + cursor: pointer; +} + +.ui.breadcrumb .section { + display: inline-block; + margin: 0em; + padding: 0em; +} + +/* Loose Coupling */ + +.ui.breadcrumb.segment { + display: inline-block; + padding: 0.78571429em 1em; +} + +/******************************* + States +*******************************/ + +.ui.breadcrumb .active.section { + font-weight: bold; +} + +/******************************* + Variations +*******************************/ + +.ui.mini.breadcrumb { + font-size: 0.78571429rem; +} + +.ui.tiny.breadcrumb { + font-size: 0.85714286rem; +} + +.ui.small.breadcrumb { + font-size: 0.92857143rem; +} + +.ui.breadcrumb { + font-size: 1rem; +} + +.ui.large.breadcrumb { + font-size: 1.14285714rem; +} + +.ui.big.breadcrumb { + font-size: 1.28571429rem; +} + +.ui.huge.breadcrumb { + font-size: 1.42857143rem; +} + +.ui.massive.breadcrumb { + font-size: 1.71428571rem; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Form + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Elements +*******************************/ + +/*-------------------- + Form +---------------------*/ + +.ui.form { + position: relative; + max-width: 100%; +} + +/*-------------------- + Content +---------------------*/ + +.ui.form > p { + margin: 1em 0em; +} + +/*-------------------- + Field +---------------------*/ + +.ui.form .field { + clear: both; + margin: 0em 0em 1em; +} + +.ui.form .field:last-child, +.ui.form .fields:last-child .field { + margin-bottom: 0em; +} + +.ui.form .fields .field { + clear: both; + margin: 0em; +} + +/*-------------------- + Labels +---------------------*/ + +.ui.form .field > label { + display: block; + margin: 0em 0em 0.28571429rem 0em; + color: rgba(0, 0, 0, 0.87); + font-size: 0.92857143em; + font-weight: bold; + text-transform: none; +} + +/*-------------------- + Standard Inputs +---------------------*/ + +.ui.form textarea, +.ui.form input:not([type]), +.ui.form input[type="date"], +.ui.form input[type="datetime-local"], +.ui.form input[type="email"], +.ui.form input[type="number"], +.ui.form input[type="password"], +.ui.form input[type="search"], +.ui.form input[type="tel"], +.ui.form input[type="time"], +.ui.form input[type="text"], +.ui.form input[type="file"], +.ui.form input[type="url"] { + width: 100%; + vertical-align: top; +} + +/* Set max height on unusual input */ + +.ui.form ::-webkit-datetime-edit, +.ui.form ::-webkit-inner-spin-button { + height: 1.21428571em; +} + +.ui.form input:not([type]), +.ui.form input[type="date"], +.ui.form input[type="datetime-local"], +.ui.form input[type="email"], +.ui.form input[type="number"], +.ui.form input[type="password"], +.ui.form input[type="search"], +.ui.form input[type="tel"], +.ui.form input[type="time"], +.ui.form input[type="text"], +.ui.form input[type="file"], +.ui.form input[type="url"] { + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + margin: 0em; + outline: none; + -webkit-appearance: none; + tap-highlight-color: rgba(255, 255, 255, 0); + line-height: 1.21428571em; + padding: 0.67857143em 1em; + font-size: 1em; + background: #FFFFFF; + border: 1px solid rgba(34, 36, 38, 0.15); + color: rgba(0, 0, 0, 0.87); + border-radius: 0.28571429rem; + box-shadow: 0em 0em 0em 0em transparent inset; + transition: color 0.1s ease, border-color 0.1s ease; +} + +/* Text Area */ + +.ui.form textarea { + margin: 0em; + -webkit-appearance: none; + tap-highlight-color: rgba(255, 255, 255, 0); + padding: 0.78571429em 1em; + background: #FFFFFF; + border: 1px solid rgba(34, 36, 38, 0.15); + outline: none; + color: rgba(0, 0, 0, 0.87); + border-radius: 0.28571429rem; + box-shadow: 0em 0em 0em 0em transparent inset; + transition: color 0.1s ease, border-color 0.1s ease; + font-size: 1em; + line-height: 1.2857; + resize: vertical; +} + +.ui.form textarea:not([rows]) { + height: 12em; + min-height: 8em; + max-height: 24em; +} + +.ui.form textarea, +.ui.form input[type="checkbox"] { + vertical-align: top; +} + +/*-------------------------- + Input w/ attached Button +---------------------------*/ + +.ui.form input.attached { + width: auto; +} + +/*-------------------- + Basic Select +---------------------*/ + +.ui.form select { + display: block; + height: auto; + width: 100%; + background: #FFFFFF; + border: 1px solid rgba(34, 36, 38, 0.15); + border-radius: 0.28571429rem; + box-shadow: 0em 0em 0em 0em transparent inset; + padding: 0.62em 1em; + color: rgba(0, 0, 0, 0.87); + transition: color 0.1s ease, border-color 0.1s ease; +} + +/*-------------------- + Dropdown +---------------------*/ + +/* Block */ + +.ui.form .field > .selection.dropdown { + width: 100%; +} + +.ui.form .field > .selection.dropdown > .dropdown.icon { + float: right; +} + +/* Inline */ + +.ui.form .inline.fields .field > .selection.dropdown, +.ui.form .inline.field > .selection.dropdown { + width: auto; +} + +.ui.form .inline.fields .field > .selection.dropdown > .dropdown.icon, +.ui.form .inline.field > .selection.dropdown > .dropdown.icon { + float: none; +} + +/*-------------------- + UI Input +---------------------*/ + +/* Block */ + +.ui.form .field .ui.input, +.ui.form .fields .field .ui.input, +.ui.form .wide.field .ui.input { + width: 100%; +} + +/* Inline */ + +.ui.form .inline.fields .field:not(.wide) .ui.input, +.ui.form .inline.field:not(.wide) .ui.input { + width: auto; + vertical-align: middle; +} + +/* Auto Input */ + +.ui.form .fields .field .ui.input input, +.ui.form .field .ui.input input { + width: auto; +} + +/* Full Width Input */ + +.ui.form .ten.fields .ui.input input, +.ui.form .nine.fields .ui.input input, +.ui.form .eight.fields .ui.input input, +.ui.form .seven.fields .ui.input input, +.ui.form .six.fields .ui.input input, +.ui.form .five.fields .ui.input input, +.ui.form .four.fields .ui.input input, +.ui.form .three.fields .ui.input input, +.ui.form .two.fields .ui.input input, +.ui.form .wide.field .ui.input input { + flex: 1 0 auto; + width: 0px; +} + +/*-------------------- + Types of Messages +---------------------*/ + +.ui.form .success.message, +.ui.form .warning.message, +.ui.form .error.message { + display: none; +} + +/* Assumptions */ + +.ui.form .message:first-child { + margin-top: 0px; +} + +/*-------------------- + Validation Prompt +---------------------*/ + +.ui.form .field .prompt.label { + white-space: normal; + background: #FFFFFF !important; + border: 1px solid #E0B4B4 !important; + color: #9F3A38 !important; +} + +.ui.form .inline.fields .field .prompt, +.ui.form .inline.field .prompt { + vertical-align: top; + margin: -0.25em 0em -0.5em 0.5em; +} + +.ui.form .inline.fields .field .prompt:before, +.ui.form .inline.field .prompt:before { + border-width: 0px 0px 1px 1px; + bottom: auto; + right: auto; + top: 50%; + left: 0em; +} + +/******************************* + States +*******************************/ + +/*-------------------- + Autofilled +---------------------*/ + +.ui.form .field.field input:-webkit-autofill { + box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important; + border-color: #E5DFA1 !important; +} + +/* Focus */ + +.ui.form .field.field input:-webkit-autofill:focus { + box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important; + border-color: #D5C315 !important; +} + +/* Error */ + +.ui.form .error.error input:-webkit-autofill { + box-shadow: 0px 0px 0px 100px #FFFAF0 inset !important; + border-color: #E0B4B4 !important; +} + +/*-------------------- + Placeholder +---------------------*/ + +/* browsers require these rules separate */ + +.ui.form ::-webkit-input-placeholder { + color: rgba(191, 191, 191, 0.87); +} + +.ui.form :-ms-input-placeholder { + color: rgba(191, 191, 191, 0.87) !important; +} + +.ui.form ::-moz-placeholder { + color: rgba(191, 191, 191, 0.87); +} + +.ui.form :focus::-webkit-input-placeholder { + color: rgba(115, 115, 115, 0.87); +} + +.ui.form :focus:-ms-input-placeholder { + color: rgba(115, 115, 115, 0.87) !important; +} + +.ui.form :focus::-moz-placeholder { + color: rgba(115, 115, 115, 0.87); +} + +/* Error Placeholder */ + +.ui.form .error ::-webkit-input-placeholder { + color: #e7bdbc; +} + +.ui.form .error :-ms-input-placeholder { + color: #e7bdbc !important; +} + +.ui.form .error ::-moz-placeholder { + color: #e7bdbc; +} + +.ui.form .error :focus::-webkit-input-placeholder { + color: #da9796; +} + +.ui.form .error :focus:-ms-input-placeholder { + color: #da9796 !important; +} + +.ui.form .error :focus::-moz-placeholder { + color: #da9796; +} + +/*-------------------- + Focus +---------------------*/ + +.ui.form input:not([type]):focus, +.ui.form input[type="date"]:focus, +.ui.form input[type="datetime-local"]:focus, +.ui.form input[type="email"]:focus, +.ui.form input[type="number"]:focus, +.ui.form input[type="password"]:focus, +.ui.form input[type="search"]:focus, +.ui.form input[type="tel"]:focus, +.ui.form input[type="time"]:focus, +.ui.form input[type="text"]:focus, +.ui.form input[type="file"]:focus, +.ui.form input[type="url"]:focus { + color: rgba(0, 0, 0, 0.95); + border-color: #85B7D9; + border-radius: 0.28571429rem; + background: #FFFFFF; + box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset; +} + +.ui.form textarea:focus { + color: rgba(0, 0, 0, 0.95); + border-color: #85B7D9; + border-radius: 0.28571429rem; + background: #FFFFFF; + box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset; + -webkit-appearance: none; +} + +/*-------------------- + Success +---------------------*/ + +/* On Form */ + +.ui.form.success .success.message:not(:empty) { + display: block; +} + +.ui.form.success .compact.success.message:not(:empty) { + display: inline-block; +} + +.ui.form.success .icon.success.message:not(:empty) { + display: flex; +} + +/*-------------------- + Warning +---------------------*/ + +/* On Form */ + +.ui.form.warning .warning.message:not(:empty) { + display: block; +} + +.ui.form.warning .compact.warning.message:not(:empty) { + display: inline-block; +} + +.ui.form.warning .icon.warning.message:not(:empty) { + display: flex; +} + +/*-------------------- + Error +---------------------*/ + +/* On Form */ + +.ui.form.error .error.message:not(:empty) { + display: block; +} + +.ui.form.error .compact.error.message:not(:empty) { + display: inline-block; +} + +.ui.form.error .icon.error.message:not(:empty) { + display: flex; +} + +/* On Field(s) */ + +.ui.form .fields.error .field label, +.ui.form .field.error label, +.ui.form .fields.error .field .input, +.ui.form .field.error .input { + color: #9F3A38; +} + +.ui.form .fields.error .field .corner.label, +.ui.form .field.error .corner.label { + border-color: #9F3A38; + color: #FFFFFF; +} + +.ui.form .fields.error .field textarea, +.ui.form .fields.error .field select, +.ui.form .fields.error .field input:not([type]), +.ui.form .fields.error .field input[type="date"], +.ui.form .fields.error .field input[type="datetime-local"], +.ui.form .fields.error .field input[type="email"], +.ui.form .fields.error .field input[type="number"], +.ui.form .fields.error .field input[type="password"], +.ui.form .fields.error .field input[type="search"], +.ui.form .fields.error .field input[type="tel"], +.ui.form .fields.error .field input[type="time"], +.ui.form .fields.error .field input[type="text"], +.ui.form .fields.error .field input[type="file"], +.ui.form .fields.error .field input[type="url"], +.ui.form .field.error textarea, +.ui.form .field.error select, +.ui.form .field.error input:not([type]), +.ui.form .field.error input[type="date"], +.ui.form .field.error input[type="datetime-local"], +.ui.form .field.error input[type="email"], +.ui.form .field.error input[type="number"], +.ui.form .field.error input[type="password"], +.ui.form .field.error input[type="search"], +.ui.form .field.error input[type="tel"], +.ui.form .field.error input[type="time"], +.ui.form .field.error input[type="text"], +.ui.form .field.error input[type="file"], +.ui.form .field.error input[type="url"] { + background: #FFF6F6; + border-color: #E0B4B4; + color: #9F3A38; + border-radius: ''; + box-shadow: none; +} + +.ui.form .field.error textarea:focus, +.ui.form .field.error select:focus, +.ui.form .field.error input:not([type]):focus, +.ui.form .field.error input[type="date"]:focus, +.ui.form .field.error input[type="datetime-local"]:focus, +.ui.form .field.error input[type="email"]:focus, +.ui.form .field.error input[type="number"]:focus, +.ui.form .field.error input[type="password"]:focus, +.ui.form .field.error input[type="search"]:focus, +.ui.form .field.error input[type="tel"]:focus, +.ui.form .field.error input[type="time"]:focus, +.ui.form .field.error input[type="text"]:focus, +.ui.form .field.error input[type="file"]:focus, +.ui.form .field.error input[type="url"]:focus { + background: #FFF6F6; + border-color: #E0B4B4; + color: #9F3A38; + -webkit-appearance: none; + box-shadow: none; +} + +/* Preserve Native Select Stylings */ + +.ui.form .field.error select { + -webkit-appearance: menulist-button; +} + +/*------------------ + Dropdown Error +--------------------*/ + +.ui.form .fields.error .field .ui.dropdown, +.ui.form .fields.error .field .ui.dropdown .item, +.ui.form .field.error .ui.dropdown, +.ui.form .field.error .ui.dropdown .text, +.ui.form .field.error .ui.dropdown .item { + background: #FFF6F6; + color: #9F3A38; +} + +.ui.form .fields.error .field .ui.dropdown, +.ui.form .field.error .ui.dropdown { + border-color: #E0B4B4 !important; +} + +.ui.form .fields.error .field .ui.dropdown:hover, +.ui.form .field.error .ui.dropdown:hover { + border-color: #E0B4B4 !important; +} + +.ui.form .fields.error .field .ui.dropdown:hover .menu, +.ui.form .field.error .ui.dropdown:hover .menu { + border-color: #E0B4B4; +} + +.ui.form .fields.error .field .ui.multiple.selection.dropdown > .label, +.ui.form .field.error .ui.multiple.selection.dropdown > .label { + background-color: #EACBCB; + color: #9F3A38; +} + +/* Hover */ + +.ui.form .fields.error .field .ui.dropdown .menu .item:hover, +.ui.form .field.error .ui.dropdown .menu .item:hover { + background-color: #FBE7E7; +} + +/* Selected */ + +.ui.form .fields.error .field .ui.dropdown .menu .selected.item, +.ui.form .field.error .ui.dropdown .menu .selected.item { + background-color: #FBE7E7; +} + +/* Active */ + +.ui.form .fields.error .field .ui.dropdown .menu .active.item, +.ui.form .field.error .ui.dropdown .menu .active.item { + background-color: #FDCFCF !important; +} + +/*-------------------- + Checkbox Error +---------------------*/ + +.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label, +.ui.form .field.error .checkbox:not(.toggle):not(.slider) label, +.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box, +.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box { + color: #9F3A38; +} + +.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before, +.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before, +.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before, +.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before { + background: #FFF6F6; + border-color: #E0B4B4; +} + +.ui.form .fields.error .field .checkbox label:after, +.ui.form .field.error .checkbox label:after, +.ui.form .fields.error .field .checkbox .box:after, +.ui.form .field.error .checkbox .box:after { + color: #9F3A38; +} + +/*-------------------- + Disabled +---------------------*/ + +.ui.form .disabled.fields .field, +.ui.form .disabled.field, +.ui.form .field :disabled { + pointer-events: none; + opacity: 0.45; +} + +.ui.form .field.disabled > label, +.ui.form .fields.disabled > label { + opacity: 0.45; +} + +.ui.form .field.disabled :disabled { + opacity: 1; +} + +/*-------------- + Loading +---------------*/ + +.ui.loading.form { + position: relative; + cursor: default; + pointer-events: none; +} + +.ui.loading.form:before { + position: absolute; + content: ''; + top: 0%; + left: 0%; + background: rgba(255, 255, 255, 0.8); + width: 100%; + height: 100%; + z-index: 100; +} + +.ui.loading.form:after { + position: absolute; + content: ''; + top: 50%; + left: 50%; + margin: -1.5em 0em 0em -1.5em; + width: 3em; + height: 3em; + -webkit-animation: form-spin 0.6s linear; + animation: form-spin 0.6s linear; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + border-radius: 500rem; + border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1); + border-style: solid; + border-width: 0.2em; + box-shadow: 0px 0px 0px 1px transparent; + visibility: visible; + z-index: 101; +} + +@-webkit-keyframes form-spin { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } +} + +@keyframes form-spin { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } +} + +/******************************* + Element Types +*******************************/ + +/*-------------------- + Required Field +---------------------*/ + +.ui.form .required.fields:not(.grouped) > .field > label:after, +.ui.form .required.fields.grouped > label:after, +.ui.form .required.field > label:after, +.ui.form .required.fields:not(.grouped) > .field > .checkbox:after, +.ui.form .required.field > .checkbox:after { + margin: -0.2em 0em 0em 0.2em; + content: '*'; + color: #DB2828; +} + +.ui.form .required.fields:not(.grouped) > .field > label:after, +.ui.form .required.fields.grouped > label:after, +.ui.form .required.field > label:after { + display: inline-block; + vertical-align: top; +} + +.ui.form .required.fields:not(.grouped) > .field > .checkbox:after, +.ui.form .required.field > .checkbox:after { + position: absolute; + top: 0%; + left: 100%; +} + +/******************************* + Variations +*******************************/ + +/*-------------------- + Inverted Colors +---------------------*/ + +.ui.inverted.form label, +.ui.form .inverted.segment label, +.ui.form .inverted.segment .ui.checkbox label, +.ui.form .inverted.segment .ui.checkbox .box, +.ui.inverted.form .ui.checkbox label, +.ui.inverted.form .ui.checkbox .box, +.ui.inverted.form .inline.fields > label, +.ui.inverted.form .inline.fields .field > label, +.ui.inverted.form .inline.fields .field > p, +.ui.inverted.form .inline.field > label, +.ui.inverted.form .inline.field > p { + color: rgba(255, 255, 255, 0.9); +} + +/* Inverted Field */ + +.ui.inverted.form input:not([type]), +.ui.inverted.form input[type="date"], +.ui.inverted.form input[type="datetime-local"], +.ui.inverted.form input[type="email"], +.ui.inverted.form input[type="number"], +.ui.inverted.form input[type="password"], +.ui.inverted.form input[type="search"], +.ui.inverted.form input[type="tel"], +.ui.inverted.form input[type="time"], +.ui.inverted.form input[type="text"], +.ui.inverted.form input[type="file"], +.ui.inverted.form input[type="url"] { + background: #FFFFFF; + border-color: rgba(255, 255, 255, 0.1); + color: rgba(0, 0, 0, 0.87); + box-shadow: none; +} + +/*-------------------- + Field Groups +---------------------*/ + +/* Grouped Vertically */ + +.ui.form .grouped.fields { + display: block; + margin: 0em 0em 1em; +} + +.ui.form .grouped.fields:last-child { + margin-bottom: 0em; +} + +.ui.form .grouped.fields > label { + margin: 0em 0em 0.28571429rem 0em; + color: rgba(0, 0, 0, 0.87); + font-size: 0.92857143em; + font-weight: bold; + text-transform: none; +} + +.ui.form .grouped.fields .field, +.ui.form .grouped.inline.fields .field { + display: block; + margin: 0.5em 0em; + padding: 0em; +} + +/*-------------------- + Fields +---------------------*/ + +/* Split fields */ + +.ui.form .fields { + display: flex; + flex-direction: row; + margin: 0em -0.5em 1em; +} + +.ui.form .fields > .field { + flex: 0 1 auto; + padding-left: 0.5em; + padding-right: 0.5em; +} + +.ui.form .fields > .field:first-child { + border-left: none; + box-shadow: none; +} + +/* Other Combinations */ + +.ui.form .two.fields > .fields, +.ui.form .two.fields > .field { + width: 50%; +} + +.ui.form .three.fields > .fields, +.ui.form .three.fields > .field { + width: 33.33333333%; +} + +.ui.form .four.fields > .fields, +.ui.form .four.fields > .field { + width: 25%; +} + +.ui.form .five.fields > .fields, +.ui.form .five.fields > .field { + width: 20%; +} + +.ui.form .six.fields > .fields, +.ui.form .six.fields > .field { + width: 16.66666667%; +} + +.ui.form .seven.fields > .fields, +.ui.form .seven.fields > .field { + width: 14.28571429%; +} + +.ui.form .eight.fields > .fields, +.ui.form .eight.fields > .field { + width: 12.5%; +} + +.ui.form .nine.fields > .fields, +.ui.form .nine.fields > .field { + width: 11.11111111%; +} + +.ui.form .ten.fields > .fields, +.ui.form .ten.fields > .field { + width: 10%; +} + +/* Swap to full width on mobile */ + +@media only screen and (max-width: 767px) { + .ui.form .fields { + flex-wrap: wrap; + } + + .ui[class*="equal width"].form:not(.unstackable) .fields > .field, + .ui.form:not(.unstackable) [class*="equal width"].fields:not(.unstackable) > .field, + .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .fields, + .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .field, + .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .fields, + .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .field, + .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .fields, + .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .field, + .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .fields, + .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .field, + .ui.form:not(.unstackable) .six.fields:not(.unstackable) > .fields, + .ui.form:not(.unstackable) .six.fields:not(.unstackable) > .field, + .ui.form:not(.unstackable) .seven.fields:not(.unstackable) > .fields, + .ui.form:not(.unstackable) .seven.fields:not(.unstackable) > .field, + .ui.form:not(.unstackable) .eight.fields:not(.unstackable) > .fields, + .ui.form:not(.unstackable) .eight.fields:not(.unstackable) > .field, + .ui.form:not(.unstackable) .nine.fields:not(.unstackable) > .fields, + .ui.form:not(.unstackable) .nine.fields:not(.unstackable) > .field, + .ui.form:not(.unstackable) .ten.fields:not(.unstackable) > .fields, + .ui.form:not(.unstackable) .ten.fields:not(.unstackable) > .field { + width: 100% !important; + margin: 0em 0em 1em; + } +} + +/* Sizing Combinations */ + +.ui.form .fields .wide.field { + width: 6.25%; + padding-left: 0.5em; + padding-right: 0.5em; +} + +.ui.form .one.wide.field { + width: 6.25% !important; +} + +.ui.form .two.wide.field { + width: 12.5% !important; +} + +.ui.form .three.wide.field { + width: 18.75% !important; +} + +.ui.form .four.wide.field { + width: 25% !important; +} + +.ui.form .five.wide.field { + width: 31.25% !important; +} + +.ui.form .six.wide.field { + width: 37.5% !important; +} + +.ui.form .seven.wide.field { + width: 43.75% !important; +} + +.ui.form .eight.wide.field { + width: 50% !important; +} + +.ui.form .nine.wide.field { + width: 56.25% !important; +} + +.ui.form .ten.wide.field { + width: 62.5% !important; +} + +.ui.form .eleven.wide.field { + width: 68.75% !important; +} + +.ui.form .twelve.wide.field { + width: 75% !important; +} + +.ui.form .thirteen.wide.field { + width: 81.25% !important; +} + +.ui.form .fourteen.wide.field { + width: 87.5% !important; +} + +.ui.form .fifteen.wide.field { + width: 93.75% !important; +} + +.ui.form .sixteen.wide.field { + width: 100% !important; +} + +/* Swap to full width on mobile */ + +@media only screen and (max-width: 767px) { + .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .fields, + .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .field, + .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .fields, + .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .field, + .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .fields, + .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .field, + .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .fields, + .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .two.wide.field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .three.wide.field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .four.wide.field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .five.wide.field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .six.wide.field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .seven.wide.field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .eight.wide.field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .nine.wide.field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .ten.wide.field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .eleven.wide.field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .twelve.wide.field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .thirteen.wide.field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .fourteen.wide.field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .fifteen.wide.field, + .ui.form:not(.unstackable) .fields:not(.unstackable) > .sixteen.wide.field { + width: 100% !important; + } + + .ui.form .fields { + margin-bottom: 0em; + } +} + +/*-------------------- + Equal Width +---------------------*/ + +.ui[class*="equal width"].form .fields > .field, +.ui.form [class*="equal width"].fields > .field { + width: 100%; + flex: 1 1 auto; +} + +/*-------------------- + Inline Fields +---------------------*/ + +.ui.form .inline.fields { + margin: 0em 0em 1em; + align-items: center; +} + +.ui.form .inline.fields .field { + margin: 0em; + padding: 0em 1em 0em 0em; +} + +/* Inline Label */ + +.ui.form .inline.fields > label, +.ui.form .inline.fields .field > label, +.ui.form .inline.fields .field > p, +.ui.form .inline.field > label, +.ui.form .inline.field > p { + display: inline-block; + width: auto; + margin-top: 0em; + margin-bottom: 0em; + vertical-align: baseline; + font-size: 0.92857143em; + font-weight: bold; + color: rgba(0, 0, 0, 0.87); + text-transform: none; +} + +/* Grouped Inline Label */ + +.ui.form .inline.fields > label { + margin: 0.035714em 1em 0em 0em; +} + +/* Inline Input */ + +.ui.form .inline.fields .field > input, +.ui.form .inline.fields .field > select, +.ui.form .inline.field > input, +.ui.form .inline.field > select { + display: inline-block; + width: auto; + margin-top: 0em; + margin-bottom: 0em; + vertical-align: middle; + font-size: 1em; +} + +/* Label */ + +.ui.form .inline.fields .field > :first-child, +.ui.form .inline.field > :first-child { + margin: 0em 0.85714286em 0em 0em; +} + +.ui.form .inline.fields .field > :only-child, +.ui.form .inline.field > :only-child { + margin: 0em; +} + +/* Wide */ + +.ui.form .inline.fields .wide.field { + display: flex; + align-items: center; +} + +.ui.form .inline.fields .wide.field > input, +.ui.form .inline.fields .wide.field > select { + width: 100%; +} + +/*-------------------- + Sizes +---------------------*/ + +.ui.mini.form { + font-size: 0.78571429rem; +} + +.ui.tiny.form { + font-size: 0.85714286rem; +} + +.ui.small.form { + font-size: 0.92857143rem; +} + +.ui.form { + font-size: 1rem; +} + +.ui.large.form { + font-size: 1.14285714rem; +} + +.ui.big.form { + font-size: 1.28571429rem; +} + +.ui.huge.form { + font-size: 1.42857143rem; +} + +.ui.massive.form { + font-size: 1.71428571rem; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Grid + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Standard +*******************************/ + +.ui.grid { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: stretch; + padding: 0em; +} + +/*---------------------- + Remove Gutters +-----------------------*/ + +.ui.grid { + margin-top: -1rem; + margin-bottom: -1rem; + margin-left: -1rem; + margin-right: -1rem; +} + +.ui.relaxed.grid { + margin-left: -1.5rem; + margin-right: -1.5rem; +} + +.ui[class*="very relaxed"].grid { + margin-left: -2.5rem; + margin-right: -2.5rem; +} + +/* Preserve Rows Spacing on Consecutive Grids */ + +.ui.grid + .grid { + margin-top: 1rem; +} + +/*------------------- + Columns +--------------------*/ + +/* Standard 16 column */ + +.ui.grid > .column:not(.row), +.ui.grid > .row > .column { + position: relative; + display: inline-block; + width: 6.25%; + padding-left: 1rem; + padding-right: 1rem; + vertical-align: top; +} + +.ui.grid > * { + padding-left: 1rem; + padding-right: 1rem; +} + +/*------------------- + Rows +--------------------*/ + +.ui.grid > .row { + position: relative; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: inherit; + align-items: stretch; + width: 100% !important; + padding: 0rem; + padding-top: 1rem; + padding-bottom: 1rem; +} + +/*------------------- + Columns +--------------------*/ + +/* Vertical padding when no rows */ + +.ui.grid > .column:not(.row) { + padding-top: 1rem; + padding-bottom: 1rem; +} + +.ui.grid > .row > .column { + margin-top: 0em; + margin-bottom: 0em; +} + +/*------------------- + Content +--------------------*/ + +.ui.grid > .row > img, +.ui.grid > .row > .column > img { + max-width: 100%; +} + +/*------------------- + Loose Coupling +--------------------*/ + +/* Collapse Margin on Consecutive Grid */ + +.ui.grid > .ui.grid:first-child { + margin-top: 0em; +} + +.ui.grid > .ui.grid:last-child { + margin-bottom: 0em; +} + +/* Segment inside Aligned Grid */ + +.ui.grid .aligned.row > .column > .segment:not(.compact):not(.attached), +.ui.aligned.grid .column > .segment:not(.compact):not(.attached) { + width: 100%; +} + +/* Align Dividers with Gutter */ + +.ui.grid .row + .ui.divider { + flex-grow: 1; + margin: 1rem 1rem; +} + +.ui.grid .column + .ui.vertical.divider { + height: calc(50% - (2rem / 2)); +} + +/* Remove Border on Last Horizontal Segment */ + +.ui.grid > .row > .column:last-child > .horizontal.segment, +.ui.grid > .column:last-child > .horizontal.segment { + box-shadow: none; +} + +/******************************* + Variations +*******************************/ + +/*----------------------- + Page Grid +-------------------------*/ + +@media only screen and (max-width: 767px) { + .ui.page.grid { + width: auto; + padding-left: 0em; + padding-right: 0em; + margin-left: 0em; + margin-right: 0em; + } +} + +@media only screen and (min-width: 768px) and (max-width: 991px) { + .ui.page.grid { + width: auto; + margin-left: 0em; + margin-right: 0em; + padding-left: 2em; + padding-right: 2em; + } +} + +@media only screen and (min-width: 992px) and (max-width: 1199px) { + .ui.page.grid { + width: auto; + margin-left: 0em; + margin-right: 0em; + padding-left: 3%; + padding-right: 3%; + } +} + +@media only screen and (min-width: 1200px) and (max-width: 1919px) { + .ui.page.grid { + width: auto; + margin-left: 0em; + margin-right: 0em; + padding-left: 15%; + padding-right: 15%; + } +} + +@media only screen and (min-width: 1920px) { + .ui.page.grid { + width: auto; + margin-left: 0em; + margin-right: 0em; + padding-left: 23%; + padding-right: 23%; + } +} + +/*------------------- + Column Count +--------------------*/ + +/* Assume full width with one column */ + +.ui.grid > .column:only-child, +.ui.grid > .row > .column:only-child { + width: 100%; +} + +/* Grid Based */ + +.ui[class*="one column"].grid > .row > .column, +.ui[class*="one column"].grid > .column:not(.row) { + width: 100%; +} + +.ui[class*="two column"].grid > .row > .column, +.ui[class*="two column"].grid > .column:not(.row) { + width: 50%; +} + +.ui[class*="three column"].grid > .row > .column, +.ui[class*="three column"].grid > .column:not(.row) { + width: 33.33333333%; +} + +.ui[class*="four column"].grid > .row > .column, +.ui[class*="four column"].grid > .column:not(.row) { + width: 25%; +} + +.ui[class*="five column"].grid > .row > .column, +.ui[class*="five column"].grid > .column:not(.row) { + width: 20%; +} + +.ui[class*="six column"].grid > .row > .column, +.ui[class*="six column"].grid > .column:not(.row) { + width: 16.66666667%; +} + +.ui[class*="seven column"].grid > .row > .column, +.ui[class*="seven column"].grid > .column:not(.row) { + width: 14.28571429%; +} + +.ui[class*="eight column"].grid > .row > .column, +.ui[class*="eight column"].grid > .column:not(.row) { + width: 12.5%; +} + +.ui[class*="nine column"].grid > .row > .column, +.ui[class*="nine column"].grid > .column:not(.row) { + width: 11.11111111%; +} + +.ui[class*="ten column"].grid > .row > .column, +.ui[class*="ten column"].grid > .column:not(.row) { + width: 10%; +} + +.ui[class*="eleven column"].grid > .row > .column, +.ui[class*="eleven column"].grid > .column:not(.row) { + width: 9.09090909%; +} + +.ui[class*="twelve column"].grid > .row > .column, +.ui[class*="twelve column"].grid > .column:not(.row) { + width: 8.33333333%; +} + +.ui[class*="thirteen column"].grid > .row > .column, +.ui[class*="thirteen column"].grid > .column:not(.row) { + width: 7.69230769%; +} + +.ui[class*="fourteen column"].grid > .row > .column, +.ui[class*="fourteen column"].grid > .column:not(.row) { + width: 7.14285714%; +} + +.ui[class*="fifteen column"].grid > .row > .column, +.ui[class*="fifteen column"].grid > .column:not(.row) { + width: 6.66666667%; +} + +.ui[class*="sixteen column"].grid > .row > .column, +.ui[class*="sixteen column"].grid > .column:not(.row) { + width: 6.25%; +} + +/* Row Based Overrides */ + +.ui.grid > [class*="one column"].row > .column { + width: 100% !important; +} + +.ui.grid > [class*="two column"].row > .column { + width: 50% !important; +} + +.ui.grid > [class*="three column"].row > .column { + width: 33.33333333% !important; +} + +.ui.grid > [class*="four column"].row > .column { + width: 25% !important; +} + +.ui.grid > [class*="five column"].row > .column { + width: 20% !important; +} + +.ui.grid > [class*="six column"].row > .column { + width: 16.66666667% !important; +} + +.ui.grid > [class*="seven column"].row > .column { + width: 14.28571429% !important; +} + +.ui.grid > [class*="eight column"].row > .column { + width: 12.5% !important; +} + +.ui.grid > [class*="nine column"].row > .column { + width: 11.11111111% !important; +} + +.ui.grid > [class*="ten column"].row > .column { + width: 10% !important; +} + +.ui.grid > [class*="eleven column"].row > .column { + width: 9.09090909% !important; +} + +.ui.grid > [class*="twelve column"].row > .column { + width: 8.33333333% !important; +} + +.ui.grid > [class*="thirteen column"].row > .column { + width: 7.69230769% !important; +} + +.ui.grid > [class*="fourteen column"].row > .column { + width: 7.14285714% !important; +} + +.ui.grid > [class*="fifteen column"].row > .column { + width: 6.66666667% !important; +} + +.ui.grid > [class*="sixteen column"].row > .column { + width: 6.25% !important; +} + +/* Celled Page */ + +.ui.celled.page.grid { + box-shadow: none; +} + +/*------------------- + Column Width +--------------------*/ + +/* Sizing Combinations */ + +.ui.grid > .row > [class*="one wide"].column, +.ui.grid > .column.row > [class*="one wide"].column, +.ui.grid > [class*="one wide"].column, +.ui.column.grid > [class*="one wide"].column { + width: 6.25% !important; +} + +.ui.grid > .row > [class*="two wide"].column, +.ui.grid > .column.row > [class*="two wide"].column, +.ui.grid > [class*="two wide"].column, +.ui.column.grid > [class*="two wide"].column { + width: 12.5% !important; +} + +.ui.grid > .row > [class*="three wide"].column, +.ui.grid > .column.row > [class*="three wide"].column, +.ui.grid > [class*="three wide"].column, +.ui.column.grid > [class*="three wide"].column { + width: 18.75% !important; +} + +.ui.grid > .row > [class*="four wide"].column, +.ui.grid > .column.row > [class*="four wide"].column, +.ui.grid > [class*="four wide"].column, +.ui.column.grid > [class*="four wide"].column { + width: 25% !important; +} + +.ui.grid > .row > [class*="five wide"].column, +.ui.grid > .column.row > [class*="five wide"].column, +.ui.grid > [class*="five wide"].column, +.ui.column.grid > [class*="five wide"].column { + width: 31.25% !important; +} + +.ui.grid > .row > [class*="six wide"].column, +.ui.grid > .column.row > [class*="six wide"].column, +.ui.grid > [class*="six wide"].column, +.ui.column.grid > [class*="six wide"].column { + width: 37.5% !important; +} + +.ui.grid > .row > [class*="seven wide"].column, +.ui.grid > .column.row > [class*="seven wide"].column, +.ui.grid > [class*="seven wide"].column, +.ui.column.grid > [class*="seven wide"].column { + width: 43.75% !important; +} + +.ui.grid > .row > [class*="eight wide"].column, +.ui.grid > .column.row > [class*="eight wide"].column, +.ui.grid > [class*="eight wide"].column, +.ui.column.grid > [class*="eight wide"].column { + width: 50% !important; +} + +.ui.grid > .row > [class*="nine wide"].column, +.ui.grid > .column.row > [class*="nine wide"].column, +.ui.grid > [class*="nine wide"].column, +.ui.column.grid > [class*="nine wide"].column { + width: 56.25% !important; +} + +.ui.grid > .row > [class*="ten wide"].column, +.ui.grid > .column.row > [class*="ten wide"].column, +.ui.grid > [class*="ten wide"].column, +.ui.column.grid > [class*="ten wide"].column { + width: 62.5% !important; +} + +.ui.grid > .row > [class*="eleven wide"].column, +.ui.grid > .column.row > [class*="eleven wide"].column, +.ui.grid > [class*="eleven wide"].column, +.ui.column.grid > [class*="eleven wide"].column { + width: 68.75% !important; +} + +.ui.grid > .row > [class*="twelve wide"].column, +.ui.grid > .column.row > [class*="twelve wide"].column, +.ui.grid > [class*="twelve wide"].column, +.ui.column.grid > [class*="twelve wide"].column { + width: 75% !important; +} + +.ui.grid > .row > [class*="thirteen wide"].column, +.ui.grid > .column.row > [class*="thirteen wide"].column, +.ui.grid > [class*="thirteen wide"].column, +.ui.column.grid > [class*="thirteen wide"].column { + width: 81.25% !important; +} + +.ui.grid > .row > [class*="fourteen wide"].column, +.ui.grid > .column.row > [class*="fourteen wide"].column, +.ui.grid > [class*="fourteen wide"].column, +.ui.column.grid > [class*="fourteen wide"].column { + width: 87.5% !important; +} + +.ui.grid > .row > [class*="fifteen wide"].column, +.ui.grid > .column.row > [class*="fifteen wide"].column, +.ui.grid > [class*="fifteen wide"].column, +.ui.column.grid > [class*="fifteen wide"].column { + width: 93.75% !important; +} + +.ui.grid > .row > [class*="sixteen wide"].column, +.ui.grid > .column.row > [class*="sixteen wide"].column, +.ui.grid > [class*="sixteen wide"].column, +.ui.column.grid > [class*="sixteen wide"].column { + width: 100% !important; +} + +/*---------------------- + Width per Device +-----------------------*/ + +/* Mobile Sizing Combinations */ + +@media only screen and (min-width: 320px) and (max-width: 767px) { + .ui.grid > .row > [class*="one wide mobile"].column, + .ui.grid > .column.row > [class*="one wide mobile"].column, + .ui.grid > [class*="one wide mobile"].column, + .ui.column.grid > [class*="one wide mobile"].column { + width: 6.25% !important; + } + + .ui.grid > .row > [class*="two wide mobile"].column, + .ui.grid > .column.row > [class*="two wide mobile"].column, + .ui.grid > [class*="two wide mobile"].column, + .ui.column.grid > [class*="two wide mobile"].column { + width: 12.5% !important; + } + + .ui.grid > .row > [class*="three wide mobile"].column, + .ui.grid > .column.row > [class*="three wide mobile"].column, + .ui.grid > [class*="three wide mobile"].column, + .ui.column.grid > [class*="three wide mobile"].column { + width: 18.75% !important; + } + + .ui.grid > .row > [class*="four wide mobile"].column, + .ui.grid > .column.row > [class*="four wide mobile"].column, + .ui.grid > [class*="four wide mobile"].column, + .ui.column.grid > [class*="four wide mobile"].column { + width: 25% !important; + } + + .ui.grid > .row > [class*="five wide mobile"].column, + .ui.grid > .column.row > [class*="five wide mobile"].column, + .ui.grid > [class*="five wide mobile"].column, + .ui.column.grid > [class*="five wide mobile"].column { + width: 31.25% !important; + } + + .ui.grid > .row > [class*="six wide mobile"].column, + .ui.grid > .column.row > [class*="six wide mobile"].column, + .ui.grid > [class*="six wide mobile"].column, + .ui.column.grid > [class*="six wide mobile"].column { + width: 37.5% !important; + } + + .ui.grid > .row > [class*="seven wide mobile"].column, + .ui.grid > .column.row > [class*="seven wide mobile"].column, + .ui.grid > [class*="seven wide mobile"].column, + .ui.column.grid > [class*="seven wide mobile"].column { + width: 43.75% !important; + } + + .ui.grid > .row > [class*="eight wide mobile"].column, + .ui.grid > .column.row > [class*="eight wide mobile"].column, + .ui.grid > [class*="eight wide mobile"].column, + .ui.column.grid > [class*="eight wide mobile"].column { + width: 50% !important; + } + + .ui.grid > .row > [class*="nine wide mobile"].column, + .ui.grid > .column.row > [class*="nine wide mobile"].column, + .ui.grid > [class*="nine wide mobile"].column, + .ui.column.grid > [class*="nine wide mobile"].column { + width: 56.25% !important; + } + + .ui.grid > .row > [class*="ten wide mobile"].column, + .ui.grid > .column.row > [class*="ten wide mobile"].column, + .ui.grid > [class*="ten wide mobile"].column, + .ui.column.grid > [class*="ten wide mobile"].column { + width: 62.5% !important; + } + + .ui.grid > .row > [class*="eleven wide mobile"].column, + .ui.grid > .column.row > [class*="eleven wide mobile"].column, + .ui.grid > [class*="eleven wide mobile"].column, + .ui.column.grid > [class*="eleven wide mobile"].column { + width: 68.75% !important; + } + + .ui.grid > .row > [class*="twelve wide mobile"].column, + .ui.grid > .column.row > [class*="twelve wide mobile"].column, + .ui.grid > [class*="twelve wide mobile"].column, + .ui.column.grid > [class*="twelve wide mobile"].column { + width: 75% !important; + } + + .ui.grid > .row > [class*="thirteen wide mobile"].column, + .ui.grid > .column.row > [class*="thirteen wide mobile"].column, + .ui.grid > [class*="thirteen wide mobile"].column, + .ui.column.grid > [class*="thirteen wide mobile"].column { + width: 81.25% !important; + } + + .ui.grid > .row > [class*="fourteen wide mobile"].column, + .ui.grid > .column.row > [class*="fourteen wide mobile"].column, + .ui.grid > [class*="fourteen wide mobile"].column, + .ui.column.grid > [class*="fourteen wide mobile"].column { + width: 87.5% !important; + } + + .ui.grid > .row > [class*="fifteen wide mobile"].column, + .ui.grid > .column.row > [class*="fifteen wide mobile"].column, + .ui.grid > [class*="fifteen wide mobile"].column, + .ui.column.grid > [class*="fifteen wide mobile"].column { + width: 93.75% !important; + } + + .ui.grid > .row > [class*="sixteen wide mobile"].column, + .ui.grid > .column.row > [class*="sixteen wide mobile"].column, + .ui.grid > [class*="sixteen wide mobile"].column, + .ui.column.grid > [class*="sixteen wide mobile"].column { + width: 100% !important; + } +} + +/* Tablet Sizing Combinations */ + +@media only screen and (min-width: 768px) and (max-width: 991px) { + .ui.grid > .row > [class*="one wide tablet"].column, + .ui.grid > .column.row > [class*="one wide tablet"].column, + .ui.grid > [class*="one wide tablet"].column, + .ui.column.grid > [class*="one wide tablet"].column { + width: 6.25% !important; + } + + .ui.grid > .row > [class*="two wide tablet"].column, + .ui.grid > .column.row > [class*="two wide tablet"].column, + .ui.grid > [class*="two wide tablet"].column, + .ui.column.grid > [class*="two wide tablet"].column { + width: 12.5% !important; + } + + .ui.grid > .row > [class*="three wide tablet"].column, + .ui.grid > .column.row > [class*="three wide tablet"].column, + .ui.grid > [class*="three wide tablet"].column, + .ui.column.grid > [class*="three wide tablet"].column { + width: 18.75% !important; + } + + .ui.grid > .row > [class*="four wide tablet"].column, + .ui.grid > .column.row > [class*="four wide tablet"].column, + .ui.grid > [class*="four wide tablet"].column, + .ui.column.grid > [class*="four wide tablet"].column { + width: 25% !important; + } + + .ui.grid > .row > [class*="five wide tablet"].column, + .ui.grid > .column.row > [class*="five wide tablet"].column, + .ui.grid > [class*="five wide tablet"].column, + .ui.column.grid > [class*="five wide tablet"].column { + width: 31.25% !important; + } + + .ui.grid > .row > [class*="six wide tablet"].column, + .ui.grid > .column.row > [class*="six wide tablet"].column, + .ui.grid > [class*="six wide tablet"].column, + .ui.column.grid > [class*="six wide tablet"].column { + width: 37.5% !important; + } + + .ui.grid > .row > [class*="seven wide tablet"].column, + .ui.grid > .column.row > [class*="seven wide tablet"].column, + .ui.grid > [class*="seven wide tablet"].column, + .ui.column.grid > [class*="seven wide tablet"].column { + width: 43.75% !important; + } + + .ui.grid > .row > [class*="eight wide tablet"].column, + .ui.grid > .column.row > [class*="eight wide tablet"].column, + .ui.grid > [class*="eight wide tablet"].column, + .ui.column.grid > [class*="eight wide tablet"].column { + width: 50% !important; + } + + .ui.grid > .row > [class*="nine wide tablet"].column, + .ui.grid > .column.row > [class*="nine wide tablet"].column, + .ui.grid > [class*="nine wide tablet"].column, + .ui.column.grid > [class*="nine wide tablet"].column { + width: 56.25% !important; + } + + .ui.grid > .row > [class*="ten wide tablet"].column, + .ui.grid > .column.row > [class*="ten wide tablet"].column, + .ui.grid > [class*="ten wide tablet"].column, + .ui.column.grid > [class*="ten wide tablet"].column { + width: 62.5% !important; + } + + .ui.grid > .row > [class*="eleven wide tablet"].column, + .ui.grid > .column.row > [class*="eleven wide tablet"].column, + .ui.grid > [class*="eleven wide tablet"].column, + .ui.column.grid > [class*="eleven wide tablet"].column { + width: 68.75% !important; + } + + .ui.grid > .row > [class*="twelve wide tablet"].column, + .ui.grid > .column.row > [class*="twelve wide tablet"].column, + .ui.grid > [class*="twelve wide tablet"].column, + .ui.column.grid > [class*="twelve wide tablet"].column { + width: 75% !important; + } + + .ui.grid > .row > [class*="thirteen wide tablet"].column, + .ui.grid > .column.row > [class*="thirteen wide tablet"].column, + .ui.grid > [class*="thirteen wide tablet"].column, + .ui.column.grid > [class*="thirteen wide tablet"].column { + width: 81.25% !important; + } + + .ui.grid > .row > [class*="fourteen wide tablet"].column, + .ui.grid > .column.row > [class*="fourteen wide tablet"].column, + .ui.grid > [class*="fourteen wide tablet"].column, + .ui.column.grid > [class*="fourteen wide tablet"].column { + width: 87.5% !important; + } + + .ui.grid > .row > [class*="fifteen wide tablet"].column, + .ui.grid > .column.row > [class*="fifteen wide tablet"].column, + .ui.grid > [class*="fifteen wide tablet"].column, + .ui.column.grid > [class*="fifteen wide tablet"].column { + width: 93.75% !important; + } + + .ui.grid > .row > [class*="sixteen wide tablet"].column, + .ui.grid > .column.row > [class*="sixteen wide tablet"].column, + .ui.grid > [class*="sixteen wide tablet"].column, + .ui.column.grid > [class*="sixteen wide tablet"].column { + width: 100% !important; + } +} + +/* Computer/Desktop Sizing Combinations */ + +@media only screen and (min-width: 992px) { + .ui.grid > .row > [class*="one wide computer"].column, + .ui.grid > .column.row > [class*="one wide computer"].column, + .ui.grid > [class*="one wide computer"].column, + .ui.column.grid > [class*="one wide computer"].column { + width: 6.25% !important; + } + + .ui.grid > .row > [class*="two wide computer"].column, + .ui.grid > .column.row > [class*="two wide computer"].column, + .ui.grid > [class*="two wide computer"].column, + .ui.column.grid > [class*="two wide computer"].column { + width: 12.5% !important; + } + + .ui.grid > .row > [class*="three wide computer"].column, + .ui.grid > .column.row > [class*="three wide computer"].column, + .ui.grid > [class*="three wide computer"].column, + .ui.column.grid > [class*="three wide computer"].column { + width: 18.75% !important; + } + + .ui.grid > .row > [class*="four wide computer"].column, + .ui.grid > .column.row > [class*="four wide computer"].column, + .ui.grid > [class*="four wide computer"].column, + .ui.column.grid > [class*="four wide computer"].column { + width: 25% !important; + } + + .ui.grid > .row > [class*="five wide computer"].column, + .ui.grid > .column.row > [class*="five wide computer"].column, + .ui.grid > [class*="five wide computer"].column, + .ui.column.grid > [class*="five wide computer"].column { + width: 31.25% !important; + } + + .ui.grid > .row > [class*="six wide computer"].column, + .ui.grid > .column.row > [class*="six wide computer"].column, + .ui.grid > [class*="six wide computer"].column, + .ui.column.grid > [class*="six wide computer"].column { + width: 37.5% !important; + } + + .ui.grid > .row > [class*="seven wide computer"].column, + .ui.grid > .column.row > [class*="seven wide computer"].column, + .ui.grid > [class*="seven wide computer"].column, + .ui.column.grid > [class*="seven wide computer"].column { + width: 43.75% !important; + } + + .ui.grid > .row > [class*="eight wide computer"].column, + .ui.grid > .column.row > [class*="eight wide computer"].column, + .ui.grid > [class*="eight wide computer"].column, + .ui.column.grid > [class*="eight wide computer"].column { + width: 50% !important; + } + + .ui.grid > .row > [class*="nine wide computer"].column, + .ui.grid > .column.row > [class*="nine wide computer"].column, + .ui.grid > [class*="nine wide computer"].column, + .ui.column.grid > [class*="nine wide computer"].column { + width: 56.25% !important; + } + + .ui.grid > .row > [class*="ten wide computer"].column, + .ui.grid > .column.row > [class*="ten wide computer"].column, + .ui.grid > [class*="ten wide computer"].column, + .ui.column.grid > [class*="ten wide computer"].column { + width: 62.5% !important; + } + + .ui.grid > .row > [class*="eleven wide computer"].column, + .ui.grid > .column.row > [class*="eleven wide computer"].column, + .ui.grid > [class*="eleven wide computer"].column, + .ui.column.grid > [class*="eleven wide computer"].column { + width: 68.75% !important; + } + + .ui.grid > .row > [class*="twelve wide computer"].column, + .ui.grid > .column.row > [class*="twelve wide computer"].column, + .ui.grid > [class*="twelve wide computer"].column, + .ui.column.grid > [class*="twelve wide computer"].column { + width: 75% !important; + } + + .ui.grid > .row > [class*="thirteen wide computer"].column, + .ui.grid > .column.row > [class*="thirteen wide computer"].column, + .ui.grid > [class*="thirteen wide computer"].column, + .ui.column.grid > [class*="thirteen wide computer"].column { + width: 81.25% !important; + } + + .ui.grid > .row > [class*="fourteen wide computer"].column, + .ui.grid > .column.row > [class*="fourteen wide computer"].column, + .ui.grid > [class*="fourteen wide computer"].column, + .ui.column.grid > [class*="fourteen wide computer"].column { + width: 87.5% !important; + } + + .ui.grid > .row > [class*="fifteen wide computer"].column, + .ui.grid > .column.row > [class*="fifteen wide computer"].column, + .ui.grid > [class*="fifteen wide computer"].column, + .ui.column.grid > [class*="fifteen wide computer"].column { + width: 93.75% !important; + } + + .ui.grid > .row > [class*="sixteen wide computer"].column, + .ui.grid > .column.row > [class*="sixteen wide computer"].column, + .ui.grid > [class*="sixteen wide computer"].column, + .ui.column.grid > [class*="sixteen wide computer"].column { + width: 100% !important; + } +} + +/* Large Monitor Sizing Combinations */ + +@media only screen and (min-width: 1200px) and (max-width: 1919px) { + .ui.grid > .row > [class*="one wide large screen"].column, + .ui.grid > .column.row > [class*="one wide large screen"].column, + .ui.grid > [class*="one wide large screen"].column, + .ui.column.grid > [class*="one wide large screen"].column { + width: 6.25% !important; + } + + .ui.grid > .row > [class*="two wide large screen"].column, + .ui.grid > .column.row > [class*="two wide large screen"].column, + .ui.grid > [class*="two wide large screen"].column, + .ui.column.grid > [class*="two wide large screen"].column { + width: 12.5% !important; + } + + .ui.grid > .row > [class*="three wide large screen"].column, + .ui.grid > .column.row > [class*="three wide large screen"].column, + .ui.grid > [class*="three wide large screen"].column, + .ui.column.grid > [class*="three wide large screen"].column { + width: 18.75% !important; + } + + .ui.grid > .row > [class*="four wide large screen"].column, + .ui.grid > .column.row > [class*="four wide large screen"].column, + .ui.grid > [class*="four wide large screen"].column, + .ui.column.grid > [class*="four wide large screen"].column { + width: 25% !important; + } + + .ui.grid > .row > [class*="five wide large screen"].column, + .ui.grid > .column.row > [class*="five wide large screen"].column, + .ui.grid > [class*="five wide large screen"].column, + .ui.column.grid > [class*="five wide large screen"].column { + width: 31.25% !important; + } + + .ui.grid > .row > [class*="six wide large screen"].column, + .ui.grid > .column.row > [class*="six wide large screen"].column, + .ui.grid > [class*="six wide large screen"].column, + .ui.column.grid > [class*="six wide large screen"].column { + width: 37.5% !important; + } + + .ui.grid > .row > [class*="seven wide large screen"].column, + .ui.grid > .column.row > [class*="seven wide large screen"].column, + .ui.grid > [class*="seven wide large screen"].column, + .ui.column.grid > [class*="seven wide large screen"].column { + width: 43.75% !important; + } + + .ui.grid > .row > [class*="eight wide large screen"].column, + .ui.grid > .column.row > [class*="eight wide large screen"].column, + .ui.grid > [class*="eight wide large screen"].column, + .ui.column.grid > [class*="eight wide large screen"].column { + width: 50% !important; + } + + .ui.grid > .row > [class*="nine wide large screen"].column, + .ui.grid > .column.row > [class*="nine wide large screen"].column, + .ui.grid > [class*="nine wide large screen"].column, + .ui.column.grid > [class*="nine wide large screen"].column { + width: 56.25% !important; + } + + .ui.grid > .row > [class*="ten wide large screen"].column, + .ui.grid > .column.row > [class*="ten wide large screen"].column, + .ui.grid > [class*="ten wide large screen"].column, + .ui.column.grid > [class*="ten wide large screen"].column { + width: 62.5% !important; + } + + .ui.grid > .row > [class*="eleven wide large screen"].column, + .ui.grid > .column.row > [class*="eleven wide large screen"].column, + .ui.grid > [class*="eleven wide large screen"].column, + .ui.column.grid > [class*="eleven wide large screen"].column { + width: 68.75% !important; + } + + .ui.grid > .row > [class*="twelve wide large screen"].column, + .ui.grid > .column.row > [class*="twelve wide large screen"].column, + .ui.grid > [class*="twelve wide large screen"].column, + .ui.column.grid > [class*="twelve wide large screen"].column { + width: 75% !important; + } + + .ui.grid > .row > [class*="thirteen wide large screen"].column, + .ui.grid > .column.row > [class*="thirteen wide large screen"].column, + .ui.grid > [class*="thirteen wide large screen"].column, + .ui.column.grid > [class*="thirteen wide large screen"].column { + width: 81.25% !important; + } + + .ui.grid > .row > [class*="fourteen wide large screen"].column, + .ui.grid > .column.row > [class*="fourteen wide large screen"].column, + .ui.grid > [class*="fourteen wide large screen"].column, + .ui.column.grid > [class*="fourteen wide large screen"].column { + width: 87.5% !important; + } + + .ui.grid > .row > [class*="fifteen wide large screen"].column, + .ui.grid > .column.row > [class*="fifteen wide large screen"].column, + .ui.grid > [class*="fifteen wide large screen"].column, + .ui.column.grid > [class*="fifteen wide large screen"].column { + width: 93.75% !important; + } + + .ui.grid > .row > [class*="sixteen wide large screen"].column, + .ui.grid > .column.row > [class*="sixteen wide large screen"].column, + .ui.grid > [class*="sixteen wide large screen"].column, + .ui.column.grid > [class*="sixteen wide large screen"].column { + width: 100% !important; + } +} + +/* Widescreen Sizing Combinations */ + +@media only screen and (min-width: 1920px) { + .ui.grid > .row > [class*="one wide widescreen"].column, + .ui.grid > .column.row > [class*="one wide widescreen"].column, + .ui.grid > [class*="one wide widescreen"].column, + .ui.column.grid > [class*="one wide widescreen"].column { + width: 6.25% !important; + } + + .ui.grid > .row > [class*="two wide widescreen"].column, + .ui.grid > .column.row > [class*="two wide widescreen"].column, + .ui.grid > [class*="two wide widescreen"].column, + .ui.column.grid > [class*="two wide widescreen"].column { + width: 12.5% !important; + } + + .ui.grid > .row > [class*="three wide widescreen"].column, + .ui.grid > .column.row > [class*="three wide widescreen"].column, + .ui.grid > [class*="three wide widescreen"].column, + .ui.column.grid > [class*="three wide widescreen"].column { + width: 18.75% !important; + } + + .ui.grid > .row > [class*="four wide widescreen"].column, + .ui.grid > .column.row > [class*="four wide widescreen"].column, + .ui.grid > [class*="four wide widescreen"].column, + .ui.column.grid > [class*="four wide widescreen"].column { + width: 25% !important; + } + + .ui.grid > .row > [class*="five wide widescreen"].column, + .ui.grid > .column.row > [class*="five wide widescreen"].column, + .ui.grid > [class*="five wide widescreen"].column, + .ui.column.grid > [class*="five wide widescreen"].column { + width: 31.25% !important; + } + + .ui.grid > .row > [class*="six wide widescreen"].column, + .ui.grid > .column.row > [class*="six wide widescreen"].column, + .ui.grid > [class*="six wide widescreen"].column, + .ui.column.grid > [class*="six wide widescreen"].column { + width: 37.5% !important; + } + + .ui.grid > .row > [class*="seven wide widescreen"].column, + .ui.grid > .column.row > [class*="seven wide widescreen"].column, + .ui.grid > [class*="seven wide widescreen"].column, + .ui.column.grid > [class*="seven wide widescreen"].column { + width: 43.75% !important; + } + + .ui.grid > .row > [class*="eight wide widescreen"].column, + .ui.grid > .column.row > [class*="eight wide widescreen"].column, + .ui.grid > [class*="eight wide widescreen"].column, + .ui.column.grid > [class*="eight wide widescreen"].column { + width: 50% !important; + } + + .ui.grid > .row > [class*="nine wide widescreen"].column, + .ui.grid > .column.row > [class*="nine wide widescreen"].column, + .ui.grid > [class*="nine wide widescreen"].column, + .ui.column.grid > [class*="nine wide widescreen"].column { + width: 56.25% !important; + } + + .ui.grid > .row > [class*="ten wide widescreen"].column, + .ui.grid > .column.row > [class*="ten wide widescreen"].column, + .ui.grid > [class*="ten wide widescreen"].column, + .ui.column.grid > [class*="ten wide widescreen"].column { + width: 62.5% !important; + } + + .ui.grid > .row > [class*="eleven wide widescreen"].column, + .ui.grid > .column.row > [class*="eleven wide widescreen"].column, + .ui.grid > [class*="eleven wide widescreen"].column, + .ui.column.grid > [class*="eleven wide widescreen"].column { + width: 68.75% !important; + } + + .ui.grid > .row > [class*="twelve wide widescreen"].column, + .ui.grid > .column.row > [class*="twelve wide widescreen"].column, + .ui.grid > [class*="twelve wide widescreen"].column, + .ui.column.grid > [class*="twelve wide widescreen"].column { + width: 75% !important; + } + + .ui.grid > .row > [class*="thirteen wide widescreen"].column, + .ui.grid > .column.row > [class*="thirteen wide widescreen"].column, + .ui.grid > [class*="thirteen wide widescreen"].column, + .ui.column.grid > [class*="thirteen wide widescreen"].column { + width: 81.25% !important; + } + + .ui.grid > .row > [class*="fourteen wide widescreen"].column, + .ui.grid > .column.row > [class*="fourteen wide widescreen"].column, + .ui.grid > [class*="fourteen wide widescreen"].column, + .ui.column.grid > [class*="fourteen wide widescreen"].column { + width: 87.5% !important; + } + + .ui.grid > .row > [class*="fifteen wide widescreen"].column, + .ui.grid > .column.row > [class*="fifteen wide widescreen"].column, + .ui.grid > [class*="fifteen wide widescreen"].column, + .ui.column.grid > [class*="fifteen wide widescreen"].column { + width: 93.75% !important; + } + + .ui.grid > .row > [class*="sixteen wide widescreen"].column, + .ui.grid > .column.row > [class*="sixteen wide widescreen"].column, + .ui.grid > [class*="sixteen wide widescreen"].column, + .ui.column.grid > [class*="sixteen wide widescreen"].column { + width: 100% !important; + } +} + +/*---------------------- + Centered +-----------------------*/ + +.ui.centered.grid, +.ui.centered.grid > .row, +.ui.grid > .centered.row { + text-align: center; + justify-content: center; +} + +.ui.centered.grid > .column:not(.aligned):not(.justified):not(.row), +.ui.centered.grid > .row > .column:not(.aligned):not(.justified), +.ui.grid .centered.row > .column:not(.aligned):not(.justified) { + text-align: left; +} + +.ui.grid > .centered.column, +.ui.grid > .row > .centered.column { + display: block; + margin-left: auto; + margin-right: auto; +} + +/*---------------------- + Relaxed +-----------------------*/ + +.ui.relaxed.grid > .column:not(.row), +.ui.relaxed.grid > .row > .column, +.ui.grid > .relaxed.row > .column { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.ui[class*="very relaxed"].grid > .column:not(.row), +.ui[class*="very relaxed"].grid > .row > .column, +.ui.grid > [class*="very relaxed"].row > .column { + padding-left: 2.5rem; + padding-right: 2.5rem; +} + +/* Coupling with UI Divider */ + +.ui.relaxed.grid .row + .ui.divider, +.ui.grid .relaxed.row + .ui.divider { + margin-left: 1.5rem; + margin-right: 1.5rem; +} + +.ui[class*="very relaxed"].grid .row + .ui.divider, +.ui.grid [class*="very relaxed"].row + .ui.divider { + margin-left: 2.5rem; + margin-right: 2.5rem; +} + +/*---------------------- + Padded +-----------------------*/ + +.ui.padded.grid:not(.vertically):not(.horizontally) { + margin: 0em !important; +} + +[class*="horizontally padded"].ui.grid { + margin-left: 0em !important; + margin-right: 0em !important; +} + +[class*="vertically padded"].ui.grid { + margin-top: 0em !important; + margin-bottom: 0em !important; +} + +/*---------------------- + "Floated" +-----------------------*/ + +.ui.grid [class*="left floated"].column { + margin-right: auto; +} + +.ui.grid [class*="right floated"].column { + margin-left: auto; +} + +/*---------------------- + Divided +-----------------------*/ + +.ui.divided.grid:not([class*="vertically divided"]) > .column:not(.row), +.ui.divided.grid:not([class*="vertically divided"]) > .row > .column { + box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15); +} + +/* Swap from padding to margin on columns to have dividers align */ + +.ui[class*="vertically divided"].grid > .column:not(.row), +.ui[class*="vertically divided"].grid > .row > .column { + margin-top: 1rem; + margin-bottom: 1rem; + padding-top: 0rem; + padding-bottom: 0rem; +} + +.ui[class*="vertically divided"].grid > .row { + margin-top: 0em; + margin-bottom: 0em; +} + +/* No divider on first column on row */ + +.ui.divided.grid:not([class*="vertically divided"]) > .column:first-child, +.ui.divided.grid:not([class*="vertically divided"]) > .row > .column:first-child { + box-shadow: none; +} + +/* No space on top of first row */ + +.ui[class*="vertically divided"].grid > .row:first-child > .column { + margin-top: 0em; +} + +/* Divided Row */ + +.ui.grid > .divided.row > .column { + box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15); +} + +.ui.grid > .divided.row > .column:first-child { + box-shadow: none; +} + +/* Vertically Divided */ + +.ui[class*="vertically divided"].grid > .row { + position: relative; +} + +.ui[class*="vertically divided"].grid > .row:before { + position: absolute; + content: ""; + top: 0em; + left: 0px; + width: calc(100% - 2rem); + height: 1px; + margin: 0% 1rem; + box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15); +} + +/* Padded Horizontally Divided */ + +[class*="horizontally padded"].ui.divided.grid, +.ui.padded.divided.grid:not(.vertically):not(.horizontally) { + width: 100%; +} + +/* First Row Vertically Divided */ + +.ui[class*="vertically divided"].grid > .row:first-child:before { + box-shadow: none; +} + +/* Inverted Divided */ + +.ui.inverted.divided.grid:not([class*="vertically divided"]) > .column:not(.row), +.ui.inverted.divided.grid:not([class*="vertically divided"]) > .row > .column { + box-shadow: -1px 0px 0px 0px rgba(255, 255, 255, 0.1); +} + +.ui.inverted.divided.grid:not([class*="vertically divided"]) > .column:not(.row):first-child, +.ui.inverted.divided.grid:not([class*="vertically divided"]) > .row > .column:first-child { + box-shadow: none; +} + +.ui.inverted[class*="vertically divided"].grid > .row:before { + box-shadow: 0px -1px 0px 0px rgba(255, 255, 255, 0.1); +} + +/* Relaxed */ + +.ui.relaxed[class*="vertically divided"].grid > .row:before { + margin-left: 1.5rem; + margin-right: 1.5rem; + width: calc(100% - 3rem); +} + +.ui[class*="very relaxed"][class*="vertically divided"].grid > .row:before { + margin-left: 2.5rem; + margin-right: 2.5rem; + width: calc(100% - 5rem); +} + +/*---------------------- + Celled +-----------------------*/ + +.ui.celled.grid { + width: 100%; + margin: 1em 0em; + box-shadow: 0px 0px 0px 1px #D4D4D5; +} + +.ui.celled.grid > .row { + width: 100% !important; + margin: 0em; + padding: 0em; + box-shadow: 0px -1px 0px 0px #D4D4D5; +} + +.ui.celled.grid > .column:not(.row), +.ui.celled.grid > .row > .column { + box-shadow: -1px 0px 0px 0px #D4D4D5; +} + +.ui.celled.grid > .column:first-child, +.ui.celled.grid > .row > .column:first-child { + box-shadow: none; +} + +.ui.celled.grid > .column:not(.row), +.ui.celled.grid > .row > .column { + padding: 1em; +} + +.ui.relaxed.celled.grid > .column:not(.row), +.ui.relaxed.celled.grid > .row > .column { + padding: 1.5em; +} + +.ui[class*="very relaxed"].celled.grid > .column:not(.row), +.ui[class*="very relaxed"].celled.grid > .row > .column { + padding: 2em; +} + +/* Internally Celled */ + +.ui[class*="internally celled"].grid { + box-shadow: none; + margin: 0em; +} + +.ui[class*="internally celled"].grid > .row:first-child { + box-shadow: none; +} + +.ui[class*="internally celled"].grid > .row > .column:first-child { + box-shadow: none; +} + +/*---------------------- + Vertically Aligned +-----------------------*/ + +/* Top Aligned */ + +.ui[class*="top aligned"].grid > .column:not(.row), +.ui[class*="top aligned"].grid > .row > .column, +.ui.grid > [class*="top aligned"].row > .column, +.ui.grid > [class*="top aligned"].column:not(.row), +.ui.grid > .row > [class*="top aligned"].column { + flex-direction: column; + vertical-align: top; + align-self: flex-start !important; +} + +/* Middle Aligned */ + +.ui[class*="middle aligned"].grid > .column:not(.row), +.ui[class*="middle aligned"].grid > .row > .column, +.ui.grid > [class*="middle aligned"].row > .column, +.ui.grid > [class*="middle aligned"].column:not(.row), +.ui.grid > .row > [class*="middle aligned"].column { + flex-direction: column; + vertical-align: middle; + align-self: center !important; +} + +/* Bottom Aligned */ + +.ui[class*="bottom aligned"].grid > .column:not(.row), +.ui[class*="bottom aligned"].grid > .row > .column, +.ui.grid > [class*="bottom aligned"].row > .column, +.ui.grid > [class*="bottom aligned"].column:not(.row), +.ui.grid > .row > [class*="bottom aligned"].column { + flex-direction: column; + vertical-align: bottom; + align-self: flex-end !important; +} + +/* Stretched */ + +.ui.stretched.grid > .row > .column, +.ui.stretched.grid > .column, +.ui.grid > .stretched.row > .column, +.ui.grid > .stretched.column:not(.row), +.ui.grid > .row > .stretched.column { + display: inline-flex !important; + align-self: stretch; + flex-direction: column; +} + +.ui.stretched.grid > .row > .column > *, +.ui.stretched.grid > .column > *, +.ui.grid > .stretched.row > .column > *, +.ui.grid > .stretched.column:not(.row) > *, +.ui.grid > .row > .stretched.column > * { + flex-grow: 1; +} + +/*---------------------- + Horizontally Centered +-----------------------*/ + +/* Left Aligned */ + +.ui[class*="left aligned"].grid > .column, +.ui[class*="left aligned"].grid > .row > .column, +.ui.grid > [class*="left aligned"].row > .column, +.ui.grid > [class*="left aligned"].column.column, +.ui.grid > .row > [class*="left aligned"].column.column { + text-align: left; + align-self: inherit; +} + +/* Center Aligned */ + +.ui[class*="center aligned"].grid > .column, +.ui[class*="center aligned"].grid > .row > .column, +.ui.grid > [class*="center aligned"].row > .column, +.ui.grid > [class*="center aligned"].column.column, +.ui.grid > .row > [class*="center aligned"].column.column { + text-align: center; + align-self: inherit; +} + +.ui[class*="center aligned"].grid { + justify-content: center; +} + +/* Right Aligned */ + +.ui[class*="right aligned"].grid > .column, +.ui[class*="right aligned"].grid > .row > .column, +.ui.grid > [class*="right aligned"].row > .column, +.ui.grid > [class*="right aligned"].column.column, +.ui.grid > .row > [class*="right aligned"].column.column { + text-align: right; + align-self: inherit; +} + +/* Justified */ + +.ui.justified.grid > .column, +.ui.justified.grid > .row > .column, +.ui.grid > .justified.row > .column, +.ui.grid > .justified.column.column, +.ui.grid > .row > .justified.column.column { + text-align: justify; + -webkit-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; +} + +/*---------------------- + Colored +-----------------------*/ + +.ui.grid > .row > .red.column, +.ui.grid > .row > .orange.column, +.ui.grid > .row > .yellow.column, +.ui.grid > .row > .olive.column, +.ui.grid > .row > .green.column, +.ui.grid > .row > .teal.column, +.ui.grid > .row > .blue.column, +.ui.grid > .row > .violet.column, +.ui.grid > .row > .purple.column, +.ui.grid > .row > .pink.column, +.ui.grid > .row > .brown.column, +.ui.grid > .row > .grey.column, +.ui.grid > .row > .black.column { + margin-top: -1rem; + margin-bottom: -1rem; + padding-top: 1rem; + padding-bottom: 1rem; +} + +/* Red */ + +.ui.grid > .red.row, +.ui.grid > .red.column, +.ui.grid > .row > .red.column { + background-color: #DB2828 !important; + color: #FFFFFF; +} + +/* Orange */ + +.ui.grid > .orange.row, +.ui.grid > .orange.column, +.ui.grid > .row > .orange.column { + background-color: #F2711C !important; + color: #FFFFFF; +} + +/* Yellow */ + +.ui.grid > .yellow.row, +.ui.grid > .yellow.column, +.ui.grid > .row > .yellow.column { + background-color: #FBBD08 !important; + color: #FFFFFF; +} + +/* Olive */ + +.ui.grid > .olive.row, +.ui.grid > .olive.column, +.ui.grid > .row > .olive.column { + background-color: #B5CC18 !important; + color: #FFFFFF; +} + +/* Green */ + +.ui.grid > .green.row, +.ui.grid > .green.column, +.ui.grid > .row > .green.column { + background-color: #21BA45 !important; + color: #FFFFFF; +} + +/* Teal */ + +.ui.grid > .teal.row, +.ui.grid > .teal.column, +.ui.grid > .row > .teal.column { + background-color: #00B5AD !important; + color: #FFFFFF; +} + +/* Blue */ + +.ui.grid > .blue.row, +.ui.grid > .blue.column, +.ui.grid > .row > .blue.column { + background-color: #2185D0 !important; + color: #FFFFFF; +} + +/* Violet */ + +.ui.grid > .violet.row, +.ui.grid > .violet.column, +.ui.grid > .row > .violet.column { + background-color: #6435C9 !important; + color: #FFFFFF; +} + +/* Purple */ + +.ui.grid > .purple.row, +.ui.grid > .purple.column, +.ui.grid > .row > .purple.column { + background-color: #A333C8 !important; + color: #FFFFFF; +} + +/* Pink */ + +.ui.grid > .pink.row, +.ui.grid > .pink.column, +.ui.grid > .row > .pink.column { + background-color: #E03997 !important; + color: #FFFFFF; +} + +/* Brown */ + +.ui.grid > .brown.row, +.ui.grid > .brown.column, +.ui.grid > .row > .brown.column { + background-color: #A5673F !important; + color: #FFFFFF; +} + +/* Grey */ + +.ui.grid > .grey.row, +.ui.grid > .grey.column, +.ui.grid > .row > .grey.column { + background-color: #767676 !important; + color: #FFFFFF; +} + +/* Black */ + +.ui.grid > .black.row, +.ui.grid > .black.column, +.ui.grid > .row > .black.column { + background-color: #1B1C1D !important; + color: #FFFFFF; +} + +/*---------------------- + Equal Width +-----------------------*/ + +.ui[class*="equal width"].grid > .column:not(.row), +.ui[class*="equal width"].grid > .row > .column, +.ui.grid > [class*="equal width"].row > .column { + display: inline-block; + flex-grow: 1; +} + +.ui[class*="equal width"].grid > .wide.column, +.ui[class*="equal width"].grid > .row > .wide.column, +.ui.grid > [class*="equal width"].row > .wide.column { + flex-grow: 0; +} + +/*---------------------- + Reverse +-----------------------*/ + +/* Mobile */ + +@media only screen and (max-width: 767px) { + .ui[class*="mobile reversed"].grid, + .ui[class*="mobile reversed"].grid > .row, + .ui.grid > [class*="mobile reversed"].row { + flex-direction: row-reverse; + } + + .ui[class*="mobile vertically reversed"].grid, + .ui.stackable[class*="mobile reversed"] { + flex-direction: column-reverse; + } + + /* Divided Reversed */ + + .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child, + .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child { + box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15); + } + + .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child, + .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child { + box-shadow: none; + } + + /* Vertically Divided Reversed */ + + .ui.grid[class*="vertically divided"][class*="mobile vertically reversed"] > .row:first-child:before { + box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15); + } + + .ui.grid[class*="vertically divided"][class*="mobile vertically reversed"] > .row:last-child:before { + box-shadow: none; + } + + /* Celled Reversed */ + + .ui[class*="mobile reversed"].celled.grid > .row > .column:first-child { + box-shadow: -1px 0px 0px 0px #D4D4D5; + } + + .ui[class*="mobile reversed"].celled.grid > .row > .column:last-child { + box-shadow: none; + } +} + +/* Tablet */ + +@media only screen and (min-width: 768px) and (max-width: 991px) { + .ui[class*="tablet reversed"].grid, + .ui[class*="tablet reversed"].grid > .row, + .ui.grid > [class*="tablet reversed"].row { + flex-direction: row-reverse; + } + + .ui[class*="tablet vertically reversed"].grid { + flex-direction: column-reverse; + } + + /* Divided Reversed */ + + .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child, + .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child { + box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15); + } + + .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child, + .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child { + box-shadow: none; + } + + /* Vertically Divided Reversed */ + + .ui.grid[class*="vertically divided"][class*="tablet vertically reversed"] > .row:first-child:before { + box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15); + } + + .ui.grid[class*="vertically divided"][class*="tablet vertically reversed"] > .row:last-child:before { + box-shadow: none; + } + + /* Celled Reversed */ + + .ui[class*="tablet reversed"].celled.grid > .row > .column:first-child { + box-shadow: -1px 0px 0px 0px #D4D4D5; + } + + .ui[class*="tablet reversed"].celled.grid > .row > .column:last-child { + box-shadow: none; + } +} + +/* Computer */ + +@media only screen and (min-width: 992px) { + .ui[class*="computer reversed"].grid, + .ui[class*="computer reversed"].grid > .row, + .ui.grid > [class*="computer reversed"].row { + flex-direction: row-reverse; + } + + .ui[class*="computer vertically reversed"].grid { + flex-direction: column-reverse; + } + + /* Divided Reversed */ + + .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child, + .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child { + box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15); + } + + .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child, + .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child { + box-shadow: none; + } + + /* Vertically Divided Reversed */ + + .ui.grid[class*="vertically divided"][class*="computer vertically reversed"] > .row:first-child:before { + box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15); + } + + .ui.grid[class*="vertically divided"][class*="computer vertically reversed"] > .row:last-child:before { + box-shadow: none; + } + + /* Celled Reversed */ + + .ui[class*="computer reversed"].celled.grid > .row > .column:first-child { + box-shadow: -1px 0px 0px 0px #D4D4D5; + } + + .ui[class*="computer reversed"].celled.grid > .row > .column:last-child { + box-shadow: none; + } +} + +/*------------------- + Doubling +--------------------*/ + +/* Tablet Only */ + +@media only screen and (min-width: 768px) and (max-width: 991px) { + .ui.doubling.grid { + width: auto; + } + + .ui.grid > .doubling.row, + .ui.doubling.grid > .row { + margin: 0em !important; + padding: 0em !important; + } + + .ui.grid > .doubling.row > .column, + .ui.doubling.grid > .row > .column { + display: inline-block !important; + padding-top: 1rem !important; + padding-bottom: 1rem !important; + box-shadow: none !important; + margin: 0em; + } + + .ui[class*="two column"].doubling.grid > .row > .column, + .ui[class*="two column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="two column"].doubling.row.row > .column { + width: 100% !important; + } + + .ui[class*="three column"].doubling.grid > .row > .column, + .ui[class*="three column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="three column"].doubling.row.row > .column { + width: 50% !important; + } + + .ui[class*="four column"].doubling.grid > .row > .column, + .ui[class*="four column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="four column"].doubling.row.row > .column { + width: 50% !important; + } + + .ui[class*="five column"].doubling.grid > .row > .column, + .ui[class*="five column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="five column"].doubling.row.row > .column { + width: 33.33333333% !important; + } + + .ui[class*="six column"].doubling.grid > .row > .column, + .ui[class*="six column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="six column"].doubling.row.row > .column { + width: 33.33333333% !important; + } + + .ui[class*="seven column"].doubling.grid > .row > .column, + .ui[class*="seven column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="seven column"].doubling.row.row > .column { + width: 33.33333333% !important; + } + + .ui[class*="eight column"].doubling.grid > .row > .column, + .ui[class*="eight column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="eight column"].doubling.row.row > .column { + width: 25% !important; + } + + .ui[class*="nine column"].doubling.grid > .row > .column, + .ui[class*="nine column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="nine column"].doubling.row.row > .column { + width: 25% !important; + } + + .ui[class*="ten column"].doubling.grid > .row > .column, + .ui[class*="ten column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="ten column"].doubling.row.row > .column { + width: 20% !important; + } + + .ui[class*="eleven column"].doubling.grid > .row > .column, + .ui[class*="eleven column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="eleven column"].doubling.row.row > .column { + width: 20% !important; + } + + .ui[class*="twelve column"].doubling.grid > .row > .column, + .ui[class*="twelve column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="twelve column"].doubling.row.row > .column { + width: 16.66666667% !important; + } + + .ui[class*="thirteen column"].doubling.grid > .row > .column, + .ui[class*="thirteen column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="thirteen column"].doubling.row.row > .column { + width: 16.66666667% !important; + } + + .ui[class*="fourteen column"].doubling.grid > .row > .column, + .ui[class*="fourteen column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="fourteen column"].doubling.row.row > .column { + width: 14.28571429% !important; + } + + .ui[class*="fifteen column"].doubling.grid > .row > .column, + .ui[class*="fifteen column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="fifteen column"].doubling.row.row > .column { + width: 14.28571429% !important; + } + + .ui[class*="sixteen column"].doubling.grid > .row > .column, + .ui[class*="sixteen column"].doubling.grid > .column:not(.row), + .ui.grid > [class*="sixteen column"].doubling.row.row > .column { + width: 12.5% !important; + } +} + +/* Mobile Only */ + +@media only screen and (max-width: 767px) { + .ui.grid > .doubling.row, + .ui.doubling.grid > .row { + margin: 0em !important; + padding: 0em !important; + } + + .ui.grid > .doubling.row > .column, + .ui.doubling.grid > .row > .column { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + margin: 0em !important; + box-shadow: none !important; + } + + .ui[class*="two column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="two column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="two column"].doubling:not(.stackable).row.row > .column { + width: 100% !important; + } + + .ui[class*="three column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="three column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="three column"].doubling:not(.stackable).row.row > .column { + width: 50% !important; + } + + .ui[class*="four column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="four column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="four column"].doubling:not(.stackable).row.row > .column { + width: 50% !important; + } + + .ui[class*="five column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="five column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="five column"].doubling:not(.stackable).row.row > .column { + width: 50% !important; + } + + .ui[class*="six column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="six column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="six column"].doubling:not(.stackable).row.row > .column { + width: 50% !important; + } + + .ui[class*="seven column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="seven column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="seven column"].doubling:not(.stackable).row.row > .column { + width: 50% !important; + } + + .ui[class*="eight column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="eight column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="eight column"].doubling:not(.stackable).row.row > .column { + width: 50% !important; + } + + .ui[class*="nine column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="nine column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="nine column"].doubling:not(.stackable).row.row > .column { + width: 33.33333333% !important; + } + + .ui[class*="ten column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="ten column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="ten column"].doubling:not(.stackable).row.row > .column { + width: 33.33333333% !important; + } + + .ui[class*="eleven column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="eleven column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="eleven column"].doubling:not(.stackable).row.row > .column { + width: 33.33333333% !important; + } + + .ui[class*="twelve column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="twelve column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="twelve column"].doubling:not(.stackable).row.row > .column { + width: 33.33333333% !important; + } + + .ui[class*="thirteen column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="thirteen column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="thirteen column"].doubling:not(.stackable).row.row > .column { + width: 33.33333333% !important; + } + + .ui[class*="fourteen column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="fourteen column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="fourteen column"].doubling:not(.stackable).row.row > .column { + width: 25% !important; + } + + .ui[class*="fifteen column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="fifteen column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="fifteen column"].doubling:not(.stackable).row.row > .column { + width: 25% !important; + } + + .ui[class*="sixteen column"].doubling:not(.stackable).grid > .row > .column, + .ui[class*="sixteen column"].doubling:not(.stackable).grid > .column:not(.row), + .ui.grid > [class*="sixteen column"].doubling:not(.stackable).row.row > .column { + width: 25% !important; + } +} + +/*------------------- + Stackable +--------------------*/ + +@media only screen and (max-width: 767px) { + .ui.stackable.grid { + width: auto; + margin-left: 0em !important; + margin-right: 0em !important; + } + + .ui.stackable.grid > .row > .wide.column, + .ui.stackable.grid > .wide.column, + .ui.stackable.grid > .column.grid > .column, + .ui.stackable.grid > .column.row > .column, + .ui.stackable.grid > .row > .column, + .ui.stackable.grid > .column:not(.row), + .ui.grid > .stackable.stackable.row > .column { + width: 100% !important; + margin: 0em 0em !important; + box-shadow: none !important; + padding: 1rem 1rem !important; + } + + .ui.stackable.grid:not(.vertically) > .row { + margin: 0em; + padding: 0em; + } + + /* Coupling */ + + .ui.container > .ui.stackable.grid > .column, + .ui.container > .ui.stackable.grid > .row > .column { + padding-left: 0em !important; + padding-right: 0em !important; + } + + /* Don't pad inside segment or nested grid */ + + .ui.grid .ui.stackable.grid, + .ui.segment:not(.vertical) .ui.stackable.page.grid { + margin-left: -1rem !important; + margin-right: -1rem !important; + } + + /* Divided Stackable */ + + .ui.stackable.divided.grid > .row:first-child > .column:first-child, + .ui.stackable.celled.grid > .row:first-child > .column:first-child, + .ui.stackable.divided.grid > .column:not(.row):first-child, + .ui.stackable.celled.grid > .column:not(.row):first-child { + border-top: none !important; + } + + .ui.inverted.stackable.celled.grid > .column:not(.row), + .ui.inverted.stackable.divided.grid > .column:not(.row), + .ui.inverted.stackable.celled.grid > .row > .column, + .ui.inverted.stackable.divided.grid > .row > .column { + border-top: 1px solid rgba(255, 255, 255, 0.1); + } + + .ui.stackable.celled.grid > .column:not(.row), + .ui.stackable.divided:not(.vertically).grid > .column:not(.row), + .ui.stackable.celled.grid > .row > .column, + .ui.stackable.divided:not(.vertically).grid > .row > .column { + border-top: 1px solid rgba(34, 36, 38, 0.15); + box-shadow: none !important; + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + + .ui.stackable.celled.grid > .row { + box-shadow: none !important; + } + + .ui.stackable.divided:not(.vertically).grid > .column:not(.row), + .ui.stackable.divided:not(.vertically).grid > .row > .column { + padding-left: 0em !important; + padding-right: 0em !important; + } +} + +/*---------------------- + Only (Device) +-----------------------*/ + +/* These include arbitrary class repetitions for forced specificity */ + +/* Mobile Only Hide */ + +@media only screen and (max-width: 767px) { + .ui[class*="tablet only"].grid.grid.grid:not(.mobile), + .ui.grid.grid.grid > [class*="tablet only"].row:not(.mobile), + .ui.grid.grid.grid > [class*="tablet only"].column:not(.mobile), + .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.mobile) { + display: none !important; + } + + .ui[class*="computer only"].grid.grid.grid:not(.mobile), + .ui.grid.grid.grid > [class*="computer only"].row:not(.mobile), + .ui.grid.grid.grid > [class*="computer only"].column:not(.mobile), + .ui.grid.grid.grid > .row > [class*="computer only"].column:not(.mobile) { + display: none !important; + } + + .ui[class*="large screen only"].grid.grid.grid:not(.mobile), + .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile), + .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile), + .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile) { + display: none !important; + } + + .ui[class*="widescreen only"].grid.grid.grid:not(.mobile), + .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile), + .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile), + .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) { + display: none !important; + } +} + +/* Tablet Only Hide */ + +@media only screen and (min-width: 768px) and (max-width: 991px) { + .ui[class*="mobile only"].grid.grid.grid:not(.tablet), + .ui.grid.grid.grid > [class*="mobile only"].row:not(.tablet), + .ui.grid.grid.grid > [class*="mobile only"].column:not(.tablet), + .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.tablet) { + display: none !important; + } + + .ui[class*="computer only"].grid.grid.grid:not(.tablet), + .ui.grid.grid.grid > [class*="computer only"].row:not(.tablet), + .ui.grid.grid.grid > [class*="computer only"].column:not(.tablet), + .ui.grid.grid.grid > .row > [class*="computer only"].column:not(.tablet) { + display: none !important; + } + + .ui[class*="large screen only"].grid.grid.grid:not(.mobile), + .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile), + .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile), + .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile) { + display: none !important; + } + + .ui[class*="widescreen only"].grid.grid.grid:not(.mobile), + .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile), + .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile), + .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) { + display: none !important; + } +} + +/* Computer Only Hide */ + +@media only screen and (min-width: 992px) and (max-width: 1199px) { + .ui[class*="mobile only"].grid.grid.grid:not(.computer), + .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer), + .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer), + .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer) { + display: none !important; + } + + .ui[class*="tablet only"].grid.grid.grid:not(.computer), + .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer), + .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer), + .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer) { + display: none !important; + } + + .ui[class*="large screen only"].grid.grid.grid:not(.mobile), + .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile), + .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile), + .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile) { + display: none !important; + } + + .ui[class*="widescreen only"].grid.grid.grid:not(.mobile), + .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile), + .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile), + .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) { + display: none !important; + } +} + +/* Large Screen Only Hide */ + +@media only screen and (min-width: 1200px) and (max-width: 1919px) { + .ui[class*="mobile only"].grid.grid.grid:not(.computer), + .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer), + .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer), + .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer) { + display: none !important; + } + + .ui[class*="tablet only"].grid.grid.grid:not(.computer), + .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer), + .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer), + .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer) { + display: none !important; + } + + .ui[class*="widescreen only"].grid.grid.grid:not(.mobile), + .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile), + .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile), + .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile) { + display: none !important; + } +} + +/* Widescreen Only Hide */ + +@media only screen and (min-width: 1920px) { + .ui[class*="mobile only"].grid.grid.grid:not(.computer), + .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer), + .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer), + .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer) { + display: none !important; + } + + .ui[class*="tablet only"].grid.grid.grid:not(.computer), + .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer), + .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer), + .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer) { + display: none !important; + } +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/* + * # Semantic - Menu + * http://github.com/semantic-org/semantic-ui/ + * + * + * Copyright 2015 Contributor + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Standard +*******************************/ + +/*-------------- + Menu +---------------*/ + +.ui.menu { + display: flex; + margin: 1rem 0em; + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + background: #FFFFFF; + font-weight: normal; + border: 1px solid rgba(34, 36, 38, 0.15); + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15); + border-radius: 0.28571429rem; + min-height: 2.85714286em; +} + +.ui.menu:after { + content: ''; + display: block; + height: 0px; + clear: both; + visibility: hidden; +} + +.ui.menu:first-child { + margin-top: 0rem; +} + +.ui.menu:last-child { + margin-bottom: 0rem; +} + +/*-------------- + Sub-Menu +---------------*/ + +.ui.menu .menu { + margin: 0em; +} + +.ui.menu:not(.vertical) > .menu { + display: flex; +} + +/*-------------- + Item +---------------*/ + +.ui.menu:not(.vertical) .item { + display: flex; + align-items: center; +} + +.ui.menu .item { + position: relative; + vertical-align: middle; + line-height: 1; + text-decoration: none; + -webkit-tap-highlight-color: transparent; + flex: 0 0 auto; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background: none; + padding: 0.92857143em 1.14285714em; + text-transform: none; + color: rgba(0, 0, 0, 0.87); + font-weight: normal; + transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease; +} + +.ui.menu > .item:first-child { + border-radius: 0.28571429rem 0px 0px 0.28571429rem; +} + +/* Border */ + +.ui.menu .item:before { + position: absolute; + content: ''; + top: 0%; + right: 0px; + height: 100%; + width: 1px; + background: rgba(34, 36, 38, 0.1); +} + +/*-------------- + Text Content +---------------*/ + +.ui.menu .text.item > *, +.ui.menu .item > a:not(.ui), +.ui.menu .item > p:only-child { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + line-height: 1.3; +} + +.ui.menu .item > p:first-child { + margin-top: 0; +} + +.ui.menu .item > p:last-child { + margin-bottom: 0; +} + +/*-------------- + Icons +---------------*/ + +.ui.menu .item > i.icon { + opacity: 0.9; + float: none; + margin: 0em 0.35714286em 0em 0em; +} + +/*-------------- + Button +---------------*/ + +.ui.menu:not(.vertical) .item > .button { + position: relative; + top: 0em; + margin: -0.5em 0em; + padding-bottom: 0.78571429em; + padding-top: 0.78571429em; + font-size: 1em; +} + +/*---------------- + Grid / Container +-----------------*/ + +.ui.menu > .grid, +.ui.menu > .container { + display: flex; + align-items: inherit; + flex-direction: inherit; +} + +/*-------------- + Inputs +---------------*/ + +.ui.menu .item > .input { + width: 100%; +} + +.ui.menu:not(.vertical) .item > .input { + position: relative; + top: 0em; + margin: -0.5em 0em; +} + +.ui.menu .item > .input input { + font-size: 1em; + padding-top: 0.57142857em; + padding-bottom: 0.57142857em; +} + +/*-------------- + Header +---------------*/ + +.ui.menu .header.item, +.ui.vertical.menu .header.item { + margin: 0em; + background: ''; + text-transform: normal; + font-weight: bold; +} + +.ui.vertical.menu .item > .header:not(.ui) { + margin: 0em 0em 0.5em; + font-size: 1em; + font-weight: bold; +} + +/*-------------- + Dropdowns +---------------*/ + +/* Dropdown Icon */ + +.ui.menu .item > i.dropdown.icon { + padding: 0em; + float: right; + margin: 0em 0em 0em 1em; +} + +/* Menu */ + +.ui.menu .dropdown.item .menu { + min-width: calc(100% - 1px); + border-radius: 0em 0em 0.28571429rem 0.28571429rem; + background: #FFFFFF; + margin: 0em 0px 0px; + box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.08); + flex-direction: column !important; +} + +/* Menu Items */ + +.ui.menu .ui.dropdown .menu > .item { + margin: 0; + text-align: left; + font-size: 1em !important; + padding: 0.78571429em 1.14285714em !important; + background: transparent !important; + color: rgba(0, 0, 0, 0.87) !important; + text-transform: none !important; + font-weight: normal !important; + box-shadow: none !important; + transition: none !important; +} + +.ui.menu .ui.dropdown .menu > .item:hover { + background: rgba(0, 0, 0, 0.05) !important; + color: rgba(0, 0, 0, 0.95) !important; +} + +.ui.menu .ui.dropdown .menu > .selected.item { + background: rgba(0, 0, 0, 0.05) !important; + color: rgba(0, 0, 0, 0.95) !important; +} + +.ui.menu .ui.dropdown .menu > .active.item { + background: rgba(0, 0, 0, 0.03) !important; + font-weight: bold !important; + color: rgba(0, 0, 0, 0.95) !important; +} + +.ui.menu .ui.dropdown.item .menu .item:not(.filtered) { + display: block; +} + +.ui.menu .ui.dropdown .menu > .item .icon:not(.dropdown) { + display: inline-block; + font-size: 1em !important; + float: none; + margin: 0em 0.75em 0em 0em !important; +} + +/* Secondary */ + +.ui.secondary.menu .dropdown.item > .menu, +.ui.text.menu .dropdown.item > .menu { + border-radius: 0.28571429rem; + margin-top: 0.35714286em; +} + +/* Pointing */ + +.ui.menu .pointing.dropdown.item .menu { + margin-top: 0.75em; +} + +/* Inverted */ + +.ui.inverted.menu .search.dropdown.item > .search, +.ui.inverted.menu .search.dropdown.item > .text { + color: rgba(255, 255, 255, 0.9); +} + +/* Vertical */ + +.ui.vertical.menu .dropdown.item > .icon { + float: right; + content: "\f0da"; + margin-left: 1em; +} + +.ui.vertical.menu .dropdown.item .menu { + left: 100%; + min-width: 0; + margin: 0em 0em 0em 0em; + box-shadow: 0 1px 3px 0px rgba(0, 0, 0, 0.08); + border-radius: 0em 0.28571429rem 0.28571429rem 0.28571429rem; +} + +.ui.vertical.menu .dropdown.item.upward .menu { + bottom: 0; +} + +.ui.vertical.menu .dropdown.item:not(.upward) .menu { + top: 0; +} + +.ui.vertical.menu .active.dropdown.item { + border-top-right-radius: 0em; + border-bottom-right-radius: 0em; +} + +.ui.vertical.menu .dropdown.active.item { + box-shadow: none; +} + +/* Evenly Divided */ + +.ui.item.menu .dropdown .menu .item { + width: 100%; +} + +/*-------------- + Labels +---------------*/ + +.ui.menu .item > .label { + background: #999999; + color: #FFFFFF; + margin-left: 1em; + padding: 0.3em 0.78571429em; +} + +.ui.vertical.menu .item > .label { + background: #999999; + color: #FFFFFF; + margin-top: -0.15em; + margin-bottom: -0.15em; + padding: 0.3em 0.78571429em; +} + +.ui.menu .item > .floating.label { + padding: 0.3em 0.78571429em; +} + +/*-------------- + Images +---------------*/ + +.ui.menu .item > img:not(.ui) { + display: inline-block; + vertical-align: middle; + margin: -0.3em 0em; + width: 2.5em; +} + +.ui.vertical.menu .item > img:not(.ui):only-child { + display: block; + max-width: 100%; + width: auto; +} + +/******************************* + Coupling +*******************************/ + +/*-------------- + List +---------------*/ + +/* Menu divider shouldnt apply */ + +.ui.menu .list .item:before { + background: none !important; +} + +/*-------------- + Sidebar +---------------*/ + +/* Show vertical dividers below last */ + +.ui.vertical.sidebar.menu > .item:first-child:before { + display: block !important; +} + +.ui.vertical.sidebar.menu > .item::before { + top: auto; + bottom: 0px; +} + +/*-------------- + Container +---------------*/ + +@media only screen and (max-width: 767px) { + .ui.menu > .ui.container { + width: 100% !important; + margin-left: 0em !important; + margin-right: 0em !important; + } +} + +@media only screen and (min-width: 768px) { + .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .item:not(.right):not(.borderless):first-child { + border-left: 1px solid rgba(34, 36, 38, 0.1); + } +} + +/******************************* + States +*******************************/ + +/*-------------- + Hover +---------------*/ + +.ui.link.menu .item:hover, +.ui.menu .dropdown.item:hover, +.ui.menu .link.item:hover, +.ui.menu a.item:hover { + cursor: pointer; + background: rgba(0, 0, 0, 0.03); + color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Pressed +---------------*/ + +.ui.link.menu .item:active, +.ui.menu .link.item:active, +.ui.menu a.item:active { + background: rgba(0, 0, 0, 0.03); + color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Active +---------------*/ + +.ui.menu .active.item { + background: rgba(0, 0, 0, 0.05); + color: rgba(0, 0, 0, 0.95); + font-weight: normal; + box-shadow: none; +} + +.ui.menu .active.item > i.icon { + opacity: 1; +} + +/*-------------- + Active Hover +---------------*/ + +.ui.menu .active.item:hover, +.ui.vertical.menu .active.item:hover { + background-color: rgba(0, 0, 0, 0.05); + color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Disabled +---------------*/ + +.ui.menu .item.disabled, +.ui.menu .item.disabled:hover { + cursor: default !important; + background-color: transparent !important; + color: rgba(40, 40, 40, 0.3) !important; +} + +/******************************* + Types +*******************************/ + +/*------------------ +Floated Menu / Item +-------------------*/ + +/* Left Floated */ + +.ui.menu:not(.vertical) .left.item, +.ui.menu:not(.vertical) :not(.dropdown) > .left.menu { + display: flex; + margin-right: auto !important; +} + +/* Right Floated */ + +.ui.menu:not(.vertical) .right.item, +.ui.menu:not(.vertical) .right.menu { + display: flex; + margin-left: auto !important; +} + +/* Swapped Borders */ + +.ui.menu .right.item::before, +.ui.menu .right.menu > .item::before { + right: auto; + left: 0; +} + +/*-------------- + Vertical +---------------*/ + +.ui.vertical.menu { + display: block; + flex-direction: column; + background: #FFFFFF; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15); +} + +/*--- Item ---*/ + +.ui.vertical.menu .item { + display: block; + background: none; + border-top: none; + border-right: none; +} + +.ui.vertical.menu > .item:first-child { + border-radius: 0.28571429rem 0.28571429rem 0px 0px; +} + +.ui.vertical.menu > .item:last-child { + border-radius: 0px 0px 0.28571429rem 0.28571429rem; +} + +/*--- Label ---*/ + +.ui.vertical.menu .item > .label { + float: right; + text-align: center; +} + +/*--- Icon ---*/ + +.ui.vertical.menu .item > i.icon { + width: 1.18em; + float: right; + margin: 0em 0em 0em 0.5em; +} + +.ui.vertical.menu .item > .label + i.icon { + float: none; + margin: 0em 0.5em 0em 0em; +} + +/*--- Border ---*/ + +.ui.vertical.menu .item:before { + position: absolute; + content: ''; + top: 0%; + left: 0px; + width: 100%; + height: 1px; + background: rgba(34, 36, 38, 0.1); +} + +.ui.vertical.menu .item:first-child:before { + display: none !important; +} + +/*--- Sub Menu ---*/ + +.ui.vertical.menu .item > .menu { + margin: 0.5em -1.14285714em 0em; +} + +.ui.vertical.menu .menu .item { + background: none; + padding: 0.5em 1.33333333em; + font-size: 0.85714286em; + color: rgba(0, 0, 0, 0.5); +} + +.ui.vertical.menu .item .menu a.item:hover, +.ui.vertical.menu .item .menu .link.item:hover { + color: rgba(0, 0, 0, 0.85); +} + +.ui.vertical.menu .menu .item:before { + display: none; +} + +/* Vertical Active */ + +.ui.vertical.menu .active.item { + background: rgba(0, 0, 0, 0.05); + border-radius: 0em; + box-shadow: none; +} + +.ui.vertical.menu > .active.item:first-child { + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +.ui.vertical.menu > .active.item:last-child { + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +.ui.vertical.menu > .active.item:only-child { + border-radius: 0.28571429rem; +} + +.ui.vertical.menu .active.item .menu .active.item { + border-left: none; +} + +.ui.vertical.menu .item .menu .active.item { + background-color: transparent; + font-weight: bold; + color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Tabular +---------------*/ + +.ui.tabular.menu { + border-radius: 0em; + box-shadow: none !important; + border: none; + background: none transparent; + border-bottom: 1px solid #D4D4D5; +} + +.ui.tabular.fluid.menu { + width: calc(100% + (1px * 2)) !important; +} + +.ui.tabular.menu .item { + background: transparent; + border-bottom: none; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-top: 2px solid transparent; + padding: 0.92857143em 1.42857143em; + color: rgba(0, 0, 0, 0.87); +} + +.ui.tabular.menu .item:before { + display: none; +} + +/* Hover */ + +.ui.tabular.menu .item:hover { + background-color: transparent; + color: rgba(0, 0, 0, 0.8); +} + +/* Active */ + +.ui.tabular.menu .active.item { + background: none #FFFFFF; + color: rgba(0, 0, 0, 0.95); + border-top-width: 1px; + border-color: #D4D4D5; + font-weight: bold; + margin-bottom: -1px; + box-shadow: none; + border-radius: 0.28571429rem 0.28571429rem 0px 0px !important; +} + +/* Coupling with segment for attachment */ + +.ui.tabular.menu + .attached:not(.top).segment, +.ui.tabular.menu + .attached:not(.top).segment + .attached:not(.top).segment { + border-top: none; + margin-left: 0px; + margin-top: 0px; + margin-right: 0px; + width: 100%; +} + +.top.attached.segment + .ui.bottom.tabular.menu { + position: relative; + width: calc(100% + (1px * 2)); + left: -1px; +} + +/* Bottom Vertical Tabular */ + +.ui.bottom.tabular.menu { + background: none transparent; + border-radius: 0em; + box-shadow: none !important; + border-bottom: none; + border-top: 1px solid #D4D4D5; +} + +.ui.bottom.tabular.menu .item { + background: none; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; + border-top: none; +} + +.ui.bottom.tabular.menu .active.item { + background: none #FFFFFF; + color: rgba(0, 0, 0, 0.95); + border-color: #D4D4D5; + margin: -1px 0px 0px 0px; + border-radius: 0px 0px 0.28571429rem 0.28571429rem !important; +} + +/* Vertical Tabular (Left) */ + +.ui.vertical.tabular.menu { + background: none transparent; + border-radius: 0em; + box-shadow: none !important; + border-bottom: none; + border-right: 1px solid #D4D4D5; +} + +.ui.vertical.tabular.menu .item { + background: none; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + border-top: 1px solid transparent; + border-right: none; +} + +.ui.vertical.tabular.menu .active.item { + background: none #FFFFFF; + color: rgba(0, 0, 0, 0.95); + border-color: #D4D4D5; + margin: 0px -1px 0px 0px; + border-radius: 0.28571429rem 0px 0px 0.28571429rem !important; +} + +/* Vertical Right Tabular */ + +.ui.vertical.right.tabular.menu { + background: none transparent; + border-radius: 0em; + box-shadow: none !important; + border-bottom: none; + border-right: none; + border-left: 1px solid #D4D4D5; +} + +.ui.vertical.right.tabular.menu .item { + background: none; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; + border-top: 1px solid transparent; + border-left: none; +} + +.ui.vertical.right.tabular.menu .active.item { + background: none #FFFFFF; + color: rgba(0, 0, 0, 0.95); + border-color: #D4D4D5; + margin: 0px 0px 0px -1px; + border-radius: 0px 0.28571429rem 0.28571429rem 0px !important; +} + +/* Dropdown */ + +.ui.tabular.menu .active.dropdown.item { + margin-bottom: 0px; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-top: 2px solid transparent; + border-bottom: none; +} + +/*-------------- + Pagination +---------------*/ + +.ui.pagination.menu { + margin: 0em; + display: inline-flex; + vertical-align: middle; +} + +.ui.pagination.menu .item:last-child { + border-radius: 0em 0.28571429rem 0.28571429rem 0em; +} + +.ui.compact.menu .item:last-child { + border-radius: 0em 0.28571429rem 0.28571429rem 0em; +} + +.ui.pagination.menu .item:last-child:before { + display: none; +} + +.ui.pagination.menu .item { + min-width: 3em; + text-align: center; +} + +.ui.pagination.menu .icon.item i.icon { + vertical-align: top; +} + +/* Active */ + +.ui.pagination.menu .active.item { + border-top: none; + padding-top: 0.92857143em; + background-color: rgba(0, 0, 0, 0.05); + color: rgba(0, 0, 0, 0.95); + box-shadow: none; +} + +/*-------------- + Secondary +---------------*/ + +.ui.secondary.menu { + background: none; + margin-left: -0.35714286em; + margin-right: -0.35714286em; + border-radius: 0em; + border: none; + box-shadow: none; +} + +/* Item */ + +.ui.secondary.menu .item { + align-self: center; + box-shadow: none; + border: none; + padding: 0.78571429em 0.92857143em; + margin: 0em 0.35714286em; + background: none; + transition: color 0.1s ease; + border-radius: 0.28571429rem; +} + +/* No Divider */ + +.ui.secondary.menu .item:before { + display: none !important; +} + +/* Header */ + +.ui.secondary.menu .header.item { + border-radius: 0em; + border-right: none; + background: none transparent; +} + +/* Image */ + +.ui.secondary.menu .item > img:not(.ui) { + margin: 0em; +} + +/* Hover */ + +.ui.secondary.menu .dropdown.item:hover, +.ui.secondary.menu .link.item:hover, +.ui.secondary.menu a.item:hover { + background: rgba(0, 0, 0, 0.05); + color: rgba(0, 0, 0, 0.95); +} + +/* Active */ + +.ui.secondary.menu .active.item { + box-shadow: none; + background: rgba(0, 0, 0, 0.05); + color: rgba(0, 0, 0, 0.95); + border-radius: 0.28571429rem; +} + +/* Active Hover */ + +.ui.secondary.menu .active.item:hover { + box-shadow: none; + background: rgba(0, 0, 0, 0.05); + color: rgba(0, 0, 0, 0.95); +} + +/* Inverted */ + +.ui.secondary.inverted.menu .link.item, +.ui.secondary.inverted.menu a.item { + color: rgba(255, 255, 255, 0.7) !important; +} + +.ui.secondary.inverted.menu .dropdown.item:hover, +.ui.secondary.inverted.menu .link.item:hover, +.ui.secondary.inverted.menu a.item:hover { + background: rgba(255, 255, 255, 0.08); + color: #ffffff !important; +} + +.ui.secondary.inverted.menu .active.item { + background: rgba(255, 255, 255, 0.15); + color: #ffffff !important; +} + +/* Fix item margins */ + +.ui.secondary.item.menu { + margin-left: 0em; + margin-right: 0em; +} + +.ui.secondary.item.menu .item:last-child { + margin-right: 0em; +} + +.ui.secondary.attached.menu { + box-shadow: none; +} + +/* Sub Menu */ + +.ui.vertical.secondary.menu .item:not(.dropdown) > .menu { + margin: 0em -0.92857143em; +} + +.ui.vertical.secondary.menu .item:not(.dropdown) > .menu > .item { + margin: 0em; + padding: 0.5em 1.33333333em; +} + +/*--------------------- + Secondary Vertical +-----------------------*/ + +.ui.secondary.vertical.menu > .item { + border: none; + margin: 0em 0em 0.35714286em; + border-radius: 0.28571429rem !important; +} + +.ui.secondary.vertical.menu > .header.item { + border-radius: 0em; +} + +/* Sub Menu */ + +.ui.vertical.secondary.menu .item > .menu .item { + background-color: transparent; +} + +/* Inverted */ + +.ui.secondary.inverted.menu { + background-color: transparent; +} + +/*--------------------- + Secondary Pointing +-----------------------*/ + +.ui.secondary.pointing.menu { + margin-left: 0em; + margin-right: 0em; + border-bottom: 2px solid rgba(34, 36, 38, 0.15); +} + +.ui.secondary.pointing.menu .item { + border-bottom-color: transparent; + border-bottom-style: solid; + border-radius: 0em; + align-self: flex-end; + margin: 0em 0em -2px; + padding: 0.85714286em 1.14285714em; + border-bottom-width: 2px; + transition: color 0.1s ease; +} + +/* Item Types */ + +.ui.secondary.pointing.menu .header.item { + color: rgba(0, 0, 0, 0.85) !important; +} + +.ui.secondary.pointing.menu .text.item { + box-shadow: none !important; +} + +.ui.secondary.pointing.menu .item:after { + display: none; +} + +/* Hover */ + +.ui.secondary.pointing.menu .dropdown.item:hover, +.ui.secondary.pointing.menu .link.item:hover, +.ui.secondary.pointing.menu a.item:hover { + background-color: transparent; + color: rgba(0, 0, 0, 0.87); +} + +/* Pressed */ + +.ui.secondary.pointing.menu .dropdown.item:active, +.ui.secondary.pointing.menu .link.item:active, +.ui.secondary.pointing.menu a.item:active { + background-color: transparent; + border-color: rgba(34, 36, 38, 0.15); +} + +/* Active */ + +.ui.secondary.pointing.menu .active.item { + background-color: transparent; + box-shadow: none; + border-color: #1B1C1D; + font-weight: bold; + color: rgba(0, 0, 0, 0.95); +} + +/* Active Hover */ + +.ui.secondary.pointing.menu .active.item:hover { + border-color: #1B1C1D; + color: rgba(0, 0, 0, 0.95); +} + +/* Active Dropdown */ + +.ui.secondary.pointing.menu .active.dropdown.item { + border-color: transparent; +} + +/* Vertical Pointing */ + +.ui.secondary.vertical.pointing.menu { + border-bottom-width: 0px; + border-right-width: 2px; + border-right-style: solid; + border-right-color: rgba(34, 36, 38, 0.15); +} + +.ui.secondary.vertical.pointing.menu .item { + border-bottom: none; + border-right-style: solid; + border-right-color: transparent; + border-radius: 0em !important; + margin: 0em -2px 0em 0em; + border-right-width: 2px; +} + +/* Vertical Active */ + +.ui.secondary.vertical.pointing.menu .active.item { + border-color: #1B1C1D; +} + +/* Inverted */ + +.ui.secondary.inverted.pointing.menu { + border-color: rgba(255, 255, 255, 0.1); +} + +.ui.secondary.inverted.pointing.menu { + border-width: 2px; + border-color: rgba(34, 36, 38, 0.15); +} + +.ui.secondary.inverted.pointing.menu .item { + color: rgba(255, 255, 255, 0.9); +} + +.ui.secondary.inverted.pointing.menu .header.item { + color: #FFFFFF !important; +} + +/* Hover */ + +.ui.secondary.inverted.pointing.menu .link.item:hover, +.ui.secondary.inverted.pointing.menu a.item:hover { + color: rgba(0, 0, 0, 0.95); +} + +/* Active */ + +.ui.secondary.inverted.pointing.menu .active.item { + border-color: #FFFFFF; + color: #ffffff; +} + +/*-------------- + Text Menu +---------------*/ + +.ui.text.menu { + background: none transparent; + border-radius: 0px; + box-shadow: none; + border: none; + margin: 1em -0.5em; +} + +.ui.text.menu .item { + border-radius: 0px; + box-shadow: none; + align-self: center; + margin: 0em 0em; + padding: 0.35714286em 0.5em; + font-weight: normal; + color: rgba(0, 0, 0, 0.6); + transition: opacity 0.1s ease; +} + +/* Border */ + +.ui.text.menu .item:before, +.ui.text.menu .menu .item:before { + display: none !important; +} + +/* Header */ + +.ui.text.menu .header.item { + background-color: transparent; + opacity: 1; + color: rgba(0, 0, 0, 0.85); + font-size: 0.92857143em; + text-transform: uppercase; + font-weight: bold; +} + +/* Image */ + +.ui.text.menu .item > img:not(.ui) { + margin: 0em; +} + +/*--- fluid text ---*/ + +.ui.text.item.menu .item { + margin: 0em; +} + +/*--- vertical text ---*/ + +.ui.vertical.text.menu { + margin: 1em 0em; +} + +.ui.vertical.text.menu:first-child { + margin-top: 0rem; +} + +.ui.vertical.text.menu:last-child { + margin-bottom: 0rem; +} + +.ui.vertical.text.menu .item { + margin: 0.57142857em 0em; + padding-left: 0em; + padding-right: 0em; +} + +.ui.vertical.text.menu .item > i.icon { + float: none; + margin: 0em 0.35714286em 0em 0em; +} + +.ui.vertical.text.menu .header.item { + margin: 0.57142857em 0em 0.71428571em; +} + +/* Vertical Sub Menu */ + +.ui.vertical.text.menu .item:not(.dropdown) > .menu { + margin: 0em; +} + +.ui.vertical.text.menu .item:not(.dropdown) > .menu > .item { + margin: 0em; + padding: 0.5em 0em; +} + +/*--- hover ---*/ + +.ui.text.menu .item:hover { + opacity: 1; + background-color: transparent; +} + +/*--- active ---*/ + +.ui.text.menu .active.item { + background-color: transparent; + border: none; + box-shadow: none; + font-weight: normal; + color: rgba(0, 0, 0, 0.95); +} + +/*--- active hover ---*/ + +.ui.text.menu .active.item:hover { + background-color: transparent; +} + +/* Disable Bariations */ + +.ui.text.pointing.menu .active.item:after { + box-shadow: none; +} + +.ui.text.attached.menu { + box-shadow: none; +} + +/* Inverted */ + +.ui.inverted.text.menu, +.ui.inverted.text.menu .item, +.ui.inverted.text.menu .item:hover, +.ui.inverted.text.menu .active.item { + background-color: transparent !important; +} + +/* Fluid */ + +.ui.fluid.text.menu { + margin-left: 0em; + margin-right: 0em; +} + +/*-------------- + Icon Only +---------------*/ + +/* Vertical Menu */ + +.ui.vertical.icon.menu { + display: inline-block; + width: auto; +} + +/* Item */ + +.ui.icon.menu .item { + height: auto; + text-align: center; + color: #1B1C1D; +} + +/* Icon */ + +.ui.icon.menu .item > .icon:not(.dropdown) { + margin: 0; + opacity: 1; +} + +/* Icon Gylph */ + +.ui.icon.menu .icon:before { + opacity: 1; +} + +/* (x) Item Icon */ + +.ui.menu .icon.item > .icon { + width: auto; + margin: 0em auto; +} + +/* Vertical Icon */ + +.ui.vertical.icon.menu .item > .icon:not(.dropdown) { + display: block; + opacity: 1; + margin: 0em auto; + float: none; +} + +/* Inverted */ + +.ui.inverted.icon.menu .item { + color: #FFFFFF; +} + +/*-------------- + Labeled Icon +---------------*/ + +/* Menu */ + +.ui.labeled.icon.menu { + text-align: center; +} + +/* Item */ + +.ui.labeled.icon.menu .item { + min-width: 6em; + flex-direction: column; +} + +/* Icon */ + +.ui.labeled.icon.menu .item > .icon:not(.dropdown) { + height: 1em; + display: block; + font-size: 1.71428571em !important; + margin: 0em auto 0.5rem !important; +} + +/* Fluid */ + +.ui.fluid.labeled.icon.menu > .item { + min-width: 0em; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Stackable +---------------*/ + +@media only screen and (max-width: 767px) { + .ui.stackable.menu { + flex-direction: column; + } + + .ui.stackable.menu .item { + width: 100% !important; + } + + .ui.stackable.menu .item:before { + position: absolute; + content: ''; + top: auto; + bottom: 0px; + left: 0px; + width: 100%; + height: 1px; + background: rgba(34, 36, 38, 0.1); + } + + .ui.stackable.menu .left.menu, + .ui.stackable.menu .left.item { + margin-right: 0 !important; + } + + .ui.stackable.menu .right.menu, + .ui.stackable.menu .right.item { + margin-left: 0 !important; + } + + .ui.stackable.menu .right.menu, + .ui.stackable.menu .left.menu { + flex-direction: column; + } +} + +/*-------------- + Colors +---------------*/ + +/*--- Standard Colors ---*/ + +.ui.menu .red.active.item, +.ui.red.menu .active.item { + border-color: #DB2828 !important; + color: #DB2828 !important; +} + +.ui.menu .orange.active.item, +.ui.orange.menu .active.item { + border-color: #F2711C !important; + color: #F2711C !important; +} + +.ui.menu .yellow.active.item, +.ui.yellow.menu .active.item { + border-color: #FBBD08 !important; + color: #FBBD08 !important; +} + +.ui.menu .olive.active.item, +.ui.olive.menu .active.item { + border-color: #B5CC18 !important; + color: #B5CC18 !important; +} + +.ui.menu .green.active.item, +.ui.green.menu .active.item { + border-color: #21BA45 !important; + color: #21BA45 !important; +} + +.ui.menu .teal.active.item, +.ui.teal.menu .active.item { + border-color: #00B5AD !important; + color: #00B5AD !important; +} + +.ui.menu .blue.active.item, +.ui.blue.menu .active.item { + border-color: #2185D0 !important; + color: #2185D0 !important; +} + +.ui.menu .violet.active.item, +.ui.violet.menu .active.item { + border-color: #6435C9 !important; + color: #6435C9 !important; +} + +.ui.menu .purple.active.item, +.ui.purple.menu .active.item { + border-color: #A333C8 !important; + color: #A333C8 !important; +} + +.ui.menu .pink.active.item, +.ui.pink.menu .active.item { + border-color: #E03997 !important; + color: #E03997 !important; +} + +.ui.menu .brown.active.item, +.ui.brown.menu .active.item { + border-color: #A5673F !important; + color: #A5673F !important; +} + +.ui.menu .grey.active.item, +.ui.grey.menu .active.item { + border-color: #767676 !important; + color: #767676 !important; +} + +/*-------------- + Inverted +---------------*/ + +.ui.inverted.menu { + border: 0px solid transparent; + background: #1B1C1D; + box-shadow: none; +} + +/* Menu Item */ + +.ui.inverted.menu .item, +.ui.inverted.menu .item > a:not(.ui) { + background: transparent; + color: rgba(255, 255, 255, 0.9); +} + +.ui.inverted.menu .item.menu { + background: transparent; +} + +/*--- Border ---*/ + +.ui.inverted.menu .item:before { + background: rgba(255, 255, 255, 0.08); +} + +.ui.vertical.inverted.menu .item:before { + background: rgba(255, 255, 255, 0.08); +} + +/* Sub Menu */ + +.ui.vertical.inverted.menu .menu .item, +.ui.vertical.inverted.menu .menu .item a:not(.ui) { + color: rgba(255, 255, 255, 0.5); +} + +/* Header */ + +.ui.inverted.menu .header.item { + margin: 0em; + background: transparent; + box-shadow: none; +} + +/* Disabled */ + +.ui.inverted.menu .item.disabled, +.ui.inverted.menu .item.disabled:hover { + color: rgba(225, 225, 225, 0.3); +} + +/*--- Hover ---*/ + +.ui.link.inverted.menu .item:hover, +.ui.inverted.menu .dropdown.item:hover, +.ui.inverted.menu .link.item:hover, +.ui.inverted.menu a.item:hover { + background: rgba(255, 255, 255, 0.08); + color: #ffffff; +} + +.ui.vertical.inverted.menu .item .menu a.item:hover, +.ui.vertical.inverted.menu .item .menu .link.item:hover { + background: transparent; + color: #ffffff; +} + +/*--- Pressed ---*/ + +.ui.inverted.menu a.item:active, +.ui.inverted.menu .link.item:active { + background: rgba(255, 255, 255, 0.08); + color: #ffffff; +} + +/*--- Active ---*/ + +.ui.inverted.menu .active.item { + background: rgba(255, 255, 255, 0.15); + color: #ffffff !important; +} + +.ui.inverted.vertical.menu .item .menu .active.item { + background: transparent; + color: #FFFFFF; +} + +.ui.inverted.pointing.menu .active.item:after { + background: #3D3E3F !important; + margin: 0em !important; + box-shadow: none !important; + border: none !important; +} + +/*--- Active Hover ---*/ + +.ui.inverted.menu .active.item:hover { + background: rgba(255, 255, 255, 0.15); + color: #FFFFFF !important; +} + +.ui.inverted.pointing.menu .active.item:hover:after { + background: #3D3E3F !important; +} + +/*-------------- + Floated +---------------*/ + +.ui.floated.menu { + float: left; + margin: 0rem 0.5rem 0rem 0rem; +} + +.ui.floated.menu .item:last-child:before { + display: none; +} + +.ui.right.floated.menu { + float: right; + margin: 0rem 0rem 0rem 0.5rem; +} + +/*-------------- + Inverted +---------------*/ + +/* Red */ + +.ui.inverted.menu .red.active.item, +.ui.inverted.red.menu { + background-color: #DB2828; +} + +.ui.inverted.red.menu .item:before { + background-color: rgba(34, 36, 38, 0.1); +} + +.ui.inverted.red.menu .active.item { + background-color: rgba(0, 0, 0, 0.1) !important; +} + +/* Orange */ + +.ui.inverted.menu .orange.active.item, +.ui.inverted.orange.menu { + background-color: #F2711C; +} + +.ui.inverted.orange.menu .item:before { + background-color: rgba(34, 36, 38, 0.1); +} + +.ui.inverted.orange.menu .active.item { + background-color: rgba(0, 0, 0, 0.1) !important; +} + +/* Yellow */ + +.ui.inverted.menu .yellow.active.item, +.ui.inverted.yellow.menu { + background-color: #FBBD08; +} + +.ui.inverted.yellow.menu .item:before { + background-color: rgba(34, 36, 38, 0.1); +} + +.ui.inverted.yellow.menu .active.item { + background-color: rgba(0, 0, 0, 0.1) !important; +} + +/* Olive */ + +.ui.inverted.menu .olive.active.item, +.ui.inverted.olive.menu { + background-color: #B5CC18; +} + +.ui.inverted.olive.menu .item:before { + background-color: rgba(34, 36, 38, 0.1); +} + +.ui.inverted.olive.menu .active.item { + background-color: rgba(0, 0, 0, 0.1) !important; +} + +/* Green */ + +.ui.inverted.menu .green.active.item, +.ui.inverted.green.menu { + background-color: #21BA45; +} + +.ui.inverted.green.menu .item:before { + background-color: rgba(34, 36, 38, 0.1); +} + +.ui.inverted.green.menu .active.item { + background-color: rgba(0, 0, 0, 0.1) !important; +} + +/* Teal */ + +.ui.inverted.menu .teal.active.item, +.ui.inverted.teal.menu { + background-color: #00B5AD; +} + +.ui.inverted.teal.menu .item:before { + background-color: rgba(34, 36, 38, 0.1); +} + +.ui.inverted.teal.menu .active.item { + background-color: rgba(0, 0, 0, 0.1) !important; +} + +/* Blue */ + +.ui.inverted.menu .blue.active.item, +.ui.inverted.blue.menu { + background-color: #2185D0; +} + +.ui.inverted.blue.menu .item:before { + background-color: rgba(34, 36, 38, 0.1); +} + +.ui.inverted.blue.menu .active.item { + background-color: rgba(0, 0, 0, 0.1) !important; +} + +/* Violet */ + +.ui.inverted.menu .violet.active.item, +.ui.inverted.violet.menu { + background-color: #6435C9; +} + +.ui.inverted.violet.menu .item:before { + background-color: rgba(34, 36, 38, 0.1); +} + +.ui.inverted.violet.menu .active.item { + background-color: rgba(0, 0, 0, 0.1) !important; +} + +/* Purple */ + +.ui.inverted.menu .purple.active.item, +.ui.inverted.purple.menu { + background-color: #A333C8; +} + +.ui.inverted.purple.menu .item:before { + background-color: rgba(34, 36, 38, 0.1); +} + +.ui.inverted.purple.menu .active.item { + background-color: rgba(0, 0, 0, 0.1) !important; +} + +/* Pink */ + +.ui.inverted.menu .pink.active.item, +.ui.inverted.pink.menu { + background-color: #E03997; +} + +.ui.inverted.pink.menu .item:before { + background-color: rgba(34, 36, 38, 0.1); +} + +.ui.inverted.pink.menu .active.item { + background-color: rgba(0, 0, 0, 0.1) !important; +} + +/* Brown */ + +.ui.inverted.menu .brown.active.item, +.ui.inverted.brown.menu { + background-color: #A5673F; +} + +.ui.inverted.brown.menu .item:before { + background-color: rgba(34, 36, 38, 0.1); +} + +.ui.inverted.brown.menu .active.item { + background-color: rgba(0, 0, 0, 0.1) !important; +} + +/* Grey */ + +.ui.inverted.menu .grey.active.item, +.ui.inverted.grey.menu { + background-color: #767676; +} + +.ui.inverted.grey.menu .item:before { + background-color: rgba(34, 36, 38, 0.1); +} + +.ui.inverted.grey.menu .active.item { + background-color: rgba(0, 0, 0, 0.1) !important; +} + +/*-------------- + Fitted +---------------*/ + +.ui.fitted.menu .item, +.ui.fitted.menu .item .menu .item, +.ui.menu .fitted.item { + padding: 0em; +} + +.ui.horizontally.fitted.menu .item, +.ui.horizontally.fitted.menu .item .menu .item, +.ui.menu .horizontally.fitted.item { + padding-top: 0.92857143em; + padding-bottom: 0.92857143em; +} + +.ui.vertically.fitted.menu .item, +.ui.vertically.fitted.menu .item .menu .item, +.ui.menu .vertically.fitted.item { + padding-left: 1.14285714em; + padding-right: 1.14285714em; +} + +/*-------------- + Borderless +---------------*/ + +.ui.borderless.menu .item:before, +.ui.borderless.menu .item .menu .item:before, +.ui.menu .borderless.item:before { + background: none !important; +} + +/*------------------- + Compact +--------------------*/ + +.ui.compact.menu { + display: inline-flex; + margin: 0em; + vertical-align: middle; +} + +.ui.compact.vertical.menu { + display: inline-block; +} + +.ui.compact.menu .item:last-child { + border-radius: 0em 0.28571429rem 0.28571429rem 0em; +} + +.ui.compact.menu .item:last-child:before { + display: none; +} + +.ui.compact.vertical.menu { + width: auto !important; +} + +.ui.compact.vertical.menu .item:last-child::before { + display: block; +} + +/*------------------- + Fluid +--------------------*/ + +.ui.menu.fluid, +.ui.vertical.menu.fluid { + width: 100% !important; +} + +/*------------------- + Evenly Sized +--------------------*/ + +.ui.item.menu, +.ui.item.menu .item { + width: 100%; + padding-left: 0em !important; + padding-right: 0em !important; + margin-left: 0em !important; + margin-right: 0em !important; + text-align: center; + justify-content: center; +} + +.ui.attached.item.menu { + margin: 0em -1px !important; +} + +.ui.item.menu .item:last-child:before { + display: none; +} + +.ui.menu.two.item .item { + width: 50%; +} + +.ui.menu.three.item .item { + width: 33.333%; +} + +.ui.menu.four.item .item { + width: 25%; +} + +.ui.menu.five.item .item { + width: 20%; +} + +.ui.menu.six.item .item { + width: 16.666%; +} + +.ui.menu.seven.item .item { + width: 14.285%; +} + +.ui.menu.eight.item .item { + width: 12.5%; +} + +.ui.menu.nine.item .item { + width: 11.11%; +} + +.ui.menu.ten.item .item { + width: 10%; +} + +.ui.menu.eleven.item .item { + width: 9.09%; +} + +.ui.menu.twelve.item .item { + width: 8.333%; +} + +/*-------------- + Fixed +---------------*/ + +.ui.menu.fixed { + position: fixed; + z-index: 101; + margin: 0em; + width: 100%; +} + +.ui.menu.fixed, +.ui.menu.fixed .item:first-child, +.ui.menu.fixed .item:last-child { + border-radius: 0px !important; +} + +.ui.fixed.menu, +.ui[class*="top fixed"].menu { + top: 0px; + left: 0px; + right: auto; + bottom: auto; +} + +.ui[class*="top fixed"].menu { + border-top: none; + border-left: none; + border-right: none; +} + +.ui[class*="right fixed"].menu { + border-top: none; + border-bottom: none; + border-right: none; + top: 0px; + right: 0px; + left: auto; + bottom: auto; + width: auto; + height: 100%; +} + +.ui[class*="bottom fixed"].menu { + border-bottom: none; + border-left: none; + border-right: none; + bottom: 0px; + left: 0px; + top: auto; + right: auto; +} + +.ui[class*="left fixed"].menu { + border-top: none; + border-bottom: none; + border-left: none; + top: 0px; + left: 0px; + right: auto; + bottom: auto; + width: auto; + height: 100%; +} + +/* Coupling with Grid */ + +.ui.fixed.menu + .ui.grid { + padding-top: 2.75rem; +} + +/*------------------- + Pointing +--------------------*/ + +.ui.pointing.menu .item:after { + visibility: hidden; + position: absolute; + content: ''; + top: 100%; + left: 50%; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + background: none; + margin: 0.5px 0em 0em; + width: 0.57142857em; + height: 0.57142857em; + border: none; + border-bottom: 1px solid #D4D4D5; + border-right: 1px solid #D4D4D5; + z-index: 2; + transition: background 0.1s ease; +} + +.ui.vertical.pointing.menu .item:after { + position: absolute; + top: 50%; + right: 0%; + bottom: auto; + left: auto; + transform: translateX(50%) translateY(-50%) rotate(45deg); + margin: 0em -0.5px 0em 0em; + border: none; + border-top: 1px solid #D4D4D5; + border-right: 1px solid #D4D4D5; +} + +/* Active */ + +.ui.pointing.menu .active.item:after { + visibility: visible; +} + +.ui.pointing.menu .active.dropdown.item:after { + visibility: hidden; +} + +/* Don't double up pointers */ + +.ui.pointing.menu .dropdown.active.item:after, +.ui.pointing.menu .active.item .menu .active.item:after { + display: none; +} + +/* Colors */ + +.ui.pointing.menu .active.item:hover:after { + background-color: #F2F2F2; +} + +.ui.pointing.menu .active.item:after { + background-color: #F2F2F2; +} + +.ui.pointing.menu .active.item:hover:after { + background-color: #F2F2F2; +} + +.ui.vertical.pointing.menu .active.item:hover:after { + background-color: #F2F2F2; +} + +.ui.vertical.pointing.menu .active.item:after { + background-color: #F2F2F2; +} + +.ui.vertical.pointing.menu .menu .active.item:after { + background-color: #FFFFFF; +} + +/*-------------- + Attached +---------------*/ + +/* Middle */ + +.ui.attached.menu { + top: 0px; + bottom: 0px; + border-radius: 0px; + margin: 0em -1px; + width: calc(100% - (-1px * 2)); + max-width: calc(100% - (-1px * 2)); + box-shadow: none; +} + +.ui.attached + .ui.attached.menu:not(.top) { + border-top: none; +} + +/* Top */ + +.ui[class*="top attached"].menu { + bottom: 0px; + margin-bottom: 0em; + top: 0px; + margin-top: 1rem; + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +.ui.menu[class*="top attached"]:first-child { + margin-top: 0em; +} + +/* Bottom */ + +.ui[class*="bottom attached"].menu { + bottom: 0px; + margin-top: 0em; + top: 0px; + margin-bottom: 1rem; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none; + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +.ui[class*="bottom attached"].menu:last-child { + margin-bottom: 0em; +} + +/* Attached Menu Item */ + +.ui.top.attached.menu > .item:first-child { + border-radius: 0.28571429rem 0em 0em 0em; +} + +.ui.bottom.attached.menu > .item:first-child { + border-radius: 0em 0em 0em 0.28571429rem; +} + +/* Tabular Attached */ + +.ui.attached.menu:not(.tabular) { + border: 1px solid #D4D4D5; +} + +.ui.attached.inverted.menu { + border: none; +} + +.ui.attached.tabular.menu { + margin-left: 0; + margin-right: 0; + width: 100%; +} + +/*-------------- + Sizes +---------------*/ + +/* Mini */ + +.ui.mini.menu { + font-size: 0.78571429rem; +} + +.ui.mini.vertical.menu { + width: 9rem; +} + +/* Tiny */ + +.ui.tiny.menu { + font-size: 0.85714286rem; +} + +.ui.tiny.vertical.menu { + width: 11rem; +} + +/* Small */ + +.ui.small.menu { + font-size: 0.92857143rem; +} + +.ui.small.vertical.menu { + width: 13rem; +} + +/* Medium */ + +.ui.menu { + font-size: 1rem; +} + +.ui.vertical.menu { + width: 15rem; +} + +/* Large */ + +.ui.large.menu { + font-size: 1.07142857rem; +} + +.ui.large.vertical.menu { + width: 18rem; +} + +/* Huge */ + +.ui.huge.menu { + font-size: 1.21428571rem; +} + +.ui.huge.vertical.menu { + width: 22rem; +} + +/* Big */ + +.ui.big.menu { + font-size: 1.14285714rem; +} + +.ui.big.vertical.menu { + width: 20rem; +} + +/* Massive */ + +.ui.massive.menu { + font-size: 1.28571429rem; +} + +.ui.massive.vertical.menu { + width: 25rem; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Message + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Message +*******************************/ + +.ui.message { + position: relative; + min-height: 1em; + margin: 1em 0em; + background: #F8F8F9; + padding: 1em 1.5em; + line-height: 1.4285em; + color: rgba(0, 0, 0, 0.87); + transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease; + border-radius: 0.28571429rem; + box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.message:first-child { + margin-top: 0em; +} + +.ui.message:last-child { + margin-bottom: 0em; +} + +/*-------------- + Content +---------------*/ + +/* Header */ + +.ui.message .header { + display: block; + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-weight: bold; + margin: -0.14285714em 0em 0rem 0em; +} + +/* Default font size */ + +.ui.message .header:not(.ui) { + font-size: 1.14285714em; +} + +/* Paragraph */ + +.ui.message p { + opacity: 0.85; + margin: 0.75em 0em; +} + +.ui.message p:first-child { + margin-top: 0em; +} + +.ui.message p:last-child { + margin-bottom: 0em; +} + +.ui.message .header + p { + margin-top: 0.25em; +} + +/* List */ + +.ui.message .list:not(.ui) { + text-align: left; + padding: 0em; + opacity: 0.85; + list-style-position: inside; + margin: 0.5em 0em 0em; +} + +.ui.message .list:not(.ui):first-child { + margin-top: 0em; +} + +.ui.message .list:not(.ui):last-child { + margin-bottom: 0em; +} + +.ui.message .list:not(.ui) li { + position: relative; + list-style-type: none; + margin: 0em 0em 0.3em 1em; + padding: 0em; +} + +.ui.message .list:not(.ui) li:before { + position: absolute; + content: '•'; + left: -1em; + height: 100%; + vertical-align: baseline; +} + +.ui.message .list:not(.ui) li:last-child { + margin-bottom: 0em; +} + +/* Icon */ + +.ui.message > .icon { + margin-right: 0.6em; +} + +/* Close Icon */ + +.ui.message > .close.icon { + cursor: pointer; + position: absolute; + margin: 0em; + top: 0.78575em; + right: 0.5em; + opacity: 0.7; + transition: opacity 0.1s ease; +} + +.ui.message > .close.icon:hover { + opacity: 1; +} + +/* First / Last Element */ + +.ui.message > :first-child { + margin-top: 0em; +} + +.ui.message > :last-child { + margin-bottom: 0em; +} + +/******************************* + Coupling +*******************************/ + +.ui.dropdown .menu > .message { + margin: 0px -1px; +} + +/******************************* + States +*******************************/ + +/*-------------- + Visible +---------------*/ + +.ui.visible.visible.visible.visible.message { + display: block; +} + +.ui.icon.visible.visible.visible.visible.message { + display: flex; +} + +/*-------------- + Hidden +---------------*/ + +.ui.hidden.hidden.hidden.hidden.message { + display: none; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Compact +---------------*/ + +.ui.compact.message { + display: inline-block; +} + +.ui.compact.icon.message { + display: inline-flex; +} + +/*-------------- + Attached +---------------*/ + +.ui.attached.message { + margin-bottom: -1px; + border-radius: 0.28571429rem 0.28571429rem 0em 0em; + box-shadow: 0em 0em 0em 1px rgba(34, 36, 38, 0.15) inset; + margin-left: -1px; + margin-right: -1px; +} + +.ui.attached + .ui.attached.message:not(.top):not(.bottom) { + margin-top: -1px; + border-radius: 0em; +} + +.ui.bottom.attached.message { + margin-top: -1px; + border-radius: 0em 0em 0.28571429rem 0.28571429rem; + box-shadow: 0em 0em 0em 1px rgba(34, 36, 38, 0.15) inset, 0px 1px 2px 0 rgba(34, 36, 38, 0.15); +} + +.ui.bottom.attached.message:not(:last-child) { + margin-bottom: 1em; +} + +.ui.attached.icon.message { + width: auto; +} + +/*-------------- + Icon +---------------*/ + +.ui.icon.message { + display: flex; + width: 100%; + align-items: center; +} + +.ui.icon.message > .icon:not(.close) { + display: block; + flex: 0 0 auto; + width: auto; + line-height: 1; + vertical-align: middle; + font-size: 3em; + opacity: 0.8; +} + +.ui.icon.message > .content { + display: block; + flex: 1 1 auto; + vertical-align: middle; +} + +.ui.icon.message .icon:not(.close) + .content { + padding-left: 0rem; +} + +.ui.icon.message .circular.icon { + width: 1em; +} + +/*-------------- + Floating +---------------*/ + +.ui.floating.message { + box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15); +} + +/*-------------- + Colors +---------------*/ + +.ui.black.message { + background-color: #1B1C1D; + color: rgba(255, 255, 255, 0.9); +} + +/*-------------- + Types +---------------*/ + +/* Positive */ + +.ui.positive.message { + background-color: #FCFFF5; + color: #2C662D; +} + +.ui.positive.message, +.ui.attached.positive.message { + box-shadow: 0px 0px 0px 1px #A3C293 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.positive.message .header { + color: #1A531B; +} + +/* Negative */ + +.ui.negative.message { + background-color: #FFF6F6; + color: #9F3A38; +} + +.ui.negative.message, +.ui.attached.negative.message { + box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.negative.message .header { + color: #912D2B; +} + +/* Info */ + +.ui.info.message { + background-color: #F8FFFF; + color: #276F86; +} + +.ui.info.message, +.ui.attached.info.message { + box-shadow: 0px 0px 0px 1px #A9D5DE inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.info.message .header { + color: #0E566C; +} + +/* Warning */ + +.ui.warning.message { + background-color: #FFFAF3; + color: #573A08; +} + +.ui.warning.message, +.ui.attached.warning.message { + box-shadow: 0px 0px 0px 1px #C9BA9B inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.warning.message .header { + color: #794B02; +} + +/* Error */ + +.ui.error.message { + background-color: #FFF6F6; + color: #9F3A38; +} + +.ui.error.message, +.ui.attached.error.message { + box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.error.message .header { + color: #912D2B; +} + +/* Success */ + +.ui.success.message { + background-color: #FCFFF5; + color: #2C662D; +} + +.ui.success.message, +.ui.attached.success.message { + box-shadow: 0px 0px 0px 1px #A3C293 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.success.message .header { + color: #1A531B; +} + +/* Colors */ + +.ui.inverted.message, +.ui.black.message { + background-color: #1B1C1D; + color: rgba(255, 255, 255, 0.9); +} + +.ui.red.message { + background-color: #FFE8E6; + color: #DB2828; + box-shadow: 0px 0px 0px 1px #DB2828 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.red.message .header { + color: #c82121; +} + +.ui.orange.message { + background-color: #FFEDDE; + color: #F2711C; + box-shadow: 0px 0px 0px 1px #F2711C inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.orange.message .header { + color: #e7640d; +} + +.ui.yellow.message { + background-color: #FFF8DB; + color: #B58105; + box-shadow: 0px 0px 0px 1px #B58105 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.yellow.message .header { + color: #9c6f04; +} + +.ui.olive.message { + background-color: #FBFDEF; + color: #8ABC1E; + box-shadow: 0px 0px 0px 1px #8ABC1E inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.olive.message .header { + color: #7aa61a; +} + +.ui.green.message { + background-color: #E5F9E7; + color: #1EBC30; + box-shadow: 0px 0px 0px 1px #1EBC30 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.green.message .header { + color: #1aa62a; +} + +.ui.teal.message { + background-color: #E1F7F7; + color: #10A3A3; + box-shadow: 0px 0px 0px 1px #10A3A3 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.teal.message .header { + color: #0e8c8c; +} + +.ui.blue.message { + background-color: #DFF0FF; + color: #2185D0; + box-shadow: 0px 0px 0px 1px #2185D0 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.blue.message .header { + color: #1e77ba; +} + +.ui.violet.message { + background-color: #EAE7FF; + color: #6435C9; + box-shadow: 0px 0px 0px 1px #6435C9 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.violet.message .header { + color: #5a30b5; +} + +.ui.purple.message { + background-color: #F6E7FF; + color: #A333C8; + box-shadow: 0px 0px 0px 1px #A333C8 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.purple.message .header { + color: #922eb4; +} + +.ui.pink.message { + background-color: #FFE3FB; + color: #E03997; + box-shadow: 0px 0px 0px 1px #E03997 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.pink.message .header { + color: #dd238b; +} + +.ui.brown.message { + background-color: #F1E2D3; + color: #A5673F; + box-shadow: 0px 0px 0px 1px #A5673F inset, 0px 0px 0px 0px rgba(0, 0, 0, 0); +} + +.ui.brown.message .header { + color: #935b38; +} + +/*-------------- + Sizes +---------------*/ + +.ui.mini.message { + font-size: 0.78571429em; +} + +.ui.tiny.message { + font-size: 0.85714286em; +} + +.ui.small.message { + font-size: 0.92857143em; +} + +.ui.message { + font-size: 1em; +} + +.ui.large.message { + font-size: 1.14285714em; +} + +.ui.big.message { + font-size: 1.28571429em; +} + +.ui.huge.message { + font-size: 1.42857143em; +} + +.ui.massive.message { + font-size: 1.71428571em; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Table + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Table +*******************************/ + +/* Prototype */ + +.ui.table { + width: 100%; + background: #FFFFFF; + margin: 1em 0em; + border: 1px solid rgba(34, 36, 38, 0.15); + box-shadow: none; + border-radius: 0.28571429rem; + text-align: left; + color: rgba(0, 0, 0, 0.87); + border-collapse: separate; + border-spacing: 0px; +} + +.ui.table:first-child { + margin-top: 0em; +} + +.ui.table:last-child { + margin-bottom: 0em; +} + +/******************************* + Parts +*******************************/ + +/* Table Content */ + +.ui.table th, +.ui.table td { + transition: background 0.1s ease, color 0.1s ease; +} + +/* Headers */ + +.ui.table thead { + box-shadow: none; +} + +.ui.table thead th { + cursor: auto; + background: #F9FAFB; + text-align: inherit; + color: rgba(0, 0, 0, 0.87); + padding: 0.92857143em 0.78571429em; + vertical-align: inherit; + font-style: none; + font-weight: bold; + text-transform: none; + border-bottom: 1px solid rgba(34, 36, 38, 0.1); + border-left: none; +} + +.ui.table thead tr > th:first-child { + border-left: none; +} + +.ui.table thead tr:first-child > th:first-child { + border-radius: 0.28571429rem 0em 0em 0em; +} + +.ui.table thead tr:first-child > th:last-child { + border-radius: 0em 0.28571429rem 0em 0em; +} + +.ui.table thead tr:first-child > th:only-child { + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +/* Footer */ + +.ui.table tfoot { + box-shadow: none; +} + +.ui.table tfoot th { + cursor: auto; + border-top: 1px solid rgba(34, 36, 38, 0.15); + background: #F9FAFB; + text-align: inherit; + color: rgba(0, 0, 0, 0.87); + padding: 0.78571429em 0.78571429em; + vertical-align: middle; + font-style: normal; + font-weight: normal; + text-transform: none; +} + +.ui.table tfoot tr > th:first-child { + border-left: none; +} + +.ui.table tfoot tr:first-child > th:first-child { + border-radius: 0em 0em 0em 0.28571429rem; +} + +.ui.table tfoot tr:first-child > th:last-child { + border-radius: 0em 0em 0.28571429rem 0em; +} + +.ui.table tfoot tr:first-child > th:only-child { + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +/* Table Row */ + +.ui.table tr td { + border-top: 1px solid rgba(34, 36, 38, 0.1); +} + +.ui.table tr:first-child td { + border-top: none; +} + +/* Repeated tbody */ + +.ui.table tbody + tbody tr:first-child td { + border-top: 1px solid rgba(34, 36, 38, 0.1); +} + +/* Table Cells */ + +.ui.table td { + padding: 0.78571429em 0.78571429em; + text-align: inherit; +} + +/* Icons */ + +.ui.table > .icon { + vertical-align: baseline; +} + +.ui.table > .icon:only-child { + margin: 0em; +} + +/* Table Segment */ + +.ui.table.segment { + padding: 0em; +} + +.ui.table.segment:after { + display: none; +} + +.ui.table.segment.stacked:after { + display: block; +} + +/* Responsive */ + +@media only screen and (max-width: 767px) { + .ui.table:not(.unstackable) { + width: 100%; + } + + .ui.table:not(.unstackable) tbody, + .ui.table:not(.unstackable) tr, + .ui.table:not(.unstackable) tr > th, + .ui.table:not(.unstackable) tr > td { + width: auto !important; + display: block !important; + } + + .ui.table:not(.unstackable) { + padding: 0em; + } + + .ui.table:not(.unstackable) thead { + display: block; + } + + .ui.table:not(.unstackable) tfoot { + display: block; + } + + .ui.table:not(.unstackable) tr { + padding-top: 1em; + padding-bottom: 1em; + box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important; + } + + .ui.table:not(.unstackable) tr > th, + .ui.table:not(.unstackable) tr > td { + background: none; + border: none !important; + padding: 0.25em 0.75em !important; + box-shadow: none !important; + } + + .ui.table:not(.unstackable) th:first-child, + .ui.table:not(.unstackable) td:first-child { + font-weight: bold; + } + + /* Definition Table */ + + .ui.definition.table:not(.unstackable) thead th:first-child { + box-shadow: none !important; + } +} + +/******************************* + Coupling +*******************************/ + +/* UI Image */ + +.ui.table th .image, +.ui.table th .image img, +.ui.table td .image, +.ui.table td .image img { + max-width: none; +} + +/******************************* + Types +*******************************/ + +/*-------------- + Complex +---------------*/ + +.ui.structured.table { + border-collapse: collapse; +} + +.ui.structured.table thead th { + border-left: none; + border-right: none; +} + +.ui.structured.sortable.table thead th { + border-left: 1px solid rgba(34, 36, 38, 0.15); + border-right: 1px solid rgba(34, 36, 38, 0.15); +} + +.ui.structured.basic.table th { + border-left: none; + border-right: none; +} + +.ui.structured.celled.table tr th, +.ui.structured.celled.table tr td { + border-left: 1px solid rgba(34, 36, 38, 0.1); + border-right: 1px solid rgba(34, 36, 38, 0.1); +} + +/*-------------- + Definition +---------------*/ + +.ui.definition.table thead:not(.full-width) th:first-child { + pointer-events: none; + background: transparent; + font-weight: normal; + color: rgba(0, 0, 0, 0.4); + box-shadow: -1px -1px 0px 1px #FFFFFF; +} + +.ui.definition.table tfoot:not(.full-width) th:first-child { + pointer-events: none; + background: transparent; + font-weight: rgba(0, 0, 0, 0.4); + color: normal; + box-shadow: 1px 1px 0px 1px #FFFFFF; +} + +/* Remove Border */ + +.ui.celled.definition.table thead:not(.full-width) th:first-child { + box-shadow: 0px -1px 0px 1px #FFFFFF; +} + +.ui.celled.definition.table tfoot:not(.full-width) th:first-child { + box-shadow: 0px 1px 0px 1px #FFFFFF; +} + +/* Highlight Defining Column */ + +.ui.definition.table tr td:first-child:not(.ignored), +.ui.definition.table tr td.definition { + background: rgba(0, 0, 0, 0.03); + font-weight: bold; + color: rgba(0, 0, 0, 0.95); + text-transform: ''; + box-shadow: ''; + text-align: ''; + font-size: 1em; + padding-left: ''; + padding-right: ''; +} + +/* Fix 2nd Column */ + +.ui.definition.table thead:not(.full-width) th:nth-child(2) { + border-left: 1px solid rgba(34, 36, 38, 0.15); +} + +.ui.definition.table tfoot:not(.full-width) th:nth-child(2) { + border-left: 1px solid rgba(34, 36, 38, 0.15); +} + +.ui.definition.table td:nth-child(2) { + border-left: 1px solid rgba(34, 36, 38, 0.15); +} + +/******************************* + States +*******************************/ + +/*-------------- + Positive +---------------*/ + +.ui.table tr.positive, +.ui.table td.positive { + box-shadow: 0px 0px 0px #A3C293 inset; +} + +.ui.table tr.positive, +.ui.table td.positive { + background: #FCFFF5 !important; + color: #2C662D !important; +} + +/*-------------- + Negative +---------------*/ + +.ui.table tr.negative, +.ui.table td.negative { + box-shadow: 0px 0px 0px #E0B4B4 inset; +} + +.ui.table tr.negative, +.ui.table td.negative { + background: #FFF6F6 !important; + color: #9F3A38 !important; +} + +/*-------------- + Error +---------------*/ + +.ui.table tr.error, +.ui.table td.error { + box-shadow: 0px 0px 0px #E0B4B4 inset; +} + +.ui.table tr.error, +.ui.table td.error { + background: #FFF6F6 !important; + color: #9F3A38 !important; +} + +/*-------------- + Warning +---------------*/ + +.ui.table tr.warning, +.ui.table td.warning { + box-shadow: 0px 0px 0px #C9BA9B inset; +} + +.ui.table tr.warning, +.ui.table td.warning { + background: #FFFAF3 !important; + color: #573A08 !important; +} + +/*-------------- + Active +---------------*/ + +.ui.table tr.active, +.ui.table td.active { + box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.87) inset; +} + +.ui.table tr.active, +.ui.table td.active { + background: #E0E0E0 !important; + color: rgba(0, 0, 0, 0.87) !important; +} + +/*-------------- + Disabled +---------------*/ + +.ui.table tr.disabled td, +.ui.table tr td.disabled, +.ui.table tr.disabled:hover, +.ui.table tr:hover td.disabled { + pointer-events: none; + color: rgba(40, 40, 40, 0.3); +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Stackable +---------------*/ + +@media only screen and (max-width: 991px) { + .ui[class*="tablet stackable"].table, + .ui[class*="tablet stackable"].table tbody, + .ui[class*="tablet stackable"].table tr, + .ui[class*="tablet stackable"].table tr > th, + .ui[class*="tablet stackable"].table tr > td { + width: 100% !important; + display: block !important; + } + + .ui[class*="tablet stackable"].table { + padding: 0em; + } + + .ui[class*="tablet stackable"].table thead { + display: block; + } + + .ui[class*="tablet stackable"].table tfoot { + display: block; + } + + .ui[class*="tablet stackable"].table tr { + padding-top: 1em; + padding-bottom: 1em; + box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important; + } + + .ui[class*="tablet stackable"].table tr > th, + .ui[class*="tablet stackable"].table tr > td { + background: none; + border: none !important; + padding: 0.25em 0.75em; + box-shadow: none !important; + } + + /* Definition Table */ + + .ui.definition[class*="tablet stackable"].table thead th:first-child { + box-shadow: none !important; + } +} + +/*-------------- + Text Alignment +---------------*/ + +.ui.table[class*="left aligned"], +.ui.table [class*="left aligned"] { + text-align: left; +} + +.ui.table[class*="center aligned"], +.ui.table [class*="center aligned"] { + text-align: center; +} + +.ui.table[class*="right aligned"], +.ui.table [class*="right aligned"] { + text-align: right; +} + +/*------------------ + Vertical Alignment +------------------*/ + +.ui.table[class*="top aligned"], +.ui.table [class*="top aligned"] { + vertical-align: top; +} + +.ui.table[class*="middle aligned"], +.ui.table [class*="middle aligned"] { + vertical-align: middle; +} + +.ui.table[class*="bottom aligned"], +.ui.table [class*="bottom aligned"] { + vertical-align: bottom; +} + +/*-------------- + Collapsing +---------------*/ + +.ui.table th.collapsing, +.ui.table td.collapsing { + width: 1px; + white-space: nowrap; +} + +/*-------------- + Fixed +---------------*/ + +.ui.fixed.table { + table-layout: fixed; +} + +.ui.fixed.table th, +.ui.fixed.table td { + overflow: hidden; + text-overflow: ellipsis; +} + +/*-------------- + Selectable +---------------*/ + +.ui.selectable.table tbody tr:hover, +.ui.table tbody tr td.selectable:hover { + background: rgba(0, 0, 0, 0.05) !important; + color: rgba(0, 0, 0, 0.95) !important; +} + +.ui.selectable.inverted.table tbody tr:hover, +.ui.inverted.table tbody tr td.selectable:hover { + background: rgba(255, 255, 255, 0.08) !important; + color: #ffffff !important; +} + +/* Selectable Cell Link */ + +.ui.table tbody tr td.selectable { + padding: 0em; +} + +.ui.table tbody tr td.selectable > a:not(.ui) { + display: block; + color: inherit; + padding: 0.78571429em 0.78571429em; +} + +/* Other States */ + +.ui.selectable.table tr.error:hover, +.ui.table tr td.selectable.error:hover, +.ui.selectable.table tr:hover td.error { + background: #ffe7e7 !important; + color: #943634 !important; +} + +.ui.selectable.table tr.warning:hover, +.ui.table tr td.selectable.warning:hover, +.ui.selectable.table tr:hover td.warning { + background: #fff4e4 !important; + color: #493107 !important; +} + +.ui.selectable.table tr.active:hover, +.ui.table tr td.selectable.active:hover, +.ui.selectable.table tr:hover td.active { + background: #E0E0E0 !important; + color: rgba(0, 0, 0, 0.87) !important; +} + +.ui.selectable.table tr.positive:hover, +.ui.table tr td.selectable.positive:hover, +.ui.selectable.table tr:hover td.positive { + background: #f7ffe6 !important; + color: #275b28 !important; +} + +.ui.selectable.table tr.negative:hover, +.ui.table tr td.selectable.negative:hover, +.ui.selectable.table tr:hover td.negative { + background: #ffe7e7 !important; + color: #943634 !important; +} + +/*------------------- + Attached +--------------------*/ + +/* Middle */ + +.ui.attached.table { + top: 0px; + bottom: 0px; + border-radius: 0px; + margin: 0em -1px; + width: calc(100% - (-1px * 2)); + max-width: calc(100% - (-1px * 2)); + box-shadow: none; + border: 1px solid #D4D4D5; +} + +.ui.attached + .ui.attached.table:not(.top) { + border-top: none; +} + +/* Top */ + +.ui[class*="top attached"].table { + bottom: 0px; + margin-bottom: 0em; + top: 0px; + margin-top: 1em; + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +.ui.table[class*="top attached"]:first-child { + margin-top: 0em; +} + +/* Bottom */ + +.ui[class*="bottom attached"].table { + bottom: 0px; + margin-top: 0em; + top: 0px; + margin-bottom: 1em; + box-shadow: none, none; + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +.ui[class*="bottom attached"].table:last-child { + margin-bottom: 0em; +} + +/*-------------- + Striped +---------------*/ + +/* Table Striping */ + +.ui.striped.table > tr:nth-child(2n), +.ui.striped.table tbody tr:nth-child(2n) { + background-color: rgba(0, 0, 50, 0.02); +} + +/* Stripes */ + +.ui.inverted.striped.table > tr:nth-child(2n), +.ui.inverted.striped.table tbody tr:nth-child(2n) { + background-color: rgba(255, 255, 255, 0.05); +} + +/* Allow striped active hover */ + +.ui.striped.selectable.selectable.selectable.table tbody tr.active:hover { + background: #EFEFEF !important; + color: rgba(0, 0, 0, 0.95) !important; +} + +/*-------------- + Single Line +---------------*/ + +.ui.table[class*="single line"], +.ui.table [class*="single line"] { + white-space: nowrap; +} + +.ui.table[class*="single line"], +.ui.table [class*="single line"] { + white-space: nowrap; +} + +/*------------------- + Colors +--------------------*/ + +/* Red */ + +.ui.red.table { + border-top: 0.2em solid #DB2828; +} + +.ui.inverted.red.table { + background-color: #DB2828 !important; + color: #FFFFFF !important; +} + +/* Orange */ + +.ui.orange.table { + border-top: 0.2em solid #F2711C; +} + +.ui.inverted.orange.table { + background-color: #F2711C !important; + color: #FFFFFF !important; +} + +/* Yellow */ + +.ui.yellow.table { + border-top: 0.2em solid #FBBD08; +} + +.ui.inverted.yellow.table { + background-color: #FBBD08 !important; + color: #FFFFFF !important; +} + +/* Olive */ + +.ui.olive.table { + border-top: 0.2em solid #B5CC18; +} + +.ui.inverted.olive.table { + background-color: #B5CC18 !important; + color: #FFFFFF !important; +} + +/* Green */ + +.ui.green.table { + border-top: 0.2em solid #21BA45; +} + +.ui.inverted.green.table { + background-color: #21BA45 !important; + color: #FFFFFF !important; +} + +/* Teal */ + +.ui.teal.table { + border-top: 0.2em solid #00B5AD; +} + +.ui.inverted.teal.table { + background-color: #00B5AD !important; + color: #FFFFFF !important; +} + +/* Blue */ + +.ui.blue.table { + border-top: 0.2em solid #2185D0; +} + +.ui.inverted.blue.table { + background-color: #2185D0 !important; + color: #FFFFFF !important; +} + +/* Violet */ + +.ui.violet.table { + border-top: 0.2em solid #6435C9; +} + +.ui.inverted.violet.table { + background-color: #6435C9 !important; + color: #FFFFFF !important; +} + +/* Purple */ + +.ui.purple.table { + border-top: 0.2em solid #A333C8; +} + +.ui.inverted.purple.table { + background-color: #A333C8 !important; + color: #FFFFFF !important; +} + +/* Pink */ + +.ui.pink.table { + border-top: 0.2em solid #E03997; +} + +.ui.inverted.pink.table { + background-color: #E03997 !important; + color: #FFFFFF !important; +} + +/* Brown */ + +.ui.brown.table { + border-top: 0.2em solid #A5673F; +} + +.ui.inverted.brown.table { + background-color: #A5673F !important; + color: #FFFFFF !important; +} + +/* Grey */ + +.ui.grey.table { + border-top: 0.2em solid #767676; +} + +.ui.inverted.grey.table { + background-color: #767676 !important; + color: #FFFFFF !important; +} + +/* Black */ + +.ui.black.table { + border-top: 0.2em solid #1B1C1D; +} + +.ui.inverted.black.table { + background-color: #1B1C1D !important; + color: #FFFFFF !important; +} + +/*-------------- + Column Count +---------------*/ + +/* Grid Based */ + +.ui.one.column.table td { + width: 100%; +} + +.ui.two.column.table td { + width: 50%; +} + +.ui.three.column.table td { + width: 33.33333333%; +} + +.ui.four.column.table td { + width: 25%; +} + +.ui.five.column.table td { + width: 20%; +} + +.ui.six.column.table td { + width: 16.66666667%; +} + +.ui.seven.column.table td { + width: 14.28571429%; +} + +.ui.eight.column.table td { + width: 12.5%; +} + +.ui.nine.column.table td { + width: 11.11111111%; +} + +.ui.ten.column.table td { + width: 10%; +} + +.ui.eleven.column.table td { + width: 9.09090909%; +} + +.ui.twelve.column.table td { + width: 8.33333333%; +} + +.ui.thirteen.column.table td { + width: 7.69230769%; +} + +.ui.fourteen.column.table td { + width: 7.14285714%; +} + +.ui.fifteen.column.table td { + width: 6.66666667%; +} + +.ui.sixteen.column.table td { + width: 6.25%; +} + +/* Column Width */ + +.ui.table th.one.wide, +.ui.table td.one.wide { + width: 6.25%; +} + +.ui.table th.two.wide, +.ui.table td.two.wide { + width: 12.5%; +} + +.ui.table th.three.wide, +.ui.table td.three.wide { + width: 18.75%; +} + +.ui.table th.four.wide, +.ui.table td.four.wide { + width: 25%; +} + +.ui.table th.five.wide, +.ui.table td.five.wide { + width: 31.25%; +} + +.ui.table th.six.wide, +.ui.table td.six.wide { + width: 37.5%; +} + +.ui.table th.seven.wide, +.ui.table td.seven.wide { + width: 43.75%; +} + +.ui.table th.eight.wide, +.ui.table td.eight.wide { + width: 50%; +} + +.ui.table th.nine.wide, +.ui.table td.nine.wide { + width: 56.25%; +} + +.ui.table th.ten.wide, +.ui.table td.ten.wide { + width: 62.5%; +} + +.ui.table th.eleven.wide, +.ui.table td.eleven.wide { + width: 68.75%; +} + +.ui.table th.twelve.wide, +.ui.table td.twelve.wide { + width: 75%; +} + +.ui.table th.thirteen.wide, +.ui.table td.thirteen.wide { + width: 81.25%; +} + +.ui.table th.fourteen.wide, +.ui.table td.fourteen.wide { + width: 87.5%; +} + +.ui.table th.fifteen.wide, +.ui.table td.fifteen.wide { + width: 93.75%; +} + +.ui.table th.sixteen.wide, +.ui.table td.sixteen.wide { + width: 100%; +} + +/*-------------- + Sortable +---------------*/ + +.ui.sortable.table thead th { + cursor: pointer; + white-space: nowrap; + border-left: 1px solid rgba(34, 36, 38, 0.15); + color: rgba(0, 0, 0, 0.87); +} + +.ui.sortable.table thead th:first-child { + border-left: none; +} + +.ui.sortable.table thead th.sorted, +.ui.sortable.table thead th.sorted:hover { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.ui.sortable.table thead th:after { + display: none; + font-style: normal; + font-weight: normal; + text-decoration: inherit; + content: ''; + height: 1em; + width: auto; + opacity: 0.8; + margin: 0em 0em 0em 0.5em; + font-family: 'Icons'; +} + +.ui.sortable.table thead th.ascending:after { + content: '\f0d8'; +} + +.ui.sortable.table thead th.descending:after { + content: '\f0d7'; +} + +/* Hover */ + +.ui.sortable.table th.disabled:hover { + cursor: auto; + color: rgba(40, 40, 40, 0.3); +} + +.ui.sortable.table thead th:hover { + background: rgba(0, 0, 0, 0.05); + color: rgba(0, 0, 0, 0.8); +} + +/* Sorted */ + +.ui.sortable.table thead th.sorted { + background: rgba(0, 0, 0, 0.05); + color: rgba(0, 0, 0, 0.95); +} + +.ui.sortable.table thead th.sorted:after { + display: inline-block; +} + +/* Sorted Hover */ + +.ui.sortable.table thead th.sorted:hover { + background: rgba(0, 0, 0, 0.05); + color: rgba(0, 0, 0, 0.95); +} + +/* Inverted */ + +.ui.inverted.sortable.table thead th.sorted { + background: rgba(255, 255, 255, 0.15) linear-gradient(transparent, rgba(0, 0, 0, 0.05)); + color: #ffffff; +} + +.ui.inverted.sortable.table thead th:hover { + background: rgba(255, 255, 255, 0.08) linear-gradient(transparent, rgba(0, 0, 0, 0.05)); + color: #ffffff; +} + +.ui.inverted.sortable.table thead th { + border-left-color: transparent; + border-right-color: transparent; +} + +/*-------------- + Inverted +---------------*/ + +/* Text Color */ + +.ui.inverted.table { + background: #333333; + color: rgba(255, 255, 255, 0.9); + border: none; +} + +.ui.inverted.table th { + background-color: rgba(0, 0, 0, 0.15); + border-color: rgba(255, 255, 255, 0.1) !important; + color: rgba(255, 255, 255, 0.9) !important; +} + +.ui.inverted.table tr td { + border-color: rgba(255, 255, 255, 0.1) !important; +} + +.ui.inverted.table tr.disabled td, +.ui.inverted.table tr td.disabled, +.ui.inverted.table tr.disabled:hover td, +.ui.inverted.table tr:hover td.disabled { + pointer-events: none; + color: rgba(225, 225, 225, 0.3); +} + +/* Definition */ + +.ui.inverted.definition.table tfoot:not(.full-width) th:first-child, +.ui.inverted.definition.table thead:not(.full-width) th:first-child { + background: #FFFFFF; +} + +.ui.inverted.definition.table tr td:first-child { + background: rgba(255, 255, 255, 0.02); + color: #ffffff; +} + +/*-------------- + Collapsing +---------------*/ + +.ui.collapsing.table { + width: auto; +} + +/*-------------- + Basic +---------------*/ + +.ui.basic.table { + background: transparent; + border: 1px solid rgba(34, 36, 38, 0.15); + box-shadow: none; +} + +.ui.basic.table thead, +.ui.basic.table tfoot { + box-shadow: none; +} + +.ui.basic.table th { + background: transparent; + border-left: none; +} + +.ui.basic.table tbody tr { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); +} + +.ui.basic.table td { + background: transparent; +} + +.ui.basic.striped.table tbody tr:nth-child(2n) { + background-color: rgba(0, 0, 0, 0.05) !important; +} + +/* Very Basic */ + +.ui[class*="very basic"].table { + border: none; +} + +.ui[class*="very basic"].table:not(.sortable):not(.striped) th, +.ui[class*="very basic"].table:not(.sortable):not(.striped) td { + padding: ''; +} + +.ui[class*="very basic"].table:not(.sortable):not(.striped) th:first-child, +.ui[class*="very basic"].table:not(.sortable):not(.striped) td:first-child { + padding-left: 0em; +} + +.ui[class*="very basic"].table:not(.sortable):not(.striped) th:last-child, +.ui[class*="very basic"].table:not(.sortable):not(.striped) td:last-child { + padding-right: 0em; +} + +.ui[class*="very basic"].table:not(.sortable):not(.striped) thead tr:first-child th { + padding-top: 0em; +} + +/*-------------- + Celled +---------------*/ + +.ui.celled.table tr th, +.ui.celled.table tr td { + border-left: 1px solid rgba(34, 36, 38, 0.1); +} + +.ui.celled.table tr th:first-child, +.ui.celled.table tr td:first-child { + border-left: none; +} + +/*-------------- + Padded +---------------*/ + +.ui.padded.table th { + padding-left: 1em; + padding-right: 1em; +} + +.ui.padded.table th, +.ui.padded.table td { + padding: 1em 1em; +} + +/* Very */ + +.ui[class*="very padded"].table th { + padding-left: 1.5em; + padding-right: 1.5em; +} + +.ui[class*="very padded"].table td { + padding: 1.5em 1.5em; +} + +/*-------------- + Compact +---------------*/ + +.ui.compact.table th { + padding-left: 0.7em; + padding-right: 0.7em; +} + +.ui.compact.table td { + padding: 0.5em 0.7em; +} + +/* Very */ + +.ui[class*="very compact"].table th { + padding-left: 0.6em; + padding-right: 0.6em; +} + +.ui[class*="very compact"].table td { + padding: 0.4em 0.6em; +} + +/*-------------- + Sizes +---------------*/ + +/* Small */ + +.ui.small.table { + font-size: 0.9em; +} + +/* Standard */ + +.ui.table { + font-size: 1em; +} + +/* Large */ + +.ui.large.table { + font-size: 1.1em; +} + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Ad + * http://github.com/semantic-org/semantic-ui/ + * + * + * Copyright 2013 Contributors + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Advertisement +*******************************/ + +.ui.ad { + display: block; + overflow: hidden; + margin: 1em 0em; +} + +.ui.ad:first-child { + margin: 0em; +} + +.ui.ad:last-child { + margin: 0em; +} + +.ui.ad iframe { + margin: 0em; + padding: 0em; + border: none; + overflow: hidden; +} + +/*-------------- + Common +---------------*/ + +/* Leaderboard */ + +.ui.leaderboard.ad { + width: 728px; + height: 90px; +} + +/* Medium Rectangle */ + +.ui[class*="medium rectangle"].ad { + width: 300px; + height: 250px; +} + +/* Large Rectangle */ + +.ui[class*="large rectangle"].ad { + width: 336px; + height: 280px; +} + +/* Half Page */ + +.ui[class*="half page"].ad { + width: 300px; + height: 600px; +} + +/*-------------- + Square +---------------*/ + +/* Square */ + +.ui.square.ad { + width: 250px; + height: 250px; +} + +/* Small Square */ + +.ui[class*="small square"].ad { + width: 200px; + height: 200px; +} + +/*-------------- + Rectangle +---------------*/ + +/* Small Rectangle */ + +.ui[class*="small rectangle"].ad { + width: 180px; + height: 150px; +} + +/* Vertical Rectangle */ + +.ui[class*="vertical rectangle"].ad { + width: 240px; + height: 400px; +} + +/*-------------- + Button +---------------*/ + +.ui.button.ad { + width: 120px; + height: 90px; +} + +.ui[class*="square button"].ad { + width: 125px; + height: 125px; +} + +.ui[class*="small button"].ad { + width: 120px; + height: 60px; +} + +/*-------------- + Skyscrapers +---------------*/ + +/* Skyscraper */ + +.ui.skyscraper.ad { + width: 120px; + height: 600px; +} + +/* Wide Skyscraper */ + +.ui[class*="wide skyscraper"].ad { + width: 160px; +} + +/*-------------- + Banners +---------------*/ + +/* Banner */ + +.ui.banner.ad { + width: 468px; + height: 60px; +} + +/* Vertical Banner */ + +.ui[class*="vertical banner"].ad { + width: 120px; + height: 240px; +} + +/* Top Banner */ + +.ui[class*="top banner"].ad { + width: 930px; + height: 180px; +} + +/* Half Banner */ + +.ui[class*="half banner"].ad { + width: 234px; + height: 60px; +} + +/*-------------- + Boards +---------------*/ + +/* Leaderboard */ + +.ui[class*="large leaderboard"].ad { + width: 970px; + height: 90px; +} + +/* Billboard */ + +.ui.billboard.ad { + width: 970px; + height: 250px; +} + +/*-------------- + Panorama +---------------*/ + +/* Panorama */ + +.ui.panorama.ad { + width: 980px; + height: 120px; +} + +/*-------------- + Netboard +---------------*/ + +/* Netboard */ + +.ui.netboard.ad { + width: 580px; + height: 400px; +} + +/*-------------- + Mobile +---------------*/ + +/* Large Mobile Banner */ + +.ui[class*="large mobile banner"].ad { + width: 320px; + height: 100px; +} + +/* Mobile Leaderboard */ + +.ui[class*="mobile leaderboard"].ad { + width: 320px; + height: 50px; +} + +/******************************* + Types +*******************************/ + +/* Mobile Sizes */ + +.ui.mobile.ad { + display: none; +} + +@media only screen and (max-width: 767px) { + .ui.mobile.ad { + display: block; + } +} + +/******************************* + Variations +*******************************/ + +.ui.centered.ad { + margin-left: auto; + margin-right: auto; +} + +.ui.test.ad { + position: relative; + background: #545454; +} + +.ui.test.ad:after { + position: absolute; + top: 50%; + left: 50%; + width: 100%; + text-align: center; + transform: translateX(-50%) translateY(-50%); + content: 'Ad'; + color: #FFFFFF; + font-size: 1em; + font-weight: bold; +} + +.ui.mobile.test.ad:after { + font-size: 0.85714286em; +} + +.ui.test.ad[data-text]:after { + content: attr(data-text); +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + User Variable Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Item + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Standard +*******************************/ + +/*-------------- + Card +---------------*/ + +.ui.cards > .card, +.ui.card { + max-width: 100%; + position: relative; + display: flex; + flex-direction: column; + width: 290px; + min-height: 0px; + background: #FFFFFF; + padding: 0em; + border: none; + border-radius: 0.28571429rem; + box-shadow: 0px 1px 3px 0px #D4D4D5, 0px 0px 0px 1px #D4D4D5; + transition: box-shadow 0.1s ease, transform 0.1s ease; + z-index: ''; +} + +.ui.card { + margin: 1em 0em; +} + +.ui.cards > .card a, +.ui.card a { + cursor: pointer; +} + +.ui.card:first-child { + margin-top: 0em; +} + +.ui.card:last-child { + margin-bottom: 0em; +} + +/*-------------- + Cards +---------------*/ + +.ui.cards { + display: flex; + margin: -0.875em -0.5em; + flex-wrap: wrap; +} + +.ui.cards > .card { + display: flex; + margin: 0.875em 0.5em; + float: none; +} + +/* Clearing */ + +.ui.cards:after, +.ui.card:after { + display: block; + content: ' '; + height: 0px; + clear: both; + overflow: hidden; + visibility: hidden; +} + +/* Consecutive Card Groups Preserve Row Spacing */ + +.ui.cards ~ .ui.cards { + margin-top: 0.875em; +} + +/*-------------- + Rounded Edges +---------------*/ + +.ui.cards > .card > :first-child, +.ui.card > :first-child { + border-radius: 0.28571429rem 0.28571429rem 0em 0em !important; + border-top: none !important; +} + +.ui.cards > .card > :last-child, +.ui.card > :last-child { + border-radius: 0em 0em 0.28571429rem 0.28571429rem !important; +} + +.ui.cards > .card > :only-child, +.ui.card > :only-child { + border-radius: 0.28571429rem !important; +} + +/*-------------- + Images +---------------*/ + +.ui.cards > .card > .image, +.ui.card > .image { + position: relative; + display: block; + flex: 0 0 auto; + padding: 0em; + background: rgba(0, 0, 0, 0.05); +} + +.ui.cards > .card > .image > img, +.ui.card > .image > img { + display: block; + width: 100%; + height: auto; + border-radius: inherit; +} + +.ui.cards > .card > .image:not(.ui) > img, +.ui.card > .image:not(.ui) > img { + border: none; +} + +/*-------------- + Content +---------------*/ + +.ui.cards > .card > .content, +.ui.card > .content { + flex-grow: 1; + border: none; + border-top: 1px solid rgba(34, 36, 38, 0.1); + background: none; + margin: 0em; + padding: 1em 1em; + box-shadow: none; + font-size: 1em; + border-radius: 0em; +} + +.ui.cards > .card > .content:after, +.ui.card > .content:after { + display: block; + content: ' '; + height: 0px; + clear: both; + overflow: hidden; + visibility: hidden; +} + +.ui.cards > .card > .content > .header, +.ui.card > .content > .header { + display: block; + margin: ''; + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + color: rgba(0, 0, 0, 0.85); +} + +/* Default Header Size */ + +.ui.cards > .card > .content > .header:not(.ui), +.ui.card > .content > .header:not(.ui) { + font-weight: bold; + font-size: 1.28571429em; + margin-top: -0.21425em; + line-height: 1.28571429em; +} + +.ui.cards > .card > .content > .meta + .description, +.ui.cards > .card > .content > .header + .description, +.ui.card > .content > .meta + .description, +.ui.card > .content > .header + .description { + margin-top: 0.5em; +} + +/*---------------- + Floated Content +-----------------*/ + +.ui.cards > .card [class*="left floated"], +.ui.card [class*="left floated"] { + float: left; +} + +.ui.cards > .card [class*="right floated"], +.ui.card [class*="right floated"] { + float: right; +} + +/*-------------- + Aligned +---------------*/ + +.ui.cards > .card [class*="left aligned"], +.ui.card [class*="left aligned"] { + text-align: left; +} + +.ui.cards > .card [class*="center aligned"], +.ui.card [class*="center aligned"] { + text-align: center; +} + +.ui.cards > .card [class*="right aligned"], +.ui.card [class*="right aligned"] { + text-align: right; +} + +/*-------------- + Content Image +---------------*/ + +.ui.cards > .card .content img, +.ui.card .content img { + display: inline-block; + vertical-align: middle; + width: ''; +} + +.ui.cards > .card img.avatar, +.ui.cards > .card .avatar img, +.ui.card img.avatar, +.ui.card .avatar img { + width: 2em; + height: 2em; + border-radius: 500rem; +} + +/*-------------- + Description +---------------*/ + +.ui.cards > .card > .content > .description, +.ui.card > .content > .description { + clear: both; + color: rgba(0, 0, 0, 0.68); +} + +/*-------------- + Paragraph +---------------*/ + +.ui.cards > .card > .content p, +.ui.card > .content p { + margin: 0em 0em 0.5em; +} + +.ui.cards > .card > .content p:last-child, +.ui.card > .content p:last-child { + margin-bottom: 0em; +} + +/*-------------- + Meta +---------------*/ + +.ui.cards > .card .meta, +.ui.card .meta { + font-size: 1em; + color: rgba(0, 0, 0, 0.4); +} + +.ui.cards > .card .meta *, +.ui.card .meta * { + margin-right: 0.3em; +} + +.ui.cards > .card .meta :last-child, +.ui.card .meta :last-child { + margin-right: 0em; +} + +.ui.cards > .card .meta [class*="right floated"], +.ui.card .meta [class*="right floated"] { + margin-right: 0em; + margin-left: 0.3em; +} + +/*-------------- + Links +---------------*/ + +/* Generic */ + +.ui.cards > .card > .content a:not(.ui), +.ui.card > .content a:not(.ui) { + color: ''; + transition: color 0.1s ease; +} + +.ui.cards > .card > .content a:not(.ui):hover, +.ui.card > .content a:not(.ui):hover { + color: ''; +} + +/* Header */ + +.ui.cards > .card > .content > a.header, +.ui.card > .content > a.header { + color: rgba(0, 0, 0, 0.85); +} + +.ui.cards > .card > .content > a.header:hover, +.ui.card > .content > a.header:hover { + color: #1e70bf; +} + +/* Meta */ + +.ui.cards > .card .meta > a:not(.ui), +.ui.card .meta > a:not(.ui) { + color: rgba(0, 0, 0, 0.4); +} + +.ui.cards > .card .meta > a:not(.ui):hover, +.ui.card .meta > a:not(.ui):hover { + color: rgba(0, 0, 0, 0.87); +} + +/*-------------- + Buttons +---------------*/ + +.ui.cards > .card > .buttons, +.ui.card > .buttons, +.ui.cards > .card > .button, +.ui.card > .button { + margin: 0px -1px; + width: calc(100% + 2px ); +} + +/*-------------- + Dimmer +---------------*/ + +.ui.cards > .card .dimmer, +.ui.card .dimmer { + background-color: ''; + z-index: 10; +} + +/*-------------- + Labels +---------------*/ + +/*-----Star----- */ + +/* Icon */ + +.ui.cards > .card > .content .star.icon, +.ui.card > .content .star.icon { + cursor: pointer; + opacity: 0.75; + transition: color 0.1s ease; +} + +.ui.cards > .card > .content .star.icon:hover, +.ui.card > .content .star.icon:hover { + opacity: 1; + color: #FFB70A; +} + +.ui.cards > .card > .content .active.star.icon, +.ui.card > .content .active.star.icon { + color: #FFE623; +} + +/*-----Like----- */ + +/* Icon */ + +.ui.cards > .card > .content .like.icon, +.ui.card > .content .like.icon { + cursor: pointer; + opacity: 0.75; + transition: color 0.1s ease; +} + +.ui.cards > .card > .content .like.icon:hover, +.ui.card > .content .like.icon:hover { + opacity: 1; + color: #FF2733; +} + +.ui.cards > .card > .content .active.like.icon, +.ui.card > .content .active.like.icon { + color: #FF2733; +} + +/*---------------- + Extra Content +-----------------*/ + +.ui.cards > .card > .extra, +.ui.card > .extra { + max-width: 100%; + min-height: 0em !important; + flex-grow: 0; + border-top: 1px solid rgba(0, 0, 0, 0.05) !important; + position: static; + background: none; + width: auto; + margin: 0em 0em; + padding: 0.75em 1em; + top: 0em; + left: 0em; + color: rgba(0, 0, 0, 0.4); + box-shadow: none; + transition: color 0.1s ease; +} + +.ui.cards > .card > .extra a:not(.ui), +.ui.card > .extra a:not(.ui) { + color: rgba(0, 0, 0, 0.4); +} + +.ui.cards > .card > .extra a:not(.ui):hover, +.ui.card > .extra a:not(.ui):hover { + color: #1e70bf; +} + +/******************************* + Variations +*******************************/ + +/*------------------- + Raised +--------------------*/ + +.ui.raised.cards > .card, +.ui.raised.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15); +} + +.ui.raised.cards a.card:hover, +.ui.link.cards .raised.card:hover, +a.ui.raised.card:hover, +.ui.link.raised.card:hover { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 4px 0px rgba(34, 36, 38, 0.15), 0px 2px 10px 0px rgba(34, 36, 38, 0.25); +} + +.ui.raised.cards > .card, +.ui.raised.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15); +} + +/*------------------- + Centered +--------------------*/ + +.ui.centered.cards { + justify-content: center; +} + +.ui.centered.card { + margin-left: auto; + margin-right: auto; +} + +/*------------------- + Fluid +--------------------*/ + +.ui.fluid.card { + width: 100%; + max-width: 9999px; +} + +/*------------------- + Link +--------------------*/ + +.ui.cards a.card, +.ui.link.cards .card, +a.ui.card, +.ui.link.card { + transform: none; +} + +.ui.cards a.card:hover, +.ui.link.cards .card:hover, +a.ui.card:hover, +.ui.link.card:hover { + cursor: pointer; + z-index: 5; + background: #FFFFFF; + border: none; + box-shadow: 0px 1px 3px 0px #BCBDBD, 0px 0px 0px 1px #D4D4D5; + transform: translateY(-3px); +} + +/*------------------- + Colors +--------------------*/ + +/* Red */ + +.ui.red.cards > .card, +.ui.cards > .red.card, +.ui.red.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #DB2828, 0px 1px 3px 0px #D4D4D5; +} + +.ui.red.cards > .card:hover, +.ui.cards > .red.card:hover, +.ui.red.card:hover { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #d01919, 0px 1px 3px 0px #BCBDBD; +} + +/* Orange */ + +.ui.orange.cards > .card, +.ui.cards > .orange.card, +.ui.orange.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #F2711C, 0px 1px 3px 0px #D4D4D5; +} + +.ui.orange.cards > .card:hover, +.ui.cards > .orange.card:hover, +.ui.orange.card:hover { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #f26202, 0px 1px 3px 0px #BCBDBD; +} + +/* Yellow */ + +.ui.yellow.cards > .card, +.ui.cards > .yellow.card, +.ui.yellow.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #FBBD08, 0px 1px 3px 0px #D4D4D5; +} + +.ui.yellow.cards > .card:hover, +.ui.cards > .yellow.card:hover, +.ui.yellow.card:hover { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #eaae00, 0px 1px 3px 0px #BCBDBD; +} + +/* Olive */ + +.ui.olive.cards > .card, +.ui.cards > .olive.card, +.ui.olive.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #B5CC18, 0px 1px 3px 0px #D4D4D5; +} + +.ui.olive.cards > .card:hover, +.ui.cards > .olive.card:hover, +.ui.olive.card:hover { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #a7bd0d, 0px 1px 3px 0px #BCBDBD; +} + +/* Green */ + +.ui.green.cards > .card, +.ui.cards > .green.card, +.ui.green.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #21BA45, 0px 1px 3px 0px #D4D4D5; +} + +.ui.green.cards > .card:hover, +.ui.cards > .green.card:hover, +.ui.green.card:hover { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #16ab39, 0px 1px 3px 0px #BCBDBD; +} + +/* Teal */ + +.ui.teal.cards > .card, +.ui.cards > .teal.card, +.ui.teal.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #00B5AD, 0px 1px 3px 0px #D4D4D5; +} + +.ui.teal.cards > .card:hover, +.ui.cards > .teal.card:hover, +.ui.teal.card:hover { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #009c95, 0px 1px 3px 0px #BCBDBD; +} + +/* Blue */ + +.ui.blue.cards > .card, +.ui.cards > .blue.card, +.ui.blue.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #2185D0, 0px 1px 3px 0px #D4D4D5; +} + +.ui.blue.cards > .card:hover, +.ui.cards > .blue.card:hover, +.ui.blue.card:hover { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1678c2, 0px 1px 3px 0px #BCBDBD; +} + +/* Violet */ + +.ui.violet.cards > .card, +.ui.cards > .violet.card, +.ui.violet.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #6435C9, 0px 1px 3px 0px #D4D4D5; +} + +.ui.violet.cards > .card:hover, +.ui.cards > .violet.card:hover, +.ui.violet.card:hover { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #5829bb, 0px 1px 3px 0px #BCBDBD; +} + +/* Purple */ + +.ui.purple.cards > .card, +.ui.cards > .purple.card, +.ui.purple.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A333C8, 0px 1px 3px 0px #D4D4D5; +} + +.ui.purple.cards > .card:hover, +.ui.cards > .purple.card:hover, +.ui.purple.card:hover { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #9627ba, 0px 1px 3px 0px #BCBDBD; +} + +/* Pink */ + +.ui.pink.cards > .card, +.ui.cards > .pink.card, +.ui.pink.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #E03997, 0px 1px 3px 0px #D4D4D5; +} + +.ui.pink.cards > .card:hover, +.ui.cards > .pink.card:hover, +.ui.pink.card:hover { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #e61a8d, 0px 1px 3px 0px #BCBDBD; +} + +/* Brown */ + +.ui.brown.cards > .card, +.ui.cards > .brown.card, +.ui.brown.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A5673F, 0px 1px 3px 0px #D4D4D5; +} + +.ui.brown.cards > .card:hover, +.ui.cards > .brown.card:hover, +.ui.brown.card:hover { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #975b33, 0px 1px 3px 0px #BCBDBD; +} + +/* Grey */ + +.ui.grey.cards > .card, +.ui.cards > .grey.card, +.ui.grey.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #767676, 0px 1px 3px 0px #D4D4D5; +} + +.ui.grey.cards > .card:hover, +.ui.cards > .grey.card:hover, +.ui.grey.card:hover { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #838383, 0px 1px 3px 0px #BCBDBD; +} + +/* Black */ + +.ui.black.cards > .card, +.ui.cards > .black.card, +.ui.black.card { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1B1C1D, 0px 1px 3px 0px #D4D4D5; +} + +.ui.black.cards > .card:hover, +.ui.cards > .black.card:hover, +.ui.black.card:hover { + box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #27292a, 0px 1px 3px 0px #BCBDBD; +} + +/*-------------- + Card Count +---------------*/ + +.ui.one.cards { + margin-left: 0em; + margin-right: 0em; +} + +.ui.one.cards > .card { + width: 100%; +} + +.ui.two.cards { + margin-left: -1em; + margin-right: -1em; +} + +.ui.two.cards > .card { + width: calc( 50% - 2em ); + margin-left: 1em; + margin-right: 1em; +} + +.ui.three.cards { + margin-left: -1em; + margin-right: -1em; +} + +.ui.three.cards > .card { + width: calc( 33.33333333% - 2em ); + margin-left: 1em; + margin-right: 1em; +} + +.ui.four.cards { + margin-left: -0.75em; + margin-right: -0.75em; +} + +.ui.four.cards > .card { + width: calc( 25% - 1.5em ); + margin-left: 0.75em; + margin-right: 0.75em; +} + +.ui.five.cards { + margin-left: -0.75em; + margin-right: -0.75em; +} + +.ui.five.cards > .card { + width: calc( 20% - 1.5em ); + margin-left: 0.75em; + margin-right: 0.75em; +} + +.ui.six.cards { + margin-left: -0.75em; + margin-right: -0.75em; +} + +.ui.six.cards > .card { + width: calc( 16.66666667% - 1.5em ); + margin-left: 0.75em; + margin-right: 0.75em; +} + +.ui.seven.cards { + margin-left: -0.5em; + margin-right: -0.5em; +} + +.ui.seven.cards > .card { + width: calc( 14.28571429% - 1em ); + margin-left: 0.5em; + margin-right: 0.5em; +} + +.ui.eight.cards { + margin-left: -0.5em; + margin-right: -0.5em; +} + +.ui.eight.cards > .card { + width: calc( 12.5% - 1em ); + margin-left: 0.5em; + margin-right: 0.5em; + font-size: 11px; +} + +.ui.nine.cards { + margin-left: -0.5em; + margin-right: -0.5em; +} + +.ui.nine.cards > .card { + width: calc( 11.11111111% - 1em ); + margin-left: 0.5em; + margin-right: 0.5em; + font-size: 10px; +} + +.ui.ten.cards { + margin-left: -0.5em; + margin-right: -0.5em; +} + +.ui.ten.cards > .card { + width: calc( 10% - 1em ); + margin-left: 0.5em; + margin-right: 0.5em; +} + +/*------------------- + Doubling +--------------------*/ + +/* Mobile Only */ + +@media only screen and (max-width: 767px) { + .ui.two.doubling.cards { + margin-left: 0em; + margin-right: 0em; + } + + .ui.two.doubling.cards > .card { + width: 100%; + margin-left: 0em; + margin-right: 0em; + } + + .ui.three.doubling.cards { + margin-left: -1em; + margin-right: -1em; + } + + .ui.three.doubling.cards > .card { + width: calc( 50% - 2em ); + margin-left: 1em; + margin-right: 1em; + } + + .ui.four.doubling.cards { + margin-left: -1em; + margin-right: -1em; + } + + .ui.four.doubling.cards > .card { + width: calc( 50% - 2em ); + margin-left: 1em; + margin-right: 1em; + } + + .ui.five.doubling.cards { + margin-left: -1em; + margin-right: -1em; + } + + .ui.five.doubling.cards > .card { + width: calc( 50% - 2em ); + margin-left: 1em; + margin-right: 1em; + } + + .ui.six.doubling.cards { + margin-left: -1em; + margin-right: -1em; + } + + .ui.six.doubling.cards > .card { + width: calc( 50% - 2em ); + margin-left: 1em; + margin-right: 1em; + } + + .ui.seven.doubling.cards { + margin-left: -1em; + margin-right: -1em; + } + + .ui.seven.doubling.cards > .card { + width: calc( 33.33333333% - 2em ); + margin-left: 1em; + margin-right: 1em; + } + + .ui.eight.doubling.cards { + margin-left: -1em; + margin-right: -1em; + } + + .ui.eight.doubling.cards > .card { + width: calc( 33.33333333% - 2em ); + margin-left: 1em; + margin-right: 1em; + } + + .ui.nine.doubling.cards { + margin-left: -1em; + margin-right: -1em; + } + + .ui.nine.doubling.cards > .card { + width: calc( 33.33333333% - 2em ); + margin-left: 1em; + margin-right: 1em; + } + + .ui.ten.doubling.cards { + margin-left: -1em; + margin-right: -1em; + } + + .ui.ten.doubling.cards > .card { + width: calc( 33.33333333% - 2em ); + margin-left: 1em; + margin-right: 1em; + } +} + +/* Tablet Only */ + +@media only screen and (min-width: 768px) and (max-width: 991px) { + .ui.two.doubling.cards { + margin-left: 0em; + margin-right: 0em; + } + + .ui.two.doubling.cards > .card { + width: 100%; + margin-left: 0em; + margin-right: 0em; + } + + .ui.three.doubling.cards { + margin-left: -1em; + margin-right: -1em; + } + + .ui.three.doubling.cards > .card { + width: calc( 50% - 2em ); + margin-left: 1em; + margin-right: 1em; + } + + .ui.four.doubling.cards { + margin-left: -1em; + margin-right: -1em; + } + + .ui.four.doubling.cards > .card { + width: calc( 50% - 2em ); + margin-left: 1em; + margin-right: 1em; + } + + .ui.five.doubling.cards { + margin-left: -1em; + margin-right: -1em; + } + + .ui.five.doubling.cards > .card { + width: calc( 33.33333333% - 2em ); + margin-left: 1em; + margin-right: 1em; + } + + .ui.six.doubling.cards { + margin-left: -1em; + margin-right: -1em; + } + + .ui.six.doubling.cards > .card { + width: calc( 33.33333333% - 2em ); + margin-left: 1em; + margin-right: 1em; + } + + .ui.eight.doubling.cards { + margin-left: -1em; + margin-right: -1em; + } + + .ui.eight.doubling.cards > .card { + width: calc( 33.33333333% - 2em ); + margin-left: 1em; + margin-right: 1em; + } + + .ui.eight.doubling.cards { + margin-left: -0.75em; + margin-right: -0.75em; + } + + .ui.eight.doubling.cards > .card { + width: calc( 25% - 1.5em ); + margin-left: 0.75em; + margin-right: 0.75em; + } + + .ui.nine.doubling.cards { + margin-left: -0.75em; + margin-right: -0.75em; + } + + .ui.nine.doubling.cards > .card { + width: calc( 25% - 1.5em ); + margin-left: 0.75em; + margin-right: 0.75em; + } + + .ui.ten.doubling.cards { + margin-left: -0.75em; + margin-right: -0.75em; + } + + .ui.ten.doubling.cards > .card { + width: calc( 20% - 1.5em ); + margin-left: 0.75em; + margin-right: 0.75em; + } +} + +/*------------------- + Stackable +--------------------*/ + +@media only screen and (max-width: 767px) { + .ui.stackable.cards { + display: block !important; + } + + .ui.stackable.cards .card:first-child { + margin-top: 0em !important; + } + + .ui.stackable.cards > .card { + display: block !important; + height: auto !important; + margin: 1em 1em; + padding: 0 !important; + width: calc( 100% - 2em ) !important; + } +} + +/*-------------- + Size +---------------*/ + +.ui.cards > .card { + font-size: 1em; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + User Variable Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Comment + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Standard +*******************************/ + +/*-------------- + Comments +---------------*/ + +.ui.comments { + margin: 1.5em 0em; + max-width: 650px; +} + +.ui.comments:first-child { + margin-top: 0em; +} + +.ui.comments:last-child { + margin-bottom: 0em; +} + +/*-------------- + Comment +---------------*/ + +.ui.comments .comment { + position: relative; + background: none; + margin: 0.5em 0em 0em; + padding: 0.5em 0em 0em; + border: none; + border-top: none; + line-height: 1.2; +} + +.ui.comments .comment:first-child { + margin-top: 0em; + padding-top: 0em; +} + +/*-------------------- + Nested Comments +---------------------*/ + +.ui.comments .comment .comments { + margin: 0em 0em 0.5em 0.5em; + padding: 1em 0em 1em 1em; +} + +.ui.comments .comment .comments:before { + position: absolute; + top: 0px; + left: 0px; +} + +.ui.comments .comment .comments .comment { + border: none; + border-top: none; + background: none; +} + +/*-------------- + Avatar +---------------*/ + +.ui.comments .comment .avatar { + display: block; + width: 2.5em; + height: auto; + float: left; + margin: 0.2em 0em 0em; +} + +.ui.comments .comment img.avatar, +.ui.comments .comment .avatar img { + display: block; + margin: 0em auto; + width: 100%; + height: 100%; + border-radius: 0.25rem; +} + +/*-------------- + Content +---------------*/ + +.ui.comments .comment > .content { + display: block; +} + +/* If there is an avatar move content over */ + +.ui.comments .comment > .avatar ~ .content { + margin-left: 3.5em; +} + +/*-------------- + Author +---------------*/ + +.ui.comments .comment .author { + font-size: 1em; + color: rgba(0, 0, 0, 0.87); + font-weight: bold; +} + +.ui.comments .comment a.author { + cursor: pointer; +} + +.ui.comments .comment a.author:hover { + color: #1e70bf; +} + +/*-------------- + Metadata +---------------*/ + +.ui.comments .comment .metadata { + display: inline-block; + margin-left: 0.5em; + color: rgba(0, 0, 0, 0.4); + font-size: 0.875em; +} + +.ui.comments .comment .metadata > * { + display: inline-block; + margin: 0em 0.5em 0em 0em; +} + +.ui.comments .comment .metadata > :last-child { + margin-right: 0em; +} + +/*-------------------- + Comment Text +---------------------*/ + +.ui.comments .comment .text { + margin: 0.25em 0em 0.5em; + font-size: 1em; + word-wrap: break-word; + color: rgba(0, 0, 0, 0.87); + line-height: 1.3; +} + +/*-------------------- + User Actions +---------------------*/ + +.ui.comments .comment .actions { + font-size: 0.875em; +} + +.ui.comments .comment .actions a { + cursor: pointer; + display: inline-block; + margin: 0em 0.75em 0em 0em; + color: rgba(0, 0, 0, 0.4); +} + +.ui.comments .comment .actions a:last-child { + margin-right: 0em; +} + +.ui.comments .comment .actions a.active, +.ui.comments .comment .actions a:hover { + color: rgba(0, 0, 0, 0.8); +} + +/*-------------------- + Reply Form +---------------------*/ + +.ui.comments > .reply.form { + margin-top: 1em; +} + +.ui.comments .comment .reply.form { + width: 100%; + margin-top: 1em; +} + +.ui.comments .reply.form textarea { + font-size: 1em; + height: 12em; +} + +/******************************* + State +*******************************/ + +.ui.collapsed.comments, +.ui.comments .collapsed.comments, +.ui.comments .collapsed.comment { + display: none; +} + +/******************************* + Variations +*******************************/ + +/*-------------------- + Threaded +---------------------*/ + +.ui.threaded.comments .comment .comments { + margin: -1.5em 0 -1em 1.25em; + padding: 3em 0em 2em 2.25em; + box-shadow: -1px 0px 0px rgba(34, 36, 38, 0.15); +} + +/*-------------------- + Minimal +---------------------*/ + +.ui.minimal.comments .comment .actions { + opacity: 0; + position: absolute; + top: 0px; + right: 0px; + left: auto; + transition: opacity 0.2s ease; + transition-delay: 0.1s; +} + +.ui.minimal.comments .comment > .content:hover > .actions { + opacity: 1; +} + +/*------------------- + Sizes +--------------------*/ + +.ui.mini.comments { + font-size: 0.78571429rem; +} + +.ui.tiny.comments { + font-size: 0.85714286rem; +} + +.ui.small.comments { + font-size: 0.92857143rem; +} + +.ui.comments { + font-size: 1rem; +} + +.ui.large.comments { + font-size: 1.14285714rem; +} + +.ui.big.comments { + font-size: 1.28571429rem; +} + +.ui.huge.comments { + font-size: 1.42857143rem; +} + +.ui.massive.comments { + font-size: 1.71428571rem; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + User Variable Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Feed + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Activity Feed +*******************************/ + +.ui.feed { + margin: 1em 0em; +} + +.ui.feed:first-child { + margin-top: 0em; +} + +.ui.feed:last-child { + margin-bottom: 0em; +} + +/******************************* + Content +*******************************/ + +/* Event */ + +.ui.feed > .event { + display: flex; + flex-direction: row; + width: 100%; + padding: 0.21428571rem 0em; + margin: 0em; + background: none; + border-top: none; +} + +.ui.feed > .event:first-child { + border-top: 0px; + padding-top: 0em; +} + +.ui.feed > .event:last-child { + padding-bottom: 0em; +} + +/* Event Label */ + +.ui.feed > .event > .label { + display: block; + flex: 0 0 auto; + width: 2.5em; + height: auto; + align-self: stretch; + text-align: left; +} + +.ui.feed > .event > .label .icon { + opacity: 1; + font-size: 1.5em; + width: 100%; + padding: 0.25em; + background: none; + border: none; + border-radius: none; + color: rgba(0, 0, 0, 0.6); +} + +.ui.feed > .event > .label img { + width: 100%; + height: auto; + border-radius: 500rem; +} + +.ui.feed > .event > .label + .content { + margin: 0.5em 0em 0.35714286em 1.14285714em; +} + +/*-------------- + Content +---------------*/ + +/* Content */ + +.ui.feed > .event > .content { + display: block; + flex: 1 1 auto; + align-self: stretch; + text-align: left; + word-wrap: break-word; +} + +.ui.feed > .event:last-child > .content { + padding-bottom: 0em; +} + +/* Link */ + +.ui.feed > .event > .content a { + cursor: pointer; +} + +/*-------------- + Date +---------------*/ + +.ui.feed > .event > .content .date { + margin: -0.5rem 0em 0em; + padding: 0em; + font-weight: normal; + font-size: 1em; + font-style: normal; + color: rgba(0, 0, 0, 0.4); +} + +/*-------------- + Summary +---------------*/ + +.ui.feed > .event > .content .summary { + margin: 0em; + font-size: 1em; + font-weight: bold; + color: rgba(0, 0, 0, 0.87); +} + +/* Summary Image */ + +.ui.feed > .event > .content .summary img { + display: inline-block; + width: auto; + height: 10em; + margin: -0.25em 0.25em 0em 0em; + border-radius: 0.25em; + vertical-align: middle; +} + +/*-------------- + User +---------------*/ + +.ui.feed > .event > .content .user { + display: inline-block; + font-weight: bold; + margin-right: 0em; + vertical-align: baseline; +} + +.ui.feed > .event > .content .user img { + margin: -0.25em 0.25em 0em 0em; + width: auto; + height: 10em; + vertical-align: middle; +} + +/*-------------- + Inline Date +---------------*/ + +/* Date inside Summary */ + +.ui.feed > .event > .content .summary > .date { + display: inline-block; + float: none; + font-weight: normal; + font-size: 0.85714286em; + font-style: normal; + margin: 0em 0em 0em 0.5em; + padding: 0em; + color: rgba(0, 0, 0, 0.4); +} + +/*-------------- + Extra Summary +---------------*/ + +.ui.feed > .event > .content .extra { + margin: 0.5em 0em 0em; + background: none; + padding: 0em; + color: rgba(0, 0, 0, 0.87); +} + +/* Images */ + +.ui.feed > .event > .content .extra.images img { + display: inline-block; + margin: 0em 0.25em 0em 0em; + width: 6em; +} + +/* Text */ + +.ui.feed > .event > .content .extra.text { + padding: 0em; + border-left: none; + font-size: 1em; + max-width: 500px; + line-height: 1.4285em; +} + +/*-------------- + Meta +---------------*/ + +.ui.feed > .event > .content .meta { + display: inline-block; + font-size: 0.85714286em; + margin: 0.5em 0em 0em; + background: none; + border: none; + border-radius: 0; + box-shadow: none; + padding: 0em; + color: rgba(0, 0, 0, 0.6); +} + +.ui.feed > .event > .content .meta > * { + position: relative; + margin-left: 0.75em; +} + +.ui.feed > .event > .content .meta > *:after { + content: ''; + color: rgba(0, 0, 0, 0.2); + top: 0em; + left: -1em; + opacity: 1; + position: absolute; + vertical-align: top; +} + +.ui.feed > .event > .content .meta .like { + color: ''; + transition: 0.2s color ease; +} + +.ui.feed > .event > .content .meta .like:hover .icon { + color: #FF2733; +} + +.ui.feed > .event > .content .meta .active.like .icon { + color: #EF404A; +} + +/* First element */ + +.ui.feed > .event > .content .meta > :first-child { + margin-left: 0em; +} + +.ui.feed > .event > .content .meta > :first-child::after { + display: none; +} + +/* Action */ + +.ui.feed > .event > .content .meta a, +.ui.feed > .event > .content .meta > .icon { + cursor: pointer; + opacity: 1; + color: rgba(0, 0, 0, 0.5); + transition: color 0.1s ease; +} + +.ui.feed > .event > .content .meta a:hover, +.ui.feed > .event > .content .meta a:hover .icon, +.ui.feed > .event > .content .meta > .icon:hover { + color: rgba(0, 0, 0, 0.95); +} + +/******************************* + Variations +*******************************/ + +.ui.small.feed { + font-size: 0.92857143rem; +} + +.ui.feed { + font-size: 1rem; +} + +.ui.large.feed { + font-size: 1.14285714rem; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + User Variable Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Item + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Standard +*******************************/ + +/*-------------- + Item +---------------*/ + +.ui.items > .item { + display: flex; + margin: 1em 0em; + width: 100%; + min-height: 0px; + background: transparent; + padding: 0em; + border: none; + border-radius: 0rem; + box-shadow: none; + transition: box-shadow 0.1s ease; + z-index: ''; +} + +.ui.items > .item a { + cursor: pointer; +} + +/*-------------- + Items +---------------*/ + +.ui.items { + margin: 1.5em 0em; +} + +.ui.items:first-child { + margin-top: 0em !important; +} + +.ui.items:last-child { + margin-bottom: 0em !important; +} + +/*-------------- + Item +---------------*/ + +.ui.items > .item:after { + display: block; + content: ' '; + height: 0px; + clear: both; + overflow: hidden; + visibility: hidden; +} + +.ui.items > .item:first-child { + margin-top: 0em; +} + +.ui.items > .item:last-child { + margin-bottom: 0em; +} + +/*-------------- + Images +---------------*/ + +.ui.items > .item > .image { + position: relative; + flex: 0 0 auto; + display: block; + float: none; + margin: 0em; + padding: 0em; + max-height: ''; + align-self: top; +} + +.ui.items > .item > .image > img { + display: block; + width: 100%; + height: auto; + border-radius: 0.125rem; + border: none; +} + +.ui.items > .item > .image:only-child > img { + border-radius: 0rem; +} + +/*-------------- + Content +---------------*/ + +.ui.items > .item > .content { + display: block; + flex: 1 1 auto; + background: none; + margin: 0em; + padding: 0em; + box-shadow: none; + font-size: 1em; + border: none; + border-radius: 0em; +} + +.ui.items > .item > .content:after { + display: block; + content: ' '; + height: 0px; + clear: both; + overflow: hidden; + visibility: hidden; +} + +.ui.items > .item > .image + .content { + min-width: 0; + width: auto; + display: block; + margin-left: 0em; + align-self: top; + padding-left: 1.5em; +} + +.ui.items > .item > .content > .header { + display: inline-block; + margin: -0.21425em 0em 0em; + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-weight: bold; + color: rgba(0, 0, 0, 0.85); +} + +/* Default Header Size */ + +.ui.items > .item > .content > .header:not(.ui) { + font-size: 1.28571429em; +} + +/*-------------- + Floated +---------------*/ + +.ui.items > .item [class*="left floated"] { + float: left; +} + +.ui.items > .item [class*="right floated"] { + float: right; +} + +/*-------------- + Content Image +---------------*/ + +.ui.items > .item .content img { + align-self: middle; + width: ''; +} + +.ui.items > .item img.avatar, +.ui.items > .item .avatar img { + width: ''; + height: ''; + border-radius: 500rem; +} + +/*-------------- + Description +---------------*/ + +.ui.items > .item > .content > .description { + margin-top: 0.6em; + max-width: auto; + font-size: 1em; + line-height: 1.4285em; + color: rgba(0, 0, 0, 0.87); +} + +/*-------------- + Paragraph +---------------*/ + +.ui.items > .item > .content p { + margin: 0em 0em 0.5em; +} + +.ui.items > .item > .content p:last-child { + margin-bottom: 0em; +} + +/*-------------- + Meta +---------------*/ + +.ui.items > .item .meta { + margin: 0.5em 0em 0.5em; + font-size: 1em; + line-height: 1em; + color: rgba(0, 0, 0, 0.6); +} + +.ui.items > .item .meta * { + margin-right: 0.3em; +} + +.ui.items > .item .meta :last-child { + margin-right: 0em; +} + +.ui.items > .item .meta [class*="right floated"] { + margin-right: 0em; + margin-left: 0.3em; +} + +/*-------------- + Links +---------------*/ + +/* Generic */ + +.ui.items > .item > .content a:not(.ui) { + color: ''; + transition: color 0.1s ease; +} + +.ui.items > .item > .content a:not(.ui):hover { + color: ''; +} + +/* Header */ + +.ui.items > .item > .content > a.header { + color: rgba(0, 0, 0, 0.85); +} + +.ui.items > .item > .content > a.header:hover { + color: #1e70bf; +} + +/* Meta */ + +.ui.items > .item .meta > a:not(.ui) { + color: rgba(0, 0, 0, 0.4); +} + +.ui.items > .item .meta > a:not(.ui):hover { + color: rgba(0, 0, 0, 0.87); +} + +/*-------------- + Labels +---------------*/ + +/*-----Star----- */ + +/* Icon */ + +.ui.items > .item > .content .favorite.icon { + cursor: pointer; + opacity: 0.75; + transition: color 0.1s ease; +} + +.ui.items > .item > .content .favorite.icon:hover { + opacity: 1; + color: #FFB70A; +} + +.ui.items > .item > .content .active.favorite.icon { + color: #FFE623; +} + +/*-----Like----- */ + +/* Icon */ + +.ui.items > .item > .content .like.icon { + cursor: pointer; + opacity: 0.75; + transition: color 0.1s ease; +} + +.ui.items > .item > .content .like.icon:hover { + opacity: 1; + color: #FF2733; +} + +.ui.items > .item > .content .active.like.icon { + color: #FF2733; +} + +/*---------------- + Extra Content +-----------------*/ + +.ui.items > .item .extra { + display: block; + position: relative; + background: none; + margin: 0.5rem 0em 0em; + width: 100%; + padding: 0em 0em 0em; + top: 0em; + left: 0em; + color: rgba(0, 0, 0, 0.4); + box-shadow: none; + transition: color 0.1s ease; + border-top: none; +} + +.ui.items > .item .extra > * { + margin: 0.25rem 0.5rem 0.25rem 0em; +} + +.ui.items > .item .extra > [class*="right floated"] { + margin: 0.25rem 0em 0.25rem 0.5rem; +} + +.ui.items > .item .extra:after { + display: block; + content: ' '; + height: 0px; + clear: both; + overflow: hidden; + visibility: hidden; +} + +/******************************* + Responsive +*******************************/ + +/* Default Image Width */ + +.ui.items > .item > .image:not(.ui) { + width: 175px; +} + +/* Tablet Only */ + +@media only screen and (min-width: 768px) and (max-width: 991px) { + .ui.items > .item { + margin: 1em 0em; + } + + .ui.items > .item > .image:not(.ui) { + width: 150px; + } + + .ui.items > .item > .image + .content { + display: block; + padding: 0em 0em 0em 1em; + } +} + +/* Mobile Only */ + +@media only screen and (max-width: 767px) { + .ui.items:not(.unstackable) > .item { + flex-direction: column; + margin: 2em 0em; + } + + .ui.items:not(.unstackable) > .item > .image { + display: block; + margin-left: auto; + margin-right: auto; + } + + .ui.items:not(.unstackable) > .item > .image, + .ui.items:not(.unstackable) > .item > .image > img { + max-width: 100% !important; + width: auto !important; + max-height: 250px !important; + } + + .ui.items:not(.unstackable) > .item > .image + .content { + display: block; + padding: 1.5em 0em 0em; + } +} + +/******************************* + Variations +*******************************/ + +/*------------------- + Aligned +--------------------*/ + +.ui.items > .item > .image + [class*="top aligned"].content { + align-self: flex-start; +} + +.ui.items > .item > .image + [class*="middle aligned"].content { + align-self: center; +} + +.ui.items > .item > .image + [class*="bottom aligned"].content { + align-self: flex-end; +} + +/*-------------- + Relaxed +---------------*/ + +.ui.relaxed.items > .item { + margin: 1.5em 0em; +} + +.ui[class*="very relaxed"].items > .item { + margin: 2em 0em; +} + +/*------------------- + Divided +--------------------*/ + +.ui.divided.items > .item { + border-top: 1px solid rgba(34, 36, 38, 0.15); + margin: 0em; + padding: 1em 0em; +} + +.ui.divided.items > .item:first-child { + border-top: none; + margin-top: 0em !important; + padding-top: 0em !important; +} + +.ui.divided.items > .item:last-child { + margin-bottom: 0em !important; + padding-bottom: 0em !important; +} + +/* Relaxed Divided */ + +.ui.relaxed.divided.items > .item { + margin: 0em; + padding: 1.5em 0em; +} + +.ui[class*="very relaxed"].divided.items > .item { + margin: 0em; + padding: 2em 0em; +} + +/*------------------- + Link +--------------------*/ + +.ui.items a.item:hover, +.ui.link.items > .item:hover { + cursor: pointer; +} + +.ui.items a.item:hover .content .header, +.ui.link.items > .item:hover .content .header { + color: #1e70bf; +} + +/*-------------- + Size +---------------*/ + +.ui.items > .item { + font-size: 1em; +} + +/*--------------- + Unstackable +----------------*/ + +@media only screen and (max-width: 767px) { + .ui.unstackable.items > .item > .image, + .ui.unstackable.items > .item > .image > img { + width: 125px !important; + } +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + User Variable Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Statistic + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Statistic +*******************************/ + +/* Standalone */ + +.ui.statistic { + display: inline-flex; + flex-direction: column; + margin: 1em 0em; + max-width: auto; +} + +.ui.statistic + .ui.statistic { + margin: 0em 0em 0em 1.5em; +} + +.ui.statistic:first-child { + margin-top: 0em; +} + +.ui.statistic:last-child { + margin-bottom: 0em; +} + +/******************************* + Group +*******************************/ + +/* Grouped */ + +.ui.statistics { + display: flex; + align-items: flex-start; + flex-wrap: wrap; +} + +.ui.statistics > .statistic { + display: inline-flex; + flex: 0 1 auto; + flex-direction: column; + margin: 0em 1.5em 1em; + max-width: auto; +} + +.ui.statistics { + display: flex; + margin: 1em -1.5em -1em; +} + +/* Clearing */ + +.ui.statistics:after { + display: block; + content: ' '; + height: 0px; + clear: both; + overflow: hidden; + visibility: hidden; +} + +.ui.statistics:first-child { + margin-top: 0em; +} + +/******************************* + Content +*******************************/ + +/*-------------- + Value +---------------*/ + +.ui.statistics .statistic > .value, +.ui.statistic > .value { + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-size: 4rem; + font-weight: normal; + line-height: 1em; + color: #1B1C1D; + text-transform: uppercase; + text-align: center; +} + +/*-------------- + Label +---------------*/ + +.ui.statistics .statistic > .label, +.ui.statistic > .label { + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-size: 1em; + font-weight: bold; + color: rgba(0, 0, 0, 0.87); + text-transform: uppercase; + text-align: center; +} + +/* Top Label */ + +.ui.statistics .statistic > .label ~ .value, +.ui.statistic > .label ~ .value { + margin-top: 0rem; +} + +/* Bottom Label */ + +.ui.statistics .statistic > .value ~ .label, +.ui.statistic > .value ~ .label { + margin-top: 0rem; +} + +/******************************* + Types +*******************************/ + +/*-------------- + Icon Value +---------------*/ + +.ui.statistics .statistic > .value .icon, +.ui.statistic > .value .icon { + opacity: 1; + width: auto; + margin: 0em; +} + +/*-------------- + Text Value +---------------*/ + +.ui.statistics .statistic > .text.value, +.ui.statistic > .text.value { + line-height: 1em; + min-height: 2em; + font-weight: bold; + text-align: center; +} + +.ui.statistics .statistic > .text.value + .label, +.ui.statistic > .text.value + .label { + text-align: center; +} + +/*-------------- + Image Value +---------------*/ + +.ui.statistics .statistic > .value img, +.ui.statistic > .value img { + max-height: 3rem; + vertical-align: baseline; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Count +---------------*/ + +.ui.ten.statistics { + margin: 0em 0em -1em; +} + +.ui.ten.statistics .statistic { + min-width: 10%; + margin: 0em 0em 1em; +} + +.ui.nine.statistics { + margin: 0em 0em -1em; +} + +.ui.nine.statistics .statistic { + min-width: 11.11111111%; + margin: 0em 0em 1em; +} + +.ui.eight.statistics { + margin: 0em 0em -1em; +} + +.ui.eight.statistics .statistic { + min-width: 12.5%; + margin: 0em 0em 1em; +} + +.ui.seven.statistics { + margin: 0em 0em -1em; +} + +.ui.seven.statistics .statistic { + min-width: 14.28571429%; + margin: 0em 0em 1em; +} + +.ui.six.statistics { + margin: 0em 0em -1em; +} + +.ui.six.statistics .statistic { + min-width: 16.66666667%; + margin: 0em 0em 1em; +} + +.ui.five.statistics { + margin: 0em 0em -1em; +} + +.ui.five.statistics .statistic { + min-width: 20%; + margin: 0em 0em 1em; +} + +.ui.four.statistics { + margin: 0em 0em -1em; +} + +.ui.four.statistics .statistic { + min-width: 25%; + margin: 0em 0em 1em; +} + +.ui.three.statistics { + margin: 0em 0em -1em; +} + +.ui.three.statistics .statistic { + min-width: 33.33333333%; + margin: 0em 0em 1em; +} + +.ui.two.statistics { + margin: 0em 0em -1em; +} + +.ui.two.statistics .statistic { + min-width: 50%; + margin: 0em 0em 1em; +} + +.ui.one.statistics { + margin: 0em 0em -1em; +} + +.ui.one.statistics .statistic { + min-width: 100%; + margin: 0em 0em 1em; +} + +/*-------------- + Horizontal +---------------*/ + +.ui.horizontal.statistic { + flex-direction: row; + align-items: center; +} + +.ui.horizontal.statistics { + flex-direction: column; + margin: 0em; + max-width: none; +} + +.ui.horizontal.statistics .statistic { + flex-direction: row; + align-items: center; + max-width: none; + margin: 1em 0em; +} + +.ui.horizontal.statistic > .text.value, +.ui.horizontal.statistics > .statistic > .text.value { + min-height: 0em !important; +} + +.ui.horizontal.statistics .statistic > .value .icon, +.ui.horizontal.statistic > .value .icon { + width: 1.18em; +} + +.ui.horizontal.statistics .statistic > .value, +.ui.horizontal.statistic > .value { + display: inline-block; + vertical-align: middle; +} + +.ui.horizontal.statistics .statistic > .label, +.ui.horizontal.statistic > .label { + display: inline-block; + vertical-align: middle; + margin: 0em 0em 0em 0.75em; +} + +/*-------------- + Colors +---------------*/ + +.ui.red.statistics .statistic > .value, +.ui.statistics .red.statistic > .value, +.ui.red.statistic > .value { + color: #DB2828; +} + +.ui.orange.statistics .statistic > .value, +.ui.statistics .orange.statistic > .value, +.ui.orange.statistic > .value { + color: #F2711C; +} + +.ui.yellow.statistics .statistic > .value, +.ui.statistics .yellow.statistic > .value, +.ui.yellow.statistic > .value { + color: #FBBD08; +} + +.ui.olive.statistics .statistic > .value, +.ui.statistics .olive.statistic > .value, +.ui.olive.statistic > .value { + color: #B5CC18; +} + +.ui.green.statistics .statistic > .value, +.ui.statistics .green.statistic > .value, +.ui.green.statistic > .value { + color: #21BA45; +} + +.ui.teal.statistics .statistic > .value, +.ui.statistics .teal.statistic > .value, +.ui.teal.statistic > .value { + color: #00B5AD; +} + +.ui.blue.statistics .statistic > .value, +.ui.statistics .blue.statistic > .value, +.ui.blue.statistic > .value { + color: #2185D0; +} + +.ui.violet.statistics .statistic > .value, +.ui.statistics .violet.statistic > .value, +.ui.violet.statistic > .value { + color: #6435C9; +} + +.ui.purple.statistics .statistic > .value, +.ui.statistics .purple.statistic > .value, +.ui.purple.statistic > .value { + color: #A333C8; +} + +.ui.pink.statistics .statistic > .value, +.ui.statistics .pink.statistic > .value, +.ui.pink.statistic > .value { + color: #E03997; +} + +.ui.brown.statistics .statistic > .value, +.ui.statistics .brown.statistic > .value, +.ui.brown.statistic > .value { + color: #A5673F; +} + +.ui.grey.statistics .statistic > .value, +.ui.statistics .grey.statistic > .value, +.ui.grey.statistic > .value { + color: #767676; +} + +/*-------------- + Inverted +---------------*/ + +.ui.inverted.statistics .statistic > .value, +.ui.inverted.statistic .value { + color: #FFFFFF; +} + +.ui.inverted.statistics .statistic > .label, +.ui.inverted.statistic .label { + color: rgba(255, 255, 255, 0.9); +} + +.ui.inverted.red.statistics .statistic > .value, +.ui.statistics .inverted.red.statistic > .value, +.ui.inverted.red.statistic > .value { + color: #FF695E; +} + +.ui.inverted.orange.statistics .statistic > .value, +.ui.statistics .inverted.orange.statistic > .value, +.ui.inverted.orange.statistic > .value { + color: #FF851B; +} + +.ui.inverted.yellow.statistics .statistic > .value, +.ui.statistics .inverted.yellow.statistic > .value, +.ui.inverted.yellow.statistic > .value { + color: #FFE21F; +} + +.ui.inverted.olive.statistics .statistic > .value, +.ui.statistics .inverted.olive.statistic > .value, +.ui.inverted.olive.statistic > .value { + color: #D9E778; +} + +.ui.inverted.green.statistics .statistic > .value, +.ui.statistics .inverted.green.statistic > .value, +.ui.inverted.green.statistic > .value { + color: #2ECC40; +} + +.ui.inverted.teal.statistics .statistic > .value, +.ui.statistics .inverted.teal.statistic > .value, +.ui.inverted.teal.statistic > .value { + color: #6DFFFF; +} + +.ui.inverted.blue.statistics .statistic > .value, +.ui.statistics .inverted.blue.statistic > .value, +.ui.inverted.blue.statistic > .value { + color: #54C8FF; +} + +.ui.inverted.violet.statistics .statistic > .value, +.ui.statistics .inverted.violet.statistic > .value, +.ui.inverted.violet.statistic > .value { + color: #A291FB; +} + +.ui.inverted.purple.statistics .statistic > .value, +.ui.statistics .inverted.purple.statistic > .value, +.ui.inverted.purple.statistic > .value { + color: #DC73FF; +} + +.ui.inverted.pink.statistics .statistic > .value, +.ui.statistics .inverted.pink.statistic > .value, +.ui.inverted.pink.statistic > .value { + color: #FF8EDF; +} + +.ui.inverted.brown.statistics .statistic > .value, +.ui.statistics .inverted.brown.statistic > .value, +.ui.inverted.brown.statistic > .value { + color: #D67C1C; +} + +.ui.inverted.grey.statistics .statistic > .value, +.ui.statistics .inverted.grey.statistic > .value, +.ui.inverted.grey.statistic > .value { + color: #DCDDDE; +} + +/*-------------- + Floated +---------------*/ + +.ui[class*="left floated"].statistic { + float: left; + margin: 0em 2em 1em 0em; +} + +.ui[class*="right floated"].statistic { + float: right; + margin: 0em 0em 1em 2em; +} + +.ui.floated.statistic:last-child { + margin-bottom: 0em; +} + +/*-------------- + Sizes +---------------*/ + +/* Mini */ + +.ui.mini.statistics .statistic > .value, +.ui.mini.statistic > .value { + font-size: 1.5rem !important; +} + +.ui.mini.horizontal.statistics .statistic > .value, +.ui.mini.horizontal.statistic > .value { + font-size: 1.5rem !important; +} + +.ui.mini.statistics .statistic > .text.value, +.ui.mini.statistic > .text.value { + font-size: 1rem !important; +} + +/* Tiny */ + +.ui.tiny.statistics .statistic > .value, +.ui.tiny.statistic > .value { + font-size: 2rem !important; +} + +.ui.tiny.horizontal.statistics .statistic > .value, +.ui.tiny.horizontal.statistic > .value { + font-size: 2rem !important; +} + +.ui.tiny.statistics .statistic > .text.value, +.ui.tiny.statistic > .text.value { + font-size: 1rem !important; +} + +/* Small */ + +.ui.small.statistics .statistic > .value, +.ui.small.statistic > .value { + font-size: 3rem !important; +} + +.ui.small.horizontal.statistics .statistic > .value, +.ui.small.horizontal.statistic > .value { + font-size: 2rem !important; +} + +.ui.small.statistics .statistic > .text.value, +.ui.small.statistic > .text.value { + font-size: 1rem !important; +} + +/* Medium */ + +.ui.statistics .statistic > .value, +.ui.statistic > .value { + font-size: 4rem !important; +} + +.ui.horizontal.statistics .statistic > .value, +.ui.horizontal.statistic > .value { + font-size: 3rem !important; +} + +.ui.statistics .statistic > .text.value, +.ui.statistic > .text.value { + font-size: 2rem !important; +} + +/* Large */ + +.ui.large.statistics .statistic > .value, +.ui.large.statistic > .value { + font-size: 5rem !important; +} + +.ui.large.horizontal.statistics .statistic > .value, +.ui.large.horizontal.statistic > .value { + font-size: 4rem !important; +} + +.ui.large.statistics .statistic > .text.value, +.ui.large.statistic > .text.value { + font-size: 2.5rem !important; +} + +/* Huge */ + +.ui.huge.statistics .statistic > .value, +.ui.huge.statistic > .value { + font-size: 6rem !important; +} + +.ui.huge.horizontal.statistics .statistic > .value, +.ui.huge.horizontal.statistic > .value { + font-size: 5rem !important; +} + +.ui.huge.statistics .statistic > .text.value, +.ui.huge.statistic > .text.value { + font-size: 2.5rem !important; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + User Variable Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Accordion + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Accordion +*******************************/ + +.ui.accordion, +.ui.accordion .accordion { + max-width: 100%; +} + +.ui.accordion .accordion { + margin: 1em 0em 0em; + padding: 0em; +} + +/* Title */ + +.ui.accordion .title, +.ui.accordion .accordion .title { + cursor: pointer; +} + +/* Default Styling */ + +.ui.accordion .title:not(.ui) { + padding: 0.5em 0em; + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-size: 1em; + color: rgba(0, 0, 0, 0.87); +} + +/* Content */ + +.ui.accordion .title ~ .content, +.ui.accordion .accordion .title ~ .content { + display: none; +} + +/* Default Styling */ + +.ui.accordion:not(.styled) .title ~ .content:not(.ui), +.ui.accordion:not(.styled) .accordion .title ~ .content:not(.ui) { + margin: ''; + padding: 0.5em 0em 1em; +} + +.ui.accordion:not(.styled) .title ~ .content:not(.ui):last-child { + padding-bottom: 0em; +} + +/* Arrow */ + +.ui.accordion .title .dropdown.icon, +.ui.accordion .accordion .title .dropdown.icon { + display: inline-block; + float: none; + opacity: 1; + width: 1.25em; + height: 1em; + margin: 0em 0.25rem 0em 0rem; + padding: 0em; + font-size: 1em; + transition: transform 0.1s ease, opacity 0.1s ease; + vertical-align: baseline; + transform: none; +} + +/*-------------- + Coupling +---------------*/ + +/* Menu */ + +.ui.accordion.menu .item .title { + display: block; + padding: 0em; +} + +.ui.accordion.menu .item .title > .dropdown.icon { + float: right; + margin: 0.21425em 0em 0em 1em; + transform: rotate(180deg); +} + +/* Header */ + +.ui.accordion .ui.header .dropdown.icon { + font-size: 1em; + margin: 0em 0.25rem 0em 0rem; +} + +/******************************* + States +*******************************/ + +.ui.accordion .active.title .dropdown.icon, +.ui.accordion .accordion .active.title .dropdown.icon { + transform: rotate(90deg); +} + +.ui.accordion.menu .item .active.title > .dropdown.icon { + transform: rotate(90deg); +} + +/******************************* + Types +*******************************/ + +/*-------------- + Styled +---------------*/ + +.ui.styled.accordion { + width: 600px; +} + +.ui.styled.accordion, +.ui.styled.accordion .accordion { + border-radius: 0.28571429rem; + background: #FFFFFF; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15); +} + +.ui.styled.accordion .title, +.ui.styled.accordion .accordion .title { + margin: 0em; + padding: 0.75em 1em; + color: rgba(0, 0, 0, 0.4); + font-weight: bold; + border-top: 1px solid rgba(34, 36, 38, 0.15); + transition: background 0.1s ease, color 0.1s ease; +} + +.ui.styled.accordion > .title:first-child, +.ui.styled.accordion .accordion .title:first-child { + border-top: none; +} + +/* Content */ + +.ui.styled.accordion .content, +.ui.styled.accordion .accordion .content { + margin: 0em; + padding: 0.5em 1em 1.5em; +} + +.ui.styled.accordion .accordion .content { + padding: 0em; + padding: 0.5em 1em 1.5em; +} + +/* Hover */ + +.ui.styled.accordion .title:hover, +.ui.styled.accordion .active.title, +.ui.styled.accordion .accordion .title:hover, +.ui.styled.accordion .accordion .active.title { + background: transparent; + color: rgba(0, 0, 0, 0.87); +} + +.ui.styled.accordion .accordion .title:hover, +.ui.styled.accordion .accordion .active.title { + background: transparent; + color: rgba(0, 0, 0, 0.87); +} + +/* Active */ + +.ui.styled.accordion .active.title { + background: transparent; + color: rgba(0, 0, 0, 0.95); +} + +.ui.styled.accordion .accordion .active.title { + background: transparent; + color: rgba(0, 0, 0, 0.95); +} + +/******************************* + States +*******************************/ + +/*-------------- + Active +---------------*/ + +.ui.accordion .active.content, +.ui.accordion .accordion .active.content { + display: block; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Fluid +---------------*/ + +.ui.fluid.accordion, +.ui.fluid.accordion .accordion { + width: 100%; +} + +/*-------------- + Inverted +---------------*/ + +.ui.inverted.accordion .title:not(.ui) { + color: rgba(255, 255, 255, 0.9); +} + +/******************************* + Theme Overrides +*******************************/ + +@font-face { + font-family: 'Accordion'; + src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff'); + font-weight: normal; + font-style: normal; +} + +/* Dropdown Icon */ + +.ui.accordion .title .dropdown.icon, +.ui.accordion .accordion .title .dropdown.icon { + font-family: Accordion; + line-height: 1; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + font-weight: normal; + font-style: normal; + text-align: center; +} + +.ui.accordion .title .dropdown.icon:before, +.ui.accordion .accordion .title .dropdown.icon:before { + content: '\f0da' ; +} + +/******************************* + User Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Checkbox + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Checkbox +*******************************/ + +/*-------------- + Content +---------------*/ + +.ui.checkbox { + position: relative; + display: inline-block; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + outline: none; + vertical-align: baseline; + font-style: normal; + min-height: 17px; + font-size: 1rem; + line-height: 17px; + min-width: 17px; +} + +/* HTML Checkbox */ + +.ui.checkbox input[type="checkbox"], +.ui.checkbox input[type="radio"] { + cursor: pointer; + position: absolute; + top: 0px; + left: 0px; + opacity: 0 !important; + outline: none; + z-index: 3; + width: 17px; + height: 17px; +} + +/*-------------- + Box +---------------*/ + +.ui.checkbox .box, +.ui.checkbox label { + cursor: auto; + position: relative; + display: block; + padding-left: 1.85714em; + outline: none; + font-size: 1em; +} + +.ui.checkbox .box:before, +.ui.checkbox label:before { + position: absolute; + top: 0px; + left: 0px; + width: 17px; + height: 17px; + content: ''; + background: #FFFFFF; + border-radius: 0.21428571rem; + transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease; + border: 1px solid #D4D4D5; +} + +/*-------------- + Checkmark +---------------*/ + +.ui.checkbox .box:after, +.ui.checkbox label:after { + position: absolute; + font-size: 14px; + top: 0px; + left: 0px; + width: 17px; + height: 17px; + text-align: center; + opacity: 0; + color: rgba(0, 0, 0, 0.87); + transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease; +} + +/*-------------- + Label +---------------*/ + +/* Inside */ + +.ui.checkbox label, +.ui.checkbox + label { + color: rgba(0, 0, 0, 0.87); + transition: color 0.1s ease; +} + +/* Outside */ + +.ui.checkbox + label { + vertical-align: middle; +} + +/******************************* + States +*******************************/ + +/*-------------- + Hover +---------------*/ + +.ui.checkbox .box:hover::before, +.ui.checkbox label:hover::before { + background: #FFFFFF; + border-color: rgba(34, 36, 38, 0.35); +} + +.ui.checkbox label:hover, +.ui.checkbox + label:hover { + color: rgba(0, 0, 0, 0.8); +} + +/*-------------- + Down +---------------*/ + +.ui.checkbox .box:active::before, +.ui.checkbox label:active::before { + background: #F9FAFB; + border-color: rgba(34, 36, 38, 0.35); +} + +.ui.checkbox .box:active::after, +.ui.checkbox label:active::after { + color: rgba(0, 0, 0, 0.95); +} + +.ui.checkbox input:active ~ label { + color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Focus +---------------*/ + +.ui.checkbox input:focus ~ .box:before, +.ui.checkbox input:focus ~ label:before { + background: #FFFFFF; + border-color: #96C8DA; +} + +.ui.checkbox input:focus ~ .box:after, +.ui.checkbox input:focus ~ label:after { + color: rgba(0, 0, 0, 0.95); +} + +.ui.checkbox input:focus ~ label { + color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Active +---------------*/ + +.ui.checkbox input:checked ~ .box:before, +.ui.checkbox input:checked ~ label:before { + background: #FFFFFF; + border-color: rgba(34, 36, 38, 0.35); +} + +.ui.checkbox input:checked ~ .box:after, +.ui.checkbox input:checked ~ label:after { + opacity: 1; + color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Indeterminate +---------------*/ + +.ui.checkbox input:not([type=radio]):indeterminate ~ .box:before, +.ui.checkbox input:not([type=radio]):indeterminate ~ label:before { + background: #FFFFFF; + border-color: rgba(34, 36, 38, 0.35); +} + +.ui.checkbox input:not([type=radio]):indeterminate ~ .box:after, +.ui.checkbox input:not([type=radio]):indeterminate ~ label:after { + opacity: 1; + color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Active Focus +---------------*/ + +.ui.checkbox input:not([type=radio]):indeterminate:focus ~ .box:before, +.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:before, +.ui.checkbox input:checked:focus ~ .box:before, +.ui.checkbox input:checked:focus ~ label:before { + background: #FFFFFF; + border-color: #96C8DA; +} + +.ui.checkbox input:not([type=radio]):indeterminate:focus ~ .box:after, +.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:after, +.ui.checkbox input:checked:focus ~ .box:after, +.ui.checkbox input:checked:focus ~ label:after { + color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Read-Only +---------------*/ + +.ui.read-only.checkbox, +.ui.read-only.checkbox label { + cursor: default; +} + +/*-------------- + Disabled +---------------*/ + +.ui.disabled.checkbox .box:after, +.ui.disabled.checkbox label, +.ui.checkbox input[disabled] ~ .box:after, +.ui.checkbox input[disabled] ~ label { + cursor: default !important; + opacity: 0.5; + color: #000000; +} + +/*-------------- + Hidden +---------------*/ + +/* Initialized checkbox moves input below element + to prevent manually triggering */ + +.ui.checkbox input.hidden { + z-index: -1; +} + +/* Selectable Label */ + +.ui.checkbox input.hidden + label { + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/******************************* + Types +*******************************/ + +/*-------------- + Radio +---------------*/ + +.ui.radio.checkbox { + min-height: 15px; +} + +.ui.radio.checkbox .box, +.ui.radio.checkbox label { + padding-left: 1.85714em; +} + +/* Box */ + +.ui.radio.checkbox .box:before, +.ui.radio.checkbox label:before { + content: ''; + transform: none; + width: 15px; + height: 15px; + border-radius: 500rem; + top: 1px; + left: 0px; +} + +/* Bullet */ + +.ui.radio.checkbox .box:after, +.ui.radio.checkbox label:after { + border: none; + content: '' !important; + width: 15px; + height: 15px; + line-height: 15px; +} + +/* Radio Checkbox */ + +.ui.radio.checkbox .box:after, +.ui.radio.checkbox label:after { + top: 1px; + left: 0px; + width: 15px; + height: 15px; + border-radius: 500rem; + transform: scale(0.46666667); + background-color: rgba(0, 0, 0, 0.87); +} + +/* Focus */ + +.ui.radio.checkbox input:focus ~ .box:before, +.ui.radio.checkbox input:focus ~ label:before { + background-color: #FFFFFF; +} + +.ui.radio.checkbox input:focus ~ .box:after, +.ui.radio.checkbox input:focus ~ label:after { + background-color: rgba(0, 0, 0, 0.95); +} + +/* Indeterminate */ + +.ui.radio.checkbox input:indeterminate ~ .box:after, +.ui.radio.checkbox input:indeterminate ~ label:after { + opacity: 0; +} + +/* Active */ + +.ui.radio.checkbox input:checked ~ .box:before, +.ui.radio.checkbox input:checked ~ label:before { + background-color: #FFFFFF; +} + +.ui.radio.checkbox input:checked ~ .box:after, +.ui.radio.checkbox input:checked ~ label:after { + background-color: rgba(0, 0, 0, 0.95); +} + +/* Active Focus */ + +.ui.radio.checkbox input:focus:checked ~ .box:before, +.ui.radio.checkbox input:focus:checked ~ label:before { + background-color: #FFFFFF; +} + +.ui.radio.checkbox input:focus:checked ~ .box:after, +.ui.radio.checkbox input:focus:checked ~ label:after { + background-color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Slider +---------------*/ + +.ui.slider.checkbox { + min-height: 1.25rem; +} + +/* Input */ + +.ui.slider.checkbox input { + width: 3.5rem; + height: 1.25rem; +} + +/* Label */ + +.ui.slider.checkbox .box, +.ui.slider.checkbox label { + padding-left: 4.5rem; + line-height: 1rem; + color: rgba(0, 0, 0, 0.4); +} + +/* Line */ + +.ui.slider.checkbox .box:before, +.ui.slider.checkbox label:before { + display: block; + position: absolute; + content: ''; + border: none !important; + left: 0em; + z-index: 1; + top: 0.4rem; + background-color: rgba(0, 0, 0, 0.05); + width: 3.5rem; + height: 0.21428571rem; + transform: none; + border-radius: 500rem; + transition: background 0.3s ease; +} + +/* Handle */ + +.ui.slider.checkbox .box:after, +.ui.slider.checkbox label:after { + background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05)); + position: absolute; + content: '' !important; + opacity: 1; + z-index: 2; + border: none; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; + width: 1.5rem; + height: 1.5rem; + top: -0.25rem; + left: 0em; + transform: none; + border-radius: 500rem; + transition: left 0.3s ease; +} + +/* Focus */ + +.ui.slider.checkbox input:focus ~ .box:before, +.ui.slider.checkbox input:focus ~ label:before { + background-color: rgba(0, 0, 0, 0.15); + border: none; +} + +/* Hover */ + +.ui.slider.checkbox .box:hover, +.ui.slider.checkbox label:hover { + color: rgba(0, 0, 0, 0.8); +} + +.ui.slider.checkbox .box:hover::before, +.ui.slider.checkbox label:hover::before { + background: rgba(0, 0, 0, 0.15); +} + +/* Active */ + +.ui.slider.checkbox input:checked ~ .box, +.ui.slider.checkbox input:checked ~ label { + color: rgba(0, 0, 0, 0.95) !important; +} + +.ui.slider.checkbox input:checked ~ .box:before, +.ui.slider.checkbox input:checked ~ label:before { + background-color: #545454 !important; +} + +.ui.slider.checkbox input:checked ~ .box:after, +.ui.slider.checkbox input:checked ~ label:after { + left: 2rem; +} + +/* Active Focus */ + +.ui.slider.checkbox input:focus:checked ~ .box, +.ui.slider.checkbox input:focus:checked ~ label { + color: rgba(0, 0, 0, 0.95) !important; +} + +.ui.slider.checkbox input:focus:checked ~ .box:before, +.ui.slider.checkbox input:focus:checked ~ label:before { + background-color: #000000 !important; +} + +/*-------------- + Toggle +---------------*/ + +.ui.toggle.checkbox { + min-height: 1.5rem; +} + +/* Input */ + +.ui.toggle.checkbox input { + width: 3.5rem; + height: 1.5rem; +} + +/* Label */ + +.ui.toggle.checkbox .box, +.ui.toggle.checkbox label { + min-height: 1.5rem; + padding-left: 4.5rem; + color: rgba(0, 0, 0, 0.87); +} + +.ui.toggle.checkbox label { + padding-top: 0.15em; +} + +/* Switch */ + +.ui.toggle.checkbox .box:before, +.ui.toggle.checkbox label:before { + display: block; + position: absolute; + content: ''; + z-index: 1; + transform: none; + border: none; + top: 0rem; + background: rgba(0, 0, 0, 0.05); + box-shadow: none; + width: 3.5rem; + height: 1.5rem; + border-radius: 500rem; +} + +/* Handle */ + +.ui.toggle.checkbox .box:after, +.ui.toggle.checkbox label:after { + background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05)); + position: absolute; + content: '' !important; + opacity: 1; + z-index: 2; + border: none; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; + width: 1.5rem; + height: 1.5rem; + top: 0rem; + left: 0em; + border-radius: 500rem; + transition: background 0.3s ease, left 0.3s ease; +} + +.ui.toggle.checkbox input ~ .box:after, +.ui.toggle.checkbox input ~ label:after { + left: -0.05rem; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; +} + +/* Focus */ + +.ui.toggle.checkbox input:focus ~ .box:before, +.ui.toggle.checkbox input:focus ~ label:before { + background-color: rgba(0, 0, 0, 0.15); + border: none; +} + +/* Hover */ + +.ui.toggle.checkbox .box:hover::before, +.ui.toggle.checkbox label:hover::before { + background-color: rgba(0, 0, 0, 0.15); + border: none; +} + +/* Active */ + +.ui.toggle.checkbox input:checked ~ .box, +.ui.toggle.checkbox input:checked ~ label { + color: rgba(0, 0, 0, 0.95) !important; +} + +.ui.toggle.checkbox input:checked ~ .box:before, +.ui.toggle.checkbox input:checked ~ label:before { + background-color: #2185D0 !important; +} + +.ui.toggle.checkbox input:checked ~ .box:after, +.ui.toggle.checkbox input:checked ~ label:after { + left: 2.15rem; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; +} + +/* Active Focus */ + +.ui.toggle.checkbox input:focus:checked ~ .box, +.ui.toggle.checkbox input:focus:checked ~ label { + color: rgba(0, 0, 0, 0.95) !important; +} + +.ui.toggle.checkbox input:focus:checked ~ .box:before, +.ui.toggle.checkbox input:focus:checked ~ label:before { + background-color: #0d71bb !important; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Fitted +---------------*/ + +.ui.fitted.checkbox .box, +.ui.fitted.checkbox label { + padding-left: 0em !important; +} + +.ui.fitted.toggle.checkbox, +.ui.fitted.toggle.checkbox { + width: 3.5rem; +} + +.ui.fitted.slider.checkbox, +.ui.fitted.slider.checkbox { + width: 3.5rem; +} + +/******************************* + Theme Overrides +*******************************/ + +@font-face { + font-family: 'Checkbox'; + src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'); +} + +/* Checkmark */ + +.ui.checkbox label:after, +.ui.checkbox .box:after { + font-family: 'Checkbox'; +} + +/* Checked */ + +.ui.checkbox input:checked ~ .box:after, +.ui.checkbox input:checked ~ label:after { + content: '\e800'; +} + +/* Indeterminate */ + +.ui.checkbox input:indeterminate ~ .box:after, +.ui.checkbox input:indeterminate ~ label:after { + font-size: 12px; + content: '\e801'; +} + +/* UTF Reference +.check:before { content: '\e800'; } +.dash:before { content: '\e801'; } +.plus:before { content: '\e802'; } +*/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Dimmer + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Dimmer +*******************************/ + +.dimmable:not(body) { + position: relative; +} + +.ui.dimmer { + display: none; + position: absolute; + top: 0em !important; + left: 0em !important; + width: 100%; + height: 100%; + text-align: center; + vertical-align: middle; + padding: 1em; + background-color: rgba(0, 0, 0, 0.85); + opacity: 0; + line-height: 1; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; + -webkit-animation-duration: 0.5s; + animation-duration: 0.5s; + transition: background-color 0.5s linear; + flex-direction: column; + align-items: center; + justify-content: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + will-change: opacity; + z-index: 1000; +} + +/* Dimmer Content */ + +.ui.dimmer > .content { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + color: #FFFFFF; +} + +/* Loose Coupling */ + +.ui.segment > .ui.dimmer { + border-radius: inherit !important; +} + +/* Scrollbars */ + +.ui.dimmer:not(.inverted)::-webkit-scrollbar-track { + background: rgba(255, 255, 255, 0.1); +} + +.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb { + background: rgba(255, 255, 255, 0.25); +} + +.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:window-inactive { + background: rgba(255, 255, 255, 0.15); +} + +.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:hover { + background: rgba(255, 255, 255, 0.35); +} + +/******************************* + States +*******************************/ + +/* Animating */ + +.animating.dimmable:not(body), +.dimmed.dimmable:not(body) { + overflow: hidden; +} + +/* Animating / Active / Visible */ + +.dimmed.dimmable > .ui.animating.dimmer, +.dimmed.dimmable > .ui.visible.dimmer, +.ui.active.dimmer { + display: flex; + opacity: 1; +} + +/* Disabled */ + +.ui.disabled.dimmer { + width: 0 !important; + height: 0 !important; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Legacy +---------------*/ + +/* Animating / Active / Visible */ + +.dimmed.dimmable > .ui.animating.legacy.dimmer, +.dimmed.dimmable > .ui.visible.legacy.dimmer, +.ui.active.legacy.dimmer { + display: block; +} + +/*-------------- + Alignment +---------------*/ + +.ui[class*="top aligned"].dimmer { + justify-content: flex-start; +} + +.ui[class*="bottom aligned"].dimmer { + justify-content: flex-end; +} + +/*-------------- + Page +---------------*/ + +.ui.page.dimmer { + position: fixed; + transform-style: ''; + perspective: 2000px; + transform-origin: center center; +} + +body.animating.in.dimmable, +body.dimmed.dimmable { + overflow: hidden; +} + +body.dimmable > .dimmer { + position: fixed; +} + +/*-------------- + Blurring +---------------*/ + +.blurring.dimmable > :not(.dimmer) { + -webkit-filter: blur(0px) grayscale(0); + filter: blur(0px) grayscale(0); + transition: 800ms -webkit-filter ease; + transition: 800ms filter ease; + transition: 800ms filter ease, 800ms -webkit-filter ease; +} + +.blurring.dimmed.dimmable > :not(.dimmer) { + -webkit-filter: blur(5px) grayscale(0.7); + filter: blur(5px) grayscale(0.7); +} + +/* Dimmer Color */ + +.blurring.dimmable > .dimmer { + background-color: rgba(0, 0, 0, 0.6); +} + +.blurring.dimmable > .inverted.dimmer { + background-color: rgba(255, 255, 255, 0.6); +} + +/*-------------- + Aligned +---------------*/ + +.ui.dimmer > .top.aligned.content > * { + vertical-align: top; +} + +.ui.dimmer > .bottom.aligned.content > * { + vertical-align: bottom; +} + +/*-------------- + Inverted +---------------*/ + +.ui.inverted.dimmer { + background-color: rgba(255, 255, 255, 0.85); +} + +.ui.inverted.dimmer > .content > * { + color: #FFFFFF; +} + +/*-------------- + Simple +---------------*/ + +/* Displays without javascript */ + +.ui.simple.dimmer { + display: block; + overflow: hidden; + opacity: 1; + width: 0%; + height: 0%; + z-index: -100; + background-color: rgba(0, 0, 0, 0); +} + +.dimmed.dimmable > .ui.simple.dimmer { + overflow: visible; + opacity: 1; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.85); + z-index: 1; +} + +.ui.simple.inverted.dimmer { + background-color: rgba(255, 255, 255, 0); +} + +.dimmed.dimmable > .ui.simple.inverted.dimmer { + background-color: rgba(255, 255, 255, 0.85); +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + User Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Dropdown + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Dropdown +*******************************/ + +.ui.dropdown { + cursor: pointer; + position: relative; + display: inline-block; + outline: none; + text-align: left; + transition: box-shadow 0.1s ease, width 0.1s ease; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +/******************************* + Content +*******************************/ + +/*-------------- + Menu +---------------*/ + +.ui.dropdown .menu { + cursor: auto; + position: absolute; + display: none; + outline: none; + top: 100%; + min-width: -webkit-max-content; + min-width: -moz-max-content; + min-width: max-content; + margin: 0em; + padding: 0em 0em; + background: #FFFFFF; + font-size: 1em; + text-shadow: none; + text-align: left; + box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15); + border: 1px solid rgba(34, 36, 38, 0.15); + border-radius: 0.28571429rem; + transition: opacity 0.1s ease; + z-index: 11; + will-change: transform, opacity; +} + +.ui.dropdown .menu > * { + white-space: nowrap; +} + +/*-------------- + Hidden Input +---------------*/ + +.ui.dropdown > input:not(.search):first-child, +.ui.dropdown > select { + display: none !important; +} + +/*-------------- + Dropdown Icon +---------------*/ + +.ui.dropdown > .dropdown.icon { + position: relative; + width: auto; + font-size: 0.85714286em; + margin: 0em 0em 0em 1em; +} + +.ui.dropdown .menu > .item .dropdown.icon { + width: auto; + float: right; + margin: 0em 0em 0em 1em; +} + +.ui.dropdown .menu > .item .dropdown.icon + .text { + margin-right: 1em; +} + +/*-------------- + Text +---------------*/ + +.ui.dropdown > .text { + display: inline-block; + transition: none; +} + +/*-------------- + Menu Item +---------------*/ + +.ui.dropdown .menu > .item { + position: relative; + cursor: pointer; + display: block; + border: none; + height: auto; + text-align: left; + border-top: none; + line-height: 1em; + color: rgba(0, 0, 0, 0.87); + padding: 0.78571429rem 1.14285714rem !important; + font-size: 1rem; + text-transform: none; + font-weight: normal; + box-shadow: none; + -webkit-touch-callout: none; +} + +.ui.dropdown .menu > .item:first-child { + border-top-width: 0px; +} + +/*-------------- + Floated Content +---------------*/ + +.ui.dropdown > .text > [class*="right floated"], +.ui.dropdown .menu .item > [class*="right floated"] { + float: right !important; + margin-right: 0em !important; + margin-left: 1em !important; +} + +.ui.dropdown > .text > [class*="left floated"], +.ui.dropdown .menu .item > [class*="left floated"] { + float: left !important; + margin-left: 0em !important; + margin-right: 1em !important; +} + +.ui.dropdown .menu .item > .icon.floated, +.ui.dropdown .menu .item > .flag.floated, +.ui.dropdown .menu .item > .image.floated, +.ui.dropdown .menu .item > img.floated { + margin-top: 0em; +} + +/*-------------- + Menu Divider +---------------*/ + +.ui.dropdown .menu > .header { + margin: 1rem 0rem 0.75rem; + padding: 0em 1.14285714rem; + color: rgba(0, 0, 0, 0.85); + font-size: 0.78571429em; + font-weight: bold; + text-transform: uppercase; +} + +.ui.dropdown .menu > .divider { + border-top: 1px solid rgba(34, 36, 38, 0.1); + height: 0em; + margin: 0.5em 0em; +} + +.ui.dropdown.dropdown .menu > .input { + width: auto; + display: flex; + margin: 1.14285714rem 0.78571429rem; + min-width: 10rem; +} + +.ui.dropdown .menu > .header + .input { + margin-top: 0em; +} + +.ui.dropdown .menu > .input:not(.transparent) input { + padding: 0.5em 1em; +} + +.ui.dropdown .menu > .input:not(.transparent) .button, +.ui.dropdown .menu > .input:not(.transparent) .icon, +.ui.dropdown .menu > .input:not(.transparent) .label { + padding-top: 0.5em; + padding-bottom: 0.5em; +} + +/*----------------- + Item Description +-------------------*/ + +.ui.dropdown > .text > .description, +.ui.dropdown .menu > .item > .description { + float: right; + margin: 0em 0em 0em 1em; + color: rgba(0, 0, 0, 0.4); +} + +/*----------------- + Message +-------------------*/ + +.ui.dropdown .menu > .message { + padding: 0.78571429rem 1.14285714rem; + font-weight: normal; +} + +.ui.dropdown .menu > .message:not(.ui) { + color: rgba(0, 0, 0, 0.4); +} + +/*-------------- + Sub Menu +---------------*/ + +.ui.dropdown .menu .menu { + top: 0% !important; + left: 100%; + right: auto; + margin: 0em 0em 0em -0.5em !important; + border-radius: 0.28571429rem !important; + z-index: 21 !important; +} + +/* Hide Arrow */ + +.ui.dropdown .menu .menu:after { + display: none; +} + +/*-------------- + Sub Elements +---------------*/ + +/* Icons / Flags / Labels / Image */ + +.ui.dropdown > .text > .icon, +.ui.dropdown > .text > .label, +.ui.dropdown > .text > .flag, +.ui.dropdown > .text > img, +.ui.dropdown > .text > .image { + margin-top: 0em; +} + +.ui.dropdown .menu > .item > .icon, +.ui.dropdown .menu > .item > .label, +.ui.dropdown .menu > .item > .flag, +.ui.dropdown .menu > .item > .image, +.ui.dropdown .menu > .item > img { + margin-top: 0em; +} + +.ui.dropdown > .text > .icon, +.ui.dropdown > .text > .label, +.ui.dropdown > .text > .flag, +.ui.dropdown > .text > img, +.ui.dropdown > .text > .image, +.ui.dropdown .menu > .item > .icon, +.ui.dropdown .menu > .item > .label, +.ui.dropdown .menu > .item > .flag, +.ui.dropdown .menu > .item > .image, +.ui.dropdown .menu > .item > img { + margin-left: 0em; + float: none; + margin-right: 0.78571429rem; +} + +/*-------------- + Image +---------------*/ + +.ui.dropdown > .text > img, +.ui.dropdown > .text > .image, +.ui.dropdown .menu > .item > .image, +.ui.dropdown .menu > .item > img { + display: inline-block; + vertical-align: top; + width: auto; + margin-top: -0.5em; + margin-bottom: -0.5em; + max-height: 2em; +} + +/******************************* + Coupling +*******************************/ + +/*-------------- + Menu +---------------*/ + +/* Remove Menu Item Divider */ + +.ui.dropdown .ui.menu > .item:before, +.ui.menu .ui.dropdown .menu > .item:before { + display: none; +} + +/* Prevent Menu Item Border */ + +.ui.menu .ui.dropdown .menu .active.item { + border-left: none; +} + +/* Automatically float dropdown menu right on last menu item */ + +.ui.menu .right.menu .dropdown:last-child > .menu, +.ui.menu .right.dropdown.item > .menu, +.ui.buttons > .ui.dropdown:last-child > .menu { + left: auto; + right: 0em; +} + +/*-------------- + Label +---------------*/ + +/* Dropdown Menu */ + +.ui.label.dropdown .menu { + min-width: 100%; +} + +/*-------------- + Button +---------------*/ + +/* No Margin On Icon Button */ + +.ui.dropdown.icon.button > .dropdown.icon { + margin: 0em; +} + +.ui.button.dropdown .menu { + min-width: 100%; +} + +/******************************* + Types +*******************************/ + +/*-------------- + Selection +---------------*/ + +/* Displays like a select box */ + +.ui.selection.dropdown { + cursor: pointer; + word-wrap: break-word; + line-height: 1em; + white-space: normal; + outline: 0; + transform: rotateZ(0deg); + min-width: 14em; + min-height: 2.71428571em; + background: #FFFFFF; + display: inline-block; + padding: 0.78571429em 2.1em 0.78571429em 1em; + color: rgba(0, 0, 0, 0.87); + box-shadow: none; + border: 1px solid rgba(34, 36, 38, 0.15); + border-radius: 0.28571429rem; + transition: box-shadow 0.1s ease, width 0.1s ease; +} + +.ui.selection.dropdown.visible, +.ui.selection.dropdown.active { + z-index: 10; +} + +select.ui.dropdown { + height: 38px; + padding: 0.5em; + border: 1px solid rgba(34, 36, 38, 0.15); + visibility: visible; +} + +.ui.selection.dropdown > .search.icon, +.ui.selection.dropdown > .delete.icon, +.ui.selection.dropdown > .dropdown.icon { + cursor: pointer; + position: absolute; + width: auto; + height: auto; + line-height: 1.21428571em; + top: 0.78571429em; + right: 1em; + z-index: 3; + margin: -0.78571429em; + padding: 0.91666667em; + opacity: 0.8; + transition: opacity 0.1s ease; +} + +/* Compact */ + +.ui.compact.selection.dropdown { + min-width: 0px; +} + +/* Selection Menu */ + +.ui.selection.dropdown .menu { + overflow-x: hidden; + overflow-y: auto; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-overflow-scrolling: touch; + border-top-width: 0px !important; + width: auto; + outline: none; + margin: 0px -1px; + min-width: calc(100% + 2px ); + width: calc(100% + 2px ); + border-radius: 0em 0em 0.28571429rem 0.28571429rem; + box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15); + transition: opacity 0.1s ease; +} + +.ui.selection.dropdown .menu:after, +.ui.selection.dropdown .menu:before { + display: none; +} + +/*-------------- + Message +---------------*/ + +.ui.selection.dropdown .menu > .message { + padding: 0.78571429rem 1.14285714rem; +} + +@media only screen and (max-width: 767px) { + .ui.selection.dropdown .menu { + max-height: 8.01428571rem; + } +} + +@media only screen and (min-width: 768px) { + .ui.selection.dropdown .menu { + max-height: 10.68571429rem; + } +} + +@media only screen and (min-width: 992px) { + .ui.selection.dropdown .menu { + max-height: 16.02857143rem; + } +} + +@media only screen and (min-width: 1920px) { + .ui.selection.dropdown .menu { + max-height: 21.37142857rem; + } +} + +/* Menu Item */ + +.ui.selection.dropdown .menu > .item { + border-top: 1px solid #FAFAFA; + padding: 0.78571429rem 1.14285714rem !important; + white-space: normal; + word-wrap: normal; +} + +/* User Item */ + +.ui.selection.dropdown .menu > .hidden.addition.item { + display: none; +} + +/* Hover */ + +.ui.selection.dropdown:hover { + border-color: rgba(34, 36, 38, 0.35); + box-shadow: none; +} + +/* Active */ + +.ui.selection.active.dropdown { + border-color: #96C8DA; + box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15); +} + +.ui.selection.active.dropdown .menu { + border-color: #96C8DA; + box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15); +} + +/* Focus */ + +.ui.selection.dropdown:focus { + border-color: #96C8DA; + box-shadow: none; +} + +.ui.selection.dropdown:focus .menu { + border-color: #96C8DA; + box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15); +} + +/* Visible */ + +.ui.selection.visible.dropdown > .text:not(.default) { + font-weight: normal; + color: rgba(0, 0, 0, 0.8); +} + +/* Visible Hover */ + +.ui.selection.active.dropdown:hover { + border-color: #96C8DA; + box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15); +} + +.ui.selection.active.dropdown:hover .menu { + border-color: #96C8DA; + box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15); +} + +/* Dropdown Icon */ + +.ui.active.selection.dropdown > .dropdown.icon, +.ui.visible.selection.dropdown > .dropdown.icon { + opacity: ''; + z-index: 3; +} + +/* Connecting Border */ + +.ui.active.selection.dropdown { + border-bottom-left-radius: 0em !important; + border-bottom-right-radius: 0em !important; +} + +/* Empty Connecting Border */ + +.ui.active.empty.selection.dropdown { + border-radius: 0.28571429rem !important; + box-shadow: none !important; +} + +.ui.active.empty.selection.dropdown .menu { + border: none !important; + box-shadow: none !important; +} + +/*-------------- + Searchable +---------------*/ + +/* Search Selection */ + +.ui.search.dropdown { + min-width: ''; +} + +/* Search Dropdown */ + +.ui.search.dropdown > input.search { + background: none transparent !important; + border: none !important; + box-shadow: none !important; + cursor: text; + top: 0em; + left: 1px; + width: 100%; + outline: none; + -webkit-tap-highlight-color: rgba(255, 255, 255, 0); + padding: inherit; +} + +/* Text Layering */ + +.ui.search.dropdown > input.search { + position: absolute; + z-index: 2; +} + +.ui.search.dropdown > .text { + cursor: text; + position: relative; + left: 1px; + z-index: 3; +} + +/* Search Selection */ + +.ui.search.selection.dropdown > input.search { + line-height: 1.21428571em; + padding: 0.67857143em 2.1em 0.67857143em 1em; +} + +/* Used to size multi select input to character width */ + +.ui.search.selection.dropdown > span.sizer { + line-height: 1.21428571em; + padding: 0.67857143em 2.1em 0.67857143em 1em; + display: none; + white-space: pre; +} + +/* Active/Visible Search */ + +.ui.search.dropdown.active > input.search, +.ui.search.dropdown.visible > input.search { + cursor: auto; +} + +.ui.search.dropdown.active > .text, +.ui.search.dropdown.visible > .text { + pointer-events: none; +} + +/* Filtered Text */ + +.ui.active.search.dropdown input.search:focus + .text .icon, +.ui.active.search.dropdown input.search:focus + .text .flag { + opacity: 0.45; +} + +.ui.active.search.dropdown input.search:focus + .text { + color: rgba(115, 115, 115, 0.87) !important; +} + +/* Search Menu */ + +.ui.search.dropdown .menu { + overflow-x: hidden; + overflow-y: auto; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-overflow-scrolling: touch; +} + +@media only screen and (max-width: 767px) { + .ui.search.dropdown .menu { + max-height: 8.01428571rem; + } +} + +@media only screen and (min-width: 768px) { + .ui.search.dropdown .menu { + max-height: 10.68571429rem; + } +} + +@media only screen and (min-width: 992px) { + .ui.search.dropdown .menu { + max-height: 16.02857143rem; + } +} + +@media only screen and (min-width: 1920px) { + .ui.search.dropdown .menu { + max-height: 21.37142857rem; + } +} + +/*-------------- + Multiple +---------------*/ + +/* Multiple Selection */ + +.ui.multiple.dropdown { + padding: 0.22619048em 2.1em 0.22619048em 0.35714286em; +} + +.ui.multiple.dropdown .menu { + cursor: auto; +} + +/* Multiple Search Selection */ + +.ui.multiple.search.dropdown, +.ui.multiple.search.dropdown > input.search { + cursor: text; +} + +/* Selection Label */ + +.ui.multiple.dropdown > .label { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + display: inline-block; + vertical-align: top; + white-space: normal; + font-size: 1em; + padding: 0.35714286em 0.78571429em; + margin: 0.14285714rem 0.28571429rem 0.14285714rem 0em; + box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; +} + +/* Dropdown Icon */ + +.ui.multiple.dropdown .dropdown.icon { + margin: ''; + padding: ''; +} + +/* Text */ + +.ui.multiple.dropdown > .text { + position: static; + padding: 0; + max-width: 100%; + margin: 0.45238095em 0em 0.45238095em 0.64285714em; + line-height: 1.21428571em; +} + +.ui.multiple.dropdown > .label ~ input.search { + margin-left: 0.14285714em !important; +} + +.ui.multiple.dropdown > .label ~ .text { + display: none; +} + +/*----------------- + Multiple Search +-----------------*/ + +/* Prompt Text */ + +.ui.multiple.search.dropdown > .text { + display: inline-block; + position: absolute; + top: 0; + left: 0; + padding: inherit; + margin: 0.45238095em 0em 0.45238095em 0.64285714em; + line-height: 1.21428571em; +} + +.ui.multiple.search.dropdown > .label ~ .text { + display: none; +} + +/* Search */ + +.ui.multiple.search.dropdown > input.search { + position: static; + padding: 0; + max-width: 100%; + margin: 0.45238095em 0em 0.45238095em 0.64285714em; + width: 2.2em; + line-height: 1.21428571em; +} + +/*-------------- + Inline +---------------*/ + +.ui.inline.dropdown { + cursor: pointer; + display: inline-block; + color: inherit; +} + +.ui.inline.dropdown .dropdown.icon { + margin: 0em 0.21428571em 0em 0.21428571em; + vertical-align: baseline; +} + +.ui.inline.dropdown > .text { + font-weight: bold; +} + +.ui.inline.dropdown .menu { + cursor: auto; + margin-top: 0.21428571em; + border-radius: 0.28571429rem; +} + +/******************************* + States +*******************************/ + +/*-------------------- + Active +----------------------*/ + +/* Menu Item Active */ + +.ui.dropdown .menu .active.item { + background: transparent; + font-weight: bold; + color: rgba(0, 0, 0, 0.95); + box-shadow: none; + z-index: 12; +} + +/*-------------------- + Hover +----------------------*/ + +/* Menu Item Hover */ + +.ui.dropdown .menu > .item:hover { + background: rgba(0, 0, 0, 0.05); + color: rgba(0, 0, 0, 0.95); + z-index: 13; +} + +/*-------------------- + Loading +---------------------*/ + +.ui.loading.dropdown > i.icon { + height: 1em !important; +} + +.ui.loading.selection.dropdown > i.icon { + padding: 1.5em 1.28571429em !important; +} + +.ui.loading.dropdown > i.icon:before { + position: absolute; + content: ''; + top: 50%; + left: 50%; + margin: -0.64285714em 0em 0em -0.64285714em; + width: 1.28571429em; + height: 1.28571429em; + border-radius: 500rem; + border: 0.2em solid rgba(0, 0, 0, 0.1); +} + +.ui.loading.dropdown > i.icon:after { + position: absolute; + content: ''; + top: 50%; + left: 50%; + box-shadow: 0px 0px 0px 1px transparent; + margin: -0.64285714em 0em 0em -0.64285714em; + width: 1.28571429em; + height: 1.28571429em; + -webkit-animation: dropdown-spin 0.6s linear; + animation: dropdown-spin 0.6s linear; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + border-radius: 500rem; + border-color: #767676 transparent transparent; + border-style: solid; + border-width: 0.2em; +} + +/* Coupling */ + +.ui.loading.dropdown.button > i.icon:before, +.ui.loading.dropdown.button > i.icon:after { + display: none; +} + +@-webkit-keyframes dropdown-spin { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } +} + +@keyframes dropdown-spin { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } +} + +/*-------------------- + Default Text +----------------------*/ + +.ui.dropdown:not(.button) > .default.text, +.ui.default.dropdown:not(.button) > .text { + color: rgba(191, 191, 191, 0.87); +} + +.ui.dropdown:not(.button) > input:focus ~ .default.text, +.ui.default.dropdown:not(.button) > input:focus ~ .text { + color: rgba(115, 115, 115, 0.87); +} + +/*-------------------- + Loading +----------------------*/ + +.ui.loading.dropdown > .text { + transition: none; +} + +/* Used To Check Position */ + +.ui.dropdown .loading.menu { + display: block; + visibility: hidden; + z-index: -1; +} + +.ui.dropdown > .loading.menu { + left: 0px !important; + right: auto !important; +} + +.ui.dropdown > .menu .loading.menu { + left: 100% !important; + right: auto !important; +} + +/*-------------------- + Keyboard Select +----------------------*/ + +/* Selected Item */ + +.ui.dropdown.selected, +.ui.dropdown .menu .selected.item { + background: rgba(0, 0, 0, 0.03); + color: rgba(0, 0, 0, 0.95); +} + +/*-------------------- + Search Filtered +----------------------*/ + +/* Filtered Item */ + +.ui.dropdown > .filtered.text { + visibility: hidden; +} + +.ui.dropdown .filtered.item { + display: none !important; +} + +/*-------------------- + Error +----------------------*/ + +.ui.dropdown.error, +.ui.dropdown.error > .text, +.ui.dropdown.error > .default.text { + color: #9F3A38; +} + +.ui.selection.dropdown.error { + background: #FFF6F6; + border-color: #E0B4B4; +} + +.ui.selection.dropdown.error:hover { + border-color: #E0B4B4; +} + +.ui.dropdown.error > .menu, +.ui.dropdown.error > .menu .menu { + border-color: #E0B4B4; +} + +.ui.dropdown.error > .menu > .item { + color: #9F3A38; +} + +.ui.multiple.selection.error.dropdown > .label { + border-color: #E0B4B4; +} + +/* Item Hover */ + +.ui.dropdown.error > .menu > .item:hover { + background-color: #FFF2F2; +} + +/* Item Active */ + +.ui.dropdown.error > .menu .active.item { + background-color: #FDCFCF; +} + +/*-------------------- + Clear +----------------------*/ + +.ui.dropdown > .clear.dropdown.icon { + opacity: 0.8; + transition: opacity 0.1s ease; +} + +.ui.dropdown > .clear.dropdown.icon:hover { + opacity: 1; +} + +/*-------------------- + Disabled +----------------------*/ + +/* Disabled */ + +.ui.disabled.dropdown, +.ui.dropdown .menu > .disabled.item { + cursor: default; + pointer-events: none; + opacity: 0.45; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Direction +---------------*/ + +/* Flyout Direction */ + +.ui.dropdown .menu { + left: 0px; +} + +/* Default Side (Right) */ + +.ui.dropdown .right.menu > .menu, +.ui.dropdown .menu .right.menu { + left: 100% !important; + right: auto !important; + border-radius: 0.28571429rem !important; +} + +/* Leftward Opening Menu */ + +.ui.dropdown > .left.menu { + left: auto !important; + right: 0px !important; +} + +.ui.dropdown > .left.menu .menu, +.ui.dropdown .menu .left.menu { + left: auto; + right: 100%; + margin: 0em -0.5em 0em 0em !important; + border-radius: 0.28571429rem !important; +} + +.ui.dropdown .item .left.dropdown.icon, +.ui.dropdown .left.menu .item .dropdown.icon { + width: auto; + float: left; + margin: 0em 0em 0em 0em; +} + +.ui.dropdown .item .left.dropdown.icon, +.ui.dropdown .left.menu .item .dropdown.icon { + width: auto; + float: left; + margin: 0em 0em 0em 0em; +} + +.ui.dropdown .item .left.dropdown.icon + .text, +.ui.dropdown .left.menu .item .dropdown.icon + .text { + margin-left: 1em; + margin-right: 0em; +} + +/*-------------- + Upward +---------------*/ + +/* Upward Main Menu */ + +.ui.upward.dropdown > .menu { + top: auto; + bottom: 100%; + box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08); + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +/* Upward Sub Menu */ + +.ui.dropdown .upward.menu { + top: auto !important; + bottom: 0 !important; +} + +/* Active Upward */ + +.ui.simple.upward.active.dropdown, +.ui.simple.upward.dropdown:hover { + border-radius: 0.28571429rem 0.28571429rem 0em 0em !important; +} + +.ui.upward.dropdown.button:not(.pointing):not(.floating).active { + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +/* Selection */ + +.ui.upward.selection.dropdown .menu { + border-top-width: 1px !important; + border-bottom-width: 0px !important; + box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08); +} + +.ui.upward.selection.dropdown:hover { + box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.05); +} + +/* Active Upward */ + +.ui.active.upward.selection.dropdown { + border-radius: 0em 0em 0.28571429rem 0.28571429rem !important; +} + +/* Visible Upward */ + +.ui.upward.selection.dropdown.visible { + box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08); + border-radius: 0em 0em 0.28571429rem 0.28571429rem !important; +} + +/* Visible Hover Upward */ + +.ui.upward.active.selection.dropdown:hover { + box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.05); +} + +.ui.upward.active.selection.dropdown:hover .menu { + box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08); +} + +/*-------------- + Simple +---------------*/ + +/* Selection Menu */ + +.ui.scrolling.dropdown .menu, +.ui.dropdown .scrolling.menu { + overflow-x: hidden; + overflow-y: auto; +} + +.ui.scrolling.dropdown .menu { + overflow-x: hidden; + overflow-y: auto; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-overflow-scrolling: touch; + min-width: 100% !important; + width: auto !important; +} + +.ui.dropdown .scrolling.menu { + position: static; + overflow-y: auto; + border: none; + box-shadow: none !important; + border-radius: 0 !important; + margin: 0 !important; + min-width: 100% !important; + width: auto !important; + border-top: 1px solid rgba(34, 36, 38, 0.15); +} + +.ui.scrolling.dropdown .menu .item.item.item, +.ui.dropdown .scrolling.menu > .item.item.item { + border-top: none; +} + +.ui.scrolling.dropdown .menu .item:first-child, +.ui.dropdown .scrolling.menu .item:first-child { + border-top: none; +} + +.ui.dropdown > .animating.menu .scrolling.menu, +.ui.dropdown > .visible.menu .scrolling.menu { + display: block; +} + +/* Scrollbar in IE */ + +@media all and (-ms-high-contrast: none) { + .ui.scrolling.dropdown .menu, + .ui.dropdown .scrolling.menu { + min-width: calc(100% - 17px); + } +} + +@media only screen and (max-width: 767px) { + .ui.scrolling.dropdown .menu, + .ui.dropdown .scrolling.menu { + max-height: 10.28571429rem; + } +} + +@media only screen and (min-width: 768px) { + .ui.scrolling.dropdown .menu, + .ui.dropdown .scrolling.menu { + max-height: 15.42857143rem; + } +} + +@media only screen and (min-width: 992px) { + .ui.scrolling.dropdown .menu, + .ui.dropdown .scrolling.menu { + max-height: 20.57142857rem; + } +} + +@media only screen and (min-width: 1920px) { + .ui.scrolling.dropdown .menu, + .ui.dropdown .scrolling.menu { + max-height: 20.57142857rem; + } +} + +/*-------------- + Simple +---------------*/ + +/* Displays without javascript */ + +.ui.simple.dropdown .menu:before, +.ui.simple.dropdown .menu:after { + display: none; +} + +.ui.simple.dropdown .menu { + position: absolute; + display: block; + overflow: hidden; + top: -9999px !important; + opacity: 0; + width: 0; + height: 0; + transition: opacity 0.1s ease; +} + +.ui.simple.active.dropdown, +.ui.simple.dropdown:hover { + border-bottom-left-radius: 0em !important; + border-bottom-right-radius: 0em !important; +} + +.ui.simple.active.dropdown > .menu, +.ui.simple.dropdown:hover > .menu { + overflow: visible; + width: auto; + height: auto; + top: 100% !important; + opacity: 1; +} + +.ui.simple.dropdown > .menu > .item:active > .menu, +.ui.simple.dropdown:hover > .menu > .item:hover > .menu { + overflow: visible; + width: auto; + height: auto; + top: 0% !important; + left: 100% !important; + opacity: 1; +} + +.ui.simple.disabled.dropdown:hover .menu { + display: none; + height: 0px; + width: 0px; + overflow: hidden; +} + +/* Visible */ + +.ui.simple.visible.dropdown > .menu { + display: block; +} + +/*-------------- + Fluid +---------------*/ + +.ui.fluid.dropdown { + display: block; + width: 100%; + min-width: 0em; +} + +.ui.fluid.dropdown > .dropdown.icon { + float: right; +} + +/*-------------- + Floating +---------------*/ + +.ui.floating.dropdown .menu { + left: 0; + right: auto; + box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15) !important; + border-radius: 0.28571429rem !important; +} + +.ui.floating.dropdown > .menu { + margin-top: 0.5em !important; + border-radius: 0.28571429rem !important; +} + +/*-------------- + Pointing +---------------*/ + +.ui.pointing.dropdown > .menu { + top: 100%; + margin-top: 0.78571429rem; + border-radius: 0.28571429rem; +} + +.ui.pointing.dropdown > .menu:after { + display: block; + position: absolute; + pointer-events: none; + content: ''; + visibility: visible; + transform: rotate(45deg); + width: 0.5em; + height: 0.5em; + box-shadow: -1px -1px 0px 0px rgba(34, 36, 38, 0.15); + background: #FFFFFF; + z-index: 2; +} + +.ui.pointing.dropdown > .menu:after { + top: -0.25em; + left: 50%; + margin: 0em 0em 0em -0.25em; +} + +/* Top Left Pointing */ + +.ui.top.left.pointing.dropdown > .menu { + top: 100%; + bottom: auto; + left: 0%; + right: auto; + margin: 1em 0em 0em; +} + +.ui.top.left.pointing.dropdown > .menu { + top: 100%; + bottom: auto; + left: 0%; + right: auto; + margin: 1em 0em 0em; +} + +.ui.top.left.pointing.dropdown > .menu:after { + top: -0.25em; + left: 1em; + right: auto; + margin: 0em; + transform: rotate(45deg); +} + +/* Top Right Pointing */ + +.ui.top.right.pointing.dropdown > .menu { + top: 100%; + bottom: auto; + right: 0%; + left: auto; + margin: 1em 0em 0em; +} + +.ui.top.pointing.dropdown > .left.menu:after, +.ui.top.right.pointing.dropdown > .menu:after { + top: -0.25em; + left: auto !important; + right: 1em !important; + margin: 0em; + transform: rotate(45deg); +} + +/* Left Pointing */ + +.ui.left.pointing.dropdown > .menu { + top: 0%; + left: 100%; + right: auto; + margin: 0em 0em 0em 1em; +} + +.ui.left.pointing.dropdown > .menu:after { + top: 1em; + left: -0.25em; + margin: 0em 0em 0em 0em; + transform: rotate(-45deg); +} + +.ui.left:not(.top):not(.bottom).pointing.dropdown > .left.menu { + left: auto !important; + right: 100% !important; + margin: 0em 1em 0em 0em; +} + +.ui.left:not(.top):not(.bottom).pointing.dropdown > .left.menu:after { + top: 1em; + left: auto; + right: -0.25em; + margin: 0em 0em 0em 0em; + transform: rotate(135deg); +} + +/* Right Pointing */ + +.ui.right.pointing.dropdown > .menu { + top: 0%; + left: auto; + right: 100%; + margin: 0em 1em 0em 0em; +} + +.ui.right.pointing.dropdown > .menu:after { + top: 1em; + left: auto; + right: -0.25em; + margin: 0em 0em 0em 0em; + transform: rotate(135deg); +} + +/* Bottom Pointing */ + +.ui.bottom.pointing.dropdown > .menu { + top: auto; + bottom: 100%; + left: 0%; + right: auto; + margin: 0em 0em 1em; +} + +.ui.bottom.pointing.dropdown > .menu:after { + top: auto; + bottom: -0.25em; + right: auto; + margin: 0em; + transform: rotate(-135deg); +} + +/* Reverse Sub-Menu Direction */ + +.ui.bottom.pointing.dropdown > .menu .menu { + top: auto !important; + bottom: 0px !important; +} + +/* Bottom Left */ + +.ui.bottom.left.pointing.dropdown > .menu { + left: 0%; + right: auto; +} + +.ui.bottom.left.pointing.dropdown > .menu:after { + left: 1em; + right: auto; +} + +/* Bottom Right */ + +.ui.bottom.right.pointing.dropdown > .menu { + right: 0%; + left: auto; +} + +.ui.bottom.right.pointing.dropdown > .menu:after { + left: auto; + right: 1em; +} + +/* Upward pointing */ + +.ui.pointing.upward.dropdown .menu, +.ui.top.pointing.upward.dropdown .menu { + top: auto !important; + bottom: 100% !important; + margin: 0em 0em 0.78571429rem; + border-radius: 0.28571429rem; +} + +.ui.pointing.upward.dropdown .menu:after, +.ui.top.pointing.upward.dropdown .menu:after { + top: 100% !important; + bottom: auto !important; + box-shadow: 1px 1px 0px 0px rgba(34, 36, 38, 0.15); + margin: -0.25em 0em 0em; +} + +/* Right Pointing Upward */ + +.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu { + top: auto !important; + bottom: 0 !important; + margin: 0em 1em 0em 0em; +} + +.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after { + top: auto !important; + bottom: 0 !important; + margin: 0em 0em 1em 0em; + box-shadow: -1px -1px 0px 0px rgba(34, 36, 38, 0.15); +} + +/* Left Pointing Upward */ + +.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu { + top: auto !important; + bottom: 0 !important; + margin: 0em 0em 0em 1em; +} + +.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after { + top: auto !important; + bottom: 0 !important; + margin: 0em 0em 1em 0em; + box-shadow: -1px -1px 0px 0px rgba(34, 36, 38, 0.15); +} + +/******************************* + Theme Overrides +*******************************/ + +/* Dropdown Carets */ + +@font-face { + font-family: 'Dropdown'; + src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAVgAA8AAAAACFAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABWAAAABwAAAAchGgaq0dERUYAAAF0AAAAHAAAAB4AJwAPT1MvMgAAAZAAAABDAAAAVnW4TJdjbWFwAAAB1AAAAEsAAAFS8CcaqmN2dCAAAAIgAAAABAAAAAQAEQFEZ2FzcAAAAiQAAAAIAAAACP//AANnbHlmAAACLAAAAQoAAAGkrRHP9WhlYWQAAAM4AAAAMAAAADYPK8YyaGhlYQAAA2gAAAAdAAAAJANCAb1obXR4AAADiAAAACIAAAAiCBkAOGxvY2EAAAOsAAAAFAAAABQBnAIybWF4cAAAA8AAAAAfAAAAIAEVAF5uYW1lAAAD4AAAATAAAAKMFGlj5HBvc3QAAAUQAAAARgAAAHJoedjqd2ViZgAABVgAAAAGAAAABrO7W5UAAAABAAAAANXulPUAAAAA1r4hgAAAAADXu2Q1eNpjYGRgYOABYjEgZmJgBEIOIGYB8xgAA/YAN3jaY2BktGOcwMDKwMI4jTGNgYHBHUp/ZZBkaGFgYGJgZWbACgLSXFMYHFT/fLjFeOD/AQY9xjMMbkBhRpAcAN48DQYAeNpjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETAwMqn8+8H649f8/lHX9//9b7Pzf+fWgusCAkY0BzmUE6gHpQwGMDMMeAACbxg7SAAARAUQAAAAB//8AAnjadZBPSsNAGMXfS+yMqYgOhpSuSlKadmUhiVEhEMQzFF22m17BbbvzCh5BXCUn6EG8gjeQ4DepwYo4i+/ffL95j4EDA+CFC7jQuKyIeVHrI3wkleq9F7XrSInKteOeHdda8bOoaeepSc00NWPz/LRec9G8GabyGtEdF7h19z033GAMTK7zbM42xNEZpzYof0RtQ5CUHAQJ73OtVyutc+3b7Ou//b8XNlsPx3jgjUifABdhEohKJJL5iM5p39uqc7X1+sRQSqmGrUVhlsJ4lpmEUVwyT8SUYtg0P9DyNzPADDs+tjrGV6KRCRfsui3eHcL4/p8ZXvfMlcnEU+CLv7hDykOP+AKTPTxbAAB42mNgZGBgAGKuf5KP4vltvjLIMzGAwLV9ig0g+vruFFMQzdjACOJzMIClARh0CTJ42mNgZGBgPPD/AJD8wgAEjA0MjAyogAMAbOQEAQAAAAC7ABEAAAAAAKoAAAH0AAABgAAAAUAACAFAAAgAwAAXAAAAAAAAACoAKgAqADIAbACGAKAAugDSeNpjYGRgYOBkUGFgYgABEMkFhAwM/xn0QAIADdUBdAB42qWQvUoDQRSFv3GjaISUQaymSmGxJoGAsRC0iPYLsU50Y6IxrvlRtPCJJKUPIBb+PIHv4EN4djKuKAqCDHfmu+feOdwZoMCUAJNbAlYUMzaUlM14jjxbngOq7HnOia89z1Pk1vMCa9x7ztPkzfMyJbPj+ZGi6Xp+omxuPD+zaD7meaFg7mb8GrBqHmhwxoAxlm0uiRkpP9X5m26pKRoMxTGR1D49Dv/Yb/91o6l8qL6eu5n2hZQzn68utR9m3FU2cB4t9cdSLG2utI+44Eh/P9bqKO+oJ/WxmXssj77YkrjasZQD6SFddythk3Wtzrf+UF2p076Udla1VNzsERP3kkjVRKel7mp1udXYcHtZSlV7RfmJe1GiFWveluaeKD5/MuJcSk8Tpm/vvwPIbmJleNpjYGKAAFYG7ICTgYGRiZGZkYWRlZGNkZ2Rg5GTLT2nsiDDEEIZsZfmZRqZujmDaDcDAxcI7WIOpS2gtCWUdgQAZkcSmQAAAAFblbO6AAA=) format('woff'); + font-weight: normal; + font-style: normal; +} + +.ui.dropdown > .dropdown.icon { + font-family: 'Dropdown'; + line-height: 1; + height: 1em; + width: 1.23em; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + font-weight: normal; + font-style: normal; + text-align: center; +} + +.ui.dropdown > .dropdown.icon { + width: auto; +} + +.ui.dropdown > .dropdown.icon:before { + content: '\f0d7'; +} + +/* Sub Menu */ + +.ui.dropdown .menu .item .dropdown.icon:before { + content: '\f0da' ; +} + +.ui.dropdown .item .left.dropdown.icon:before, +.ui.dropdown .left.menu .item .dropdown.icon:before { + content: "\f0d9" ; +} + +/* Vertical Menu Dropdown */ + +.ui.vertical.menu .dropdown.item > .dropdown.icon:before { + content: "\f0da" ; +} + +.ui.dropdown > .clear.icon:before { + content: "\f00d"; +} + +/* Icons for Reference (Subsetted in 2.4.0) + .dropdown.down:before { content: "\f0d7"; } + .dropdown.up:before { content: "\f0d8"; } + .dropdown.left:before { content: "\f0d9"; } + .dropdown.right:before { content: "\f0da"; } + .dropdown.close:before { content: "\f00d"; } +*/ + +/******************************* + User Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Video + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Types +*******************************/ + +.ui.embed { + position: relative; + max-width: 100%; + height: 0px; + overflow: hidden; + background: #DCDDDE; + padding-bottom: 56.25%; +} + +/*----------------- + Embedded Content +------------------*/ + +.ui.embed iframe, +.ui.embed embed, +.ui.embed object { + position: absolute; + border: none; + width: 100%; + height: 100%; + top: 0px; + left: 0px; + margin: 0em; + padding: 0em; +} + +/*----------------- + Embed +------------------*/ + +.ui.embed > .embed { + display: none; +} + +/*-------------- + Placeholder +---------------*/ + +.ui.embed > .placeholder { + position: absolute; + cursor: pointer; + top: 0px; + left: 0px; + display: block; + width: 100%; + height: 100%; + background-color: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3)); +} + +/*-------------- + Icon +---------------*/ + +.ui.embed > .icon { + cursor: pointer; + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 100%; + z-index: 2; +} + +.ui.embed > .icon:after { + position: absolute; + top: 0%; + left: 0%; + width: 100%; + height: 100%; + z-index: 3; + content: ''; + background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3)); + opacity: 0.5; + transition: opacity 0.5s ease; +} + +.ui.embed > .icon:before { + position: absolute; + top: 50%; + left: 50%; + z-index: 4; + transform: translateX(-50%) translateY(-50%); + color: #FFFFFF; + font-size: 6rem; + text-shadow: 0px 2px 10px rgba(34, 36, 38, 0.2); + transition: opacity 0.5s ease, color 0.5s ease; + z-index: 10; +} + +/******************************* + States +*******************************/ + +/*-------------- + Hover +---------------*/ + +.ui.embed .icon:hover:after { + background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3)); + opacity: 1; +} + +.ui.embed .icon:hover:before { + color: #FFFFFF; +} + +/*-------------- + Active +---------------*/ + +.ui.active.embed > .icon, +.ui.active.embed > .placeholder { + display: none; +} + +.ui.active.embed > .embed { + display: block; +} + +/******************************* + Video Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ + +/******************************* + Variations +*******************************/ + +.ui.square.embed { + padding-bottom: 100%; +} + +.ui[class*="4:3"].embed { + padding-bottom: 75%; +} + +.ui[class*="16:9"].embed { + padding-bottom: 56.25%; +} + +.ui[class*="21:9"].embed { + padding-bottom: 42.85714286%; +} +/*! + * # Semantic UI 2.5.0 - Modal + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Modal +*******************************/ + +.ui.modal { + position: absolute; + display: none; + z-index: 1001; + text-align: left; + background: #FFFFFF; + border: none; + box-shadow: 1px 3px 3px 0px rgba(0, 0, 0, 0.2), 1px 3px 15px 2px rgba(0, 0, 0, 0.2); + transform-origin: 50% 25%; + flex: 0 0 auto; + border-radius: 0.28571429rem; + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + will-change: top, left, margin, transform, opacity; +} + +.ui.modal > :first-child:not(.icon), +.ui.modal > .icon:first-child + * { + border-top-left-radius: 0.28571429rem; + border-top-right-radius: 0.28571429rem; +} + +.ui.modal > :last-child { + border-bottom-left-radius: 0.28571429rem; + border-bottom-right-radius: 0.28571429rem; +} + +/******************************* + Content +*******************************/ + +/*-------------- + Close +---------------*/ + +.ui.modal > .close { + cursor: pointer; + position: absolute; + top: -2.5rem; + right: -2.5rem; + z-index: 1; + opacity: 0.8; + font-size: 1.25em; + color: #FFFFFF; + width: 2.25rem; + height: 2.25rem; + padding: 0.625rem 0rem 0rem 0rem; +} + +.ui.modal > .close:hover { + opacity: 1; +} + +/*-------------- + Header +---------------*/ + +.ui.modal > .header { + display: block; + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + background: #FFFFFF; + margin: 0em; + padding: 1.25rem 1.5rem; + box-shadow: none; + color: rgba(0, 0, 0, 0.85); + border-bottom: 1px solid rgba(34, 36, 38, 0.15); +} + +.ui.modal > .header:not(.ui) { + font-size: 1.42857143rem; + line-height: 1.28571429em; + font-weight: bold; +} + +/*-------------- + Content +---------------*/ + +.ui.modal > .content { + display: block; + width: 100%; + font-size: 1em; + line-height: 1.4; + padding: 1.5rem; + background: #FFFFFF; +} + +.ui.modal > .image.content { + display: flex; + flex-direction: row; +} + +/* Image */ + +.ui.modal > .content > .image { + display: block; + flex: 0 1 auto; + width: ''; + align-self: top; +} + +.ui.modal > [class*="top aligned"] { + align-self: top; +} + +.ui.modal > [class*="middle aligned"] { + align-self: middle; +} + +.ui.modal > [class*="stretched"] { + align-self: stretch; +} + +/* Description */ + +.ui.modal > .content > .description { + display: block; + flex: 1 0 auto; + min-width: 0px; + align-self: top; +} + +.ui.modal > .content > .icon + .description, +.ui.modal > .content > .image + .description { + flex: 0 1 auto; + min-width: ''; + width: auto; + padding-left: 2em; +} + +/*rtl:ignore*/ + +.ui.modal > .content > .image > i.icon { + margin: 0em; + opacity: 1; + width: auto; + line-height: 1; + font-size: 8rem; +} + +/*-------------- + Actions +---------------*/ + +.ui.modal > .actions { + background: #F9FAFB; + padding: 1rem 1rem; + border-top: 1px solid rgba(34, 36, 38, 0.15); + text-align: right; +} + +.ui.modal .actions > .button { + margin-left: 0.75em; +} + +/*------------------- + Responsive +--------------------*/ + +/* Modal Width */ + +@media only screen and (max-width: 767px) { + .ui.modal { + width: 95%; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 768px) { + .ui.modal { + width: 88%; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 992px) { + .ui.modal { + width: 850px; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 1200px) { + .ui.modal { + width: 900px; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 1920px) { + .ui.modal { + width: 950px; + margin: 0em 0em 0em 0em; + } +} + +/* Tablet and Mobile */ + +@media only screen and (max-width: 991px) { + .ui.modal > .header { + padding-right: 2.25rem; + } + + .ui.modal > .close { + top: 1.0535rem; + right: 1rem; + color: rgba(0, 0, 0, 0.87); + } +} + +/* Mobile */ + +@media only screen and (max-width: 767px) { + .ui.modal > .header { + padding: 0.75rem 1rem !important; + padding-right: 2.25rem !important; + } + + .ui.modal > .content { + display: block; + padding: 1rem !important; + } + + .ui.modal > .close { + top: 0.5rem !important; + right: 0.5rem !important; + } + + /*rtl:ignore*/ + + .ui.modal .image.content { + flex-direction: column; + } + + .ui.modal .content > .image { + display: block; + max-width: 100%; + margin: 0em auto !important; + text-align: center; + padding: 0rem 0rem 1rem !important; + } + + .ui.modal > .content > .image > i.icon { + font-size: 5rem; + text-align: center; + } + + /*rtl:ignore*/ + + .ui.modal .content > .description { + display: block; + width: 100% !important; + margin: 0em !important; + padding: 1rem 0rem !important; + box-shadow: none; + } + + /* Let Buttons Stack */ + + .ui.modal > .actions { + padding: 1rem 1rem 0rem !important; + } + + .ui.modal .actions > .buttons, + .ui.modal .actions > .button { + margin-bottom: 1rem; + } +} + +/*-------------- + Coupling +---------------*/ + +.ui.inverted.dimmer > .ui.modal { + box-shadow: 1px 3px 10px 2px rgba(0, 0, 0, 0.2); +} + +/******************************* + Types +*******************************/ + +.ui.basic.modal { + background-color: transparent; + border: none; + border-radius: 0em; + box-shadow: none !important; + color: #FFFFFF; +} + +.ui.basic.modal > .header, +.ui.basic.modal > .content, +.ui.basic.modal > .actions { + background-color: transparent; +} + +.ui.basic.modal > .header { + color: #FFFFFF; +} + +.ui.basic.modal > .close { + top: 1rem; + right: 1.5rem; +} + +.ui.inverted.dimmer > .basic.modal { + color: rgba(0, 0, 0, 0.87); +} + +.ui.inverted.dimmer > .ui.basic.modal > .header { + color: rgba(0, 0, 0, 0.85); +} + +/* Resort to margin positioning if legacy */ + +.ui.legacy.modal, +.ui.legacy.page.dimmer > .ui.modal { + top: 50%; + left: 50%; +} + +.ui.legacy.page.dimmer > .ui.scrolling.modal, +.ui.page.dimmer > .ui.scrolling.legacy.modal, +.ui.top.aligned.legacy.page.dimmer > .ui.modal, +.ui.top.aligned.dimmer > .ui.legacy.modal { + top: auto; +} + +/* Tablet and Mobile */ + +@media only screen and (max-width: 991px) { + .ui.basic.modal > .close { + color: #FFFFFF; + } +} + +/******************************* + States +*******************************/ + +.ui.loading.modal { + display: block; + visibility: hidden; + z-index: -1; +} + +.ui.active.modal { + display: block; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Top Aligned +---------------*/ + +/* Top Aligned Modal */ + +.modals.dimmer[class*="top aligned"] .modal { + margin: 5vh auto; +} + +@media only screen and (max-width: 767px) { + .modals.dimmer[class*="top aligned"] .modal { + margin: 1rem auto; + } +} + +/* Legacy Top Aligned */ + +.legacy.modals.dimmer[class*="top aligned"] { + padding-top: 5vh; +} + +@media only screen and (max-width: 767px) { + .legacy.modals.dimmer[class*="top aligned"] { + padding-top: 1rem; + } +} + +/*-------------- + Scrolling +---------------*/ + +/* Scrolling Dimmer */ + +.scrolling.dimmable.dimmed { + overflow: hidden; +} + +.scrolling.dimmable > .dimmer { + justify-content: flex-start; +} + +.scrolling.dimmable.dimmed > .dimmer { + overflow: auto; + -webkit-overflow-scrolling: touch; +} + +.scrolling.dimmable > .dimmer { + position: fixed; +} + +.modals.dimmer .ui.scrolling.modal { + margin: 1rem auto; +} + +/* Undetached Scrolling */ + +.scrolling.undetached.dimmable.dimmed { + overflow: auto; + -webkit-overflow-scrolling: touch; +} + +.scrolling.undetached.dimmable.dimmed > .dimmer { + overflow: hidden; +} + +.scrolling.undetached.dimmable .ui.scrolling.modal { + position: absolute; + left: 50%; + margin-top: 1rem !important; +} + +/* Scrolling Content */ + +.ui.modal .scrolling.content { + max-height: calc(80vh - 10em); + overflow: auto; +} + +/*-------------- + Full Screen +---------------*/ + +.ui.fullscreen.modal { + width: 95% !important; + margin: 1em auto; +} + +.ui.fullscreen.modal > .header { + padding-right: 2.25rem; +} + +.ui.fullscreen.modal > .close { + top: 1.0535rem; + right: 1rem; + color: rgba(0, 0, 0, 0.87); +} + +/*-------------- + Size +---------------*/ + +.ui.modal { + font-size: 1rem; +} + +/* Mini */ + +.ui.mini.modal > .header:not(.ui) { + font-size: 1.3em; +} + +/* Mini Modal Width */ + +@media only screen and (max-width: 767px) { + .ui.mini.modal { + width: 95%; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 768px) { + .ui.mini.modal { + width: 35.2%; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 992px) { + .ui.mini.modal { + width: 340px; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 1200px) { + .ui.mini.modal { + width: 360px; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 1920px) { + .ui.mini.modal { + width: 380px; + margin: 0em 0em 0em 0em; + } +} + +/* mini */ + +.ui.small.modal > .header:not(.ui) { + font-size: 1.3em; +} + +/* Tiny Modal Width */ + +@media only screen and (max-width: 767px) { + .ui.tiny.modal { + width: 95%; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 768px) { + .ui.tiny.modal { + width: 52.8%; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 992px) { + .ui.tiny.modal { + width: 510px; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 1200px) { + .ui.tiny.modal { + width: 540px; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 1920px) { + .ui.tiny.modal { + width: 570px; + margin: 0em 0em 0em 0em; + } +} + +/* Small */ + +.ui.small.modal > .header:not(.ui) { + font-size: 1.3em; +} + +/* Small Modal Width */ + +@media only screen and (max-width: 767px) { + .ui.small.modal { + width: 95%; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 768px) { + .ui.small.modal { + width: 70.4%; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 992px) { + .ui.small.modal { + width: 680px; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 1200px) { + .ui.small.modal { + width: 720px; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 1920px) { + .ui.small.modal { + width: 760px; + margin: 0em 0em 0em 0em; + } +} + +/* Large Modal Width */ + +.ui.large.modal > .header { + font-size: 1.6em; +} + +@media only screen and (max-width: 767px) { + .ui.large.modal { + width: 95%; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 768px) { + .ui.large.modal { + width: 88%; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 992px) { + .ui.large.modal { + width: 1020px; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 1200px) { + .ui.large.modal { + width: 1080px; + margin: 0em 0em 0em 0em; + } +} + +@media only screen and (min-width: 1920px) { + .ui.large.modal { + width: 1140px; + margin: 0em 0em 0em 0em; + } +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Nag + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Nag +*******************************/ + +.ui.nag { + display: none; + opacity: 0.95; + position: relative; + top: 0em; + left: 0px; + z-index: 999; + min-height: 0em; + width: 100%; + margin: 0em; + padding: 0.75em 1em; + background: #555555; + box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2); + font-size: 1rem; + text-align: center; + color: rgba(0, 0, 0, 0.87); + border-radius: 0em 0em 0.28571429rem 0.28571429rem; + transition: 0.2s background ease; +} + +a.ui.nag { + cursor: pointer; +} + +.ui.nag > .title { + display: inline-block; + margin: 0em 0.5em; + color: #FFFFFF; +} + +.ui.nag > .close.icon { + cursor: pointer; + opacity: 0.4; + position: absolute; + top: 50%; + right: 1em; + font-size: 1em; + margin: -0.5em 0em 0em; + color: #FFFFFF; + transition: opacity 0.2s ease; +} + +/******************************* + States +*******************************/ + +/* Hover */ + +.ui.nag:hover { + background: #555555; + opacity: 1; +} + +.ui.nag .close:hover { + opacity: 1; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Static +---------------*/ + +.ui.overlay.nag { + position: absolute; + display: block; +} + +/*-------------- + Fixed +---------------*/ + +.ui.fixed.nag { + position: fixed; +} + +/*-------------- + Bottom +---------------*/ + +.ui.bottom.nags, +.ui.bottom.nag { + border-radius: 0.28571429rem 0.28571429rem 0em 0em; + top: auto; + bottom: 0em; +} + +/*-------------- + White +---------------*/ + +.ui.inverted.nags .nag, +.ui.inverted.nag { + background-color: #F3F4F5; + color: rgba(0, 0, 0, 0.85); +} + +.ui.inverted.nags .nag .close, +.ui.inverted.nags .nag .title, +.ui.inverted.nag .close, +.ui.inverted.nag .title { + color: rgba(0, 0, 0, 0.4); +} + +/******************************* + Groups +*******************************/ + +.ui.nags .nag { + border-radius: 0em !important; +} + +.ui.nags .nag:last-child { + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +.ui.bottom.nags .nag:last-child { + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + User Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Popup + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Popup +*******************************/ + +.ui.popup { + display: none; + position: absolute; + top: 0px; + right: 0px; + /* Fixes content being squished when inline (moz only) */ + min-width: -webkit-min-content; + min-width: -moz-min-content; + min-width: min-content; + z-index: 1900; + border: 1px solid #D4D4D5; + line-height: 1.4285em; + max-width: 250px; + background: #FFFFFF; + padding: 0.833em 1em; + font-weight: normal; + font-style: normal; + color: rgba(0, 0, 0, 0.87); + border-radius: 0.28571429rem; + box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15); +} + +.ui.popup > .header { + padding: 0em; + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-size: 1.14285714em; + line-height: 1.2; + font-weight: bold; +} + +.ui.popup > .header + .content { + padding-top: 0.5em; +} + +.ui.popup:before { + position: absolute; + content: ''; + width: 0.71428571em; + height: 0.71428571em; + background: #FFFFFF; + transform: rotate(45deg); + z-index: 2; + box-shadow: 1px 1px 0px 0px #bababc; +} + +/******************************* + Types +*******************************/ + +/*-------------- + Tooltip +---------------*/ + +/* Content */ + +[data-tooltip] { + position: relative; +} + +/* Arrow */ + +[data-tooltip]:before { + pointer-events: none; + position: absolute; + content: ''; + font-size: 1rem; + width: 0.71428571em; + height: 0.71428571em; + background: #FFFFFF; + transform: rotate(45deg); + z-index: 2; + box-shadow: 1px 1px 0px 0px #bababc; +} + +/* Popup */ + +[data-tooltip]:after { + pointer-events: none; + content: attr(data-tooltip); + position: absolute; + text-transform: none; + text-align: left; + white-space: nowrap; + font-size: 1rem; + border: 1px solid #D4D4D5; + line-height: 1.4285em; + max-width: none; + background: #FFFFFF; + padding: 0.833em 1em; + font-weight: normal; + font-style: normal; + color: rgba(0, 0, 0, 0.87); + border-radius: 0.28571429rem; + box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15); + z-index: 1; +} + +/* Default Position (Top Center) */ + +[data-tooltip]:not([data-position]):before { + top: auto; + right: auto; + bottom: 100%; + left: 50%; + background: #FFFFFF; + margin-left: -0.07142857rem; + margin-bottom: 0.14285714rem; +} + +[data-tooltip]:not([data-position]):after { + left: 50%; + transform: translateX(-50%); + bottom: 100%; + margin-bottom: 0.5em; +} + +/* Animation */ + +[data-tooltip]:before, +[data-tooltip]:after { + pointer-events: none; + visibility: hidden; +} + +[data-tooltip]:before { + opacity: 0; + transform: rotate(45deg) scale(0) !important; + transform-origin: center top; + transition: all 0.1s ease; +} + +[data-tooltip]:after { + opacity: 1; + transform-origin: center bottom; + transition: all 0.1s ease; +} + +[data-tooltip]:hover:before, +[data-tooltip]:hover:after { + visibility: visible; + pointer-events: auto; +} + +[data-tooltip]:hover:before { + transform: rotate(45deg) scale(1) !important; + opacity: 1; +} + +/* Animation Position */ + +[data-tooltip]:after, +[data-tooltip][data-position="top center"]:after, +[data-tooltip][data-position="bottom center"]:after { + transform: translateX(-50%) scale(0) !important; +} + +[data-tooltip]:hover:after, +[data-tooltip][data-position="bottom center"]:hover:after { + transform: translateX(-50%) scale(1) !important; +} + +[data-tooltip][data-position="left center"]:after, +[data-tooltip][data-position="right center"]:after { + transform: translateY(-50%) scale(0) !important; +} + +[data-tooltip][data-position="left center"]:hover:after, +[data-tooltip][data-position="right center"]:hover:after { + transform: translateY(-50%) scale(1) !important; +} + +[data-tooltip][data-position="top left"]:after, +[data-tooltip][data-position="top right"]:after, +[data-tooltip][data-position="bottom left"]:after, +[data-tooltip][data-position="bottom right"]:after { + transform: scale(0) !important; +} + +[data-tooltip][data-position="top left"]:hover:after, +[data-tooltip][data-position="top right"]:hover:after, +[data-tooltip][data-position="bottom left"]:hover:after, +[data-tooltip][data-position="bottom right"]:hover:after { + transform: scale(1) !important; +} + +/*-------------- + Inverted +---------------*/ + +/* Arrow */ + +[data-tooltip][data-inverted]:before { + box-shadow: none !important; +} + +/* Arrow Position */ + +[data-tooltip][data-inverted]:before { + background: #1B1C1D; +} + +/* Popup */ + +[data-tooltip][data-inverted]:after { + background: #1B1C1D; + color: #FFFFFF; + border: none; + box-shadow: none; +} + +[data-tooltip][data-inverted]:after .header { + background-color: none; + color: #FFFFFF; +} + +/*-------------- + Position +---------------*/ + +/* Top Center */ + +[data-position="top center"][data-tooltip]:after { + top: auto; + right: auto; + left: 50%; + bottom: 100%; + transform: translateX(-50%); + margin-bottom: 0.5em; +} + +[data-position="top center"][data-tooltip]:before { + top: auto; + right: auto; + bottom: 100%; + left: 50%; + background: #FFFFFF; + margin-left: -0.07142857rem; + margin-bottom: 0.14285714rem; +} + +/* Top Left */ + +[data-position="top left"][data-tooltip]:after { + top: auto; + right: auto; + left: 0; + bottom: 100%; + margin-bottom: 0.5em; +} + +[data-position="top left"][data-tooltip]:before { + top: auto; + right: auto; + bottom: 100%; + left: 1em; + margin-left: -0.07142857rem; + margin-bottom: 0.14285714rem; +} + +/* Top Right */ + +[data-position="top right"][data-tooltip]:after { + top: auto; + left: auto; + right: 0; + bottom: 100%; + margin-bottom: 0.5em; +} + +[data-position="top right"][data-tooltip]:before { + top: auto; + left: auto; + bottom: 100%; + right: 1em; + margin-left: -0.07142857rem; + margin-bottom: 0.14285714rem; +} + +/* Bottom Center */ + +[data-position="bottom center"][data-tooltip]:after { + bottom: auto; + right: auto; + left: 50%; + top: 100%; + transform: translateX(-50%); + margin-top: 0.5em; +} + +[data-position="bottom center"][data-tooltip]:before { + bottom: auto; + right: auto; + top: 100%; + left: 50%; + margin-left: -0.07142857rem; + margin-top: 0.14285714rem; +} + +/* Bottom Left */ + +[data-position="bottom left"][data-tooltip]:after { + left: 0; + top: 100%; + margin-top: 0.5em; +} + +[data-position="bottom left"][data-tooltip]:before { + bottom: auto; + right: auto; + top: 100%; + left: 1em; + margin-left: -0.07142857rem; + margin-top: 0.14285714rem; +} + +/* Bottom Right */ + +[data-position="bottom right"][data-tooltip]:after { + right: 0; + top: 100%; + margin-top: 0.5em; +} + +[data-position="bottom right"][data-tooltip]:before { + bottom: auto; + left: auto; + top: 100%; + right: 1em; + margin-left: -0.14285714rem; + margin-top: 0.07142857rem; +} + +/* Left Center */ + +[data-position="left center"][data-tooltip]:after { + right: 100%; + top: 50%; + margin-right: 0.5em; + transform: translateY(-50%); +} + +[data-position="left center"][data-tooltip]:before { + right: 100%; + top: 50%; + margin-top: -0.14285714rem; + margin-right: -0.07142857rem; +} + +/* Right Center */ + +[data-position="right center"][data-tooltip]:after { + left: 100%; + top: 50%; + margin-left: 0.5em; + transform: translateY(-50%); +} + +[data-position="right center"][data-tooltip]:before { + left: 100%; + top: 50%; + margin-top: -0.07142857rem; + margin-left: 0.14285714rem; +} + +/* Arrow */ + +[data-position~="bottom"][data-tooltip]:before { + background: #FFFFFF; + box-shadow: -1px -1px 0px 0px #bababc; +} + +[data-position="left center"][data-tooltip]:before { + background: #FFFFFF; + box-shadow: 1px -1px 0px 0px #bababc; +} + +[data-position="right center"][data-tooltip]:before { + background: #FFFFFF; + box-shadow: -1px 1px 0px 0px #bababc; +} + +[data-position~="top"][data-tooltip]:before { + background: #FFFFFF; +} + +/* Inverted Arrow Color */ + +[data-inverted][data-position~="bottom"][data-tooltip]:before { + background: #1B1C1D; + box-shadow: -1px -1px 0px 0px #bababc; +} + +[data-inverted][data-position="left center"][data-tooltip]:before { + background: #1B1C1D; + box-shadow: 1px -1px 0px 0px #bababc; +} + +[data-inverted][data-position="right center"][data-tooltip]:before { + background: #1B1C1D; + box-shadow: -1px 1px 0px 0px #bababc; +} + +[data-inverted][data-position~="top"][data-tooltip]:before { + background: #1B1C1D; +} + +[data-position~="bottom"][data-tooltip]:before { + transform-origin: center bottom; +} + +[data-position~="bottom"][data-tooltip]:after { + transform-origin: center top; +} + +[data-position="left center"][data-tooltip]:before { + transform-origin: top center; +} + +[data-position="left center"][data-tooltip]:after { + transform-origin: right center; +} + +[data-position="right center"][data-tooltip]:before { + transform-origin: right center; +} + +[data-position="right center"][data-tooltip]:after { + transform-origin: left center; +} + +/*-------------- + Spacing +---------------*/ + +.ui.popup { + margin: 0em; +} + +/* Extending from Top */ + +.ui.top.popup { + margin: 0em 0em 0.71428571em; +} + +.ui.top.left.popup { + transform-origin: left bottom; +} + +.ui.top.center.popup { + transform-origin: center bottom; +} + +.ui.top.right.popup { + transform-origin: right bottom; +} + +/* Extending from Vertical Center */ + +.ui.left.center.popup { + margin: 0em 0.71428571em 0em 0em; + transform-origin: right 50%; +} + +.ui.right.center.popup { + margin: 0em 0em 0em 0.71428571em; + transform-origin: left 50%; +} + +/* Extending from Bottom */ + +.ui.bottom.popup { + margin: 0.71428571em 0em 0em; +} + +.ui.bottom.left.popup { + transform-origin: left top; +} + +.ui.bottom.center.popup { + transform-origin: center top; +} + +.ui.bottom.right.popup { + transform-origin: right top; +} + +/*-------------- + Pointer +---------------*/ + +/*--- Below ---*/ + +.ui.bottom.center.popup:before { + margin-left: -0.30714286em; + top: -0.30714286em; + left: 50%; + right: auto; + bottom: auto; + box-shadow: -1px -1px 0px 0px #bababc; +} + +.ui.bottom.left.popup { + margin-left: 0em; +} + +/*rtl:rename*/ + +.ui.bottom.left.popup:before { + top: -0.30714286em; + left: 1em; + right: auto; + bottom: auto; + margin-left: 0em; + box-shadow: -1px -1px 0px 0px #bababc; +} + +.ui.bottom.right.popup { + margin-right: 0em; +} + +/*rtl:rename*/ + +.ui.bottom.right.popup:before { + top: -0.30714286em; + right: 1em; + bottom: auto; + left: auto; + margin-left: 0em; + box-shadow: -1px -1px 0px 0px #bababc; +} + +/*--- Above ---*/ + +.ui.top.center.popup:before { + top: auto; + right: auto; + bottom: -0.30714286em; + left: 50%; + margin-left: -0.30714286em; +} + +.ui.top.left.popup { + margin-left: 0em; +} + +/*rtl:rename*/ + +.ui.top.left.popup:before { + bottom: -0.30714286em; + left: 1em; + top: auto; + right: auto; + margin-left: 0em; +} + +.ui.top.right.popup { + margin-right: 0em; +} + +/*rtl:rename*/ + +.ui.top.right.popup:before { + bottom: -0.30714286em; + right: 1em; + top: auto; + left: auto; + margin-left: 0em; +} + +/*--- Left Center ---*/ + +/*rtl:rename*/ + +.ui.left.center.popup:before { + top: 50%; + right: -0.30714286em; + bottom: auto; + left: auto; + margin-top: -0.30714286em; + box-shadow: 1px -1px 0px 0px #bababc; +} + +/*--- Right Center ---*/ + +/*rtl:rename*/ + +.ui.right.center.popup:before { + top: 50%; + left: -0.30714286em; + bottom: auto; + right: auto; + margin-top: -0.30714286em; + box-shadow: -1px 1px 0px 0px #bababc; +} + +/* Arrow Color By Location */ + +.ui.bottom.popup:before { + background: #FFFFFF; +} + +.ui.right.center.popup:before, +.ui.left.center.popup:before { + background: #FFFFFF; +} + +.ui.top.popup:before { + background: #FFFFFF; +} + +/* Inverted Arrow Color */ + +.ui.inverted.bottom.popup:before { + background: #1B1C1D; +} + +.ui.inverted.right.center.popup:before, +.ui.inverted.left.center.popup:before { + background: #1B1C1D; +} + +.ui.inverted.top.popup:before { + background: #1B1C1D; +} + +/******************************* + Coupling +*******************************/ + +/* Immediate Nested Grid */ + +.ui.popup > .ui.grid:not(.padded) { + width: calc(100% + 1.75rem); + margin: -0.7rem -0.875rem; +} + +/******************************* + States +*******************************/ + +.ui.loading.popup { + display: block; + visibility: hidden; + z-index: -1; +} + +.ui.animating.popup, +.ui.visible.popup { + display: block; +} + +.ui.visible.popup { + transform: translateZ(0px); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Basic +---------------*/ + +.ui.basic.popup:before { + display: none; +} + +/*-------------- + Wide +---------------*/ + +.ui.wide.popup { + max-width: 350px; +} + +.ui[class*="very wide"].popup { + max-width: 550px; +} + +@media only screen and (max-width: 767px) { + .ui.wide.popup, + .ui[class*="very wide"].popup { + max-width: 250px; + } +} + +/*-------------- + Fluid +---------------*/ + +.ui.fluid.popup { + width: 100%; + max-width: none; +} + +/*-------------- + Colors +---------------*/ + +/* Inverted colors */ + +.ui.inverted.popup { + background: #1B1C1D; + color: #FFFFFF; + border: none; + box-shadow: none; +} + +.ui.inverted.popup .header { + background-color: none; + color: #FFFFFF; +} + +.ui.inverted.popup:before { + background-color: #1B1C1D; + box-shadow: none !important; +} + +/*-------------- + Flowing +---------------*/ + +.ui.flowing.popup { + max-width: none; +} + +/*-------------- + Sizes +---------------*/ + +.ui.mini.popup { + font-size: 0.78571429rem; +} + +.ui.tiny.popup { + font-size: 0.85714286rem; +} + +.ui.small.popup { + font-size: 0.92857143rem; +} + +.ui.popup { + font-size: 1rem; +} + +.ui.large.popup { + font-size: 1.14285714rem; +} + +.ui.huge.popup { + font-size: 1.42857143rem; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + User Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Progress Bar + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Progress +*******************************/ + +.ui.progress { + position: relative; + display: block; + max-width: 100%; + border: none; + margin: 1em 0em 2.5em; + box-shadow: none; + background: rgba(0, 0, 0, 0.1); + padding: 0em; + border-radius: 0.28571429rem; +} + +.ui.progress:first-child { + margin: 0em 0em 2.5em; +} + +.ui.progress:last-child { + margin: 0em 0em 1.5em; +} + +/******************************* + Content +*******************************/ + +/* Activity Bar */ + +.ui.progress .bar { + display: block; + line-height: 1; + position: relative; + width: 0%; + min-width: 2em; + background: #888888; + border-radius: 0.28571429rem; + transition: width 0.1s ease, background-color 0.1s ease; +} + +/* Percent Complete */ + +.ui.progress .bar > .progress { + white-space: nowrap; + position: absolute; + width: auto; + font-size: 0.92857143em; + top: 50%; + right: 0.5em; + left: auto; + bottom: auto; + color: rgba(255, 255, 255, 0.7); + text-shadow: none; + margin-top: -0.5em; + font-weight: bold; + text-align: left; +} + +/* Label */ + +.ui.progress > .label { + position: absolute; + width: 100%; + font-size: 1em; + top: 100%; + right: auto; + left: 0%; + bottom: auto; + color: rgba(0, 0, 0, 0.87); + font-weight: bold; + text-shadow: none; + margin-top: 0.2em; + text-align: center; + transition: color 0.4s ease; +} + +/******************************* + Types +*******************************/ + +/* Indicating */ + +.ui.indicating.progress[data-percent^="1"] .bar, +.ui.indicating.progress[data-percent^="2"] .bar { + background-color: #D95C5C; +} + +.ui.indicating.progress[data-percent^="3"] .bar { + background-color: #EFBC72; +} + +.ui.indicating.progress[data-percent^="4"] .bar, +.ui.indicating.progress[data-percent^="5"] .bar { + background-color: #E6BB48; +} + +.ui.indicating.progress[data-percent^="6"] .bar { + background-color: #DDC928; +} + +.ui.indicating.progress[data-percent^="7"] .bar, +.ui.indicating.progress[data-percent^="8"] .bar { + background-color: #B4D95C; +} + +.ui.indicating.progress[data-percent^="9"] .bar, +.ui.indicating.progress[data-percent^="100"] .bar { + background-color: #66DA81; +} + +/* Indicating Label */ + +.ui.indicating.progress[data-percent^="1"] .label, +.ui.indicating.progress[data-percent^="2"] .label { + color: rgba(0, 0, 0, 0.87); +} + +.ui.indicating.progress[data-percent^="3"] .label { + color: rgba(0, 0, 0, 0.87); +} + +.ui.indicating.progress[data-percent^="4"] .label, +.ui.indicating.progress[data-percent^="5"] .label { + color: rgba(0, 0, 0, 0.87); +} + +.ui.indicating.progress[data-percent^="6"] .label { + color: rgba(0, 0, 0, 0.87); +} + +.ui.indicating.progress[data-percent^="7"] .label, +.ui.indicating.progress[data-percent^="8"] .label { + color: rgba(0, 0, 0, 0.87); +} + +.ui.indicating.progress[data-percent^="9"] .label, +.ui.indicating.progress[data-percent^="100"] .label { + color: rgba(0, 0, 0, 0.87); +} + +/* Single Digits */ + +.ui.indicating.progress[data-percent="1"] .bar, +.ui.indicating.progress[data-percent="2"] .bar, +.ui.indicating.progress[data-percent="3"] .bar, +.ui.indicating.progress[data-percent="4"] .bar, +.ui.indicating.progress[data-percent="5"] .bar, +.ui.indicating.progress[data-percent="6"] .bar, +.ui.indicating.progress[data-percent="7"] .bar, +.ui.indicating.progress[data-percent="8"] .bar, +.ui.indicating.progress[data-percent="9"] .bar { + background-color: #D95C5C; +} + +.ui.indicating.progress[data-percent="1"] .label, +.ui.indicating.progress[data-percent="2"] .label, +.ui.indicating.progress[data-percent="3"] .label, +.ui.indicating.progress[data-percent="4"] .label, +.ui.indicating.progress[data-percent="5"] .label, +.ui.indicating.progress[data-percent="6"] .label, +.ui.indicating.progress[data-percent="7"] .label, +.ui.indicating.progress[data-percent="8"] .label, +.ui.indicating.progress[data-percent="9"] .label { + color: rgba(0, 0, 0, 0.87); +} + +/* Indicating Success */ + +.ui.indicating.progress.success .label { + color: #1A531B; +} + +/******************************* + States +*******************************/ + +/*-------------- + Success +---------------*/ + +.ui.progress.success .bar { + background-color: #21BA45 !important; +} + +.ui.progress.success .bar, +.ui.progress.success .bar::after { + -webkit-animation: none !important; + animation: none !important; +} + +.ui.progress.success > .label { + color: #1A531B; +} + +/*-------------- + Warning +---------------*/ + +.ui.progress.warning .bar { + background-color: #F2C037 !important; +} + +.ui.progress.warning .bar, +.ui.progress.warning .bar::after { + -webkit-animation: none !important; + animation: none !important; +} + +.ui.progress.warning > .label { + color: #794B02; +} + +/*-------------- + Error +---------------*/ + +.ui.progress.error .bar { + background-color: #DB2828 !important; +} + +.ui.progress.error .bar, +.ui.progress.error .bar::after { + -webkit-animation: none !important; + animation: none !important; +} + +.ui.progress.error > .label { + color: #912D2B; +} + +/*-------------- + Active +---------------*/ + +.ui.active.progress .bar { + position: relative; + min-width: 2em; +} + +.ui.active.progress .bar::after { + content: ''; + opacity: 0; + position: absolute; + top: 0px; + left: 0px; + right: 0px; + bottom: 0px; + background: #FFFFFF; + border-radius: 0.28571429rem; + -webkit-animation: progress-active 2s ease infinite; + animation: progress-active 2s ease infinite; +} + +@-webkit-keyframes progress-active { + 0% { + opacity: 0.3; + width: 0; + } + + 100% { + opacity: 0; + width: 100%; + } +} + +@keyframes progress-active { + 0% { + opacity: 0.3; + width: 0; + } + + 100% { + opacity: 0; + width: 100%; + } +} + +/*-------------- + Disabled +---------------*/ + +.ui.disabled.progress { + opacity: 0.35; +} + +.ui.disabled.progress .bar, +.ui.disabled.progress .bar::after { + -webkit-animation: none !important; + animation: none !important; +} + +/******************************* + Variations +*******************************/ + +/*-------------- + Inverted +---------------*/ + +.ui.inverted.progress { + background: rgba(255, 255, 255, 0.08); + border: none; +} + +.ui.inverted.progress .bar { + background: #888888; +} + +.ui.inverted.progress .bar > .progress { + color: #F9FAFB; +} + +.ui.inverted.progress > .label { + color: #FFFFFF; +} + +.ui.inverted.progress.success > .label { + color: #21BA45; +} + +.ui.inverted.progress.warning > .label { + color: #F2C037; +} + +.ui.inverted.progress.error > .label { + color: #DB2828; +} + +/*-------------- + Attached +---------------*/ + +/* bottom attached */ + +.ui.progress.attached { + background: transparent; + position: relative; + border: none; + margin: 0em; +} + +.ui.progress.attached, +.ui.progress.attached .bar { + display: block; + height: 0.2rem; + padding: 0px; + overflow: hidden; + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +.ui.progress.attached .bar { + border-radius: 0em; +} + +/* top attached */ + +.ui.progress.top.attached, +.ui.progress.top.attached .bar { + top: 0px; + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +.ui.progress.top.attached .bar { + border-radius: 0em; +} + +/* Coupling */ + +.ui.segment > .ui.attached.progress, +.ui.card > .ui.attached.progress { + position: absolute; + top: auto; + left: 0; + bottom: 100%; + width: 100%; +} + +.ui.segment > .ui.bottom.attached.progress, +.ui.card > .ui.bottom.attached.progress { + top: 100%; + bottom: auto; +} + +/*-------------- + Colors +---------------*/ + +/* Red */ + +.ui.red.progress .bar { + background-color: #DB2828; +} + +.ui.red.inverted.progress .bar { + background-color: #FF695E; +} + +/* Orange */ + +.ui.orange.progress .bar { + background-color: #F2711C; +} + +.ui.orange.inverted.progress .bar { + background-color: #FF851B; +} + +/* Yellow */ + +.ui.yellow.progress .bar { + background-color: #FBBD08; +} + +.ui.yellow.inverted.progress .bar { + background-color: #FFE21F; +} + +/* Olive */ + +.ui.olive.progress .bar { + background-color: #B5CC18; +} + +.ui.olive.inverted.progress .bar { + background-color: #D9E778; +} + +/* Green */ + +.ui.green.progress .bar { + background-color: #21BA45; +} + +.ui.green.inverted.progress .bar { + background-color: #2ECC40; +} + +/* Teal */ + +.ui.teal.progress .bar { + background-color: #00B5AD; +} + +.ui.teal.inverted.progress .bar { + background-color: #6DFFFF; +} + +/* Blue */ + +.ui.blue.progress .bar { + background-color: #2185D0; +} + +.ui.blue.inverted.progress .bar { + background-color: #54C8FF; +} + +/* Violet */ + +.ui.violet.progress .bar { + background-color: #6435C9; +} + +.ui.violet.inverted.progress .bar { + background-color: #A291FB; +} + +/* Purple */ + +.ui.purple.progress .bar { + background-color: #A333C8; +} + +.ui.purple.inverted.progress .bar { + background-color: #DC73FF; +} + +/* Pink */ + +.ui.pink.progress .bar { + background-color: #E03997; +} + +.ui.pink.inverted.progress .bar { + background-color: #FF8EDF; +} + +/* Brown */ + +.ui.brown.progress .bar { + background-color: #A5673F; +} + +.ui.brown.inverted.progress .bar { + background-color: #D67C1C; +} + +/* Grey */ + +.ui.grey.progress .bar { + background-color: #767676; +} + +.ui.grey.inverted.progress .bar { + background-color: #DCDDDE; +} + +/* Black */ + +.ui.black.progress .bar { + background-color: #1B1C1D; +} + +.ui.black.inverted.progress .bar { + background-color: #545454; +} + +/*-------------- + Sizes +---------------*/ + +.ui.tiny.progress { + font-size: 0.85714286rem; +} + +.ui.tiny.progress .bar { + height: 0.5em; +} + +.ui.small.progress { + font-size: 0.92857143rem; +} + +.ui.small.progress .bar { + height: 1em; +} + +.ui.progress { + font-size: 1rem; +} + +.ui.progress .bar { + height: 1.75em; +} + +.ui.large.progress { + font-size: 1.14285714rem; +} + +.ui.large.progress .bar { + height: 2.5em; +} + +.ui.big.progress { + font-size: 1.28571429rem; +} + +.ui.big.progress .bar { + height: 3.5em; +} + +/******************************* + Progress +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Rating + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Rating +*******************************/ + +.ui.rating { + display: inline-flex; + white-space: nowrap; + vertical-align: baseline; +} + +.ui.rating:last-child { + margin-right: 0em; +} + +/* Icon */ + +.ui.rating .icon { + padding: 0em; + margin: 0em; + text-align: center; + font-weight: normal; + font-style: normal; + flex: 1 0 auto; + cursor: pointer; + width: 1.25em; + height: auto; + transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease; +} + +/******************************* + Types +*******************************/ + +/*------------------- + Standard +--------------------*/ + +/* Inactive Icon */ + +.ui.rating .icon { + background: transparent; + color: rgba(0, 0, 0, 0.15); +} + +/* Active Icon */ + +.ui.rating .active.icon { + background: transparent; + color: rgba(0, 0, 0, 0.85); +} + +/* Selected Icon */ + +.ui.rating .icon.selected, +.ui.rating .icon.selected.active { + background: transparent; + color: rgba(0, 0, 0, 0.87); +} + +/*------------------- + Star +--------------------*/ + +/* Inactive */ + +.ui.star.rating .icon { + width: 1.25em; + height: auto; + background: transparent; + color: rgba(0, 0, 0, 0.15); + text-shadow: none; +} + +/* Active Star */ + +.ui.star.rating .active.icon { + background: transparent !important; + color: #FFE623 !important; + text-shadow: 0px -1px 0px #DDC507, -1px 0px 0px #DDC507, 0px 1px 0px #DDC507, 1px 0px 0px #DDC507 !important; +} + +/* Selected Star */ + +.ui.star.rating .icon.selected, +.ui.star.rating .icon.selected.active { + background: transparent !important; + color: #FFCC00 !important; + text-shadow: 0px -1px 0px #E6A200, -1px 0px 0px #E6A200, 0px 1px 0px #E6A200, 1px 0px 0px #E6A200 !important; +} + +/*------------------- + Heart +--------------------*/ + +.ui.heart.rating .icon { + width: 1.4em; + height: auto; + background: transparent; + color: rgba(0, 0, 0, 0.15); + text-shadow: none !important; +} + +/* Active Heart */ + +.ui.heart.rating .active.icon { + background: transparent !important; + color: #FF6D75 !important; + text-shadow: 0px -1px 0px #CD0707, -1px 0px 0px #CD0707, 0px 1px 0px #CD0707, 1px 0px 0px #CD0707 !important; +} + +/* Selected Heart */ + +.ui.heart.rating .icon.selected, +.ui.heart.rating .icon.selected.active { + background: transparent !important; + color: #FF3000 !important; + text-shadow: 0px -1px 0px #AA0101, -1px 0px 0px #AA0101, 0px 1px 0px #AA0101, 1px 0px 0px #AA0101 !important; +} + +/******************************* + States +*******************************/ + +/*------------------- + Disabled +--------------------*/ + +/* disabled rating */ + +.ui.disabled.rating .icon { + cursor: default; +} + +/*------------------- + User Interactive +--------------------*/ + +/* Selected Rating */ + +.ui.rating.selected .active.icon { + opacity: 1; +} + +.ui.rating.selected .icon.selected, +.ui.rating .icon.selected { + opacity: 1; +} + +/******************************* + Variations +*******************************/ + +.ui.mini.rating { + font-size: 0.78571429rem; +} + +.ui.tiny.rating { + font-size: 0.85714286rem; +} + +.ui.small.rating { + font-size: 0.92857143rem; +} + +.ui.rating { + font-size: 1rem; +} + +.ui.large.rating { + font-size: 1.14285714rem; +} + +.ui.huge.rating { + font-size: 1.42857143rem; +} + +.ui.massive.rating { + font-size: 2rem; +} + +/******************************* + Theme Overrides +*******************************/ + +@font-face { + font-family: 'Rating'; + src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjCBsAAAC8AAAAYGNtYXCj2pm8AAABHAAAAKRnYXNwAAAAEAAAAcAAAAAIZ2x5ZlJbXMYAAAHIAAARnGhlYWQBGAe5AAATZAAAADZoaGVhA+IB/QAAE5wAAAAkaG10eCzgAEMAABPAAAAAcGxvY2EwXCxOAAAUMAAAADptYXhwACIAnAAAFGwAAAAgbmFtZfC1n04AABSMAAABPHBvc3QAAwAAAAAVyAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADxZQHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAJAAAAAgACAABAAAAAEAIOYF8AbwDfAj8C7wbvBw8Irwl/Cc8SPxZf/9//8AAAAAACDmAPAE8AzwI/Au8G7wcPCH8JfwnPEj8WT//f//AAH/4xoEEAYQAQ/sD+IPow+iD4wPgA98DvYOtgADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAIAAP/tAgAB0wAKABUAAAEvAQ8BFwc3Fyc3BQc3Jz8BHwEHFycCALFPT7GAHp6eHoD/AHAWW304OH1bFnABGRqgoBp8sFNTsHyyOnxYEnFxElh8OgAAAAACAAD/7QIAAdMACgASAAABLwEPARcHNxcnNwUxER8BBxcnAgCxT0+xgB6enh6A/wA4fVsWcAEZGqCgGnywU1OwfLIBHXESWHw6AAAAAQAA/+0CAAHTAAoAAAEvAQ8BFwc3Fyc3AgCxT0+xgB6enh6AARkaoKAafLBTU7B8AAAAAAEAAAAAAgABwAArAAABFA4CBzEHDgMjIi4CLwEuAzU0PgIzMh4CFz4DMzIeAhUCAAcMEgugBgwMDAYGDAwMBqALEgwHFyg2HhAfGxkKChkbHxAeNigXAS0QHxsZCqAGCwkGBQkLBqAKGRsfEB42KBcHDBILCxIMBxcoNh4AAAAAAgAAAAACAAHAACsAWAAAATQuAiMiDgIHLgMjIg4CFRQeAhcxFx4DMzI+Aj8BPgM1DwEiFCIGMTAmIjQjJy4DNTQ+AjMyHgIfATc+AzMyHgIVFA4CBwIAFyg2HhAfGxkKChkbHxAeNigXBwwSC6AGDAwMBgYMDAwGoAsSDAdbogEBAQEBAaIGCgcEDRceEQkREA4GLy8GDhARCREeFw0EBwoGAS0eNigXBwwSCwsSDAcXKDYeEB8bGQqgBgsJBgUJCwagChkbHxA+ogEBAQGiBg4QEQkRHhcNBAcKBjQ0BgoHBA0XHhEJERAOBgABAAAAAAIAAcAAMQAAARQOAgcxBw4DIyIuAi8BLgM1ND4CMzIeAhcHFwc3Jzc+AzMyHgIVAgAHDBILoAYMDAwGBgwMDAagCxIMBxcoNh4KFRMSCC9wQLBwJwUJCgkFHjYoFwEtEB8bGQqgBgsJBgUJCwagChkbHxAeNigXAwUIBUtAoMBAOwECAQEXKDYeAAABAAAAAAIAAbcAKgAAEzQ3NjMyFxYXFhcWFzY3Njc2NzYzMhcWFRQPAQYjIi8BJicmJyYnJicmNQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGBwExPyMkBgYLCgkKCgoKCQoLBgYkIz8/QawFBawCBgUNDg4OFRQTAAAAAQAAAA0B2wHSACYAABM0PwI2FzYfAhYVFA8BFxQVFAcGByYvAQcGByYnJjU0PwEnJjUAEI9BBQkIBkCPEAdoGQMDBgUGgIEGBQYDAwEYaAcBIwsCFoEMAQEMgRYCCwYIZJABBQUFAwEBAkVFAgEBAwUFAwOQZAkFAAAAAAIAAAANAdsB0gAkAC4AABM0PwI2FzYfAhYVFA8BFxQVFAcmLwEHBgcmJyY1ND8BJyY1HwEHNxcnNy8BBwAQj0EFCQgGQI8QB2gZDAUGgIEGBQYDAwEYaAc/WBVsaxRXeDY2ASMLAhaBDAEBDIEWAgsGCGSQAQUNAQECRUUCAQEDBQUDA5BkCQURVXg4OHhVEW5uAAABACMAKQHdAXwAGgAANzQ/ATYXNh8BNzYXNh8BFhUUDwEGByYvASY1IwgmCAwLCFS8CAsMCCYICPUIDAsIjgjSCwkmCQEBCVS7CQEBCSYJCg0H9gcBAQePBwwAAAEAHwAfAXMBcwAsAAA3ND8BJyY1ND8BNjMyHwE3NjMyHwEWFRQPARcWFRQPAQYjIi8BBwYjIi8BJjUfCFRUCAgnCAwLCFRUCAwLCCcICFRUCAgnCAsMCFRUCAsMCCcIYgsIVFQIDAsIJwgIVFQICCcICwwIVFQICwwIJwgIVFQICCcIDAAAAAACAAAAJQFJAbcAHwArAAA3NTQ3NjsBNTQ3NjMyFxYdATMyFxYdARQHBiMhIicmNTczNTQnJiMiBwYdAQAICAsKJSY1NCYmCQsICAgIC/7tCwgIW5MWFR4fFRZApQsICDc0JiYmJjQ3CAgLpQsICAgIC8A3HhYVFRYeNwAAAQAAAAcBbgG3ACEAADcRNDc2NzYzITIXFhcWFREUBwYHBiMiLwEHBiMiJyYnJjUABgUKBgYBLAYGCgUGBgUKBQcOCn5+Cg4GBgoFBicBcAoICAMDAwMICAr+kAoICAQCCXl5CQIECAgKAAAAAwAAACUCAAFuABgAMQBKAAA3NDc2NzYzMhcWFxYVFAcGBwYjIicmJyY1MxYXFjMyNzY3JicWFRQHBiMiJyY1NDcGBzcUFxYzMjc2NTQ3NjMyNzY1NCcmIyIHBhUABihDREtLREMoBgYoQ0RLS0RDKAYlJjk5Q0M5OSYrQREmJTU1JSYRQSuEBAQGBgQEEREZBgQEBAQGJBkayQoKQSgoKChBCgoKCkEoJycoQQoKOiMjIyM6RCEeIjUmJSUmNSIeIUQlBgQEBAQGGBIRBAQGBgQEGhojAAAABQAAAAkCAAGJACwAOABRAGgAcAAANzQ3Njc2MzIXNzYzMhcWFxYXFhcWFxYVFDEGBwYPAQYjIicmNTQ3JicmJyY1MxYXNyYnJjU0NwYHNxQXFjMyNzY1NDc2MzI3NjU0JyYjIgcGFRc3Njc2NyYnNxYXFhcWFRQHBgcGBwYjPwEWFRQHBgcABitBQU0ZGhADBQEEBAUFBAUEBQEEHjw8Hg4DBQQiBQ0pIyIZBiUvSxYZDg4RQSuEBAQGBgQEEREZBgQEBAQGJBkaVxU9MzQiIDASGxkZEAYGCxQrODk/LlACFxYlyQsJQycnBRwEAgEDAwIDAwIBAwUCNmxsNhkFFAMFBBUTHh8nCQtKISgSHBsfIh4hRCUGBAQEBAYYEhEEBAYGBAQaGiPJJQUiIjYzISASGhkbCgoKChIXMRsbUZANCyghIA8AAAMAAAAAAbcB2wA5AEoAlAAANzU0NzY7ATY3Njc2NzY3Njc2MzIXFhcWFRQHMzIXFhUUBxYVFAcUFRQHFgcGKwEiJyYnJisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzMyFxYXFhcWFxYXFhcWOwEyNTQnNjc2NTQnNjU0JyYnNjc2NTQnJisBNDc2NTQnJiMGBwYHBgcGBwYHBgcGBwYHBgcGBwYrARUACwoQTgodEQ4GBAMFBgwLDxgTEwoKDjMdFhYOAgoRARkZKCUbGxsjIQZSEAoLJQUFCAcGBQUGBwgFBUkJBAUFBAQHBwMDBwcCPCUjNwIJBQUFDwMDBAkGBgsLDmUODgoJGwgDAwYFDAYQAQUGAwQGBgYFBgUGBgQJSbcPCwsGJhUPCBERExMMCgkJFBQhGxwWFR4ZFQoKFhMGBh0WKBcXBgcMDAoLDxIHBQYGBQcIBQYGBQgSAQEBAQICAQEDAgEULwgIBQoLCgsJDhQHCQkEAQ0NCg8LCxAdHREcDQ4IEBETEw0GFAEHBwUECAgFBQUFAgO3AAADAAD/2wG3AbcAPABNAJkAADc1NDc2OwEyNzY3NjsBMhcWBxUWFRQVFhUUBxYVFAcGKwEWFRQHBgcGIyInJicmJyYnJicmJyYnIyInJjU3FBcWMzI3NjU0JyYjIgcGFRczMhcWFxYXFhcWFxYXFhcWFxYXFhcWFzI3NjU0JyY1MzI3NjU0JyYjNjc2NTQnNjU0JyYnNjU0JyYrASIHIgcGBwYHBgcGIwYrARUACwoQUgYhJRsbHiAoGRkBEQoCDhYWHTMOCgoTExgPCwoFBgIBBAMFDhEdCk4QCgslBQUIBwYFBQYHCAUFSQkEBgYFBgUGBgYEAwYFARAGDAUGAwMIGwkKDg5lDgsLBgYJBAMDDwUFBQkCDg4ZJSU8AgcHAwMHBwQEBQUECbe3DwsKDAwHBhcWJwIWHQYGExYKChUZHhYVHRoiExQJCgsJDg4MDAwNBg4WJQcLCw+kBwUGBgUHCAUGBgUIpAMCBQYFBQcIBAUHBwITBwwTExERBw0OHBEdHRALCw8KDQ0FCQkHFA4JCwoLCgUICBgMCxUDAgEBAgMBAQG3AAAAAQAAAA0A7gHSABQAABM0PwI2FxEHBgcmJyY1ND8BJyY1ABCPQQUJgQYFBgMDARhoBwEjCwIWgQwB/oNFAgEBAwUFAwOQZAkFAAAAAAIAAAAAAgABtwAqAFkAABM0NzYzMhcWFxYXFhc2NzY3Njc2MzIXFhUUDwEGIyIvASYnJicmJyYnJjUzFB8BNzY1NCcmJyYnJicmIyIHBgcGBwYHBiMiJyYnJicmJyYjIgcGBwYHBgcGFQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGByU1pqY1BgYJCg4NDg0PDhIRDg8KCgcFCQkFBwoKDw4REg4PDQ4NDgoJBgYBMT8jJAYGCwoJCgoKCgkKCwYGJCM/P0GsBQWsAgYFDQ4ODhUUEzA1oJ82MBcSEgoLBgcCAgcHCwsKCQgHBwgJCgsLBwcCAgcGCwoSEhcAAAACAAAABwFuAbcAIQAoAAA3ETQ3Njc2MyEyFxYXFhURFAcGBwYjIi8BBwYjIicmJyY1PwEfAREhEQAGBQoGBgEsBgYKBQYGBQoFBw4Kfn4KDgYGCgUGJZIZef7cJwFwCggIAwMDAwgICv6QCggIBAIJeXkJAgQICAoIjRl0AWP+nQAAAAABAAAAJQHbAbcAMgAANzU0NzY7ATU0NzYzMhcWHQEUBwYrASInJj0BNCcmIyIHBh0BMzIXFh0BFAcGIyEiJyY1AAgIC8AmJjQ1JiUFBQgSCAUFFhUfHhUWHAsICAgIC/7tCwgIQKULCAg3NSUmJiU1SQgFBgYFCEkeFhUVFh43CAgLpQsICAgICwAAAAIAAQANAdsB0gAiAC0AABM2PwI2MzIfAhYXFg8BFxYHBiMiLwEHBiMiJyY/AScmNx8CLwE/AS8CEwEDDJBABggJBUGODgIDCmcYAgQCCAMIf4IFBgYEAgEZaQgC7hBbEgINSnkILgEBJggCFYILC4IVAggICWWPCgUFA0REAwUFCo9lCQipCTBmEw1HEhFc/u0AAAADAAAAAAHJAbcAFAAlAHkAADc1NDc2OwEyFxYdARQHBisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzU0NzYzNjc2NzY3Njc2NzY3Njc2NzY3NjMyFxYXFhcWFxYXFhUUFRQHBgcGBxQHBgcGBzMyFxYVFAcWFRYHFgcGBxYHBgcjIicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQFBQgGDw8OFAkFBAQBAQMCAQIEBAYFBw4KCgcHBQQCAwEBAgMDAgYCAgIBAU8XEBAQBQEOBQUECwMREiYlExYXDAwWJAoHBQY3twcGBQUGB7cIBQUFBQgkBwYFBQYHCAUGBgUIJLcHBQYBEBATGQkFCQgGBQwLBgcICQUGAwMFBAcHBgYICQQEBwsLCwYGCgIDBAMCBBEQFhkSDAoVEhAREAsgFBUBBAUEBAcMAQUFCAAAAAADAAD/2wHJAZIAFAAlAHkAADcUFxYXNxY3Nj0BNCcmBycGBwYdATc0NzY3FhcWFRQHBicGJyY1FzU0NzY3Fjc2NzY3NjcXNhcWBxYXFgcWBxQHFhUUBwYHJxYXFhcWFRYXFhcWFRQVFAcGBwYHBgcGBwYnBicmJyYnJicmJyYnJicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQGBQcKJBYMDBcWEyUmEhEDCwQFBQ4BBRAQEBdPAQECAgIGAgMDAgEBAwIEBQcHCgoOBwUGBAQCAQIDAQEEBAUJFA4PDwYIBQWlBwYFAQEBBwQJtQkEBwEBAQUGB7eTBwYEAQEEBgcJBAYBAQYECZS4BwYEAgENBwUCBgMBAQEXEyEJEhAREBcIDhAaFhEPAQEFAgQCBQELBQcKDAkIBAUHCgUGBwgDBgIEAQEHBQkIBwUMCwcECgcGCRoREQ8CBgQIAAAAAQAAAAEAAJth57dfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAAAAAAoAFAAeAEoAcACKAMoBQAGIAcwCCgJUAoICxgMEAzoDpgRKBRgF7AYSBpgG2gcgB2oIGAjOAAAAAQAAABwAmgAFAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AABcUAAoAAAAAFswAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAEuEAABLho6TvIE9TLzIAABPYAAAAYAAAAGAIIwgbY21hcAAAFDgAAACkAAAApKPambxnYXNwAAAU3AAAAAgAAAAIAAAAEGhlYWQAABTkAAAANgAAADYBGAe5aGhlYQAAFRwAAAAkAAAAJAPiAf1obXR4AAAVQAAAAHAAAABwLOAAQ21heHAAABWwAAAABgAAAAYAHFAAbmFtZQAAFbgAAAE8AAABPPC1n05wb3N0AAAW9AAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLZviU+HQFHQAAAP0PHQAAAQIRHQAAAAkdAAAS2BIAHQEBBw0PERQZHiMoLTI3PEFGS1BVWl9kaW5zeH2Ch4xyYXRpbmdyYXRpbmd1MHUxdTIwdUU2MDB1RTYwMXVFNjAydUU2MDN1RTYwNHVFNjA1dUYwMDR1RjAwNXVGMDA2dUYwMEN1RjAwRHVGMDIzdUYwMkV1RjA2RXVGMDcwdUYwODd1RjA4OHVGMDg5dUYwOEF1RjA5N3VGMDlDdUYxMjN1RjE2NHVGMTY1AAACAYkAGgAcAgABAAQABwAKAA0AVgCWAL0BAgGMAeQCbwLwA4cD5QR0BQMFdgZgB8MJkQtxC7oM2Q1jDggOmRAYEZr8lA78lA78lA77lA74lPetFftFpTz3NDz7NPtFcfcU+xBt+0T3Mt73Mjht90T3FPcQBfuU+0YV+wRRofcQMOP3EZ3D9wXD+wX3EXkwM6H7EPsExQUO+JT3rRX7RaU89zQ8+zT7RXH3FPsQbftE9zLe9zI4bfdE9xT3EAX7lPtGFYuLi/exw/sF9xF5MDOh+xD7BMUFDviU960V+0WlPPc0PPs0+0Vx9xT7EG37RPcy3vcyOG33RPcU9xAFDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iu2i7J4pm6mqLKetovci81JizoIDviU98EVi9xJzTqLYItkeHBucKhknmCLOotJSYs6i2CeZKhwCIuL9zT7NAWbe5t7m4ubi5ubm5sI9zT3NAWopp6yi7YIME0V+zb7NgWKioqKiouKi4qMiowI+zb3NgV6m4Ghi6OLubCwuYuji6GBm3oIule6vwWbnKGVo4u5i7Bmi12Lc4F1ensIDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iuni6WDoX4IXED3BEtL+zT3RPdU+wTLssYFl46YjZiL3IvNSYs6CA6L98UVi7WXrKOio6Otl7aLlouXiZiHl4eWhZaEloSUhZKFk4SShZKEkpKSkZOSkpGUkZaSCJaSlpGXj5iPl42Wi7aLrX+jc6N0l2qLYYthdWBgYAj7RvtABYeIh4mGi4aLh42Hjgj7RvdABYmNiY2Hj4iOhpGDlISUhZWFlIWVhpaHmYaYiZiLmAgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuHioiJiImIiIqHi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuCh4aDi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwjKeRXjN3b7DfcAxPZSd/cN4t/7DJ1V9wFV+wEFDq73ZhWLk42RkZEIsbIFkZCRjpOLkouSiJCGCN8291D3UAWQkJKOkouTi5GIkYYIsWQFkYaNhIuEi4OJhYWFCPuJ+4kFhYWFiYOLhIuEjYaRCPsi9yIFhZCJkouSCA77AartFYuSjpKQkAjf3zffBYaQiJKLk4uSjpKQkAiysgWRkJGOk4uSi5KIkIYI3zff3wWQkJKOk4uSi5KIkIYIsmQFkIaOhIuEi4OIhIaGCDc33zcFkIaOhIuEi4OIhYaFCGRkBYaGhIiEi4OLhI6GkAg33zc3BYaGhIiEi4OLhY6FkAhksgWGkYiRi5MIDvtLi8sVi/c5BYuSjpKQkJCQko6SiwiVi4vCBYuul6mkpKSkqpiui66LqX6kcqRymG2LaAiLVJSLBZKLkoiQhpCGjoSLhAiL+zkFi4OIhYaGhoWEiYSLCPuniwWEi4SNhpGGkIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOEkoWShJKSkpGTkpKRlJGWkgiWkpaRl4+Yj5eNlou2i61/o3OjdJdqi2GLYXVgYGAI+0b7QAWHiIeJhouGi4eNh44I+0b3QAWJjYmNh4+IjoaRg5SElIWVhZSFlYaWh5mGmImYi5gIsIsVi2ucaa9oCPc6+zT3OvczBa+vnK2Lq4ubiZiHl4eXhpSFkoSSg5GCj4KQgo2CjYONgYuBi4KLgIl/hoCGgIWChAiBg4OFhISEhYaFhoaIhoaJhYuFi4aNiJCGkIaRhJGEkoORgZOCkoCRgJB/kICNgosIgYuBi4OJgomCiYKGgoeDhYSEhYSGgod/h3+Jfot7CA77JouyFYv4BAWLkY2Rj5GOkJCPko2PjY+Mj4sI98CLBY+Lj4qPiZGJkIePho+FjYWLhQiL/AQFi4SJhYeGh4aGh4WIiIqGioeLgYuEjoSRCPsS9w37EvsNBYSFg4iCi4eLh4uHjYSOho+IkIeQiZGLkgiwkxX3JvchpHL3DfsIi/f3+7iLi/v3BQ5ni8sVi/c5BYuSjpKQkJCQko6Siwj3VIuLwgWLrpippKSkpKmYrouvi6l+pHKkcpdti2gIi0IFi4aKhoeIh4eHiYaLCHmLBYaLh42Hj4eOipCLkAiL1AWLn4OcfZp9mXqSdot3i3qEfX18fIR6i3cIi1SniwWSi5KIkIaQho6Ei4QIi/s5BYuDiIWGhoaFhImEiwj7p4sFhIuEjYaRhpCIkYuTCA5njPe6FYyQkI6UjQj3I6DM9xYFj5KPj5GLkIuQh4+ECMv7FvcjdgWUiZCIjYaNhoiFhYUIIyak+yMFjIWKhomHiYiIiYaLiIuHjIeNCPsUz/sVRwWHiYeKiIuHi4eNiY6Jj4uQjJEIo/cjI/AFhZGJkY2QCPeB+z0VnILlW3rxiJ6ZmNTS+wydgpxe54v7pwUOZ4vCFYv3SwWLkI2Pjo+Pjo+NkIsI3osFkIuPiY6Ij4eNh4uGCIv7SwWLhomHh4eIh4eKhosIOIsFhouHjIePiI+Jj4uQCLCvFYuGjIePh46IkImQi5CLj42Pjo6PjY+LkIuQiZCIjoePh42Gi4aLhomIh4eIioaLhgjvZxWL90sFi5CNj46Oj4+PjZCLj4ySkJWWlZaVl5SXmJuVl5GRjo6OkI6RjZCNkIyPjI6MkY2TCIySjJGMj4yPjZCOkY6RjpCPjo6Pj42Qi5SLk4qSiZKJkYiPiJCIjoiPho6GjYeMhwiNh4yGjIaMhYuHi4iLiIuHi4eLg4uEiYSJhImFiYeJh4mFh4WLioqJiomJiIqJiokIi4qKiIqJCNqLBZqLmIWWgJaAkH+LfIt6hn2Af46DjYSLhIt9h36Cf4+Bi3+HgImAhYKEhI12hnmAfgh/fXiDcosIZosFfot+jHyOfI5/joOOg41/j32Qc5N8j4SMhouHjYiOh4+Jj4uQCA5ni/c5FYuGjYaOiI+Hj4mQiwjeiwWQi4+Njo+Pjo2Qi5AIi/dKBYuQiZCHjoiPh42Giwg4iwWGi4eJh4eIiImGi4YIi/tKBbD3JhWLkIyPj4+OjpCNkIuQi4+Jj4iOh42Hi4aLhomHiIeHh4eKhouGi4aMiI+Hj4qPi5AI7/snFYv3SwWLkI2Qj46Oj4+NkIuSi5qPo5OZkJePk46TjZeOmo6ajpiMmIsIsIsFpIueg5d9ln6Qeol1koSRgo2Aj4CLgIeAlH+Pfot9i4WJhIiCloCQfIt7i3yFfoGACICAfoZ8iwg8iwWMiIyJi4mMiYyJjYmMiIyKi4mPhI2GjYeNh42GjYOMhIyEi4SLhouHi4iLiYuGioYIioWKhomHioeJh4iGh4eIh4aIh4iFiISJhImDioKLhouHjYiPh4+Ij4iRiJGJkIqPCIqPipGKkomTipGKj4qOiZCJkYiQiJCIjoWSgZZ+nIKXgZaBloGWhJGHi4aLh42HjwiIjomQi48IDviUFPiUFYsMCgAAAAADAgABkAAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAPFlAeD/4P/gAeAAIAAAAAEAAAAAAAAAAAAAACAAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAkAAAACAAIAAEAAAAAQAg5gXwBvAN8CPwLvBu8HDwivCX8JzxI/Fl//3//wAAAAAAIOYA8ATwDPAj8C7wbvBw8Ifwl/Cc8SPxZP/9//8AAf/jGgQQBhABD+wP4g+jD6IPjA+AD3wO9g62AAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAJrVlLJfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAFAAABwAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff'); + font-weight: normal; + font-style: normal; +} + +.ui.rating .icon { + font-family: 'Rating'; + line-height: 1; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + font-weight: normal; + font-style: normal; + text-align: center; +} + +/* Empty Star */ + +.ui.rating .icon:before { + content: '\f005'; +} + +/* Active Star */ + +.ui.rating .active.icon:before { + content: '\f005'; +} + +/*------------------- + Star +--------------------*/ + +/* Unfilled Star */ + +.ui.star.rating .icon:before { + content: '\f005'; +} + +/* Active Star */ + +.ui.star.rating .active.icon:before { + content: '\f005'; +} + +/* Partial */ + +.ui.star.rating .partial.icon:before { + content: '\f006'; +} + +.ui.star.rating .partial.icon { + content: '\f005'; +} + +/*------------------- + Heart +--------------------*/ + +/* Empty Heart +.ui.heart.rating .icon:before { + content: '\f08a'; +} +*/ + +.ui.heart.rating .icon:before { + content: '\f004'; +} + +/* Active */ + +.ui.heart.rating .active.icon:before { + content: '\f004'; +} + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Search + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Search +*******************************/ + +.ui.search { + position: relative; +} + +.ui.search > .prompt { + margin: 0em; + outline: none; + -webkit-appearance: none; + -webkit-tap-highlight-color: rgba(255, 255, 255, 0); + text-shadow: none; + font-style: normal; + font-weight: normal; + line-height: 1.21428571em; + padding: 0.67857143em 1em; + font-size: 1em; + background: #FFFFFF; + border: 1px solid rgba(34, 36, 38, 0.15); + color: rgba(0, 0, 0, 0.87); + box-shadow: 0em 0em 0em 0em transparent inset; + transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease; +} + +.ui.search .prompt { + border-radius: 500rem; +} + +/*-------------- + Icon +---------------*/ + +.ui.search .prompt ~ .search.icon { + cursor: pointer; +} + +/*-------------- + Results +---------------*/ + +.ui.search > .results { + display: none; + position: absolute; + top: 100%; + left: 0%; + transform-origin: center top; + white-space: normal; + text-align: left; + text-transform: none; + background: #FFFFFF; + margin-top: 0.5em; + width: 18em; + border-radius: 0.28571429rem; + box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15); + border: 1px solid #D4D4D5; + z-index: 998; +} + +.ui.search > .results > :first-child { + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} + +.ui.search > .results > :last-child { + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +/*-------------- + Result +---------------*/ + +.ui.search > .results .result { + cursor: pointer; + display: block; + overflow: hidden; + font-size: 1em; + padding: 0.85714286em 1.14285714em; + color: rgba(0, 0, 0, 0.87); + line-height: 1.33; + border-bottom: 1px solid rgba(34, 36, 38, 0.1); +} + +.ui.search > .results .result:last-child { + border-bottom: none !important; +} + +/* Image */ + +.ui.search > .results .result .image { + float: right; + overflow: hidden; + background: none; + width: 5em; + height: 3em; + border-radius: 0.25em; +} + +.ui.search > .results .result .image img { + display: block; + width: auto; + height: 100%; +} + +/*-------------- + Info +---------------*/ + +.ui.search > .results .result .image + .content { + margin: 0em 6em 0em 0em; +} + +.ui.search > .results .result .title { + margin: -0.14285714em 0em 0em; + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-weight: bold; + font-size: 1em; + color: rgba(0, 0, 0, 0.85); +} + +.ui.search > .results .result .description { + margin-top: 0; + font-size: 0.92857143em; + color: rgba(0, 0, 0, 0.4); +} + +.ui.search > .results .result .price { + float: right; + color: #21BA45; +} + +/*-------------- + Message +---------------*/ + +.ui.search > .results > .message { + padding: 1em 1em; +} + +.ui.search > .results > .message .header { + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-size: 1rem; + font-weight: bold; + color: rgba(0, 0, 0, 0.87); +} + +.ui.search > .results > .message .description { + margin-top: 0.25rem; + font-size: 1em; + color: rgba(0, 0, 0, 0.87); +} + +/* View All Results */ + +.ui.search > .results > .action { + display: block; + border-top: none; + background: #F3F4F5; + padding: 0.92857143em 1em; + color: rgba(0, 0, 0, 0.87); + font-weight: bold; + text-align: center; +} + +/******************************* + States +*******************************/ + +/*-------------------- + Focus +---------------------*/ + +.ui.search > .prompt:focus { + border-color: rgba(34, 36, 38, 0.35); + background: #FFFFFF; + color: rgba(0, 0, 0, 0.95); +} + +/*-------------------- + Loading +---------------------*/ + +.ui.loading.search .input > i.icon:before { + position: absolute; + content: ''; + top: 50%; + left: 50%; + margin: -0.64285714em 0em 0em -0.64285714em; + width: 1.28571429em; + height: 1.28571429em; + border-radius: 500rem; + border: 0.2em solid rgba(0, 0, 0, 0.1); +} + +.ui.loading.search .input > i.icon:after { + position: absolute; + content: ''; + top: 50%; + left: 50%; + margin: -0.64285714em 0em 0em -0.64285714em; + width: 1.28571429em; + height: 1.28571429em; + -webkit-animation: button-spin 0.6s linear; + animation: button-spin 0.6s linear; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + border-radius: 500rem; + border-color: #767676 transparent transparent; + border-style: solid; + border-width: 0.2em; + box-shadow: 0px 0px 0px 1px transparent; +} + +/*-------------- + Hover +---------------*/ + +.ui.search > .results .result:hover, +.ui.category.search > .results .category .result:hover { + background: #F9FAFB; +} + +.ui.search .action:hover { + background: #E0E0E0; +} + +/*-------------- + Active +---------------*/ + +.ui.category.search > .results .category.active { + background: #F3F4F5; +} + +.ui.category.search > .results .category.active > .name { + color: rgba(0, 0, 0, 0.87); +} + +.ui.search > .results .result.active, +.ui.category.search > .results .category .result.active { + position: relative; + border-left-color: rgba(34, 36, 38, 0.1); + background: #F3F4F5; + box-shadow: none; +} + +.ui.search > .results .result.active .title { + color: rgba(0, 0, 0, 0.85); +} + +.ui.search > .results .result.active .description { + color: rgba(0, 0, 0, 0.85); +} + +/*-------------------- + Disabled +----------------------*/ + +/* Disabled */ + +.ui.disabled.search { + cursor: default; + pointer-events: none; + opacity: 0.45; +} + +/******************************* + Types +*******************************/ + +/*-------------- + Selection +---------------*/ + +.ui.search.selection .prompt { + border-radius: 0.28571429rem; +} + +/* Remove input */ + +.ui.search.selection > .icon.input > .remove.icon { + pointer-events: none; + position: absolute; + left: auto; + opacity: 0; + color: ''; + top: 0em; + right: 0em; + transition: color 0.1s ease, opacity 0.1s ease; +} + +.ui.search.selection > .icon.input > .active.remove.icon { + cursor: pointer; + opacity: 0.8; + pointer-events: auto; +} + +.ui.search.selection > .icon.input:not([class*="left icon"]) > .icon ~ .remove.icon { + right: 1.85714em; +} + +.ui.search.selection > .icon.input > .remove.icon:hover { + opacity: 1; + color: #DB2828; +} + +/*-------------- + Category +---------------*/ + +.ui.category.search .results { + width: 28em; +} + +.ui.category.search .results.animating, +.ui.category.search .results.visible { + display: table; +} + +/* Category */ + +.ui.category.search > .results .category { + display: table-row; + background: #F3F4F5; + box-shadow: none; + transition: background 0.1s ease, border-color 0.1s ease; +} + +/* Last Category */ + +.ui.category.search > .results .category:last-child { + border-bottom: none; +} + +/* First / Last */ + +.ui.category.search > .results .category:first-child .name + .result { + border-radius: 0em 0.28571429rem 0em 0em; +} + +.ui.category.search > .results .category:last-child .result:last-child { + border-radius: 0em 0em 0.28571429rem 0em; +} + +/* Category Result Name */ + +.ui.category.search > .results .category > .name { + display: table-cell; + text-overflow: ellipsis; + width: 100px; + white-space: nowrap; + background: transparent; + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-size: 1em; + padding: 0.4em 1em; + font-weight: bold; + color: rgba(0, 0, 0, 0.4); + border-bottom: 1px solid rgba(34, 36, 38, 0.1); +} + +/* Category Result */ + +.ui.category.search > .results .category .results { + display: table-cell; + background: #FFFFFF; + border-left: 1px solid rgba(34, 36, 38, 0.15); + border-bottom: 1px solid rgba(34, 36, 38, 0.1); +} + +.ui.category.search > .results .category .result { + border-bottom: 1px solid rgba(34, 36, 38, 0.1); + transition: background 0.1s ease, border-color 0.1s ease; + padding: 0.85714286em 1.14285714em; +} + +/******************************* + Variations +*******************************/ + +/*------------------- + Left / Right +--------------------*/ + +.ui[class*="left aligned"].search > .results { + right: auto; + left: 0%; +} + +.ui[class*="right aligned"].search > .results { + right: 0%; + left: auto; +} + +/*-------------- + Fluid +---------------*/ + +.ui.fluid.search .results { + width: 100%; +} + +/*-------------- + Sizes +---------------*/ + +.ui.mini.search { + font-size: 0.78571429em; +} + +.ui.small.search { + font-size: 0.92857143em; +} + +.ui.search { + font-size: 1em; +} + +.ui.large.search { + font-size: 1.14285714em; +} + +.ui.big.search { + font-size: 1.28571429em; +} + +.ui.huge.search { + font-size: 1.42857143em; +} + +.ui.massive.search { + font-size: 1.71428571em; +} + +/*-------------- + Mobile +---------------*/ + +@media only screen and (max-width: 767px) { + .ui.search .results { + max-width: calc(100vw - 2rem); + } +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Shape + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Shape +*******************************/ + +.ui.shape { + position: relative; + vertical-align: top; + display: inline-block; + perspective: 2000px; + transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out; +} + +.ui.shape .sides { + transform-style: preserve-3d; +} + +.ui.shape .side { + opacity: 1; + width: 100%; + margin: 0em !important; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.ui.shape .side { + display: none; +} + +.ui.shape .side * { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; +} + +/******************************* + Types +*******************************/ + +.ui.cube.shape .side { + min-width: 15em; + height: 15em; + padding: 2em; + background-color: #E6E6E6; + color: rgba(0, 0, 0, 0.87); + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.3); +} + +.ui.cube.shape .side > .content { + width: 100%; + height: 100%; + display: table; + text-align: center; + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; +} + +.ui.cube.shape .side > .content > div { + display: table-cell; + vertical-align: middle; + font-size: 2em; +} + +/******************************* + Variations +*******************************/ + +.ui.text.shape.animating .sides { + position: static; +} + +.ui.text.shape .side { + white-space: nowrap; +} + +.ui.text.shape .side > * { + white-space: normal; +} + +/******************************* + States +*******************************/ + +/*-------------- + Loading +---------------*/ + +.ui.loading.shape { + position: absolute; + top: -9999px; + left: -9999px; +} + +/*-------------- + Animating +---------------*/ + +.ui.shape .animating.side { + position: absolute; + top: 0px; + left: 0px; + display: block; + z-index: 100; +} + +.ui.shape .hidden.side { + opacity: 0.6; +} + +/*-------------- + CSS +---------------*/ + +.ui.shape.animating .sides { + position: absolute; +} + +.ui.shape.animating .sides { + transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out; +} + +.ui.shape.animating .side { + transition: opacity 0.6s ease-in-out; +} + +/*-------------- + Active +---------------*/ + +.ui.shape .active.side { + display: block; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + User Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Sidebar + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Sidebar +*******************************/ + +/* Sidebar Menu */ + +.ui.sidebar { + position: fixed; + top: 0; + left: 0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: none; + will-change: transform; + transform: translate3d(0, 0, 0); + visibility: hidden; + -webkit-overflow-scrolling: touch; + height: 100% !important; + max-height: 100%; + border-radius: 0em !important; + margin: 0em !important; + overflow-y: auto !important; + z-index: 102; +} + +/* GPU Layers for Child Elements */ + +.ui.sidebar > * { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +/*-------------- + Direction +---------------*/ + +.ui.left.sidebar { + right: auto; + left: 0px; + transform: translate3d(-100%, 0, 0); +} + +.ui.right.sidebar { + right: 0px !important; + left: auto !important; + transform: translate3d(100%, 0%, 0); +} + +.ui.top.sidebar, +.ui.bottom.sidebar { + width: 100% !important; + height: auto !important; +} + +.ui.top.sidebar { + top: 0px !important; + bottom: auto !important; + transform: translate3d(0, -100%, 0); +} + +.ui.bottom.sidebar { + top: auto !important; + bottom: 0px !important; + transform: translate3d(0, 100%, 0); +} + +/*-------------- + Pushable +---------------*/ + +.pushable { + height: 100%; + overflow-x: hidden; + padding: 0em !important; +} + +/* Whole Page */ + +body.pushable { + background: #545454 !important; +} + +/* Page Context */ + +.pushable:not(body) { + transform: translate3d(0, 0, 0); +} + +.pushable:not(body) > .ui.sidebar, +.pushable:not(body) > .fixed, +.pushable:not(body) > .pusher:after { + position: absolute; +} + +/*-------------- + Fixed +---------------*/ + +.pushable > .fixed { + position: fixed; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 500ms ease; + will-change: transform; + z-index: 101; +} + +/*-------------- + Page +---------------*/ + +.pushable > .pusher { + position: relative; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + overflow: hidden; + min-height: 100%; + transition: transform 500ms ease; + z-index: 2; +} + +body.pushable > .pusher { + background: #FFFFFF; +} + +/* Pusher should inherit background from context */ + +.pushable > .pusher { + background: inherit; +} + +/*-------------- + Dimmer +---------------*/ + +.pushable > .pusher:after { + position: fixed; + top: 0px; + right: 0px; + content: ''; + background-color: rgba(0, 0, 0, 0.4); + overflow: hidden; + opacity: 0; + transition: opacity 500ms; + will-change: opacity; + z-index: 1000; +} + +/*-------------- + Coupling +---------------*/ + +.ui.sidebar.menu .item { + border-radius: 0em !important; +} + +/******************************* + States +*******************************/ + +/*-------------- + Dimmed +---------------*/ + +.pushable > .pusher.dimmed:after { + width: 100% !important; + height: 100% !important; + opacity: 1 !important; +} + +/*-------------- + Animating +---------------*/ + +.ui.animating.sidebar { + visibility: visible; +} + +/*-------------- + Visible +---------------*/ + +.ui.visible.sidebar { + visibility: visible; + transform: translate3d(0, 0, 0); +} + +/* Shadow Direction */ + +.ui.left.visible.sidebar, +.ui.right.visible.sidebar { + box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15); +} + +.ui.top.visible.sidebar, +.ui.bottom.visible.sidebar { + box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15); +} + +/* Visible On Load */ + +.ui.visible.left.sidebar ~ .fixed, +.ui.visible.left.sidebar ~ .pusher { + transform: translate3d(260px, 0, 0); +} + +.ui.visible.right.sidebar ~ .fixed, +.ui.visible.right.sidebar ~ .pusher { + transform: translate3d(-260px, 0, 0); +} + +.ui.visible.top.sidebar ~ .fixed, +.ui.visible.top.sidebar ~ .pusher { + transform: translate3d(0, 36px, 0); +} + +.ui.visible.bottom.sidebar ~ .fixed, +.ui.visible.bottom.sidebar ~ .pusher { + transform: translate3d(0, -36px, 0); +} + +/* opposite sides visible forces content overlay */ + +.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .fixed, +.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher, +.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .fixed, +.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher { + transform: translate3d(0, 0, 0); +} + +/*-------------- + iOS +---------------*/ + +/******************************* + Variations +*******************************/ + +/*-------------- + Width +---------------*/ + +/* Left / Right */ + +.ui.thin.left.sidebar, +.ui.thin.right.sidebar { + width: 150px; +} + +.ui[class*="very thin"].left.sidebar, +.ui[class*="very thin"].right.sidebar { + width: 60px; +} + +.ui.left.sidebar, +.ui.right.sidebar { + width: 260px; +} + +.ui.wide.left.sidebar, +.ui.wide.right.sidebar { + width: 350px; +} + +.ui[class*="very wide"].left.sidebar, +.ui[class*="very wide"].right.sidebar { + width: 475px; +} + +/* Left Visible */ + +.ui.visible.thin.left.sidebar ~ .fixed, +.ui.visible.thin.left.sidebar ~ .pusher { + transform: translate3d(150px, 0, 0); +} + +.ui.visible[class*="very thin"].left.sidebar ~ .fixed, +.ui.visible[class*="very thin"].left.sidebar ~ .pusher { + transform: translate3d(60px, 0, 0); +} + +.ui.visible.wide.left.sidebar ~ .fixed, +.ui.visible.wide.left.sidebar ~ .pusher { + transform: translate3d(350px, 0, 0); +} + +.ui.visible[class*="very wide"].left.sidebar ~ .fixed, +.ui.visible[class*="very wide"].left.sidebar ~ .pusher { + transform: translate3d(475px, 0, 0); +} + +/* Right Visible */ + +.ui.visible.thin.right.sidebar ~ .fixed, +.ui.visible.thin.right.sidebar ~ .pusher { + transform: translate3d(-150px, 0, 0); +} + +.ui.visible[class*="very thin"].right.sidebar ~ .fixed, +.ui.visible[class*="very thin"].right.sidebar ~ .pusher { + transform: translate3d(-60px, 0, 0); +} + +.ui.visible.wide.right.sidebar ~ .fixed, +.ui.visible.wide.right.sidebar ~ .pusher { + transform: translate3d(-350px, 0, 0); +} + +.ui.visible[class*="very wide"].right.sidebar ~ .fixed, +.ui.visible[class*="very wide"].right.sidebar ~ .pusher { + transform: translate3d(-475px, 0, 0); +} + +/******************************* + Animations +*******************************/ + +/*-------------- + Overlay +---------------*/ + +/* Set-up */ + +.ui.overlay.sidebar { + z-index: 102; +} + +/* Initial */ + +.ui.left.overlay.sidebar { + transform: translate3d(-100%, 0%, 0); +} + +.ui.right.overlay.sidebar { + transform: translate3d(100%, 0%, 0); +} + +.ui.top.overlay.sidebar { + transform: translate3d(0%, -100%, 0); +} + +.ui.bottom.overlay.sidebar { + transform: translate3d(0%, 100%, 0); +} + +/* Animation */ + +.animating.ui.overlay.sidebar, +.ui.visible.overlay.sidebar { + transition: transform 500ms ease; +} + +/* End - Sidebar */ + +.ui.visible.left.overlay.sidebar { + transform: translate3d(0%, 0%, 0); +} + +.ui.visible.right.overlay.sidebar { + transform: translate3d(0%, 0%, 0); +} + +.ui.visible.top.overlay.sidebar { + transform: translate3d(0%, 0%, 0); +} + +.ui.visible.bottom.overlay.sidebar { + transform: translate3d(0%, 0%, 0); +} + +/* End - Pusher */ + +.ui.visible.overlay.sidebar ~ .fixed, +.ui.visible.overlay.sidebar ~ .pusher { + transform: none !important; +} + +/*-------------- + Push +---------------*/ + +/* Initial */ + +.ui.push.sidebar { + transition: transform 500ms ease; + z-index: 102; +} + +/* Sidebar - Initial */ + +.ui.left.push.sidebar { + transform: translate3d(-100%, 0, 0); +} + +.ui.right.push.sidebar { + transform: translate3d(100%, 0, 0); +} + +.ui.top.push.sidebar { + transform: translate3d(0%, -100%, 0); +} + +.ui.bottom.push.sidebar { + transform: translate3d(0%, 100%, 0); +} + +/* End */ + +.ui.visible.push.sidebar { + transform: translate3d(0%, 0, 0); +} + +/*-------------- + Uncover +---------------*/ + +/* Initial */ + +.ui.uncover.sidebar { + transform: translate3d(0, 0, 0); + z-index: 1; +} + +/* End */ + +.ui.visible.uncover.sidebar { + transform: translate3d(0, 0, 0); + transition: transform 500ms ease; +} + +/*-------------- + Slide Along +---------------*/ + +/* Initial */ + +.ui.slide.along.sidebar { + z-index: 1; +} + +/* Sidebar - Initial */ + +.ui.left.slide.along.sidebar { + transform: translate3d(-50%, 0, 0); +} + +.ui.right.slide.along.sidebar { + transform: translate3d(50%, 0, 0); +} + +.ui.top.slide.along.sidebar { + transform: translate3d(0, -50%, 0); +} + +.ui.bottom.slide.along.sidebar { + transform: translate3d(0%, 50%, 0); +} + +/* Animation */ + +.ui.animating.slide.along.sidebar { + transition: transform 500ms ease; +} + +/* End */ + +.ui.visible.slide.along.sidebar { + transform: translate3d(0%, 0, 0); +} + +/*-------------- + Slide Out +---------------*/ + +/* Initial */ + +.ui.slide.out.sidebar { + z-index: 1; +} + +/* Sidebar - Initial */ + +.ui.left.slide.out.sidebar { + transform: translate3d(50%, 0, 0); +} + +.ui.right.slide.out.sidebar { + transform: translate3d(-50%, 0, 0); +} + +.ui.top.slide.out.sidebar { + transform: translate3d(0%, 50%, 0); +} + +.ui.bottom.slide.out.sidebar { + transform: translate3d(0%, -50%, 0); +} + +/* Animation */ + +.ui.animating.slide.out.sidebar { + transition: transform 500ms ease; +} + +/* End */ + +.ui.visible.slide.out.sidebar { + transform: translate3d(0%, 0, 0); +} + +/*-------------- + Scale Down +---------------*/ + +/* Initial */ + +.ui.scale.down.sidebar { + transition: transform 500ms ease; + z-index: 102; +} + +/* Sidebar - Initial */ + +.ui.left.scale.down.sidebar { + transform: translate3d(-100%, 0, 0); +} + +.ui.right.scale.down.sidebar { + transform: translate3d(100%, 0, 0); +} + +.ui.top.scale.down.sidebar { + transform: translate3d(0%, -100%, 0); +} + +.ui.bottom.scale.down.sidebar { + transform: translate3d(0%, 100%, 0); +} + +/* Pusher - Initial */ + +.ui.scale.down.left.sidebar ~ .pusher { + transform-origin: 75% 50%; +} + +.ui.scale.down.right.sidebar ~ .pusher { + transform-origin: 25% 50%; +} + +.ui.scale.down.top.sidebar ~ .pusher { + transform-origin: 50% 75%; +} + +.ui.scale.down.bottom.sidebar ~ .pusher { + transform-origin: 50% 25%; +} + +/* Animation */ + +.ui.animating.scale.down > .visible.ui.sidebar { + transition: transform 500ms ease; +} + +.ui.visible.scale.down.sidebar ~ .pusher, +.ui.animating.scale.down.sidebar ~ .pusher { + display: block !important; + width: 100%; + height: 100%; + overflow: hidden !important; +} + +/* End */ + +.ui.visible.scale.down.sidebar { + transform: translate3d(0, 0, 0); +} + +.ui.visible.scale.down.sidebar ~ .pusher { + transform: scale(0.75); +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Sticky + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Sticky +*******************************/ + +.ui.sticky { + position: static; + transition: none; + z-index: 800; +} + +/******************************* + States +*******************************/ + +/* Bound */ + +.ui.sticky.bound { + position: absolute; + left: auto; + right: auto; +} + +/* Fixed */ + +.ui.sticky.fixed { + position: fixed; + left: auto; + right: auto; +} + +/* Bound/Fixed Position */ + +.ui.sticky.bound.top, +.ui.sticky.fixed.top { + top: 0px; + bottom: auto; +} + +.ui.sticky.bound.bottom, +.ui.sticky.fixed.bottom { + top: auto; + bottom: 0px; +} + +/******************************* + Types +*******************************/ + +.ui.native.sticky { + position: -webkit-sticky; + position: -moz-sticky; + position: -ms-sticky; + position: -o-sticky; + position: sticky; +} + +/******************************* + Theme Overrides +*******************************/ + +/******************************* + Site Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Tab + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + UI Tabs +*******************************/ + +.ui.tab { + display: none; +} + +/******************************* + States +*******************************/ + +/*-------------------- + Active +---------------------*/ + +.ui.tab.active, +.ui.tab.open { + display: block; +} + +/*-------------------- + Loading +---------------------*/ + +.ui.tab.loading { + position: relative; + overflow: hidden; + display: block; + min-height: 250px; +} + +.ui.tab.loading * { + position: relative !important; + left: -10000px !important; +} + +.ui.tab.loading:before, +.ui.tab.loading.segment:before { + position: absolute; + content: ''; + top: 100px; + left: 50%; + margin: -1.25em 0em 0em -1.25em; + width: 2.5em; + height: 2.5em; + border-radius: 500rem; + border: 0.2em solid rgba(0, 0, 0, 0.1); +} + +.ui.tab.loading:after, +.ui.tab.loading.segment:after { + position: absolute; + content: ''; + top: 100px; + left: 50%; + margin: -1.25em 0em 0em -1.25em; + width: 2.5em; + height: 2.5em; + -webkit-animation: button-spin 0.6s linear; + animation: button-spin 0.6s linear; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + border-radius: 500rem; + border-color: #767676 transparent transparent; + border-style: solid; + border-width: 0.2em; + box-shadow: 0px 0px 0px 1px transparent; +} + +/******************************* + Tab Overrides +*******************************/ + +/******************************* + User Overrides +*******************************/ +/*! + * # Semantic UI 2.5.0 - Transition + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +/******************************* + Transitions +*******************************/ + +.transition { + -webkit-animation-iteration-count: 1; + animation-iteration-count: 1; + -webkit-animation-duration: 300ms; + animation-duration: 300ms; + -webkit-animation-timing-function: ease; + animation-timing-function: ease; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +/******************************* + States +*******************************/ + +/* Animating */ + +.animating.transition { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + visibility: visible !important; +} + +/* Loading */ + +.loading.transition { + position: absolute; + top: -99999px; + left: -99999px; +} + +/* Hidden */ + +.hidden.transition { + display: none; + visibility: hidden; +} + +/* Visible */ + +.visible.transition { + display: block !important; + visibility: visible !important; + /* backface-visibility: @backfaceVisibility; + transform: @use3DAcceleration;*/ +} + +/* Disabled */ + +.disabled.transition { + -webkit-animation-play-state: paused; + animation-play-state: paused; +} + +/******************************* + Variations +*******************************/ + +.looping.transition { + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; +} + +/******************************* + Transitions +*******************************/ + +/* + Some transitions adapted from Animate CSS + https://github.com/daneden/animate.css + + Additional transitions adapted from Glide + by Nick Pettit - https://github.com/nickpettit/glide +*/ + +/*-------------- + Browse +---------------*/ + +.transition.browse { + -webkit-animation-duration: 500ms; + animation-duration: 500ms; +} + +.transition.browse.in { + -webkit-animation-name: browseIn; + animation-name: browseIn; +} + +.transition.browse.out, +.transition.browse.left.out { + -webkit-animation-name: browseOutLeft; + animation-name: browseOutLeft; +} + +.transition.browse.right.out { + -webkit-animation-name: browseOutRight; + animation-name: browseOutRight; +} + +/* In */ + +@-webkit-keyframes browseIn { + 0% { + transform: scale(0.8) translateZ(0px); + z-index: -1; + } + + 10% { + transform: scale(0.8) translateZ(0px); + z-index: -1; + opacity: 0.7; + } + + 80% { + transform: scale(1.05) translateZ(0px); + opacity: 1; + z-index: 999; + } + + 100% { + transform: scale(1) translateZ(0px); + z-index: 999; + } +} + +@keyframes browseIn { + 0% { + transform: scale(0.8) translateZ(0px); + z-index: -1; + } + + 10% { + transform: scale(0.8) translateZ(0px); + z-index: -1; + opacity: 0.7; + } + + 80% { + transform: scale(1.05) translateZ(0px); + opacity: 1; + z-index: 999; + } + + 100% { + transform: scale(1) translateZ(0px); + z-index: 999; + } +} + +/* Out */ + +@-webkit-keyframes browseOutLeft { + 0% { + z-index: 999; + transform: translateX(0%) rotateY(0deg) rotateX(0deg); + } + + 50% { + z-index: -1; + transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); + } + + 80% { + opacity: 1; + } + + 100% { + z-index: -1; + transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); + opacity: 0; + } +} + +@keyframes browseOutLeft { + 0% { + z-index: 999; + transform: translateX(0%) rotateY(0deg) rotateX(0deg); + } + + 50% { + z-index: -1; + transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); + } + + 80% { + opacity: 1; + } + + 100% { + z-index: -1; + transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); + opacity: 0; + } +} + +@-webkit-keyframes browseOutRight { + 0% { + z-index: 999; + transform: translateX(0%) rotateY(0deg) rotateX(0deg); + } + + 50% { + z-index: 1; + transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); + } + + 80% { + opacity: 1; + } + + 100% { + z-index: 1; + transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); + opacity: 0; + } +} + +@keyframes browseOutRight { + 0% { + z-index: 999; + transform: translateX(0%) rotateY(0deg) rotateX(0deg); + } + + 50% { + z-index: 1; + transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); + } + + 80% { + opacity: 1; + } + + 100% { + z-index: 1; + transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); + opacity: 0; + } +} + +/*-------------- + Drop +---------------*/ + +.drop.transition { + transform-origin: top center; + -webkit-animation-duration: 400ms; + animation-duration: 400ms; + -webkit-animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1); + animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1); +} + +.drop.transition.in { + -webkit-animation-name: dropIn; + animation-name: dropIn; +} + +.drop.transition.out { + -webkit-animation-name: dropOut; + animation-name: dropOut; +} + +/* Drop */ + +@-webkit-keyframes dropIn { + 0% { + opacity: 0; + transform: scale(0); + } + + 100% { + opacity: 1; + transform: scale(1); + } +} + +@keyframes dropIn { + 0% { + opacity: 0; + transform: scale(0); + } + + 100% { + opacity: 1; + transform: scale(1); + } +} + +@-webkit-keyframes dropOut { + 0% { + opacity: 1; + transform: scale(1); + } + + 100% { + opacity: 0; + transform: scale(0); + } +} + +@keyframes dropOut { + 0% { + opacity: 1; + transform: scale(1); + } + + 100% { + opacity: 0; + transform: scale(0); + } +} + +/*-------------- + Fade +---------------*/ + +.transition.fade.in { + -webkit-animation-name: fadeIn; + animation-name: fadeIn; +} + +.transition[class*="fade up"].in { + -webkit-animation-name: fadeInUp; + animation-name: fadeInUp; +} + +.transition[class*="fade down"].in { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; +} + +.transition[class*="fade left"].in { + -webkit-animation-name: fadeInLeft; + animation-name: fadeInLeft; +} + +.transition[class*="fade right"].in { + -webkit-animation-name: fadeInRight; + animation-name: fadeInRight; +} + +.transition.fade.out { + -webkit-animation-name: fadeOut; + animation-name: fadeOut; +} + +.transition[class*="fade up"].out { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; +} + +.transition[class*="fade down"].out { + -webkit-animation-name: fadeOutDown; + animation-name: fadeOutDown; +} + +.transition[class*="fade left"].out { + -webkit-animation-name: fadeOutLeft; + animation-name: fadeOutLeft; +} + +.transition[class*="fade right"].out { + -webkit-animation-name: fadeOutRight; + animation-name: fadeOutRight; +} + +/* In */ + +@-webkit-keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@-webkit-keyframes fadeInUp { + 0% { + opacity: 0; + transform: translateY(10%); + } + + 100% { + opacity: 1; + transform: translateY(0%); + } +} + +@keyframes fadeInUp { + 0% { + opacity: 0; + transform: translateY(10%); + } + + 100% { + opacity: 1; + transform: translateY(0%); + } +} + +@-webkit-keyframes fadeInDown { + 0% { + opacity: 0; + transform: translateY(-10%); + } + + 100% { + opacity: 1; + transform: translateY(0%); + } +} + +@keyframes fadeInDown { + 0% { + opacity: 0; + transform: translateY(-10%); + } + + 100% { + opacity: 1; + transform: translateY(0%); + } +} + +@-webkit-keyframes fadeInLeft { + 0% { + opacity: 0; + transform: translateX(10%); + } + + 100% { + opacity: 1; + transform: translateX(0%); + } +} + +@keyframes fadeInLeft { + 0% { + opacity: 0; + transform: translateX(10%); + } + + 100% { + opacity: 1; + transform: translateX(0%); + } +} + +@-webkit-keyframes fadeInRight { + 0% { + opacity: 0; + transform: translateX(-10%); + } + + 100% { + opacity: 1; + transform: translateX(0%); + } +} + +@keyframes fadeInRight { + 0% { + opacity: 0; + transform: translateX(-10%); + } + + 100% { + opacity: 1; + transform: translateX(0%); + } +} + +/* Out */ + +@-webkit-keyframes fadeOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +@keyframes fadeOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +@-webkit-keyframes fadeOutUp { + 0% { + opacity: 1; + transform: translateY(0%); + } + + 100% { + opacity: 0; + transform: translateY(5%); + } +} + +@keyframes fadeOutUp { + 0% { + opacity: 1; + transform: translateY(0%); + } + + 100% { + opacity: 0; + transform: translateY(5%); + } +} + +@-webkit-keyframes fadeOutDown { + 0% { + opacity: 1; + transform: translateY(0%); + } + + 100% { + opacity: 0; + transform: translateY(-5%); + } +} + +@keyframes fadeOutDown { + 0% { + opacity: 1; + transform: translateY(0%); + } + + 100% { + opacity: 0; + transform: translateY(-5%); + } +} + +@-webkit-keyframes fadeOutLeft { + 0% { + opacity: 1; + transform: translateX(0%); + } + + 100% { + opacity: 0; + transform: translateX(5%); + } +} + +@keyframes fadeOutLeft { + 0% { + opacity: 1; + transform: translateX(0%); + } + + 100% { + opacity: 0; + transform: translateX(5%); + } +} + +@-webkit-keyframes fadeOutRight { + 0% { + opacity: 1; + transform: translateX(0%); + } + + 100% { + opacity: 0; + transform: translateX(-5%); + } +} + +@keyframes fadeOutRight { + 0% { + opacity: 1; + transform: translateX(0%); + } + + 100% { + opacity: 0; + transform: translateX(-5%); + } +} + +/*-------------- + Flips +---------------*/ + +.flip.transition.in, +.flip.transition.out { + -webkit-animation-duration: 600ms; + animation-duration: 600ms; +} + +.horizontal.flip.transition.in { + -webkit-animation-name: horizontalFlipIn; + animation-name: horizontalFlipIn; +} + +.horizontal.flip.transition.out { + -webkit-animation-name: horizontalFlipOut; + animation-name: horizontalFlipOut; +} + +.vertical.flip.transition.in { + -webkit-animation-name: verticalFlipIn; + animation-name: verticalFlipIn; +} + +.vertical.flip.transition.out { + -webkit-animation-name: verticalFlipOut; + animation-name: verticalFlipOut; +} + +/* In */ + +@-webkit-keyframes horizontalFlipIn { + 0% { + transform: perspective(2000px) rotateY(-90deg); + opacity: 0; + } + + 100% { + transform: perspective(2000px) rotateY(0deg); + opacity: 1; + } +} + +@keyframes horizontalFlipIn { + 0% { + transform: perspective(2000px) rotateY(-90deg); + opacity: 0; + } + + 100% { + transform: perspective(2000px) rotateY(0deg); + opacity: 1; + } +} + +@-webkit-keyframes verticalFlipIn { + 0% { + transform: perspective(2000px) rotateX(-90deg); + opacity: 0; + } + + 100% { + transform: perspective(2000px) rotateX(0deg); + opacity: 1; + } +} + +@keyframes verticalFlipIn { + 0% { + transform: perspective(2000px) rotateX(-90deg); + opacity: 0; + } + + 100% { + transform: perspective(2000px) rotateX(0deg); + opacity: 1; + } +} + +/* Out */ + +@-webkit-keyframes horizontalFlipOut { + 0% { + transform: perspective(2000px) rotateY(0deg); + opacity: 1; + } + + 100% { + transform: perspective(2000px) rotateY(90deg); + opacity: 0; + } +} + +@keyframes horizontalFlipOut { + 0% { + transform: perspective(2000px) rotateY(0deg); + opacity: 1; + } + + 100% { + transform: perspective(2000px) rotateY(90deg); + opacity: 0; + } +} + +@-webkit-keyframes verticalFlipOut { + 0% { + transform: perspective(2000px) rotateX(0deg); + opacity: 1; + } + + 100% { + transform: perspective(2000px) rotateX(-90deg); + opacity: 0; + } +} + +@keyframes verticalFlipOut { + 0% { + transform: perspective(2000px) rotateX(0deg); + opacity: 1; + } + + 100% { + transform: perspective(2000px) rotateX(-90deg); + opacity: 0; + } +} + +/*-------------- + Scale +---------------*/ + +.scale.transition.in { + -webkit-animation-name: scaleIn; + animation-name: scaleIn; +} + +.scale.transition.out { + -webkit-animation-name: scaleOut; + animation-name: scaleOut; +} + +@-webkit-keyframes scaleIn { + 0% { + opacity: 0; + transform: scale(0.8); + } + + 100% { + opacity: 1; + transform: scale(1); + } +} + +@keyframes scaleIn { + 0% { + opacity: 0; + transform: scale(0.8); + } + + 100% { + opacity: 1; + transform: scale(1); + } +} + +/* Out */ + +@-webkit-keyframes scaleOut { + 0% { + opacity: 1; + transform: scale(1); + } + + 100% { + opacity: 0; + transform: scale(0.9); + } +} + +@keyframes scaleOut { + 0% { + opacity: 1; + transform: scale(1); + } + + 100% { + opacity: 0; + transform: scale(0.9); + } +} + +/*-------------- + Fly +---------------*/ + +/* Inward */ + +.transition.fly { + -webkit-animation-duration: 0.6s; + animation-duration: 0.6s; + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); +} + +.transition.fly.in { + -webkit-animation-name: flyIn; + animation-name: flyIn; +} + +.transition[class*="fly up"].in { + -webkit-animation-name: flyInUp; + animation-name: flyInUp; +} + +.transition[class*="fly down"].in { + -webkit-animation-name: flyInDown; + animation-name: flyInDown; +} + +.transition[class*="fly left"].in { + -webkit-animation-name: flyInLeft; + animation-name: flyInLeft; +} + +.transition[class*="fly right"].in { + -webkit-animation-name: flyInRight; + animation-name: flyInRight; +} + +/* Outward */ + +.transition.fly.out { + -webkit-animation-name: flyOut; + animation-name: flyOut; +} + +.transition[class*="fly up"].out { + -webkit-animation-name: flyOutUp; + animation-name: flyOutUp; +} + +.transition[class*="fly down"].out { + -webkit-animation-name: flyOutDown; + animation-name: flyOutDown; +} + +.transition[class*="fly left"].out { + -webkit-animation-name: flyOutLeft; + animation-name: flyOutLeft; +} + +.transition[class*="fly right"].out { + -webkit-animation-name: flyOutRight; + animation-name: flyOutRight; +} + +/* In */ + +@-webkit-keyframes flyIn { + 0% { + opacity: 0; + transform: scale3d(0.3, 0.3, 0.3); + } + + 20% { + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + transform: scale3d(0.9, 0.9, 0.9); + } + + 60% { + opacity: 1; + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + transform: scale3d(0.97, 0.97, 0.97); + } + + 100% { + opacity: 1; + transform: scale3d(1, 1, 1); + } +} + +@keyframes flyIn { + 0% { + opacity: 0; + transform: scale3d(0.3, 0.3, 0.3); + } + + 20% { + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + transform: scale3d(0.9, 0.9, 0.9); + } + + 60% { + opacity: 1; + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + transform: scale3d(0.97, 0.97, 0.97); + } + + 100% { + opacity: 1; + transform: scale3d(1, 1, 1); + } +} + +@-webkit-keyframes flyInUp { + 0% { + opacity: 0; + transform: translate3d(0, 1500px, 0); + } + + 60% { + opacity: 1; + transform: translate3d(0, -20px, 0); + } + + 75% { + transform: translate3d(0, 10px, 0); + } + + 90% { + transform: translate3d(0, -5px, 0); + } + + 100% { + transform: translate3d(0, 0, 0); + } +} + +@keyframes flyInUp { + 0% { + opacity: 0; + transform: translate3d(0, 1500px, 0); + } + + 60% { + opacity: 1; + transform: translate3d(0, -20px, 0); + } + + 75% { + transform: translate3d(0, 10px, 0); + } + + 90% { + transform: translate3d(0, -5px, 0); + } + + 100% { + transform: translate3d(0, 0, 0); + } +} + +@-webkit-keyframes flyInDown { + 0% { + opacity: 0; + transform: translate3d(0, -1500px, 0); + } + + 60% { + opacity: 1; + transform: translate3d(0, 25px, 0); + } + + 75% { + transform: translate3d(0, -10px, 0); + } + + 90% { + transform: translate3d(0, 5px, 0); + } + + 100% { + transform: none; + } +} + +@keyframes flyInDown { + 0% { + opacity: 0; + transform: translate3d(0, -1500px, 0); + } + + 60% { + opacity: 1; + transform: translate3d(0, 25px, 0); + } + + 75% { + transform: translate3d(0, -10px, 0); + } + + 90% { + transform: translate3d(0, 5px, 0); + } + + 100% { + transform: none; + } +} + +@-webkit-keyframes flyInLeft { + 0% { + opacity: 0; + transform: translate3d(1500px, 0, 0); + } + + 60% { + opacity: 1; + transform: translate3d(-25px, 0, 0); + } + + 75% { + transform: translate3d(10px, 0, 0); + } + + 90% { + transform: translate3d(-5px, 0, 0); + } + + 100% { + transform: none; + } +} + +@keyframes flyInLeft { + 0% { + opacity: 0; + transform: translate3d(1500px, 0, 0); + } + + 60% { + opacity: 1; + transform: translate3d(-25px, 0, 0); + } + + 75% { + transform: translate3d(10px, 0, 0); + } + + 90% { + transform: translate3d(-5px, 0, 0); + } + + 100% { + transform: none; + } +} + +@-webkit-keyframes flyInRight { + 0% { + opacity: 0; + transform: translate3d(-1500px, 0, 0); + } + + 60% { + opacity: 1; + transform: translate3d(25px, 0, 0); + } + + 75% { + transform: translate3d(-10px, 0, 0); + } + + 90% { + transform: translate3d(5px, 0, 0); + } + + 100% { + transform: none; + } +} + +@keyframes flyInRight { + 0% { + opacity: 0; + transform: translate3d(-1500px, 0, 0); + } + + 60% { + opacity: 1; + transform: translate3d(25px, 0, 0); + } + + 75% { + transform: translate3d(-10px, 0, 0); + } + + 90% { + transform: translate3d(5px, 0, 0); + } + + 100% { + transform: none; + } +} + +/* Out */ + +@-webkit-keyframes flyOut { + 20% { + transform: scale3d(0.9, 0.9, 0.9); + } + + 50%, 55% { + opacity: 1; + transform: scale3d(1.1, 1.1, 1.1); + } + + 100% { + opacity: 0; + transform: scale3d(0.3, 0.3, 0.3); + } +} + +@keyframes flyOut { + 20% { + transform: scale3d(0.9, 0.9, 0.9); + } + + 50%, 55% { + opacity: 1; + transform: scale3d(1.1, 1.1, 1.1); + } + + 100% { + opacity: 0; + transform: scale3d(0.3, 0.3, 0.3); + } +} + +@-webkit-keyframes flyOutUp { + 20% { + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + transform: translate3d(0, -20px, 0); + } + + 100% { + opacity: 0; + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes flyOutUp { + 20% { + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + transform: translate3d(0, -20px, 0); + } + + 100% { + opacity: 0; + transform: translate3d(0, 2000px, 0); + } +} + +@-webkit-keyframes flyOutDown { + 20% { + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + transform: translate3d(0, 20px, 0); + } + + 100% { + opacity: 0; + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes flyOutDown { + 20% { + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + transform: translate3d(0, 20px, 0); + } + + 100% { + opacity: 0; + transform: translate3d(0, -2000px, 0); + } +} + +@-webkit-keyframes flyOutRight { + 20% { + opacity: 1; + transform: translate3d(20px, 0, 0); + } + + 100% { + opacity: 0; + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes flyOutRight { + 20% { + opacity: 1; + transform: translate3d(20px, 0, 0); + } + + 100% { + opacity: 0; + transform: translate3d(-2000px, 0, 0); + } +} + +@-webkit-keyframes flyOutLeft { + 20% { + opacity: 1; + transform: translate3d(-20px, 0, 0); + } + + 100% { + opacity: 0; + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes flyOutLeft { + 20% { + opacity: 1; + transform: translate3d(-20px, 0, 0); + } + + 100% { + opacity: 0; + transform: translate3d(2000px, 0, 0); + } +} + +/*-------------- + Slide +---------------*/ + +.transition.slide.in, +.transition[class*="slide down"].in { + -webkit-animation-name: slideInY; + animation-name: slideInY; + transform-origin: top center; +} + +.transition[class*="slide up"].in { + -webkit-animation-name: slideInY; + animation-name: slideInY; + transform-origin: bottom center; +} + +.transition[class*="slide left"].in { + -webkit-animation-name: slideInX; + animation-name: slideInX; + transform-origin: center right; +} + +.transition[class*="slide right"].in { + -webkit-animation-name: slideInX; + animation-name: slideInX; + transform-origin: center left; +} + +.transition.slide.out, +.transition[class*="slide down"].out { + -webkit-animation-name: slideOutY; + animation-name: slideOutY; + transform-origin: top center; +} + +.transition[class*="slide up"].out { + -webkit-animation-name: slideOutY; + animation-name: slideOutY; + transform-origin: bottom center; +} + +.transition[class*="slide left"].out { + -webkit-animation-name: slideOutX; + animation-name: slideOutX; + transform-origin: center right; +} + +.transition[class*="slide right"].out { + -webkit-animation-name: slideOutX; + animation-name: slideOutX; + transform-origin: center left; +} + +/* In */ + +@-webkit-keyframes slideInY { + 0% { + opacity: 0; + transform: scaleY(0); + } + + 100% { + opacity: 1; + transform: scaleY(1); + } +} + +@keyframes slideInY { + 0% { + opacity: 0; + transform: scaleY(0); + } + + 100% { + opacity: 1; + transform: scaleY(1); + } +} + +@-webkit-keyframes slideInX { + 0% { + opacity: 0; + transform: scaleX(0); + } + + 100% { + opacity: 1; + transform: scaleX(1); + } +} + +@keyframes slideInX { + 0% { + opacity: 0; + transform: scaleX(0); + } + + 100% { + opacity: 1; + transform: scaleX(1); + } +} + +/* Out */ + +@-webkit-keyframes slideOutY { + 0% { + opacity: 1; + transform: scaleY(1); + } + + 100% { + opacity: 0; + transform: scaleY(0); + } +} + +@keyframes slideOutY { + 0% { + opacity: 1; + transform: scaleY(1); + } + + 100% { + opacity: 0; + transform: scaleY(0); + } +} + +@-webkit-keyframes slideOutX { + 0% { + opacity: 1; + transform: scaleX(1); + } + + 100% { + opacity: 0; + transform: scaleX(0); + } +} + +@keyframes slideOutX { + 0% { + opacity: 1; + transform: scaleX(1); + } + + 100% { + opacity: 0; + transform: scaleX(0); + } +} + +/*-------------- + Swing +---------------*/ + +.transition.swing { + -webkit-animation-duration: 800ms; + animation-duration: 800ms; +} + +.transition[class*="swing down"].in { + -webkit-animation-name: swingInX; + animation-name: swingInX; + transform-origin: top center; +} + +.transition[class*="swing up"].in { + -webkit-animation-name: swingInX; + animation-name: swingInX; + transform-origin: bottom center; +} + +.transition[class*="swing left"].in { + -webkit-animation-name: swingInY; + animation-name: swingInY; + transform-origin: center right; +} + +.transition[class*="swing right"].in { + -webkit-animation-name: swingInY; + animation-name: swingInY; + transform-origin: center left; +} + +.transition.swing.out, +.transition[class*="swing down"].out { + -webkit-animation-name: swingOutX; + animation-name: swingOutX; + transform-origin: top center; +} + +.transition[class*="swing up"].out { + -webkit-animation-name: swingOutX; + animation-name: swingOutX; + transform-origin: bottom center; +} + +.transition[class*="swing left"].out { + -webkit-animation-name: swingOutY; + animation-name: swingOutY; + transform-origin: center right; +} + +.transition[class*="swing right"].out { + -webkit-animation-name: swingOutY; + animation-name: swingOutY; + transform-origin: center left; +} + +/* In */ + +@-webkit-keyframes swingInX { + 0% { + transform: perspective(1000px) rotateX(90deg); + opacity: 0; + } + + 40% { + transform: perspective(1000px) rotateX(-30deg); + opacity: 1; + } + + 60% { + transform: perspective(1000px) rotateX(15deg); + } + + 80% { + transform: perspective(1000px) rotateX(-7.5deg); + } + + 100% { + transform: perspective(1000px) rotateX(0deg); + } +} + +@keyframes swingInX { + 0% { + transform: perspective(1000px) rotateX(90deg); + opacity: 0; + } + + 40% { + transform: perspective(1000px) rotateX(-30deg); + opacity: 1; + } + + 60% { + transform: perspective(1000px) rotateX(15deg); + } + + 80% { + transform: perspective(1000px) rotateX(-7.5deg); + } + + 100% { + transform: perspective(1000px) rotateX(0deg); + } +} + +@-webkit-keyframes swingInY { + 0% { + transform: perspective(1000px) rotateY(-90deg); + opacity: 0; + } + + 40% { + transform: perspective(1000px) rotateY(30deg); + opacity: 1; + } + + 60% { + transform: perspective(1000px) rotateY(-17.5deg); + } + + 80% { + transform: perspective(1000px) rotateY(7.5deg); + } + + 100% { + transform: perspective(1000px) rotateY(0deg); + } +} + +@keyframes swingInY { + 0% { + transform: perspective(1000px) rotateY(-90deg); + opacity: 0; + } + + 40% { + transform: perspective(1000px) rotateY(30deg); + opacity: 1; + } + + 60% { + transform: perspective(1000px) rotateY(-17.5deg); + } + + 80% { + transform: perspective(1000px) rotateY(7.5deg); + } + + 100% { + transform: perspective(1000px) rotateY(0deg); + } +} + +/* Out */ + +@-webkit-keyframes swingOutX { + 0% { + transform: perspective(1000px) rotateX(0deg); + } + + 40% { + transform: perspective(1000px) rotateX(-7.5deg); + } + + 60% { + transform: perspective(1000px) rotateX(17.5deg); + } + + 80% { + transform: perspective(1000px) rotateX(-30deg); + opacity: 1; + } + + 100% { + transform: perspective(1000px) rotateX(90deg); + opacity: 0; + } +} + +@keyframes swingOutX { + 0% { + transform: perspective(1000px) rotateX(0deg); + } + + 40% { + transform: perspective(1000px) rotateX(-7.5deg); + } + + 60% { + transform: perspective(1000px) rotateX(17.5deg); + } + + 80% { + transform: perspective(1000px) rotateX(-30deg); + opacity: 1; + } + + 100% { + transform: perspective(1000px) rotateX(90deg); + opacity: 0; + } +} + +@-webkit-keyframes swingOutY { + 0% { + transform: perspective(1000px) rotateY(0deg); + } + + 40% { + transform: perspective(1000px) rotateY(7.5deg); + } + + 60% { + transform: perspective(1000px) rotateY(-10deg); + } + + 80% { + transform: perspective(1000px) rotateY(30deg); + opacity: 1; + } + + 100% { + transform: perspective(1000px) rotateY(-90deg); + opacity: 0; + } +} + +@keyframes swingOutY { + 0% { + transform: perspective(1000px) rotateY(0deg); + } + + 40% { + transform: perspective(1000px) rotateY(7.5deg); + } + + 60% { + transform: perspective(1000px) rotateY(-10deg); + } + + 80% { + transform: perspective(1000px) rotateY(30deg); + opacity: 1; + } + + 100% { + transform: perspective(1000px) rotateY(-90deg); + opacity: 0; + } +} + +/*-------------- + Zoom +---------------*/ + +.transition.zoom.in { + -webkit-animation-name: zoomIn; + animation-name: zoomIn; +} + +.transition.zoom.out { + -webkit-animation-name: zoomOut; + animation-name: zoomOut; +} + +@-webkit-keyframes zoomIn { + 0% { + opacity: 1; + transform: scale(0); + } + + 100% { + opacity: 1; + transform: scale(1); + } +} + +@keyframes zoomIn { + 0% { + opacity: 1; + transform: scale(0); + } + + 100% { + opacity: 1; + transform: scale(1); + } +} + +@-webkit-keyframes zoomOut { + 0% { + opacity: 1; + transform: scale(1); + } + + 100% { + opacity: 1; + transform: scale(0); + } +} + +@keyframes zoomOut { + 0% { + opacity: 1; + transform: scale(1); + } + + 100% { + opacity: 1; + transform: scale(0); + } +} + +/******************************* + Static Animations +*******************************/ + +/*-------------- + Emphasis +---------------*/ + +.flash.transition { + -webkit-animation-duration: 750ms; + animation-duration: 750ms; + -webkit-animation-name: flash; + animation-name: flash; +} + +.shake.transition { + -webkit-animation-duration: 750ms; + animation-duration: 750ms; + -webkit-animation-name: shake; + animation-name: shake; +} + +.bounce.transition { + -webkit-animation-duration: 750ms; + animation-duration: 750ms; + -webkit-animation-name: bounce; + animation-name: bounce; +} + +.tada.transition { + -webkit-animation-duration: 750ms; + animation-duration: 750ms; + -webkit-animation-name: tada; + animation-name: tada; +} + +.pulse.transition { + -webkit-animation-duration: 500ms; + animation-duration: 500ms; + -webkit-animation-name: pulse; + animation-name: pulse; +} + +.jiggle.transition { + -webkit-animation-duration: 750ms; + animation-duration: 750ms; + -webkit-animation-name: jiggle; + animation-name: jiggle; +} + +.transition.glow { + -webkit-animation-duration: 2000ms; + animation-duration: 2000ms; + -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); + animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); +} + +.transition.glow { + -webkit-animation-name: glow; + animation-name: glow; +} + +/* Flash */ + +@-webkit-keyframes flash { + 0%, 50%, 100% { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +@keyframes flash { + 0%, 50%, 100% { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +/* Shake */ + +@-webkit-keyframes shake { + 0%, 100% { + transform: translateX(0); + } + + 10%, 30%, 50%, 70%, 90% { + transform: translateX(-10px); + } + + 20%, 40%, 60%, 80% { + transform: translateX(10px); + } +} + +@keyframes shake { + 0%, 100% { + transform: translateX(0); + } + + 10%, 30%, 50%, 70%, 90% { + transform: translateX(-10px); + } + + 20%, 40%, 60%, 80% { + transform: translateX(10px); + } +} + +/* Bounce */ + +@-webkit-keyframes bounce { + 0%, 20%, 50%, 80%, 100% { + transform: translateY(0); + } + + 40% { + transform: translateY(-30px); + } + + 60% { + transform: translateY(-15px); + } +} + +@keyframes bounce { + 0%, 20%, 50%, 80%, 100% { + transform: translateY(0); + } + + 40% { + transform: translateY(-30px); + } + + 60% { + transform: translateY(-15px); + } +} + +/* Tada */ + +@-webkit-keyframes tada { + 0% { + transform: scale(1); + } + + 10%, 20% { + transform: scale(0.9) rotate(-3deg); + } + + 30%, 50%, 70%, 90% { + transform: scale(1.1) rotate(3deg); + } + + 40%, 60%, 80% { + transform: scale(1.1) rotate(-3deg); + } + + 100% { + transform: scale(1) rotate(0); + } +} + +@keyframes tada { + 0% { + transform: scale(1); + } + + 10%, 20% { + transform: scale(0.9) rotate(-3deg); + } + + 30%, 50%, 70%, 90% { + transform: scale(1.1) rotate(3deg); + } + + 40%, 60%, 80% { + transform: scale(1.1) rotate(-3deg); + } + + 100% { + transform: scale(1) rotate(0); + } +} + +/* Pulse */ + +@-webkit-keyframes pulse { + 0% { + transform: scale(1); + opacity: 1; + } + + 50% { + transform: scale(0.9); + opacity: 0.7; + } + + 100% { + transform: scale(1); + opacity: 1; + } +} + +@keyframes pulse { + 0% { + transform: scale(1); + opacity: 1; + } + + 50% { + transform: scale(0.9); + opacity: 0.7; + } + + 100% { + transform: scale(1); + opacity: 1; + } +} + +/* Jiggle */ + +@-webkit-keyframes jiggle { + 0% { + transform: scale3d(1, 1, 1); + } + + 30% { + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + transform: scale3d(0.95, 1.05, 1); + } + + 75% { + transform: scale3d(1.05, 0.95, 1); + } + + 100% { + transform: scale3d(1, 1, 1); + } +} + +@keyframes jiggle { + 0% { + transform: scale3d(1, 1, 1); + } + + 30% { + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + transform: scale3d(0.95, 1.05, 1); + } + + 75% { + transform: scale3d(1.05, 0.95, 1); + } + + 100% { + transform: scale3d(1, 1, 1); + } +} + +/* Glow */ + +@-webkit-keyframes glow { + 0% { + background-color: #FCFCFD; + } + + 30% { + background-color: #FFF6CD; + } + + 100% { + background-color: #FCFCFD; + } +} + +@keyframes glow { + 0% { + background-color: #FCFCFD; + } + + 30% { + background-color: #FFF6CD; + } + + 100% { + background-color: #FCFCFD; + } +} + +/******************************* + Site Overrides +*******************************/ \ No newline at end of file diff --git a/src/test/resources/realworld/semantic_2_5_0.min.css b/src/test/resources/realworld/semantic_2_5_0.min.css new file mode 100644 index 0000000..f3cb6cb --- /dev/null +++ b/src/test/resources/realworld/semantic_2_5_0.min.css @@ -0,0 +1,372 @@ + /* + * # Semantic UI - 2.5.0 + * https://github.com/Semantic-Org/Semantic-UI + * http://www.semantic-ui.com/ + * + * Copyright 2022 Contributors + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ +@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin);/*! + * # Semantic UI 2.5.0 - Reset + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */*,:after,:before{box-sizing:inherit}html{box-sizing:border-box}input[type=email],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;-moz-appearance:none}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=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{display:inline-block;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-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}/*! + * # Semantic UI 2.5.0 - Site + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */body,html{height:100%}html{font-size:14px}body{margin:0;padding:0;overflow-x:hidden;min-width:320px;background:#fff;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:1.4285em;color:rgba(0,0,0,.87);font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;line-height:1.28571429em;margin:calc(2rem - .14285714em) 0 1rem;font-weight:700;padding:0}h1{min-height:1rem;font-size:2rem}h2{font-size:1.71428571rem}h3{font-size:1.28571429rem}h4{font-size:1.07142857rem}h5{font-size:1rem}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child{margin-bottom:0}p{margin:0 0 1em;line-height:1.4285em}p:first-child{margin-top:0}p:last-child{margin-bottom:0}a{color:#4183c4;text-decoration:none}a:hover{color:#1e70bf;text-decoration:none}::-webkit-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::-moz-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}input::-webkit-selection,textarea::-webkit-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::-moz-selection,textarea::-moz-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::-moz-selection,textarea::-moz-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::selection,textarea::selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}body ::-webkit-scrollbar{-webkit-appearance:none;width:10px;height:10px}body ::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:0}body ::-webkit-scrollbar-thumb{cursor:pointer;border-radius:5px;background:rgba(0,0,0,.25);-webkit-transition:color .2s ease;transition:color .2s ease}body ::-webkit-scrollbar-thumb:window-inactive{background:rgba(0,0,0,.15)}body ::-webkit-scrollbar-thumb:hover{background:rgba(128,135,139,.8)}body .ui.inverted::-webkit-scrollbar-track{background:rgba(255,255,255,.1)}body .ui.inverted::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25)}body .ui.inverted::-webkit-scrollbar-thumb:window-inactive{background:rgba(255,255,255,.15)}body .ui.inverted::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.35)}/*! + * # Semantic UI 2.5.0 - Button + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.button{cursor:pointer;display:inline-block;min-height:1em;outline:0;border:none;vertical-align:baseline;background:#e0e1e2 none;color:rgba(0,0,0,.6);font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;margin:0 .25em 0 0;padding:.78571429em 1.5em .78571429em;text-transform:none;text-shadow:none;font-weight:700;line-height:1em;font-style:normal;text-align:center;text-decoration:none;border-radius:.28571429rem;box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease;will-change:'';-webkit-tap-highlight-color:transparent}.ui.button:hover{background-color:#cacbcd;background-image:none;box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;color:rgba(0,0,0,.8)}.ui.button:hover .icon{opacity:.85}.ui.button:focus{background-color:#cacbcd;color:rgba(0,0,0,.8);background-image:''!important;box-shadow:''!important}.ui.button:focus .icon{opacity:.85}.ui.active.button:active,.ui.button:active{background-color:#babbbc;background-image:'';color:rgba(0,0,0,.9);box-shadow:0 0 0 1px transparent inset,none}.ui.active.button{background-color:#c0c1c2;background-image:none;box-shadow:0 0 0 1px transparent inset;color:rgba(0,0,0,.95)}.ui.active.button:hover{background-color:#c0c1c2;background-image:none;color:rgba(0,0,0,.95)}.ui.active.button:active{background-color:#c0c1c2;background-image:none}.ui.loading.loading.loading.loading.loading.loading.button{position:relative;cursor:default;text-shadow:none!important;color:transparent!important;opacity:1;pointer-events:auto;transition:all 0s linear,opacity .1s ease}.ui.loading.button:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.15)}.ui.loading.button:after{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#fff transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}.ui.labeled.icon.loading.button .icon{background-color:transparent;box-shadow:none}@-webkit-keyframes button-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes button-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.ui.basic.loading.button:not(.inverted):before{border-color:rgba(0,0,0,.1)}.ui.basic.loading.button:not(.inverted):after{border-top-color:#767676}.ui.button:disabled,.ui.buttons .disabled.button,.ui.disabled.active.button,.ui.disabled.button,.ui.disabled.button:hover{cursor:default;opacity:.45!important;background-image:none!important;box-shadow:none!important;pointer-events:none!important}.ui.basic.buttons .ui.disabled.button{border-color:rgba(34,36,38,.5)}.ui.animated.button{position:relative;overflow:hidden;padding-right:0!important;vertical-align:middle;z-index:1}.ui.animated.button .content{will-change:transform,opacity}.ui.animated.button .visible.content{position:relative;margin-right:1.5em}.ui.animated.button .hidden.content{position:absolute;width:100%}.ui.animated.button .hidden.content,.ui.animated.button .visible.content{transition:right .3s ease 0s}.ui.animated.button .visible.content{left:auto;right:0}.ui.animated.button .hidden.content{top:50%;left:auto;right:-100%;margin-top:-.5em}.ui.animated.button:focus .visible.content,.ui.animated.button:hover .visible.content{left:auto;right:200%}.ui.animated.button:focus .hidden.content,.ui.animated.button:hover .hidden.content{left:auto;right:0}.ui.vertical.animated.button .hidden.content,.ui.vertical.animated.button .visible.content{transition:top .3s ease,transform .3s ease}.ui.vertical.animated.button .visible.content{transform:translateY(0);right:auto}.ui.vertical.animated.button .hidden.content{top:-50%;left:0;right:auto}.ui.vertical.animated.button:focus .visible.content,.ui.vertical.animated.button:hover .visible.content{transform:translateY(200%);right:auto}.ui.vertical.animated.button:focus .hidden.content,.ui.vertical.animated.button:hover .hidden.content{top:50%;right:auto}.ui.fade.animated.button .hidden.content,.ui.fade.animated.button .visible.content{transition:opacity .3s ease,transform .3s ease}.ui.fade.animated.button .visible.content{left:auto;right:auto;opacity:1;transform:scale(1)}.ui.fade.animated.button .hidden.content{opacity:0;left:0;right:auto;transform:scale(1.5)}.ui.fade.animated.button:focus .visible.content,.ui.fade.animated.button:hover .visible.content{left:auto;right:auto;opacity:0;transform:scale(.75)}.ui.fade.animated.button:focus .hidden.content,.ui.fade.animated.button:hover .hidden.content{left:0;right:auto;opacity:1;transform:scale(1)}.ui.inverted.button{box-shadow:0 0 0 2px #fff inset!important;background:transparent none;color:#fff;text-shadow:none!important}.ui.inverted.buttons .button{margin:0 0 0 -2px}.ui.inverted.buttons .button:first-child{margin-left:0}.ui.inverted.vertical.buttons .button{margin:0 0 -2px 0}.ui.inverted.vertical.buttons .button:first-child{margin-top:0}.ui.inverted.button:hover{background:#fff;box-shadow:0 0 0 2px #fff inset!important;color:rgba(0,0,0,.8)}.ui.inverted.button.active,.ui.inverted.button:focus{background:#fff;box-shadow:0 0 0 2px #fff inset!important;color:rgba(0,0,0,.8)}.ui.inverted.button.active:focus{background:#dcddde;box-shadow:0 0 0 2px #dcddde inset!important;color:rgba(0,0,0,.8)}.ui.labeled.button:not(.icon){display:inline-flex;flex-direction:row;background:0 0!important;padding:0!important;border:none!important;box-shadow:none!important}.ui.labeled.button>.button{margin:0}.ui.labeled.button>.label{display:flex;align-items:center;margin:0 0 0 -1px!important;padding:'';font-size:1em;border-color:rgba(34,36,38,.15)}.ui.labeled.button>.tag.label:before{width:1.85em;height:1.85em}.ui.labeled.button:not([class*="left labeled"])>.button{border-top-right-radius:0;border-bottom-right-radius:0}.ui.labeled.button:not([class*="left labeled"])>.label{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*="left labeled"].button>.button{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*="left labeled"].button>.label{border-top-right-radius:0;border-bottom-right-radius:0}.ui.facebook.button{background-color:#3b5998;color:#fff;text-shadow:none;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.facebook.button:hover{background-color:#304d8a;color:#fff;text-shadow:none}.ui.facebook.button:active{background-color:#2d4373;color:#fff;text-shadow:none}.ui.twitter.button{background-color:#55acee;color:#fff;text-shadow:none;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.twitter.button:hover{background-color:#35a2f4;color:#fff;text-shadow:none}.ui.twitter.button:active{background-color:#2795e9;color:#fff;text-shadow:none}.ui.google.plus.button{background-color:#dd4b39;color:#fff;text-shadow:none;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.google.plus.button:hover{background-color:#e0321c;color:#fff;text-shadow:none}.ui.google.plus.button:active{background-color:#c23321;color:#fff;text-shadow:none}.ui.linkedin.button{background-color:#1f88be;color:#fff;text-shadow:none}.ui.linkedin.button:hover{background-color:#147baf;color:#fff;text-shadow:none}.ui.linkedin.button:active{background-color:#186992;color:#fff;text-shadow:none}.ui.youtube.button{background-color:red;color:#fff;text-shadow:none;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.youtube.button:hover{background-color:#e60000;color:#fff;text-shadow:none}.ui.youtube.button:active{background-color:#c00;color:#fff;text-shadow:none}.ui.instagram.button{background-color:#49769c;color:#fff;text-shadow:none;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.instagram.button:hover{background-color:#3d698e;color:#fff;text-shadow:none}.ui.instagram.button:active{background-color:#395c79;color:#fff;text-shadow:none}.ui.pinterest.button{background-color:#bd081c;color:#fff;text-shadow:none;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.pinterest.button:hover{background-color:#ac0013;color:#fff;text-shadow:none}.ui.pinterest.button:active{background-color:#8c0615;color:#fff;text-shadow:none}.ui.vk.button{background-color:#4d7198;color:#fff;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.vk.button:hover{background-color:#41648a;color:#fff}.ui.vk.button:active{background-color:#3c5876;color:#fff}.ui.button>.icon:not(.button){height:.85714286em;opacity:.8;margin:0 .42857143em 0 -.21428571em;transition:opacity .1s ease;vertical-align:'';color:''}.ui.button:not(.icon)>.icon:not(.button):not(.dropdown){margin:0 .42857143em 0 -.21428571em}.ui.button:not(.icon)>.right.icon:not(.button):not(.dropdown){margin:0 -.21428571em 0 .42857143em}.ui[class*="left floated"].button,.ui[class*="left floated"].buttons{float:left;margin-left:0;margin-right:.25em}.ui[class*="right floated"].button,.ui[class*="right floated"].buttons{float:right;margin-right:0;margin-left:.25em}.ui.compact.button,.ui.compact.buttons .button{padding:.58928571em 1.125em .58928571em}.ui.compact.icon.button,.ui.compact.icon.buttons .button{padding:.58928571em .58928571em .58928571em}.ui.compact.labeled.icon.button,.ui.compact.labeled.icon.buttons .button{padding:.58928571em 3.69642857em .58928571em}.ui.mini.button,.ui.mini.buttons .button,.ui.mini.buttons .or{font-size:.78571429rem}.ui.tiny.button,.ui.tiny.buttons .button,.ui.tiny.buttons .or{font-size:.85714286rem}.ui.small.button,.ui.small.buttons .button,.ui.small.buttons .or{font-size:.92857143rem}.ui.button,.ui.buttons .button,.ui.buttons .or{font-size:1rem}.ui.large.button,.ui.large.buttons .button,.ui.large.buttons .or{font-size:1.14285714rem}.ui.big.button,.ui.big.buttons .button,.ui.big.buttons .or{font-size:1.28571429rem}.ui.huge.button,.ui.huge.buttons .button,.ui.huge.buttons .or{font-size:1.42857143rem}.ui.massive.button,.ui.massive.buttons .button,.ui.massive.buttons .or{font-size:1.71428571rem}.ui.icon.button,.ui.icon.buttons .button{padding:.78571429em .78571429em .78571429em}.ui.icon.button>.icon,.ui.icon.buttons .button>.icon{opacity:.9;margin:0!important;vertical-align:top}.ui.basic.button,.ui.basic.buttons .button{background:transparent none!important;color:rgba(0,0,0,.6)!important;font-weight:400;border-radius:.28571429rem;text-transform:none;text-shadow:none!important;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset}.ui.basic.buttons{box-shadow:none;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem}.ui.basic.buttons .button{border-radius:0}.ui.basic.button:hover,.ui.basic.buttons .button:hover{background:#fff!important;color:rgba(0,0,0,.8)!important;box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.basic.button:focus,.ui.basic.buttons .button:focus{background:#fff!important;color:rgba(0,0,0,.8)!important;box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.basic.button:active,.ui.basic.buttons .button:active{background:#f8f8f8!important;color:rgba(0,0,0,.9)!important;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset}.ui.basic.active.button,.ui.basic.buttons .active.button{background:rgba(0,0,0,.05)!important;box-shadow:''!important;color:rgba(0,0,0,.95)!important}.ui.basic.active.button:hover,.ui.basic.buttons .active.button:hover{background-color:rgba(0,0,0,.05)}.ui.basic.buttons .button:hover{box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset inset}.ui.basic.buttons .button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset inset}.ui.basic.buttons .active.button{box-shadow:''!important}.ui.basic.inverted.button,.ui.basic.inverted.buttons .button{background-color:transparent!important;color:#f9fafb!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important}.ui.basic.inverted.button:hover,.ui.basic.inverted.buttons .button:hover{color:#fff!important;box-shadow:0 0 0 2px #fff inset!important}.ui.basic.inverted.button:focus,.ui.basic.inverted.buttons .button:focus{color:#fff!important;box-shadow:0 0 0 2px #fff inset!important}.ui.basic.inverted.button:active,.ui.basic.inverted.buttons .button:active{background-color:rgba(255,255,255,.08)!important;color:#fff!important;box-shadow:0 0 0 2px rgba(255,255,255,.9) inset!important}.ui.basic.inverted.active.button,.ui.basic.inverted.buttons .active.button{background-color:rgba(255,255,255,.08);color:#fff;text-shadow:none;box-shadow:0 0 0 2px rgba(255,255,255,.7) inset}.ui.basic.inverted.active.button:hover,.ui.basic.inverted.buttons .active.button:hover{background-color:rgba(255,255,255,.15);box-shadow:0 0 0 2px #fff inset!important}.ui.basic.buttons .button{border-left:1px solid rgba(34,36,38,.15);box-shadow:none}.ui.basic.vertical.buttons .button{border-left:none}.ui.basic.vertical.buttons .button{border-left-width:0;border-top:1px solid rgba(34,36,38,.15)}.ui.basic.vertical.buttons .button:first-child{border-top-width:0}.ui.labeled.icon.button,.ui.labeled.icon.buttons .button{position:relative;padding-left:4.07142857em!important;padding-right:1.5em!important}.ui.labeled.icon.button>.icon,.ui.labeled.icon.buttons>.button>.icon{position:absolute;height:100%;line-height:1;border-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit;text-align:center;margin:0;width:2.57142857em;background-color:rgba(0,0,0,.05);color:'';box-shadow:-1px 0 0 0 transparent inset}.ui.labeled.icon.button>.icon,.ui.labeled.icon.buttons>.button>.icon{top:0;left:0}.ui[class*="right labeled"].icon.button{padding-right:4.07142857em!important;padding-left:1.5em!important}.ui[class*="right labeled"].icon.button>.icon{left:auto;right:0;border-radius:0;border-top-right-radius:inherit;border-bottom-right-radius:inherit;box-shadow:1px 0 0 0 transparent inset}.ui.labeled.icon.button>.icon:after,.ui.labeled.icon.button>.icon:before,.ui.labeled.icon.buttons>.button>.icon:after,.ui.labeled.icon.buttons>.button>.icon:before{display:block;position:absolute;width:100%;top:50%;text-align:center;transform:translateY(-50%)}.ui.labeled.icon.button>.icon.loading{-webkit-animation:none;animation:none}.ui.labeled.icon.button>.icon.loading:before{-webkit-animation:labeled-button-icon-loading 2s linear infinite;animation:labeled-button-icon-loading 2s linear infinite}@-webkit-keyframes labeled-button-icon-loading{from{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}@keyframes labeled-button-icon-loading{from{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.ui.labeled.icon.buttons .button>.icon{border-radius:0}.ui.labeled.icon.buttons .button:first-child>.icon{border-top-left-radius:.28571429rem;border-bottom-left-radius:.28571429rem}.ui.labeled.icon.buttons .button:last-child>.icon{border-top-right-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.labeled.icon.buttons .button:first-child>.icon{border-radius:0;border-top-left-radius:.28571429rem}.ui.vertical.labeled.icon.buttons .button:last-child>.icon{border-radius:0;border-bottom-left-radius:.28571429rem}.ui.fluid[class*="left labeled"].icon.button,.ui.fluid[class*="right labeled"].icon.button{padding-left:1.5em!important;padding-right:1.5em!important}.ui.button.toggle.active,.ui.buttons .button.toggle.active,.ui.toggle.buttons .active.button{background-color:#21ba45!important;box-shadow:none!important;text-shadow:none;color:#fff!important}.ui.button.toggle.active:hover{background-color:#16ab39!important;text-shadow:none;color:#fff!important}.ui.circular.button{border-radius:10em}.ui.circular.button>.icon{width:1em;vertical-align:baseline}.ui.buttons .or{position:relative;width:.3em;height:2.57142857em;z-index:3}.ui.buttons .or:before{position:absolute;text-align:center;border-radius:500rem;content:'or';top:50%;left:50%;background-color:#fff;text-shadow:none;margin-top:-.89285714em;margin-left:-.89285714em;width:1.78571429em;height:1.78571429em;line-height:1.78571429em;color:rgba(0,0,0,.4);font-style:normal;font-weight:700;box-shadow:0 0 0 1px transparent inset}.ui.buttons .or[data-text]:before{content:attr(data-text)}.ui.fluid.buttons .or{width:0!important}.ui.fluid.buttons .or:after{display:none}.ui.attached.button{position:relative;display:block;margin:0;border-radius:0;box-shadow:0 0 0 1px rgba(34,36,38,.15)!important}.ui.attached.top.button{border-radius:.28571429rem .28571429rem 0 0}.ui.attached.bottom.button{border-radius:0 0 .28571429rem .28571429rem}.ui.left.attached.button{display:inline-block;border-left:none;text-align:right;padding-right:.75em;border-radius:.28571429rem 0 0 .28571429rem}.ui.right.attached.button{display:inline-block;text-align:left;padding-left:.75em;border-radius:0 .28571429rem .28571429rem 0}.ui.attached.buttons{position:relative;display:flex;border-radius:0;width:auto!important;z-index:2;margin-left:-1px;margin-right:-1px}.ui.attached.buttons .button{margin:0}.ui.attached.buttons .button:first-child{border-radius:0}.ui.attached.buttons .button:last-child{border-radius:0}.ui[class*="top attached"].buttons{margin-bottom:-1px;border-radius:.28571429rem .28571429rem 0 0}.ui[class*="top attached"].buttons .button:first-child{border-radius:.28571429rem 0 0 0}.ui[class*="top attached"].buttons .button:last-child{border-radius:0 .28571429rem 0 0}.ui[class*="bottom attached"].buttons{margin-top:-1px;border-radius:0 0 .28571429rem .28571429rem}.ui[class*="bottom attached"].buttons .button:first-child{border-radius:0 0 0 .28571429rem}.ui[class*="bottom attached"].buttons .button:last-child{border-radius:0 0 .28571429rem 0}.ui[class*="left attached"].buttons{display:inline-flex;margin-right:0;margin-left:-1px;border-radius:0 .28571429rem .28571429rem 0}.ui[class*="left attached"].buttons .button:first-child{margin-left:-1px;border-radius:0 .28571429rem 0 0}.ui[class*="left attached"].buttons .button:last-child{margin-left:-1px;border-radius:0 0 .28571429rem 0}.ui[class*="right attached"].buttons{display:inline-flex;margin-left:0;margin-right:-1px;border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="right attached"].buttons .button:first-child{margin-left:-1px;border-radius:.28571429rem 0 0 0}.ui[class*="right attached"].buttons .button:last-child{margin-left:-1px;border-radius:0 0 0 .28571429rem}.ui.fluid.button,.ui.fluid.buttons{width:100%}.ui.fluid.button{display:block}.ui.two.buttons{width:100%}.ui.two.buttons>.button{width:50%}.ui.three.buttons{width:100%}.ui.three.buttons>.button{width:33.333%}.ui.four.buttons{width:100%}.ui.four.buttons>.button{width:25%}.ui.five.buttons{width:100%}.ui.five.buttons>.button{width:20%}.ui.six.buttons{width:100%}.ui.six.buttons>.button{width:16.666%}.ui.seven.buttons{width:100%}.ui.seven.buttons>.button{width:14.285%}.ui.eight.buttons{width:100%}.ui.eight.buttons>.button{width:12.5%}.ui.nine.buttons{width:100%}.ui.nine.buttons>.button{width:11.11%}.ui.ten.buttons{width:100%}.ui.ten.buttons>.button{width:10%}.ui.eleven.buttons{width:100%}.ui.eleven.buttons>.button{width:9.09%}.ui.twelve.buttons{width:100%}.ui.twelve.buttons>.button{width:8.3333%}.ui.fluid.vertical.buttons,.ui.fluid.vertical.buttons>.button{display:flex;width:auto}.ui.two.vertical.buttons>.button{height:50%}.ui.three.vertical.buttons>.button{height:33.333%}.ui.four.vertical.buttons>.button{height:25%}.ui.five.vertical.buttons>.button{height:20%}.ui.six.vertical.buttons>.button{height:16.666%}.ui.seven.vertical.buttons>.button{height:14.285%}.ui.eight.vertical.buttons>.button{height:12.5%}.ui.nine.vertical.buttons>.button{height:11.11%}.ui.ten.vertical.buttons>.button{height:10%}.ui.eleven.vertical.buttons>.button{height:9.09%}.ui.twelve.vertical.buttons>.button{height:8.3333%}.ui.black.button,.ui.black.buttons .button{background-color:#1b1c1d;color:#fff;text-shadow:none;background-image:none}.ui.black.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.black.button:hover,.ui.black.buttons .button:hover{background-color:#27292a;color:#fff;text-shadow:none}.ui.black.button:focus,.ui.black.buttons .button:focus{background-color:#2f3032;color:#fff;text-shadow:none}.ui.black.button:active,.ui.black.buttons .button:active{background-color:#343637;color:#fff;text-shadow:none}.ui.black.active.button,.ui.black.button .active.button:active,.ui.black.buttons .active.button,.ui.black.buttons .active.button:active{background-color:#0f0f10;color:#fff;text-shadow:none}.ui.basic.black.button,.ui.basic.black.buttons .button{box-shadow:0 0 0 1px #1b1c1d inset!important;color:#1b1c1d!important}.ui.basic.black.button:hover,.ui.basic.black.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #27292a inset!important;color:#27292a!important}.ui.basic.black.button:focus,.ui.basic.black.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #2f3032 inset!important;color:#27292a!important}.ui.basic.black.active.button,.ui.basic.black.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #0f0f10 inset!important;color:#343637!important}.ui.basic.black.button:active,.ui.basic.black.buttons .button:active{box-shadow:0 0 0 1px #343637 inset!important;color:#343637!important}.ui.buttons:not(.vertical)>.basic.black.button:not(:first-child){margin-left:-1px}.ui.inverted.black.button,.ui.inverted.black.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #d4d4d5 inset!important;color:#fff}.ui.inverted.black.button.active,.ui.inverted.black.button:active,.ui.inverted.black.button:focus,.ui.inverted.black.button:hover,.ui.inverted.black.buttons .button.active,.ui.inverted.black.buttons .button:active,.ui.inverted.black.buttons .button:focus,.ui.inverted.black.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.black.button:hover,.ui.inverted.black.buttons .button:hover{background-color:#000}.ui.inverted.black.button:focus,.ui.inverted.black.buttons .button:focus{background-color:#000}.ui.inverted.black.active.button,.ui.inverted.black.buttons .active.button{background-color:#000}.ui.inverted.black.button:active,.ui.inverted.black.buttons .button:active{background-color:#000}.ui.inverted.black.basic.button,.ui.inverted.black.basic.buttons .button,.ui.inverted.black.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.black.basic.button:hover,.ui.inverted.black.basic.buttons .button:hover,.ui.inverted.black.buttons .basic.button:hover{box-shadow:0 0 0 2px #000 inset!important;color:#fff!important}.ui.inverted.black.basic.button:focus,.ui.inverted.black.basic.buttons .button:focus{box-shadow:0 0 0 2px #000 inset!important;color:#545454!important}.ui.inverted.black.basic.active.button,.ui.inverted.black.basic.buttons .active.button,.ui.inverted.black.buttons .basic.active.button{box-shadow:0 0 0 2px #000 inset!important;color:#fff!important}.ui.inverted.black.basic.button:active,.ui.inverted.black.basic.buttons .button:active,.ui.inverted.black.buttons .basic.button:active{box-shadow:0 0 0 2px #000 inset!important;color:#fff!important}.ui.grey.button,.ui.grey.buttons .button{background-color:#767676;color:#fff;text-shadow:none;background-image:none}.ui.grey.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.grey.button:hover,.ui.grey.buttons .button:hover{background-color:#838383;color:#fff;text-shadow:none}.ui.grey.button:focus,.ui.grey.buttons .button:focus{background-color:#8a8a8a;color:#fff;text-shadow:none}.ui.grey.button:active,.ui.grey.buttons .button:active{background-color:#909090;color:#fff;text-shadow:none}.ui.grey.active.button,.ui.grey.button .active.button:active,.ui.grey.buttons .active.button,.ui.grey.buttons .active.button:active{background-color:#696969;color:#fff;text-shadow:none}.ui.basic.grey.button,.ui.basic.grey.buttons .button{box-shadow:0 0 0 1px #767676 inset!important;color:#767676!important}.ui.basic.grey.button:hover,.ui.basic.grey.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #838383 inset!important;color:#838383!important}.ui.basic.grey.button:focus,.ui.basic.grey.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #8a8a8a inset!important;color:#838383!important}.ui.basic.grey.active.button,.ui.basic.grey.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #696969 inset!important;color:#909090!important}.ui.basic.grey.button:active,.ui.basic.grey.buttons .button:active{box-shadow:0 0 0 1px #909090 inset!important;color:#909090!important}.ui.buttons:not(.vertical)>.basic.grey.button:not(:first-child){margin-left:-1px}.ui.inverted.grey.button,.ui.inverted.grey.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #d4d4d5 inset!important;color:#fff}.ui.inverted.grey.button.active,.ui.inverted.grey.button:active,.ui.inverted.grey.button:focus,.ui.inverted.grey.button:hover,.ui.inverted.grey.buttons .button.active,.ui.inverted.grey.buttons .button:active,.ui.inverted.grey.buttons .button:focus,.ui.inverted.grey.buttons .button:hover{box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.grey.button:hover,.ui.inverted.grey.buttons .button:hover{background-color:#cfd0d2}.ui.inverted.grey.button:focus,.ui.inverted.grey.buttons .button:focus{background-color:#c7c9cb}.ui.inverted.grey.active.button,.ui.inverted.grey.buttons .active.button{background-color:#cfd0d2}.ui.inverted.grey.button:active,.ui.inverted.grey.buttons .button:active{background-color:#c2c4c5}.ui.inverted.grey.basic.button,.ui.inverted.grey.basic.buttons .button,.ui.inverted.grey.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.grey.basic.button:hover,.ui.inverted.grey.basic.buttons .button:hover,.ui.inverted.grey.buttons .basic.button:hover{box-shadow:0 0 0 2px #cfd0d2 inset!important;color:#fff!important}.ui.inverted.grey.basic.button:focus,.ui.inverted.grey.basic.buttons .button:focus{box-shadow:0 0 0 2px #c7c9cb inset!important;color:#dcddde!important}.ui.inverted.grey.basic.active.button,.ui.inverted.grey.basic.buttons .active.button,.ui.inverted.grey.buttons .basic.active.button{box-shadow:0 0 0 2px #cfd0d2 inset!important;color:#fff!important}.ui.inverted.grey.basic.button:active,.ui.inverted.grey.basic.buttons .button:active,.ui.inverted.grey.buttons .basic.button:active{box-shadow:0 0 0 2px #c2c4c5 inset!important;color:#fff!important}.ui.brown.button,.ui.brown.buttons .button{background-color:#a5673f;color:#fff;text-shadow:none;background-image:none}.ui.brown.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.brown.button:hover,.ui.brown.buttons .button:hover{background-color:#975b33;color:#fff;text-shadow:none}.ui.brown.button:focus,.ui.brown.buttons .button:focus{background-color:#90532b;color:#fff;text-shadow:none}.ui.brown.button:active,.ui.brown.buttons .button:active{background-color:#805031;color:#fff;text-shadow:none}.ui.brown.active.button,.ui.brown.button .active.button:active,.ui.brown.buttons .active.button,.ui.brown.buttons .active.button:active{background-color:#995a31;color:#fff;text-shadow:none}.ui.basic.brown.button,.ui.basic.brown.buttons .button{box-shadow:0 0 0 1px #a5673f inset!important;color:#a5673f!important}.ui.basic.brown.button:hover,.ui.basic.brown.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #975b33 inset!important;color:#975b33!important}.ui.basic.brown.button:focus,.ui.basic.brown.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #90532b inset!important;color:#975b33!important}.ui.basic.brown.active.button,.ui.basic.brown.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #995a31 inset!important;color:#805031!important}.ui.basic.brown.button:active,.ui.basic.brown.buttons .button:active{box-shadow:0 0 0 1px #805031 inset!important;color:#805031!important}.ui.buttons:not(.vertical)>.basic.brown.button:not(:first-child){margin-left:-1px}.ui.inverted.brown.button,.ui.inverted.brown.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #d67c1c inset!important;color:#d67c1c}.ui.inverted.brown.button.active,.ui.inverted.brown.button:active,.ui.inverted.brown.button:focus,.ui.inverted.brown.button:hover,.ui.inverted.brown.buttons .button.active,.ui.inverted.brown.buttons .button:active,.ui.inverted.brown.buttons .button:focus,.ui.inverted.brown.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.brown.button:hover,.ui.inverted.brown.buttons .button:hover{background-color:#c86f11}.ui.inverted.brown.button:focus,.ui.inverted.brown.buttons .button:focus{background-color:#c16808}.ui.inverted.brown.active.button,.ui.inverted.brown.buttons .active.button{background-color:#cc6f0d}.ui.inverted.brown.button:active,.ui.inverted.brown.buttons .button:active{background-color:#a96216}.ui.inverted.brown.basic.button,.ui.inverted.brown.basic.buttons .button,.ui.inverted.brown.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.brown.basic.button:hover,.ui.inverted.brown.basic.buttons .button:hover,.ui.inverted.brown.buttons .basic.button:hover{box-shadow:0 0 0 2px #c86f11 inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.button:focus,.ui.inverted.brown.basic.buttons .button:focus{box-shadow:0 0 0 2px #c16808 inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.active.button,.ui.inverted.brown.basic.buttons .active.button,.ui.inverted.brown.buttons .basic.active.button{box-shadow:0 0 0 2px #cc6f0d inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.button:active,.ui.inverted.brown.basic.buttons .button:active,.ui.inverted.brown.buttons .basic.button:active{box-shadow:0 0 0 2px #a96216 inset!important;color:#d67c1c!important}.ui.blue.button,.ui.blue.buttons .button{background-color:#2185d0;color:#fff;text-shadow:none;background-image:none}.ui.blue.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.blue.button:hover,.ui.blue.buttons .button:hover{background-color:#1678c2;color:#fff;text-shadow:none}.ui.blue.button:focus,.ui.blue.buttons .button:focus{background-color:#0d71bb;color:#fff;text-shadow:none}.ui.blue.button:active,.ui.blue.buttons .button:active{background-color:#1a69a4;color:#fff;text-shadow:none}.ui.blue.active.button,.ui.blue.button .active.button:active,.ui.blue.buttons .active.button,.ui.blue.buttons .active.button:active{background-color:#1279c6;color:#fff;text-shadow:none}.ui.basic.blue.button,.ui.basic.blue.buttons .button{box-shadow:0 0 0 1px #2185d0 inset!important;color:#2185d0!important}.ui.basic.blue.button:hover,.ui.basic.blue.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #1678c2 inset!important;color:#1678c2!important}.ui.basic.blue.button:focus,.ui.basic.blue.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #0d71bb inset!important;color:#1678c2!important}.ui.basic.blue.active.button,.ui.basic.blue.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #1279c6 inset!important;color:#1a69a4!important}.ui.basic.blue.button:active,.ui.basic.blue.buttons .button:active{box-shadow:0 0 0 1px #1a69a4 inset!important;color:#1a69a4!important}.ui.buttons:not(.vertical)>.basic.blue.button:not(:first-child){margin-left:-1px}.ui.inverted.blue.button,.ui.inverted.blue.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #54c8ff inset!important;color:#54c8ff}.ui.inverted.blue.button.active,.ui.inverted.blue.button:active,.ui.inverted.blue.button:focus,.ui.inverted.blue.button:hover,.ui.inverted.blue.buttons .button.active,.ui.inverted.blue.buttons .button:active,.ui.inverted.blue.buttons .button:focus,.ui.inverted.blue.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.blue.button:hover,.ui.inverted.blue.buttons .button:hover{background-color:#3ac0ff}.ui.inverted.blue.button:focus,.ui.inverted.blue.buttons .button:focus{background-color:#2bbbff}.ui.inverted.blue.active.button,.ui.inverted.blue.buttons .active.button{background-color:#3ac0ff}.ui.inverted.blue.button:active,.ui.inverted.blue.buttons .button:active{background-color:#21b8ff}.ui.inverted.blue.basic.button,.ui.inverted.blue.basic.buttons .button,.ui.inverted.blue.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.blue.basic.button:hover,.ui.inverted.blue.basic.buttons .button:hover,.ui.inverted.blue.buttons .basic.button:hover{box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.button:focus,.ui.inverted.blue.basic.buttons .button:focus{box-shadow:0 0 0 2px #2bbbff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.active.button,.ui.inverted.blue.basic.buttons .active.button,.ui.inverted.blue.buttons .basic.active.button{box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.button:active,.ui.inverted.blue.basic.buttons .button:active,.ui.inverted.blue.buttons .basic.button:active{box-shadow:0 0 0 2px #21b8ff inset!important;color:#54c8ff!important}.ui.green.button,.ui.green.buttons .button{background-color:#21ba45;color:#fff;text-shadow:none;background-image:none}.ui.green.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.green.button:hover,.ui.green.buttons .button:hover{background-color:#16ab39;color:#fff;text-shadow:none}.ui.green.button:focus,.ui.green.buttons .button:focus{background-color:#0ea432;color:#fff;text-shadow:none}.ui.green.button:active,.ui.green.buttons .button:active{background-color:#198f35;color:#fff;text-shadow:none}.ui.green.active.button,.ui.green.button .active.button:active,.ui.green.buttons .active.button,.ui.green.buttons .active.button:active{background-color:#13ae38;color:#fff;text-shadow:none}.ui.basic.green.button,.ui.basic.green.buttons .button{box-shadow:0 0 0 1px #21ba45 inset!important;color:#21ba45!important}.ui.basic.green.button:hover,.ui.basic.green.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #16ab39 inset!important;color:#16ab39!important}.ui.basic.green.button:focus,.ui.basic.green.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #0ea432 inset!important;color:#16ab39!important}.ui.basic.green.active.button,.ui.basic.green.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #13ae38 inset!important;color:#198f35!important}.ui.basic.green.button:active,.ui.basic.green.buttons .button:active{box-shadow:0 0 0 1px #198f35 inset!important;color:#198f35!important}.ui.buttons:not(.vertical)>.basic.green.button:not(:first-child){margin-left:-1px}.ui.inverted.green.button,.ui.inverted.green.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #2ecc40 inset!important;color:#2ecc40}.ui.inverted.green.button.active,.ui.inverted.green.button:active,.ui.inverted.green.button:focus,.ui.inverted.green.button:hover,.ui.inverted.green.buttons .button.active,.ui.inverted.green.buttons .button:active,.ui.inverted.green.buttons .button:focus,.ui.inverted.green.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.green.button:hover,.ui.inverted.green.buttons .button:hover{background-color:#22be34}.ui.inverted.green.button:focus,.ui.inverted.green.buttons .button:focus{background-color:#19b82b}.ui.inverted.green.active.button,.ui.inverted.green.buttons .active.button{background-color:#1fc231}.ui.inverted.green.button:active,.ui.inverted.green.buttons .button:active{background-color:#25a233}.ui.inverted.green.basic.button,.ui.inverted.green.basic.buttons .button,.ui.inverted.green.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.green.basic.button:hover,.ui.inverted.green.basic.buttons .button:hover,.ui.inverted.green.buttons .basic.button:hover{box-shadow:0 0 0 2px #22be34 inset!important;color:#2ecc40!important}.ui.inverted.green.basic.button:focus,.ui.inverted.green.basic.buttons .button:focus{box-shadow:0 0 0 2px #19b82b inset!important;color:#2ecc40!important}.ui.inverted.green.basic.active.button,.ui.inverted.green.basic.buttons .active.button,.ui.inverted.green.buttons .basic.active.button{box-shadow:0 0 0 2px #1fc231 inset!important;color:#2ecc40!important}.ui.inverted.green.basic.button:active,.ui.inverted.green.basic.buttons .button:active,.ui.inverted.green.buttons .basic.button:active{box-shadow:0 0 0 2px #25a233 inset!important;color:#2ecc40!important}.ui.orange.button,.ui.orange.buttons .button{background-color:#f2711c;color:#fff;text-shadow:none;background-image:none}.ui.orange.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.orange.button:hover,.ui.orange.buttons .button:hover{background-color:#f26202;color:#fff;text-shadow:none}.ui.orange.button:focus,.ui.orange.buttons .button:focus{background-color:#e55b00;color:#fff;text-shadow:none}.ui.orange.button:active,.ui.orange.buttons .button:active{background-color:#cf590c;color:#fff;text-shadow:none}.ui.orange.active.button,.ui.orange.button .active.button:active,.ui.orange.buttons .active.button,.ui.orange.buttons .active.button:active{background-color:#f56100;color:#fff;text-shadow:none}.ui.basic.orange.button,.ui.basic.orange.buttons .button{box-shadow:0 0 0 1px #f2711c inset!important;color:#f2711c!important}.ui.basic.orange.button:hover,.ui.basic.orange.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #f26202 inset!important;color:#f26202!important}.ui.basic.orange.button:focus,.ui.basic.orange.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #e55b00 inset!important;color:#f26202!important}.ui.basic.orange.active.button,.ui.basic.orange.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #f56100 inset!important;color:#cf590c!important}.ui.basic.orange.button:active,.ui.basic.orange.buttons .button:active{box-shadow:0 0 0 1px #cf590c inset!important;color:#cf590c!important}.ui.buttons:not(.vertical)>.basic.orange.button:not(:first-child){margin-left:-1px}.ui.inverted.orange.button,.ui.inverted.orange.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #ff851b inset!important;color:#ff851b}.ui.inverted.orange.button.active,.ui.inverted.orange.button:active,.ui.inverted.orange.button:focus,.ui.inverted.orange.button:hover,.ui.inverted.orange.buttons .button.active,.ui.inverted.orange.buttons .button:active,.ui.inverted.orange.buttons .button:focus,.ui.inverted.orange.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.orange.button:hover,.ui.inverted.orange.buttons .button:hover{background-color:#ff7701}.ui.inverted.orange.button:focus,.ui.inverted.orange.buttons .button:focus{background-color:#f17000}.ui.inverted.orange.active.button,.ui.inverted.orange.buttons .active.button{background-color:#ff7701}.ui.inverted.orange.button:active,.ui.inverted.orange.buttons .button:active{background-color:#e76b00}.ui.inverted.orange.basic.button,.ui.inverted.orange.basic.buttons .button,.ui.inverted.orange.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.orange.basic.button:hover,.ui.inverted.orange.basic.buttons .button:hover,.ui.inverted.orange.buttons .basic.button:hover{box-shadow:0 0 0 2px #ff7701 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.button:focus,.ui.inverted.orange.basic.buttons .button:focus{box-shadow:0 0 0 2px #f17000 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.active.button,.ui.inverted.orange.basic.buttons .active.button,.ui.inverted.orange.buttons .basic.active.button{box-shadow:0 0 0 2px #ff7701 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.button:active,.ui.inverted.orange.basic.buttons .button:active,.ui.inverted.orange.buttons .basic.button:active{box-shadow:0 0 0 2px #e76b00 inset!important;color:#ff851b!important}.ui.pink.button,.ui.pink.buttons .button{background-color:#e03997;color:#fff;text-shadow:none;background-image:none}.ui.pink.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.pink.button:hover,.ui.pink.buttons .button:hover{background-color:#e61a8d;color:#fff;text-shadow:none}.ui.pink.button:focus,.ui.pink.buttons .button:focus{background-color:#e10f85;color:#fff;text-shadow:none}.ui.pink.button:active,.ui.pink.buttons .button:active{background-color:#c71f7e;color:#fff;text-shadow:none}.ui.pink.active.button,.ui.pink.button .active.button:active,.ui.pink.buttons .active.button,.ui.pink.buttons .active.button:active{background-color:#ea158d;color:#fff;text-shadow:none}.ui.basic.pink.button,.ui.basic.pink.buttons .button{box-shadow:0 0 0 1px #e03997 inset!important;color:#e03997!important}.ui.basic.pink.button:hover,.ui.basic.pink.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #e61a8d inset!important;color:#e61a8d!important}.ui.basic.pink.button:focus,.ui.basic.pink.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #e10f85 inset!important;color:#e61a8d!important}.ui.basic.pink.active.button,.ui.basic.pink.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #ea158d inset!important;color:#c71f7e!important}.ui.basic.pink.button:active,.ui.basic.pink.buttons .button:active{box-shadow:0 0 0 1px #c71f7e inset!important;color:#c71f7e!important}.ui.buttons:not(.vertical)>.basic.pink.button:not(:first-child){margin-left:-1px}.ui.inverted.pink.button,.ui.inverted.pink.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #ff8edf inset!important;color:#ff8edf}.ui.inverted.pink.button.active,.ui.inverted.pink.button:active,.ui.inverted.pink.button:focus,.ui.inverted.pink.button:hover,.ui.inverted.pink.buttons .button.active,.ui.inverted.pink.buttons .button:active,.ui.inverted.pink.buttons .button:focus,.ui.inverted.pink.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.pink.button:hover,.ui.inverted.pink.buttons .button:hover{background-color:#ff74d8}.ui.inverted.pink.button:focus,.ui.inverted.pink.buttons .button:focus{background-color:#ff65d3}.ui.inverted.pink.active.button,.ui.inverted.pink.buttons .active.button{background-color:#ff74d8}.ui.inverted.pink.button:active,.ui.inverted.pink.buttons .button:active{background-color:#ff5bd1}.ui.inverted.pink.basic.button,.ui.inverted.pink.basic.buttons .button,.ui.inverted.pink.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.pink.basic.button:hover,.ui.inverted.pink.basic.buttons .button:hover,.ui.inverted.pink.buttons .basic.button:hover{box-shadow:0 0 0 2px #ff74d8 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.button:focus,.ui.inverted.pink.basic.buttons .button:focus{box-shadow:0 0 0 2px #ff65d3 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.active.button,.ui.inverted.pink.basic.buttons .active.button,.ui.inverted.pink.buttons .basic.active.button{box-shadow:0 0 0 2px #ff74d8 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.button:active,.ui.inverted.pink.basic.buttons .button:active,.ui.inverted.pink.buttons .basic.button:active{box-shadow:0 0 0 2px #ff5bd1 inset!important;color:#ff8edf!important}.ui.violet.button,.ui.violet.buttons .button{background-color:#6435c9;color:#fff;text-shadow:none;background-image:none}.ui.violet.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.violet.button:hover,.ui.violet.buttons .button:hover{background-color:#5829bb;color:#fff;text-shadow:none}.ui.violet.button:focus,.ui.violet.buttons .button:focus{background-color:#4f20b5;color:#fff;text-shadow:none}.ui.violet.button:active,.ui.violet.buttons .button:active{background-color:#502aa1;color:#fff;text-shadow:none}.ui.violet.active.button,.ui.violet.button .active.button:active,.ui.violet.buttons .active.button,.ui.violet.buttons .active.button:active{background-color:#5626bf;color:#fff;text-shadow:none}.ui.basic.violet.button,.ui.basic.violet.buttons .button{box-shadow:0 0 0 1px #6435c9 inset!important;color:#6435c9!important}.ui.basic.violet.button:hover,.ui.basic.violet.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #5829bb inset!important;color:#5829bb!important}.ui.basic.violet.button:focus,.ui.basic.violet.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #4f20b5 inset!important;color:#5829bb!important}.ui.basic.violet.active.button,.ui.basic.violet.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #5626bf inset!important;color:#502aa1!important}.ui.basic.violet.button:active,.ui.basic.violet.buttons .button:active{box-shadow:0 0 0 1px #502aa1 inset!important;color:#502aa1!important}.ui.buttons:not(.vertical)>.basic.violet.button:not(:first-child){margin-left:-1px}.ui.inverted.violet.button,.ui.inverted.violet.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #a291fb inset!important;color:#a291fb}.ui.inverted.violet.button.active,.ui.inverted.violet.button:active,.ui.inverted.violet.button:focus,.ui.inverted.violet.button:hover,.ui.inverted.violet.buttons .button.active,.ui.inverted.violet.buttons .button:active,.ui.inverted.violet.buttons .button:focus,.ui.inverted.violet.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.violet.button:hover,.ui.inverted.violet.buttons .button:hover{background-color:#8a73ff}.ui.inverted.violet.button:focus,.ui.inverted.violet.buttons .button:focus{background-color:#7d64ff}.ui.inverted.violet.active.button,.ui.inverted.violet.buttons .active.button{background-color:#8a73ff}.ui.inverted.violet.button:active,.ui.inverted.violet.buttons .button:active{background-color:#7860f9}.ui.inverted.violet.basic.button,.ui.inverted.violet.basic.buttons .button,.ui.inverted.violet.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.violet.basic.button:hover,.ui.inverted.violet.basic.buttons .button:hover,.ui.inverted.violet.buttons .basic.button:hover{box-shadow:0 0 0 2px #8a73ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.button:focus,.ui.inverted.violet.basic.buttons .button:focus{box-shadow:0 0 0 2px #7d64ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.active.button,.ui.inverted.violet.basic.buttons .active.button,.ui.inverted.violet.buttons .basic.active.button{box-shadow:0 0 0 2px #8a73ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.button:active,.ui.inverted.violet.basic.buttons .button:active,.ui.inverted.violet.buttons .basic.button:active{box-shadow:0 0 0 2px #7860f9 inset!important;color:#a291fb!important}.ui.purple.button,.ui.purple.buttons .button{background-color:#a333c8;color:#fff;text-shadow:none;background-image:none}.ui.purple.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.purple.button:hover,.ui.purple.buttons .button:hover{background-color:#9627ba;color:#fff;text-shadow:none}.ui.purple.button:focus,.ui.purple.buttons .button:focus{background-color:#8f1eb4;color:#fff;text-shadow:none}.ui.purple.button:active,.ui.purple.buttons .button:active{background-color:#82299f;color:#fff;text-shadow:none}.ui.purple.active.button,.ui.purple.button .active.button:active,.ui.purple.buttons .active.button,.ui.purple.buttons .active.button:active{background-color:#9724be;color:#fff;text-shadow:none}.ui.basic.purple.button,.ui.basic.purple.buttons .button{box-shadow:0 0 0 1px #a333c8 inset!important;color:#a333c8!important}.ui.basic.purple.button:hover,.ui.basic.purple.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #9627ba inset!important;color:#9627ba!important}.ui.basic.purple.button:focus,.ui.basic.purple.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #8f1eb4 inset!important;color:#9627ba!important}.ui.basic.purple.active.button,.ui.basic.purple.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #9724be inset!important;color:#82299f!important}.ui.basic.purple.button:active,.ui.basic.purple.buttons .button:active{box-shadow:0 0 0 1px #82299f inset!important;color:#82299f!important}.ui.buttons:not(.vertical)>.basic.purple.button:not(:first-child){margin-left:-1px}.ui.inverted.purple.button,.ui.inverted.purple.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #dc73ff inset!important;color:#dc73ff}.ui.inverted.purple.button.active,.ui.inverted.purple.button:active,.ui.inverted.purple.button:focus,.ui.inverted.purple.button:hover,.ui.inverted.purple.buttons .button.active,.ui.inverted.purple.buttons .button:active,.ui.inverted.purple.buttons .button:focus,.ui.inverted.purple.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.purple.button:hover,.ui.inverted.purple.buttons .button:hover{background-color:#d65aff}.ui.inverted.purple.button:focus,.ui.inverted.purple.buttons .button:focus{background-color:#d24aff}.ui.inverted.purple.active.button,.ui.inverted.purple.buttons .active.button{background-color:#d65aff}.ui.inverted.purple.button:active,.ui.inverted.purple.buttons .button:active{background-color:#cf40ff}.ui.inverted.purple.basic.button,.ui.inverted.purple.basic.buttons .button,.ui.inverted.purple.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.purple.basic.button:hover,.ui.inverted.purple.basic.buttons .button:hover,.ui.inverted.purple.buttons .basic.button:hover{box-shadow:0 0 0 2px #d65aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.button:focus,.ui.inverted.purple.basic.buttons .button:focus{box-shadow:0 0 0 2px #d24aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.active.button,.ui.inverted.purple.basic.buttons .active.button,.ui.inverted.purple.buttons .basic.active.button{box-shadow:0 0 0 2px #d65aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.button:active,.ui.inverted.purple.basic.buttons .button:active,.ui.inverted.purple.buttons .basic.button:active{box-shadow:0 0 0 2px #cf40ff inset!important;color:#dc73ff!important}.ui.red.button,.ui.red.buttons .button{background-color:#db2828;color:#fff;text-shadow:none;background-image:none}.ui.red.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.red.button:hover,.ui.red.buttons .button:hover{background-color:#d01919;color:#fff;text-shadow:none}.ui.red.button:focus,.ui.red.buttons .button:focus{background-color:#ca1010;color:#fff;text-shadow:none}.ui.red.button:active,.ui.red.buttons .button:active{background-color:#b21e1e;color:#fff;text-shadow:none}.ui.red.active.button,.ui.red.button .active.button:active,.ui.red.buttons .active.button,.ui.red.buttons .active.button:active{background-color:#d41515;color:#fff;text-shadow:none}.ui.basic.red.button,.ui.basic.red.buttons .button{box-shadow:0 0 0 1px #db2828 inset!important;color:#db2828!important}.ui.basic.red.button:hover,.ui.basic.red.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #d01919 inset!important;color:#d01919!important}.ui.basic.red.button:focus,.ui.basic.red.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #ca1010 inset!important;color:#d01919!important}.ui.basic.red.active.button,.ui.basic.red.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #d41515 inset!important;color:#b21e1e!important}.ui.basic.red.button:active,.ui.basic.red.buttons .button:active{box-shadow:0 0 0 1px #b21e1e inset!important;color:#b21e1e!important}.ui.buttons:not(.vertical)>.basic.red.button:not(:first-child){margin-left:-1px}.ui.inverted.red.button,.ui.inverted.red.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #ff695e inset!important;color:#ff695e}.ui.inverted.red.button.active,.ui.inverted.red.button:active,.ui.inverted.red.button:focus,.ui.inverted.red.button:hover,.ui.inverted.red.buttons .button.active,.ui.inverted.red.buttons .button:active,.ui.inverted.red.buttons .button:focus,.ui.inverted.red.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.red.button:hover,.ui.inverted.red.buttons .button:hover{background-color:#ff5144}.ui.inverted.red.button:focus,.ui.inverted.red.buttons .button:focus{background-color:#ff4335}.ui.inverted.red.active.button,.ui.inverted.red.buttons .active.button{background-color:#ff5144}.ui.inverted.red.button:active,.ui.inverted.red.buttons .button:active{background-color:#ff392b}.ui.inverted.red.basic.button,.ui.inverted.red.basic.buttons .button,.ui.inverted.red.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.red.basic.button:hover,.ui.inverted.red.basic.buttons .button:hover,.ui.inverted.red.buttons .basic.button:hover{box-shadow:0 0 0 2px #ff5144 inset!important;color:#ff695e!important}.ui.inverted.red.basic.button:focus,.ui.inverted.red.basic.buttons .button:focus{box-shadow:0 0 0 2px #ff4335 inset!important;color:#ff695e!important}.ui.inverted.red.basic.active.button,.ui.inverted.red.basic.buttons .active.button,.ui.inverted.red.buttons .basic.active.button{box-shadow:0 0 0 2px #ff5144 inset!important;color:#ff695e!important}.ui.inverted.red.basic.button:active,.ui.inverted.red.basic.buttons .button:active,.ui.inverted.red.buttons .basic.button:active{box-shadow:0 0 0 2px #ff392b inset!important;color:#ff695e!important}.ui.teal.button,.ui.teal.buttons .button{background-color:#00b5ad;color:#fff;text-shadow:none;background-image:none}.ui.teal.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.teal.button:hover,.ui.teal.buttons .button:hover{background-color:#009c95;color:#fff;text-shadow:none}.ui.teal.button:focus,.ui.teal.buttons .button:focus{background-color:#008c86;color:#fff;text-shadow:none}.ui.teal.button:active,.ui.teal.buttons .button:active{background-color:#00827c;color:#fff;text-shadow:none}.ui.teal.active.button,.ui.teal.button .active.button:active,.ui.teal.buttons .active.button,.ui.teal.buttons .active.button:active{background-color:#009c95;color:#fff;text-shadow:none}.ui.basic.teal.button,.ui.basic.teal.buttons .button{box-shadow:0 0 0 1px #00b5ad inset!important;color:#00b5ad!important}.ui.basic.teal.button:hover,.ui.basic.teal.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #009c95 inset!important;color:#009c95!important}.ui.basic.teal.button:focus,.ui.basic.teal.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #008c86 inset!important;color:#009c95!important}.ui.basic.teal.active.button,.ui.basic.teal.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #009c95 inset!important;color:#00827c!important}.ui.basic.teal.button:active,.ui.basic.teal.buttons .button:active{box-shadow:0 0 0 1px #00827c inset!important;color:#00827c!important}.ui.buttons:not(.vertical)>.basic.teal.button:not(:first-child){margin-left:-1px}.ui.inverted.teal.button,.ui.inverted.teal.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #6dffff inset!important;color:#6dffff}.ui.inverted.teal.button.active,.ui.inverted.teal.button:active,.ui.inverted.teal.button:focus,.ui.inverted.teal.button:hover,.ui.inverted.teal.buttons .button.active,.ui.inverted.teal.buttons .button:active,.ui.inverted.teal.buttons .button:focus,.ui.inverted.teal.buttons .button:hover{box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.teal.button:hover,.ui.inverted.teal.buttons .button:hover{background-color:#54ffff}.ui.inverted.teal.button:focus,.ui.inverted.teal.buttons .button:focus{background-color:#4ff}.ui.inverted.teal.active.button,.ui.inverted.teal.buttons .active.button{background-color:#54ffff}.ui.inverted.teal.button:active,.ui.inverted.teal.buttons .button:active{background-color:#3affff}.ui.inverted.teal.basic.button,.ui.inverted.teal.basic.buttons .button,.ui.inverted.teal.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.teal.basic.button:hover,.ui.inverted.teal.basic.buttons .button:hover,.ui.inverted.teal.buttons .basic.button:hover{box-shadow:0 0 0 2px #54ffff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.button:focus,.ui.inverted.teal.basic.buttons .button:focus{box-shadow:0 0 0 2px #4ff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.active.button,.ui.inverted.teal.basic.buttons .active.button,.ui.inverted.teal.buttons .basic.active.button{box-shadow:0 0 0 2px #54ffff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.button:active,.ui.inverted.teal.basic.buttons .button:active,.ui.inverted.teal.buttons .basic.button:active{box-shadow:0 0 0 2px #3affff inset!important;color:#6dffff!important}.ui.olive.button,.ui.olive.buttons .button{background-color:#b5cc18;color:#fff;text-shadow:none;background-image:none}.ui.olive.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.olive.button:hover,.ui.olive.buttons .button:hover{background-color:#a7bd0d;color:#fff;text-shadow:none}.ui.olive.button:focus,.ui.olive.buttons .button:focus{background-color:#a0b605;color:#fff;text-shadow:none}.ui.olive.button:active,.ui.olive.buttons .button:active{background-color:#8d9e13;color:#fff;text-shadow:none}.ui.olive.active.button,.ui.olive.button .active.button:active,.ui.olive.buttons .active.button,.ui.olive.buttons .active.button:active{background-color:#aac109;color:#fff;text-shadow:none}.ui.basic.olive.button,.ui.basic.olive.buttons .button{box-shadow:0 0 0 1px #b5cc18 inset!important;color:#b5cc18!important}.ui.basic.olive.button:hover,.ui.basic.olive.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #a7bd0d inset!important;color:#a7bd0d!important}.ui.basic.olive.button:focus,.ui.basic.olive.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #a0b605 inset!important;color:#a7bd0d!important}.ui.basic.olive.active.button,.ui.basic.olive.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #aac109 inset!important;color:#8d9e13!important}.ui.basic.olive.button:active,.ui.basic.olive.buttons .button:active{box-shadow:0 0 0 1px #8d9e13 inset!important;color:#8d9e13!important}.ui.buttons:not(.vertical)>.basic.olive.button:not(:first-child){margin-left:-1px}.ui.inverted.olive.button,.ui.inverted.olive.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #d9e778 inset!important;color:#d9e778}.ui.inverted.olive.button.active,.ui.inverted.olive.button:active,.ui.inverted.olive.button:focus,.ui.inverted.olive.button:hover,.ui.inverted.olive.buttons .button.active,.ui.inverted.olive.buttons .button:active,.ui.inverted.olive.buttons .button:focus,.ui.inverted.olive.buttons .button:hover{box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.olive.button:hover,.ui.inverted.olive.buttons .button:hover{background-color:#d8ea5c}.ui.inverted.olive.button:focus,.ui.inverted.olive.buttons .button:focus{background-color:#daef47}.ui.inverted.olive.active.button,.ui.inverted.olive.buttons .active.button{background-color:#daed59}.ui.inverted.olive.button:active,.ui.inverted.olive.buttons .button:active{background-color:#cddf4d}.ui.inverted.olive.basic.button,.ui.inverted.olive.basic.buttons .button,.ui.inverted.olive.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.olive.basic.button:hover,.ui.inverted.olive.basic.buttons .button:hover,.ui.inverted.olive.buttons .basic.button:hover{box-shadow:0 0 0 2px #d8ea5c inset!important;color:#d9e778!important}.ui.inverted.olive.basic.button:focus,.ui.inverted.olive.basic.buttons .button:focus{box-shadow:0 0 0 2px #daef47 inset!important;color:#d9e778!important}.ui.inverted.olive.basic.active.button,.ui.inverted.olive.basic.buttons .active.button,.ui.inverted.olive.buttons .basic.active.button{box-shadow:0 0 0 2px #daed59 inset!important;color:#d9e778!important}.ui.inverted.olive.basic.button:active,.ui.inverted.olive.basic.buttons .button:active,.ui.inverted.olive.buttons .basic.button:active{box-shadow:0 0 0 2px #cddf4d inset!important;color:#d9e778!important}.ui.yellow.button,.ui.yellow.buttons .button{background-color:#fbbd08;color:#fff;text-shadow:none;background-image:none}.ui.yellow.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.yellow.button:hover,.ui.yellow.buttons .button:hover{background-color:#eaae00;color:#fff;text-shadow:none}.ui.yellow.button:focus,.ui.yellow.buttons .button:focus{background-color:#daa300;color:#fff;text-shadow:none}.ui.yellow.button:active,.ui.yellow.buttons .button:active{background-color:#cd9903;color:#fff;text-shadow:none}.ui.yellow.active.button,.ui.yellow.button .active.button:active,.ui.yellow.buttons .active.button,.ui.yellow.buttons .active.button:active{background-color:#eaae00;color:#fff;text-shadow:none}.ui.basic.yellow.button,.ui.basic.yellow.buttons .button{box-shadow:0 0 0 1px #fbbd08 inset!important;color:#fbbd08!important}.ui.basic.yellow.button:hover,.ui.basic.yellow.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #eaae00 inset!important;color:#eaae00!important}.ui.basic.yellow.button:focus,.ui.basic.yellow.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #daa300 inset!important;color:#eaae00!important}.ui.basic.yellow.active.button,.ui.basic.yellow.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #eaae00 inset!important;color:#cd9903!important}.ui.basic.yellow.button:active,.ui.basic.yellow.buttons .button:active{box-shadow:0 0 0 1px #cd9903 inset!important;color:#cd9903!important}.ui.buttons:not(.vertical)>.basic.yellow.button:not(:first-child){margin-left:-1px}.ui.inverted.yellow.button,.ui.inverted.yellow.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #ffe21f inset!important;color:#ffe21f}.ui.inverted.yellow.button.active,.ui.inverted.yellow.button:active,.ui.inverted.yellow.button:focus,.ui.inverted.yellow.button:hover,.ui.inverted.yellow.buttons .button.active,.ui.inverted.yellow.buttons .button:active,.ui.inverted.yellow.buttons .button:focus,.ui.inverted.yellow.buttons .button:hover{box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.yellow.button:hover,.ui.inverted.yellow.buttons .button:hover{background-color:#ffdf05}.ui.inverted.yellow.button:focus,.ui.inverted.yellow.buttons .button:focus{background-color:#f5d500}.ui.inverted.yellow.active.button,.ui.inverted.yellow.buttons .active.button{background-color:#ffdf05}.ui.inverted.yellow.button:active,.ui.inverted.yellow.buttons .button:active{background-color:#ebcd00}.ui.inverted.yellow.basic.button,.ui.inverted.yellow.basic.buttons .button,.ui.inverted.yellow.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.yellow.basic.button:hover,.ui.inverted.yellow.basic.buttons .button:hover,.ui.inverted.yellow.buttons .basic.button:hover{box-shadow:0 0 0 2px #ffdf05 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.button:focus,.ui.inverted.yellow.basic.buttons .button:focus{box-shadow:0 0 0 2px #f5d500 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.active.button,.ui.inverted.yellow.basic.buttons .active.button,.ui.inverted.yellow.buttons .basic.active.button{box-shadow:0 0 0 2px #ffdf05 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.button:active,.ui.inverted.yellow.basic.buttons .button:active,.ui.inverted.yellow.buttons .basic.button:active{box-shadow:0 0 0 2px #ebcd00 inset!important;color:#ffe21f!important}.ui.primary.button,.ui.primary.buttons .button{background-color:#2185d0;color:#fff;text-shadow:none;background-image:none}.ui.primary.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.primary.button:hover,.ui.primary.buttons .button:hover{background-color:#1678c2;color:#fff;text-shadow:none}.ui.primary.button:focus,.ui.primary.buttons .button:focus{background-color:#0d71bb;color:#fff;text-shadow:none}.ui.primary.button:active,.ui.primary.buttons .button:active{background-color:#1a69a4;color:#fff;text-shadow:none}.ui.primary.active.button,.ui.primary.button .active.button:active,.ui.primary.buttons .active.button,.ui.primary.buttons .active.button:active{background-color:#1279c6;color:#fff;text-shadow:none}.ui.basic.primary.button,.ui.basic.primary.buttons .button{box-shadow:0 0 0 1px #2185d0 inset!important;color:#2185d0!important}.ui.basic.primary.button:hover,.ui.basic.primary.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #1678c2 inset!important;color:#1678c2!important}.ui.basic.primary.button:focus,.ui.basic.primary.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #0d71bb inset!important;color:#1678c2!important}.ui.basic.primary.active.button,.ui.basic.primary.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #1279c6 inset!important;color:#1a69a4!important}.ui.basic.primary.button:active,.ui.basic.primary.buttons .button:active{box-shadow:0 0 0 1px #1a69a4 inset!important;color:#1a69a4!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.inverted.primary.button,.ui.inverted.primary.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #54c8ff inset!important;color:#54c8ff}.ui.inverted.primary.button.active,.ui.inverted.primary.button:active,.ui.inverted.primary.button:focus,.ui.inverted.primary.button:hover,.ui.inverted.primary.buttons .button.active,.ui.inverted.primary.buttons .button:active,.ui.inverted.primary.buttons .button:focus,.ui.inverted.primary.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.primary.button:hover,.ui.inverted.primary.buttons .button:hover{background-color:#3ac0ff}.ui.inverted.primary.button:focus,.ui.inverted.primary.buttons .button:focus{background-color:#2bbbff}.ui.inverted.primary.active.button,.ui.inverted.primary.buttons .active.button{background-color:#3ac0ff}.ui.inverted.primary.button:active,.ui.inverted.primary.buttons .button:active{background-color:#21b8ff}.ui.inverted.primary.basic.button,.ui.inverted.primary.basic.buttons .button,.ui.inverted.primary.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.primary.basic.button:hover,.ui.inverted.primary.basic.buttons .button:hover,.ui.inverted.primary.buttons .basic.button:hover{box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.primary.basic.button:focus,.ui.inverted.primary.basic.buttons .button:focus{box-shadow:0 0 0 2px #2bbbff inset!important;color:#54c8ff!important}.ui.inverted.primary.basic.active.button,.ui.inverted.primary.basic.buttons .active.button,.ui.inverted.primary.buttons .basic.active.button{box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.primary.basic.button:active,.ui.inverted.primary.basic.buttons .button:active,.ui.inverted.primary.buttons .basic.button:active{box-shadow:0 0 0 2px #21b8ff inset!important;color:#54c8ff!important}.ui.secondary.button,.ui.secondary.buttons .button{background-color:#1b1c1d;color:#fff;text-shadow:none;background-image:none}.ui.secondary.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.secondary.button:hover,.ui.secondary.buttons .button:hover{background-color:#27292a;color:#fff;text-shadow:none}.ui.secondary.button:focus,.ui.secondary.buttons .button:focus{background-color:#2e3032;color:#fff;text-shadow:none}.ui.secondary.button:active,.ui.secondary.buttons .button:active{background-color:#343637;color:#fff;text-shadow:none}.ui.secondary.active.button,.ui.secondary.button .active.button:active,.ui.secondary.buttons .active.button,.ui.secondary.buttons .active.button:active{background-color:#27292a;color:#fff;text-shadow:none}.ui.basic.secondary.button,.ui.basic.secondary.buttons .button{box-shadow:0 0 0 1px #1b1c1d inset!important;color:#1b1c1d!important}.ui.basic.secondary.button:hover,.ui.basic.secondary.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #27292a inset!important;color:#27292a!important}.ui.basic.secondary.button:focus,.ui.basic.secondary.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #2e3032 inset!important;color:#27292a!important}.ui.basic.secondary.active.button,.ui.basic.secondary.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #27292a inset!important;color:#343637!important}.ui.basic.secondary.button:active,.ui.basic.secondary.buttons .button:active{box-shadow:0 0 0 1px #343637 inset!important;color:#343637!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.inverted.secondary.button,.ui.inverted.secondary.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #545454 inset!important;color:#545454}.ui.inverted.secondary.button.active,.ui.inverted.secondary.button:active,.ui.inverted.secondary.button:focus,.ui.inverted.secondary.button:hover,.ui.inverted.secondary.buttons .button.active,.ui.inverted.secondary.buttons .button:active,.ui.inverted.secondary.buttons .button:focus,.ui.inverted.secondary.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.secondary.button:hover,.ui.inverted.secondary.buttons .button:hover{background-color:#616161}.ui.inverted.secondary.button:focus,.ui.inverted.secondary.buttons .button:focus{background-color:#686868}.ui.inverted.secondary.active.button,.ui.inverted.secondary.buttons .active.button{background-color:#616161}.ui.inverted.secondary.button:active,.ui.inverted.secondary.buttons .button:active{background-color:#6e6e6e}.ui.inverted.secondary.basic.button,.ui.inverted.secondary.basic.buttons .button,.ui.inverted.secondary.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.secondary.basic.button:hover,.ui.inverted.secondary.basic.buttons .button:hover,.ui.inverted.secondary.buttons .basic.button:hover{box-shadow:0 0 0 2px #616161 inset!important;color:#545454!important}.ui.inverted.secondary.basic.button:focus,.ui.inverted.secondary.basic.buttons .button:focus{box-shadow:0 0 0 2px #686868 inset!important;color:#545454!important}.ui.inverted.secondary.basic.active.button,.ui.inverted.secondary.basic.buttons .active.button,.ui.inverted.secondary.buttons .basic.active.button{box-shadow:0 0 0 2px #616161 inset!important;color:#545454!important}.ui.inverted.secondary.basic.button:active,.ui.inverted.secondary.basic.buttons .button:active,.ui.inverted.secondary.buttons .basic.button:active{box-shadow:0 0 0 2px #6e6e6e inset!important;color:#545454!important}.ui.positive.button,.ui.positive.buttons .button{background-color:#21ba45;color:#fff;text-shadow:none;background-image:none}.ui.positive.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.positive.button:hover,.ui.positive.buttons .button:hover{background-color:#16ab39;color:#fff;text-shadow:none}.ui.positive.button:focus,.ui.positive.buttons .button:focus{background-color:#0ea432;color:#fff;text-shadow:none}.ui.positive.button:active,.ui.positive.buttons .button:active{background-color:#198f35;color:#fff;text-shadow:none}.ui.positive.active.button,.ui.positive.button .active.button:active,.ui.positive.buttons .active.button,.ui.positive.buttons .active.button:active{background-color:#13ae38;color:#fff;text-shadow:none}.ui.basic.positive.button,.ui.basic.positive.buttons .button{box-shadow:0 0 0 1px #21ba45 inset!important;color:#21ba45!important}.ui.basic.positive.button:hover,.ui.basic.positive.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #16ab39 inset!important;color:#16ab39!important}.ui.basic.positive.button:focus,.ui.basic.positive.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #0ea432 inset!important;color:#16ab39!important}.ui.basic.positive.active.button,.ui.basic.positive.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #13ae38 inset!important;color:#198f35!important}.ui.basic.positive.button:active,.ui.basic.positive.buttons .button:active{box-shadow:0 0 0 1px #198f35 inset!important;color:#198f35!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.negative.button,.ui.negative.buttons .button{background-color:#db2828;color:#fff;text-shadow:none;background-image:none}.ui.negative.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.negative.button:hover,.ui.negative.buttons .button:hover{background-color:#d01919;color:#fff;text-shadow:none}.ui.negative.button:focus,.ui.negative.buttons .button:focus{background-color:#ca1010;color:#fff;text-shadow:none}.ui.negative.button:active,.ui.negative.buttons .button:active{background-color:#b21e1e;color:#fff;text-shadow:none}.ui.negative.active.button,.ui.negative.button .active.button:active,.ui.negative.buttons .active.button,.ui.negative.buttons .active.button:active{background-color:#d41515;color:#fff;text-shadow:none}.ui.basic.negative.button,.ui.basic.negative.buttons .button{box-shadow:0 0 0 1px #db2828 inset!important;color:#db2828!important}.ui.basic.negative.button:hover,.ui.basic.negative.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #d01919 inset!important;color:#d01919!important}.ui.basic.negative.button:focus,.ui.basic.negative.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #ca1010 inset!important;color:#d01919!important}.ui.basic.negative.active.button,.ui.basic.negative.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #d41515 inset!important;color:#b21e1e!important}.ui.basic.negative.button:active,.ui.basic.negative.buttons .button:active{box-shadow:0 0 0 1px #b21e1e inset!important;color:#b21e1e!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.buttons{display:inline-flex;flex-direction:row;font-size:0;vertical-align:baseline;margin:0 .25em 0 0}.ui.buttons:not(.basic):not(.inverted){box-shadow:none}.ui.buttons:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.buttons .button{flex:1 0 auto;margin:0;border-radius:0;margin:0}.ui.buttons:not(.basic):not(.inverted)>.button,.ui.buttons>.ui.button:not(.basic):not(.inverted){box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.buttons .button:first-child{border-left:none;margin-left:0;border-top-left-radius:.28571429rem;border-bottom-left-radius:.28571429rem}.ui.buttons .button:last-child{border-top-right-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.buttons{display:inline-flex;flex-direction:column}.ui.vertical.buttons .button{display:block;float:none;width:100%;margin:0;box-shadow:none;border-radius:0}.ui.vertical.buttons .button:first-child{border-top-left-radius:.28571429rem;border-top-right-radius:.28571429rem}.ui.vertical.buttons .button:last-child{margin-bottom:0;border-bottom-left-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.buttons .button:only-child{border-radius:.28571429rem}/*! + * # Semantic UI 2.5.0 - Container + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.container{display:block;max-width:100%!important}@media only screen and (max-width:767px){.ui.container{width:auto!important;margin-left:1em!important;margin-right:1em!important}.ui.grid.container{width:auto!important}.ui.relaxed.grid.container{width:auto!important}.ui.very.relaxed.grid.container{width:auto!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.container{width:723px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(723px + 2rem)!important}.ui.relaxed.grid.container{width:calc(723px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(723px + 5rem)!important}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.container{width:933px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(933px + 2rem)!important}.ui.relaxed.grid.container{width:calc(933px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(933px + 5rem)!important}}@media only screen and (min-width:1200px){.ui.container{width:1127px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(1127px + 2rem)!important}.ui.relaxed.grid.container{width:calc(1127px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(1127px + 5rem)!important}}.ui.text.container{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;max-width:700px!important;line-height:1.5}.ui.text.container{font-size:1.14285714rem}.ui.fluid.container{width:100%}.ui[class*="left aligned"].container{text-align:left}.ui[class*="center aligned"].container{text-align:center}.ui[class*="right aligned"].container{text-align:right}.ui.justified.container{text-align:justify;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}/*! + * # Semantic UI 2.5.0 - Divider + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.divider{margin:1rem 0;line-height:1;height:0;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:rgba(0,0,0,.85);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ui.divider:not(.vertical):not(.horizontal){border-top:1px solid rgba(34,36,38,.15);border-bottom:1px solid rgba(255,255,255,.1)}.ui.grid>.column+.divider,.ui.grid>.row>.column+.divider{left:auto}.ui.horizontal.divider{display:table;white-space:nowrap;height:auto;margin:'';line-height:1;text-align:center}.ui.horizontal.divider:after,.ui.horizontal.divider:before{content:'';display:table-cell;position:relative;top:50%;width:50%;background-repeat:no-repeat}.ui.horizontal.divider:before{background-position:right 1em top 50%}.ui.horizontal.divider:after{background-position:left 1em top 50%}.ui.vertical.divider{position:absolute;z-index:2;top:50%;left:50%;margin:0;padding:0;width:auto;height:50%;line-height:0;text-align:center;transform:translateX(-50%)}.ui.vertical.divider:after,.ui.vertical.divider:before{position:absolute;left:50%;content:'';z-index:3;border-left:1px solid rgba(34,36,38,.15);border-right:1px solid rgba(255,255,255,.1);width:0%;height:calc(100% - 1rem)}.ui.vertical.divider:before{top:-100%}.ui.vertical.divider:after{top:auto;bottom:0}@media only screen and (max-width:767px){.ui.grid .stackable.row .ui.vertical.divider,.ui.stackable.grid .ui.vertical.divider{display:table;white-space:nowrap;height:auto;margin:'';overflow:hidden;line-height:1;text-align:center;position:static;top:0;left:0;transform:none}.ui.grid .stackable.row .ui.vertical.divider:after,.ui.grid .stackable.row .ui.vertical.divider:before,.ui.stackable.grid .ui.vertical.divider:after,.ui.stackable.grid .ui.vertical.divider:before{position:static;left:0;border-left:none;border-right:none;content:'';display:table-cell;position:relative;top:50%;width:50%;background-repeat:no-repeat}.ui.grid .stackable.row .ui.vertical.divider:before,.ui.stackable.grid .ui.vertical.divider:before{background-position:right 1em top 50%}.ui.grid .stackable.row .ui.vertical.divider:after,.ui.stackable.grid .ui.vertical.divider:after{background-position:left 1em top 50%}}.ui.divider>.icon{margin:0;font-size:1rem;height:1em;vertical-align:middle}.ui.hidden.divider{border-color:transparent!important}.ui.hidden.divider:after,.ui.hidden.divider:before{display:none}.ui.divider.inverted,.ui.horizontal.inverted.divider,.ui.vertical.inverted.divider{color:#fff}.ui.divider.inverted,.ui.divider.inverted:after,.ui.divider.inverted:before{border-top-color:rgba(34,36,38,.15)!important;border-left-color:rgba(34,36,38,.15)!important;border-bottom-color:rgba(255,255,255,.15)!important;border-right-color:rgba(255,255,255,.15)!important}.ui.fitted.divider{margin:0}.ui.clearing.divider{clear:both}.ui.section.divider{margin-top:2rem;margin-bottom:2rem}.ui.divider{font-size:1rem}.ui.horizontal.divider:after,.ui.horizontal.divider:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC)}@media only screen and (max-width:767px){.ui.grid .stackable.row .ui.vertical.divider:after,.ui.grid .stackable.row .ui.vertical.divider:before,.ui.stackable.grid .ui.vertical.divider:after,.ui.stackable.grid .ui.vertical.divider:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC)}}/*! + * # Semantic UI 2.5.0 - Flag + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */i.flag:not(.icon){display:inline-block;width:16px;height:11px;line-height:11px;vertical-align:baseline;margin:0 .5em 0 0;text-decoration:inherit;speak:none;font-smoothing:antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden}i.flag:not(.icon):before{display:inline-block;content:'';background:url(themes/default/assets/images/flags.png) no-repeat -108px -1976px;width:16px;height:11px}i.flag.ad:before,i.flag.andorra:before{background-position:0 0}i.flag.ae:before,i.flag.uae:before,i.flag.united.arab.emirates:before{background-position:0 -26px}i.flag.af:before,i.flag.afghanistan:before{background-position:0 -52px}i.flag.ag:before,i.flag.antigua:before{background-position:0 -78px}i.flag.ai:before,i.flag.anguilla:before{background-position:0 -104px}i.flag.al:before,i.flag.albania:before{background-position:0 -130px}i.flag.am:before,i.flag.armenia:before{background-position:0 -156px}i.flag.an:before,i.flag.netherlands.antilles:before{background-position:0 -182px}i.flag.angola:before,i.flag.ao:before{background-position:0 -208px}i.flag.ar:before,i.flag.argentina:before{background-position:0 -234px}i.flag.american.samoa:before,i.flag.as:before{background-position:0 -260px}i.flag.at:before,i.flag.austria:before{background-position:0 -286px}i.flag.au:before,i.flag.australia:before{background-position:0 -312px}i.flag.aruba:before,i.flag.aw:before{background-position:0 -338px}i.flag.aland.islands:before,i.flag.ax:before{background-position:0 -364px}i.flag.az:before,i.flag.azerbaijan:before{background-position:0 -390px}i.flag.ba:before,i.flag.bosnia:before{background-position:0 -416px}i.flag.barbados:before,i.flag.bb:before{background-position:0 -442px}i.flag.bangladesh:before,i.flag.bd:before{background-position:0 -468px}i.flag.be:before,i.flag.belgium:before{background-position:0 -494px}i.flag.bf:before,i.flag.burkina.faso:before{background-position:0 -520px}i.flag.bg:before,i.flag.bulgaria:before{background-position:0 -546px}i.flag.bahrain:before,i.flag.bh:before{background-position:0 -572px}i.flag.bi:before,i.flag.burundi:before{background-position:0 -598px}i.flag.benin:before,i.flag.bj:before{background-position:0 -624px}i.flag.bermuda:before,i.flag.bm:before{background-position:0 -650px}i.flag.bn:before,i.flag.brunei:before{background-position:0 -676px}i.flag.bo:before,i.flag.bolivia:before{background-position:0 -702px}i.flag.br:before,i.flag.brazil:before{background-position:0 -728px}i.flag.bahamas:before,i.flag.bs:before{background-position:0 -754px}i.flag.bhutan:before,i.flag.bt:before{background-position:0 -780px}i.flag.bouvet.island:before,i.flag.bv:before{background-position:0 -806px}i.flag.botswana:before,i.flag.bw:before{background-position:0 -832px}i.flag.belarus:before,i.flag.by:before{background-position:0 -858px}i.flag.belize:before,i.flag.bz:before{background-position:0 -884px}i.flag.ca:before,i.flag.canada:before{background-position:0 -910px}i.flag.cc:before,i.flag.cocos.islands:before{background-position:0 -962px}i.flag.cd:before,i.flag.congo:before{background-position:0 -988px}i.flag.central.african.republic:before,i.flag.cf:before{background-position:0 -1014px}i.flag.cg:before,i.flag.congo.brazzaville:before{background-position:0 -1040px}i.flag.ch:before,i.flag.switzerland:before{background-position:0 -1066px}i.flag.ci:before,i.flag.cote.divoire:before{background-position:0 -1092px}i.flag.ck:before,i.flag.cook.islands:before{background-position:0 -1118px}i.flag.chile:before,i.flag.cl:before{background-position:0 -1144px}i.flag.cameroon:before,i.flag.cm:before{background-position:0 -1170px}i.flag.china:before,i.flag.cn:before{background-position:0 -1196px}i.flag.co:before,i.flag.colombia:before{background-position:0 -1222px}i.flag.costa.rica:before,i.flag.cr:before{background-position:0 -1248px}i.flag.cs:before,i.flag.serbia:before{background-position:0 -1274px}i.flag.cu:before,i.flag.cuba:before{background-position:0 -1300px}i.flag.cape.verde:before,i.flag.cv:before{background-position:0 -1326px}i.flag.christmas.island:before,i.flag.cx:before{background-position:0 -1352px}i.flag.cy:before,i.flag.cyprus:before{background-position:0 -1378px}i.flag.cz:before,i.flag.czech.republic:before{background-position:0 -1404px}i.flag.de:before,i.flag.germany:before{background-position:0 -1430px}i.flag.dj:before,i.flag.djibouti:before{background-position:0 -1456px}i.flag.denmark:before,i.flag.dk:before{background-position:0 -1482px}i.flag.dm:before,i.flag.dominica:before{background-position:0 -1508px}i.flag.do:before,i.flag.dominican.republic:before{background-position:0 -1534px}i.flag.algeria:before,i.flag.dz:before{background-position:0 -1560px}i.flag.ec:before,i.flag.ecuador:before{background-position:0 -1586px}i.flag.ee:before,i.flag.estonia:before{background-position:0 -1612px}i.flag.eg:before,i.flag.egypt:before{background-position:0 -1638px}i.flag.eh:before,i.flag.western.sahara:before{background-position:0 -1664px}i.flag.england:before,i.flag.gb.eng:before{background-position:0 -1690px}i.flag.er:before,i.flag.eritrea:before{background-position:0 -1716px}i.flag.es:before,i.flag.spain:before{background-position:0 -1742px}i.flag.et:before,i.flag.ethiopia:before{background-position:0 -1768px}i.flag.eu:before,i.flag.european.union:before{background-position:0 -1794px}i.flag.fi:before,i.flag.finland:before{background-position:0 -1846px}i.flag.fiji:before,i.flag.fj:before{background-position:0 -1872px}i.flag.falkland.islands:before,i.flag.fk:before{background-position:0 -1898px}i.flag.fm:before,i.flag.micronesia:before{background-position:0 -1924px}i.flag.faroe.islands:before,i.flag.fo:before{background-position:0 -1950px}i.flag.fr:before,i.flag.france:before{background-position:0 -1976px}i.flag.ga:before,i.flag.gabon:before{background-position:-36px 0}i.flag.gb:before,i.flag.uk:before,i.flag.united.kingdom:before{background-position:-36px -26px}i.flag.gd:before,i.flag.grenada:before{background-position:-36px -52px}i.flag.ge:before,i.flag.georgia:before{background-position:-36px -78px}i.flag.french.guiana:before,i.flag.gf:before{background-position:-36px -104px}i.flag.gh:before,i.flag.ghana:before{background-position:-36px -130px}i.flag.gi:before,i.flag.gibraltar:before{background-position:-36px -156px}i.flag.gl:before,i.flag.greenland:before{background-position:-36px -182px}i.flag.gambia:before,i.flag.gm:before{background-position:-36px -208px}i.flag.gn:before,i.flag.guinea:before{background-position:-36px -234px}i.flag.gp:before,i.flag.guadeloupe:before{background-position:-36px -260px}i.flag.equatorial.guinea:before,i.flag.gq:before{background-position:-36px -286px}i.flag.gr:before,i.flag.greece:before{background-position:-36px -312px}i.flag.gs:before,i.flag.sandwich.islands:before{background-position:-36px -338px}i.flag.gt:before,i.flag.guatemala:before{background-position:-36px -364px}i.flag.gu:before,i.flag.guam:before{background-position:-36px -390px}i.flag.guinea-bissau:before,i.flag.gw:before{background-position:-36px -416px}i.flag.guyana:before,i.flag.gy:before{background-position:-36px -442px}i.flag.hk:before,i.flag.hong.kong:before{background-position:-36px -468px}i.flag.heard.island:before,i.flag.hm:before{background-position:-36px -494px}i.flag.hn:before,i.flag.honduras:before{background-position:-36px -520px}i.flag.croatia:before,i.flag.hr:before{background-position:-36px -546px}i.flag.haiti:before,i.flag.ht:before{background-position:-36px -572px}i.flag.hu:before,i.flag.hungary:before{background-position:-36px -598px}i.flag.id:before,i.flag.indonesia:before{background-position:-36px -624px}i.flag.ie:before,i.flag.ireland:before{background-position:-36px -650px}i.flag.il:before,i.flag.israel:before{background-position:-36px -676px}i.flag.in:before,i.flag.india:before{background-position:-36px -702px}i.flag.indian.ocean.territory:before,i.flag.io:before{background-position:-36px -728px}i.flag.iq:before,i.flag.iraq:before{background-position:-36px -754px}i.flag.ir:before,i.flag.iran:before{background-position:-36px -780px}i.flag.iceland:before,i.flag.is:before{background-position:-36px -806px}i.flag.it:before,i.flag.italy:before{background-position:-36px -832px}i.flag.jamaica:before,i.flag.jm:before{background-position:-36px -858px}i.flag.jo:before,i.flag.jordan:before{background-position:-36px -884px}i.flag.japan:before,i.flag.jp:before{background-position:-36px -910px}i.flag.ke:before,i.flag.kenya:before{background-position:-36px -936px}i.flag.kg:before,i.flag.kyrgyzstan:before{background-position:-36px -962px}i.flag.cambodia:before,i.flag.kh:before{background-position:-36px -988px}i.flag.ki:before,i.flag.kiribati:before{background-position:-36px -1014px}i.flag.comoros:before,i.flag.km:before{background-position:-36px -1040px}i.flag.kn:before,i.flag.saint.kitts.and.nevis:before{background-position:-36px -1066px}i.flag.kp:before,i.flag.north.korea:before{background-position:-36px -1092px}i.flag.kr:before,i.flag.south.korea:before{background-position:-36px -1118px}i.flag.kuwait:before,i.flag.kw:before{background-position:-36px -1144px}i.flag.cayman.islands:before,i.flag.ky:before{background-position:-36px -1170px}i.flag.kazakhstan:before,i.flag.kz:before{background-position:-36px -1196px}i.flag.la:before,i.flag.laos:before{background-position:-36px -1222px}i.flag.lb:before,i.flag.lebanon:before{background-position:-36px -1248px}i.flag.lc:before,i.flag.saint.lucia:before{background-position:-36px -1274px}i.flag.li:before,i.flag.liechtenstein:before{background-position:-36px -1300px}i.flag.lk:before,i.flag.sri.lanka:before{background-position:-36px -1326px}i.flag.liberia:before,i.flag.lr:before{background-position:-36px -1352px}i.flag.lesotho:before,i.flag.ls:before{background-position:-36px -1378px}i.flag.lithuania:before,i.flag.lt:before{background-position:-36px -1404px}i.flag.lu:before,i.flag.luxembourg:before{background-position:-36px -1430px}i.flag.latvia:before,i.flag.lv:before{background-position:-36px -1456px}i.flag.libya:before,i.flag.ly:before{background-position:-36px -1482px}i.flag.ma:before,i.flag.morocco:before{background-position:-36px -1508px}i.flag.mc:before,i.flag.monaco:before{background-position:-36px -1534px}i.flag.md:before,i.flag.moldova:before{background-position:-36px -1560px}i.flag.me:before,i.flag.montenegro:before{background-position:-36px -1586px}i.flag.madagascar:before,i.flag.mg:before{background-position:-36px -1613px}i.flag.marshall.islands:before,i.flag.mh:before{background-position:-36px -1639px}i.flag.macedonia:before,i.flag.mk:before{background-position:-36px -1665px}i.flag.mali:before,i.flag.ml:before{background-position:-36px -1691px}i.flag.burma:before,i.flag.mm:before,i.flag.myanmar:before{background-position:-73px -1821px}i.flag.mn:before,i.flag.mongolia:before{background-position:-36px -1743px}i.flag.macau:before,i.flag.mo:before{background-position:-36px -1769px}i.flag.mp:before,i.flag.northern.mariana.islands:before{background-position:-36px -1795px}i.flag.martinique:before,i.flag.mq:before{background-position:-36px -1821px}i.flag.mauritania:before,i.flag.mr:before{background-position:-36px -1847px}i.flag.montserrat:before,i.flag.ms:before{background-position:-36px -1873px}i.flag.malta:before,i.flag.mt:before{background-position:-36px -1899px}i.flag.mauritius:before,i.flag.mu:before{background-position:-36px -1925px}i.flag.maldives:before,i.flag.mv:before{background-position:-36px -1951px}i.flag.malawi:before,i.flag.mw:before{background-position:-36px -1977px}i.flag.mexico:before,i.flag.mx:before{background-position:-72px 0}i.flag.malaysia:before,i.flag.my:before{background-position:-72px -26px}i.flag.mozambique:before,i.flag.mz:before{background-position:-72px -52px}i.flag.na:before,i.flag.namibia:before{background-position:-72px -78px}i.flag.nc:before,i.flag.new.caledonia:before{background-position:-72px -104px}i.flag.ne:before,i.flag.niger:before{background-position:-72px -130px}i.flag.nf:before,i.flag.norfolk.island:before{background-position:-72px -156px}i.flag.ng:before,i.flag.nigeria:before{background-position:-72px -182px}i.flag.ni:before,i.flag.nicaragua:before{background-position:-72px -208px}i.flag.netherlands:before,i.flag.nl:before{background-position:-72px -234px}i.flag.no:before,i.flag.norway:before{background-position:-72px -260px}i.flag.nepal:before,i.flag.np:before{background-position:-72px -286px}i.flag.nauru:before,i.flag.nr:before{background-position:-72px -312px}i.flag.niue:before,i.flag.nu:before{background-position:-72px -338px}i.flag.new.zealand:before,i.flag.nz:before{background-position:-72px -364px}i.flag.om:before,i.flag.oman:before{background-position:-72px -390px}i.flag.pa:before,i.flag.panama:before{background-position:-72px -416px}i.flag.pe:before,i.flag.peru:before{background-position:-72px -442px}i.flag.french.polynesia:before,i.flag.pf:before{background-position:-72px -468px}i.flag.new.guinea:before,i.flag.pg:before{background-position:-72px -494px}i.flag.ph:before,i.flag.philippines:before{background-position:-72px -520px}i.flag.pakistan:before,i.flag.pk:before{background-position:-72px -546px}i.flag.pl:before,i.flag.poland:before{background-position:-72px -572px}i.flag.pm:before,i.flag.saint.pierre:before{background-position:-72px -598px}i.flag.pitcairn.islands:before,i.flag.pn:before{background-position:-72px -624px}i.flag.pr:before,i.flag.puerto.rico:before{background-position:-72px -650px}i.flag.palestine:before,i.flag.ps:before{background-position:-72px -676px}i.flag.portugal:before,i.flag.pt:before{background-position:-72px -702px}i.flag.palau:before,i.flag.pw:before{background-position:-72px -728px}i.flag.paraguay:before,i.flag.py:before{background-position:-72px -754px}i.flag.qa:before,i.flag.qatar:before{background-position:-72px -780px}i.flag.re:before,i.flag.reunion:before{background-position:-72px -806px}i.flag.ro:before,i.flag.romania:before{background-position:-72px -832px}i.flag.rs:before,i.flag.serbia:before{background-position:-72px -858px}i.flag.ru:before,i.flag.russia:before{background-position:-72px -884px}i.flag.rw:before,i.flag.rwanda:before{background-position:-72px -910px}i.flag.sa:before,i.flag.saudi.arabia:before{background-position:-72px -936px}i.flag.sb:before,i.flag.solomon.islands:before{background-position:-72px -962px}i.flag.sc:before,i.flag.seychelles:before{background-position:-72px -988px}i.flag.gb.sct:before,i.flag.scotland:before{background-position:-72px -1014px}i.flag.sd:before,i.flag.sudan:before{background-position:-72px -1040px}i.flag.se:before,i.flag.sweden:before{background-position:-72px -1066px}i.flag.sg:before,i.flag.singapore:before{background-position:-72px -1092px}i.flag.saint.helena:before,i.flag.sh:before{background-position:-72px -1118px}i.flag.si:before,i.flag.slovenia:before{background-position:-72px -1144px}i.flag.jan.mayen:before,i.flag.sj:before,i.flag.svalbard:before{background-position:-72px -1170px}i.flag.sk:before,i.flag.slovakia:before{background-position:-72px -1196px}i.flag.sierra.leone:before,i.flag.sl:before{background-position:-72px -1222px}i.flag.san.marino:before,i.flag.sm:before{background-position:-72px -1248px}i.flag.senegal:before,i.flag.sn:before{background-position:-72px -1274px}i.flag.so:before,i.flag.somalia:before{background-position:-72px -1300px}i.flag.sr:before,i.flag.suriname:before{background-position:-72px -1326px}i.flag.sao.tome:before,i.flag.st:before{background-position:-72px -1352px}i.flag.el.salvador:before,i.flag.sv:before{background-position:-72px -1378px}i.flag.sy:before,i.flag.syria:before{background-position:-72px -1404px}i.flag.swaziland:before,i.flag.sz:before{background-position:-72px -1430px}i.flag.caicos.islands:before,i.flag.tc:before{background-position:-72px -1456px}i.flag.chad:before,i.flag.td:before{background-position:-72px -1482px}i.flag.french.territories:before,i.flag.tf:before{background-position:-72px -1508px}i.flag.tg:before,i.flag.togo:before{background-position:-72px -1534px}i.flag.th:before,i.flag.thailand:before{background-position:-72px -1560px}i.flag.tajikistan:before,i.flag.tj:before{background-position:-72px -1586px}i.flag.tk:before,i.flag.tokelau:before{background-position:-72px -1612px}i.flag.timorleste:before,i.flag.tl:before{background-position:-72px -1638px}i.flag.tm:before,i.flag.turkmenistan:before{background-position:-72px -1664px}i.flag.tn:before,i.flag.tunisia:before{background-position:-72px -1690px}i.flag.to:before,i.flag.tonga:before{background-position:-72px -1716px}i.flag.tr:before,i.flag.turkey:before{background-position:-72px -1742px}i.flag.trinidad:before,i.flag.tt:before{background-position:-72px -1768px}i.flag.tuvalu:before,i.flag.tv:before{background-position:-72px -1794px}i.flag.taiwan:before,i.flag.tw:before{background-position:-72px -1820px}i.flag.tanzania:before,i.flag.tz:before{background-position:-72px -1846px}i.flag.ua:before,i.flag.ukraine:before{background-position:-72px -1872px}i.flag.ug:before,i.flag.uganda:before{background-position:-72px -1898px}i.flag.um:before,i.flag.us.minor.islands:before{background-position:-72px -1924px}i.flag.america:before,i.flag.united.states:before,i.flag.us:before{background-position:-72px -1950px}i.flag.uruguay:before,i.flag.uy:before{background-position:-72px -1976px}i.flag.uz:before,i.flag.uzbekistan:before{background-position:-108px 0}i.flag.va:before,i.flag.vatican.city:before{background-position:-108px -26px}i.flag.saint.vincent:before,i.flag.vc:before{background-position:-108px -52px}i.flag.ve:before,i.flag.venezuela:before{background-position:-108px -78px}i.flag.british.virgin.islands:before,i.flag.vg:before{background-position:-108px -104px}i.flag.us.virgin.islands:before,i.flag.vi:before{background-position:-108px -130px}i.flag.vietnam:before,i.flag.vn:before{background-position:-108px -156px}i.flag.vanuatu:before,i.flag.vu:before{background-position:-108px -182px}i.flag.gb.wls:before,i.flag.wales:before{background-position:-108px -208px}i.flag.wallis.and.futuna:before,i.flag.wf:before{background-position:-108px -234px}i.flag.samoa:before,i.flag.ws:before{background-position:-108px -260px}i.flag.ye:before,i.flag.yemen:before{background-position:-108px -286px}i.flag.mayotte:before,i.flag.yt:before{background-position:-108px -312px}i.flag.south.africa:before,i.flag.za:before{background-position:-108px -338px}i.flag.zambia:before,i.flag.zm:before{background-position:-108px -364px}i.flag.zimbabwe:before,i.flag.zw:before{background-position:-108px -390px}/*! + * # Semantic UI 2.5.0 - Header + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.header{border:none;margin:calc(2rem - .14285714em) 0 1rem;padding:0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;line-height:1.28571429em;text-transform:none;color:rgba(0,0,0,.87)}.ui.header:first-child{margin-top:-.14285714em}.ui.header:last-child{margin-bottom:0}.ui.header .sub.header{display:block;font-weight:400;padding:0;margin:0;font-size:1rem;line-height:1.2em;color:rgba(0,0,0,.6)}.ui.header>.icon{display:table-cell;opacity:1;font-size:1.5em;padding-top:0;vertical-align:middle}.ui.header .icon:only-child{display:inline-block;padding:0;margin-right:.75rem}.ui.header>.image:not(.icon),.ui.header>img{display:inline-block;margin-top:.14285714em;width:2.5em;height:auto;vertical-align:middle}.ui.header>.image:not(.icon):only-child,.ui.header>img:only-child{margin-right:.75rem}.ui.header .content{display:inline-block;vertical-align:top}.ui.header>.image+.content,.ui.header>img+.content{padding-left:.75rem;vertical-align:middle}.ui.header>.icon+.content{padding-left:.75rem;display:table-cell;vertical-align:middle}.ui.header .ui.label{font-size:'';margin-left:.5rem;vertical-align:middle}.ui.header+p{margin-top:0}h1.ui.header{font-size:2rem}h2.ui.header{font-size:1.71428571rem}h3.ui.header{font-size:1.28571429rem}h4.ui.header{font-size:1.07142857rem}h5.ui.header{font-size:1rem}h1.ui.header .sub.header{font-size:1.14285714rem}h2.ui.header .sub.header{font-size:1.14285714rem}h3.ui.header .sub.header{font-size:1rem}h4.ui.header .sub.header{font-size:1rem}h5.ui.header .sub.header{font-size:.92857143rem}.ui.huge.header{min-height:1em;font-size:2em}.ui.large.header{font-size:1.71428571em}.ui.medium.header{font-size:1.28571429em}.ui.small.header{font-size:1.07142857em}.ui.tiny.header{font-size:1em}.ui.huge.header .sub.header{font-size:1.14285714rem}.ui.large.header .sub.header{font-size:1.14285714rem}.ui.header .sub.header{font-size:1rem}.ui.small.header .sub.header{font-size:1rem}.ui.tiny.header .sub.header{font-size:.92857143rem}.ui.sub.header{padding:0;margin-bottom:.14285714rem;font-weight:700;font-size:.85714286em;text-transform:uppercase;color:''}.ui.small.sub.header{font-size:.78571429em}.ui.sub.header{font-size:.85714286em}.ui.large.sub.header{font-size:.92857143em}.ui.huge.sub.header{font-size:1em}.ui.icon.header{display:inline-block;text-align:center;margin:2rem 0 1rem}.ui.icon.header:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.icon.header:first-child{margin-top:0}.ui.icon.header .icon{float:none;display:block;width:auto;height:auto;line-height:1;padding:0;font-size:3em;margin:0 auto .5rem;opacity:1}.ui.icon.header .content{display:block;padding:0}.ui.icon.header .circular.icon{font-size:2em}.ui.icon.header .square.icon{font-size:2em}.ui.block.icon.header .icon{margin-bottom:0}.ui.icon.header.aligned{margin-left:auto;margin-right:auto;display:block}.ui.disabled.header{opacity:.45}.ui.inverted.header{color:#fff}.ui.inverted.header .sub.header{color:rgba(255,255,255,.8)}.ui.inverted.attached.header{background:#545454 linear-gradient(transparent,rgba(0,0,0,.05));box-shadow:none;border-color:transparent}.ui.inverted.block.header{background:#545454 linear-gradient(transparent,rgba(0,0,0,.05));box-shadow:none}.ui.inverted.block.header{border-bottom:none}.ui.red.header{color:#db2828!important}a.ui.red.header:hover{color:#d01919!important}.ui.red.dividing.header{border-bottom:2px solid #db2828}.ui.inverted.red.header{color:#ff695e!important}a.ui.inverted.red.header:hover{color:#ff5144!important}.ui.orange.header{color:#f2711c!important}a.ui.orange.header:hover{color:#f26202!important}.ui.orange.dividing.header{border-bottom:2px solid #f2711c}.ui.inverted.orange.header{color:#ff851b!important}a.ui.inverted.orange.header:hover{color:#ff7701!important}.ui.olive.header{color:#b5cc18!important}a.ui.olive.header:hover{color:#a7bd0d!important}.ui.olive.dividing.header{border-bottom:2px solid #b5cc18}.ui.inverted.olive.header{color:#d9e778!important}a.ui.inverted.olive.header:hover{color:#d8ea5c!important}.ui.yellow.header{color:#fbbd08!important}a.ui.yellow.header:hover{color:#eaae00!important}.ui.yellow.dividing.header{border-bottom:2px solid #fbbd08}.ui.inverted.yellow.header{color:#ffe21f!important}a.ui.inverted.yellow.header:hover{color:#ffdf05!important}.ui.green.header{color:#21ba45!important}a.ui.green.header:hover{color:#16ab39!important}.ui.green.dividing.header{border-bottom:2px solid #21ba45}.ui.inverted.green.header{color:#2ecc40!important}a.ui.inverted.green.header:hover{color:#22be34!important}.ui.teal.header{color:#00b5ad!important}a.ui.teal.header:hover{color:#009c95!important}.ui.teal.dividing.header{border-bottom:2px solid #00b5ad}.ui.inverted.teal.header{color:#6dffff!important}a.ui.inverted.teal.header:hover{color:#54ffff!important}.ui.blue.header{color:#2185d0!important}a.ui.blue.header:hover{color:#1678c2!important}.ui.blue.dividing.header{border-bottom:2px solid #2185d0}.ui.inverted.blue.header{color:#54c8ff!important}a.ui.inverted.blue.header:hover{color:#3ac0ff!important}.ui.violet.header{color:#6435c9!important}a.ui.violet.header:hover{color:#5829bb!important}.ui.violet.dividing.header{border-bottom:2px solid #6435c9}.ui.inverted.violet.header{color:#a291fb!important}a.ui.inverted.violet.header:hover{color:#8a73ff!important}.ui.purple.header{color:#a333c8!important}a.ui.purple.header:hover{color:#9627ba!important}.ui.purple.dividing.header{border-bottom:2px solid #a333c8}.ui.inverted.purple.header{color:#dc73ff!important}a.ui.inverted.purple.header:hover{color:#d65aff!important}.ui.pink.header{color:#e03997!important}a.ui.pink.header:hover{color:#e61a8d!important}.ui.pink.dividing.header{border-bottom:2px solid #e03997}.ui.inverted.pink.header{color:#ff8edf!important}a.ui.inverted.pink.header:hover{color:#ff74d8!important}.ui.brown.header{color:#a5673f!important}a.ui.brown.header:hover{color:#975b33!important}.ui.brown.dividing.header{border-bottom:2px solid #a5673f}.ui.inverted.brown.header{color:#d67c1c!important}a.ui.inverted.brown.header:hover{color:#c86f11!important}.ui.grey.header{color:#767676!important}a.ui.grey.header:hover{color:#838383!important}.ui.grey.dividing.header{border-bottom:2px solid #767676}.ui.inverted.grey.header{color:#dcddde!important}a.ui.inverted.grey.header:hover{color:#cfd0d2!important}.ui.left.aligned.header{text-align:left}.ui.right.aligned.header{text-align:right}.ui.center.aligned.header,.ui.centered.header{text-align:center}.ui.justified.header{text-align:justify}.ui.justified.header:after{display:inline-block;content:'';width:100%}.ui.floated.header,.ui[class*="left floated"].header{float:left;margin-top:0;margin-right:.5em}.ui[class*="right floated"].header{float:right;margin-top:0;margin-left:.5em}.ui.fitted.header{padding:0}.ui.dividing.header{padding-bottom:.21428571rem;border-bottom:1px solid rgba(34,36,38,.15)}.ui.dividing.header .sub.header{padding-bottom:.21428571rem}.ui.dividing.header .icon{margin-bottom:0}.ui.inverted.dividing.header{border-bottom-color:rgba(255,255,255,.1)}.ui.block.header{background:#f3f4f5;padding:.78571429rem 1rem;box-shadow:none;border:1px solid #d4d4d5;border-radius:.28571429rem}.ui.tiny.block.header{font-size:.85714286rem}.ui.small.block.header{font-size:.92857143rem}.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1rem}.ui.large.block.header{font-size:1.14285714rem}.ui.huge.block.header{font-size:1.42857143rem}.ui.attached.header{background:#fff;padding:.78571429rem 1rem;margin-left:-1px;margin-right:-1px;box-shadow:none;border:1px solid #d4d4d5}.ui.attached.block.header{background:#f3f4f5}.ui.attached:not(.top):not(.bottom).header{margin-top:0;margin-bottom:0;border-top:none;border-radius:0}.ui.top.attached.header{margin-bottom:0;border-radius:.28571429rem .28571429rem 0 0}.ui.bottom.attached.header{margin-top:0;border-top:none;border-radius:0 0 .28571429rem .28571429rem}.ui.tiny.attached.header{font-size:.85714286em}.ui.small.attached.header{font-size:.92857143em}.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1em}.ui.large.attached.header{font-size:1.14285714em}.ui.huge.attached.header{font-size:1.42857143em}.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1.28571429em}/*! + * # Semantic UI 2.5.0 - Icon + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */@font-face{font-family:Icons;src:url(themes/default/assets/fonts/icons.eot);src:url(themes/default/assets/fonts/icons.eot?#iefix) format('embedded-opentype'),url(themes/default/assets/fonts/icons.woff2) format('woff2'),url(themes/default/assets/fonts/icons.woff) format('woff'),url(themes/default/assets/fonts/icons.ttf) format('truetype'),url(themes/default/assets/fonts/icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon{display:inline-block;opacity:1;margin:0 .25rem 0 0;width:1.18em;height:1em;font-family:Icons;font-style:normal;font-weight:400;text-decoration:inherit;text-align:center;speak:none;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden}i.icon:before{background:0 0!important}i.icon.loading{height:1em;line-height:1}i.icon.loading{-webkit-animation:icon-loading 2s linear infinite;animation:icon-loading 2s linear infinite}@-webkit-keyframes icon-loading{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes icon-loading{from{transform:rotate(0)}to{transform:rotate(360deg)}}i.icon.hover{opacity:1!important}i.icon.active{opacity:1!important}i.emphasized.icon{opacity:1!important}i.disabled.icon{opacity:.45!important}i.fitted.icon{width:auto;margin:0!important}i.link.icon,i.link.icons{cursor:pointer;opacity:.8;transition:opacity .1s ease}i.link.icon:hover,i.link.icons:hover{opacity:1!important}i.circular.icon{border-radius:500em!important;line-height:1!important;padding:.5em 0!important;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;width:2em!important;height:2em!important}i.circular.inverted.icon{border:none;box-shadow:none}i.flipped.icon,i.horizontally.flipped.icon{transform:scale(-1,1)}i.vertically.flipped.icon{transform:scale(1,-1)}i.clockwise.rotated.icon,i.right.rotated.icon,i.rotated.icon{transform:rotate(90deg)}i.counterclockwise.rotated.icon,i.left.rotated.icon{transform:rotate(-90deg)}i.bordered.icon{line-height:1;vertical-align:baseline;width:2em;height:2em;padding:.5em 0!important;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset}i.bordered.inverted.icon{border:none;box-shadow:none}i.inverted.bordered.icon,i.inverted.circular.icon{background-color:#1b1c1d!important;color:#fff!important}i.inverted.icon{color:#fff}i.red.icon{color:#db2828!important}i.inverted.red.icon{color:#ff695e!important}i.inverted.bordered.red.icon,i.inverted.circular.red.icon{background-color:#db2828!important;color:#fff!important}i.orange.icon{color:#f2711c!important}i.inverted.orange.icon{color:#ff851b!important}i.inverted.bordered.orange.icon,i.inverted.circular.orange.icon{background-color:#f2711c!important;color:#fff!important}i.yellow.icon{color:#fbbd08!important}i.inverted.yellow.icon{color:#ffe21f!important}i.inverted.bordered.yellow.icon,i.inverted.circular.yellow.icon{background-color:#fbbd08!important;color:#fff!important}i.olive.icon{color:#b5cc18!important}i.inverted.olive.icon{color:#d9e778!important}i.inverted.bordered.olive.icon,i.inverted.circular.olive.icon{background-color:#b5cc18!important;color:#fff!important}i.green.icon{color:#21ba45!important}i.inverted.green.icon{color:#2ecc40!important}i.inverted.bordered.green.icon,i.inverted.circular.green.icon{background-color:#21ba45!important;color:#fff!important}i.teal.icon{color:#00b5ad!important}i.inverted.teal.icon{color:#6dffff!important}i.inverted.bordered.teal.icon,i.inverted.circular.teal.icon{background-color:#00b5ad!important;color:#fff!important}i.blue.icon{color:#2185d0!important}i.inverted.blue.icon{color:#54c8ff!important}i.inverted.bordered.blue.icon,i.inverted.circular.blue.icon{background-color:#2185d0!important;color:#fff!important}i.violet.icon{color:#6435c9!important}i.inverted.violet.icon{color:#a291fb!important}i.inverted.bordered.violet.icon,i.inverted.circular.violet.icon{background-color:#6435c9!important;color:#fff!important}i.purple.icon{color:#a333c8!important}i.inverted.purple.icon{color:#dc73ff!important}i.inverted.bordered.purple.icon,i.inverted.circular.purple.icon{background-color:#a333c8!important;color:#fff!important}i.pink.icon{color:#e03997!important}i.inverted.pink.icon{color:#ff8edf!important}i.inverted.bordered.pink.icon,i.inverted.circular.pink.icon{background-color:#e03997!important;color:#fff!important}i.brown.icon{color:#a5673f!important}i.inverted.brown.icon{color:#d67c1c!important}i.inverted.bordered.brown.icon,i.inverted.circular.brown.icon{background-color:#a5673f!important;color:#fff!important}i.grey.icon{color:#767676!important}i.inverted.grey.icon{color:#dcddde!important}i.inverted.bordered.grey.icon,i.inverted.circular.grey.icon{background-color:#767676!important;color:#fff!important}i.black.icon{color:#1b1c1d!important}i.inverted.black.icon{color:#545454!important}i.inverted.bordered.black.icon,i.inverted.circular.black.icon{background-color:#1b1c1d!important;color:#fff!important}i.mini.icon,i.mini.icons{line-height:1;font-size:.4em}i.tiny.icon,i.tiny.icons{line-height:1;font-size:.5em}i.small.icon,i.small.icons{line-height:1;font-size:.75em}i.icon,i.icons{font-size:1em}i.large.icon,i.large.icons{line-height:1;vertical-align:middle;font-size:1.5em}i.big.icon,i.big.icons{line-height:1;vertical-align:middle;font-size:2em}i.huge.icon,i.huge.icons{line-height:1;vertical-align:middle;font-size:4em}i.massive.icon,i.massive.icons{line-height:1;vertical-align:middle;font-size:8em}i.icons{display:inline-block;position:relative;line-height:1}i.icons .icon{position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);margin:0;margin:0}i.icons .icon:first-child{position:static;width:auto;height:auto;vertical-align:top;transform:none;margin-right:.25rem}i.icons .corner.icon{top:auto;left:auto;right:0;bottom:0;transform:none;font-size:.45em;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}i.icons .top.right.corner.icon{top:0;left:auto;right:0;bottom:auto}i.icons .top.left.corner.icon{top:0;left:0;right:auto;bottom:auto}i.icons .bottom.left.corner.icon{top:auto;left:0;right:auto;bottom:0}i.icons .bottom.right.corner.icon{top:auto;left:auto;right:0;bottom:0}i.icons .inverted.corner.icon{text-shadow:-1px -1px 0 #1b1c1d,1px -1px 0 #1b1c1d,-1px 1px 0 #1b1c1d,1px 1px 0 #1b1c1d}i.icon.linkedin.in:before{content:"\f0e1"}i.icon.zoom.in:before{content:"\f00e"}i.icon.zoom.out:before{content:"\f010"}i.icon.sign.in:before{content:"\f2f6"}i.icon.in.cart:before{content:"\f218"}i.icon.log.out:before{content:"\f2f5"}i.icon.sign.out:before{content:"\f2f5"}i.icon.\35 00px:before{content:"\f26e"}i.icon.accessible.icon:before{content:"\f368"}i.icon.accusoft:before{content:"\f369"}i.icon.address.book:before{content:"\f2b9"}i.icon.address.card:before{content:"\f2bb"}i.icon.adjust:before{content:"\f042"}i.icon.adn:before{content:"\f170"}i.icon.adversal:before{content:"\f36a"}i.icon.affiliatetheme:before{content:"\f36b"}i.icon.algolia:before{content:"\f36c"}i.icon.align.center:before{content:"\f037"}i.icon.align.justify:before{content:"\f039"}i.icon.align.left:before{content:"\f036"}i.icon.align.right:before{content:"\f038"}i.icon.amazon:before{content:"\f270"}i.icon.amazon.pay:before{content:"\f42c"}i.icon.ambulance:before{content:"\f0f9"}i.icon.american.sign.language.interpreting:before{content:"\f2a3"}i.icon.amilia:before{content:"\f36d"}i.icon.anchor:before{content:"\f13d"}i.icon.android:before{content:"\f17b"}i.icon.angellist:before{content:"\f209"}i.icon.angle.double.down:before{content:"\f103"}i.icon.angle.double.left:before{content:"\f100"}i.icon.angle.double.right:before{content:"\f101"}i.icon.angle.double.up:before{content:"\f102"}i.icon.angle.down:before{content:"\f107"}i.icon.angle.left:before{content:"\f104"}i.icon.angle.right:before{content:"\f105"}i.icon.angle.up:before{content:"\f106"}i.icon.angrycreative:before{content:"\f36e"}i.icon.angular:before{content:"\f420"}i.icon.app.store:before{content:"\f36f"}i.icon.app.store.ios:before{content:"\f370"}i.icon.apper:before{content:"\f371"}i.icon.apple:before{content:"\f179"}i.icon.apple.pay:before{content:"\f415"}i.icon.archive:before{content:"\f187"}i.icon.arrow.alternate.circle.down:before{content:"\f358"}i.icon.arrow.alternate.circle.left:before{content:"\f359"}i.icon.arrow.alternate.circle.right:before{content:"\f35a"}i.icon.arrow.alternate.circle.up:before{content:"\f35b"}i.icon.arrow.circle.down:before{content:"\f0ab"}i.icon.arrow.circle.left:before{content:"\f0a8"}i.icon.arrow.circle.right:before{content:"\f0a9"}i.icon.arrow.circle.up:before{content:"\f0aa"}i.icon.arrow.down:before{content:"\f063"}i.icon.arrow.left:before{content:"\f060"}i.icon.arrow.right:before{content:"\f061"}i.icon.arrow.up:before{content:"\f062"}i.icon.arrows.alternate:before{content:"\f0b2"}i.icon.arrows.alternate.horizontal:before{content:"\f337"}i.icon.arrows.alternate.vertical:before{content:"\f338"}i.icon.assistive.listening.systems:before{content:"\f2a2"}i.icon.asterisk:before{content:"\f069"}i.icon.asymmetrik:before{content:"\f372"}i.icon.at:before{content:"\f1fa"}i.icon.audible:before{content:"\f373"}i.icon.audio.description:before{content:"\f29e"}i.icon.autoprefixer:before{content:"\f41c"}i.icon.avianex:before{content:"\f374"}i.icon.aviato:before{content:"\f421"}i.icon.aws:before{content:"\f375"}i.icon.backward:before{content:"\f04a"}i.icon.balance.scale:before{content:"\f24e"}i.icon.ban:before{content:"\f05e"}i.icon.band.aid:before{content:"\f462"}i.icon.bandcamp:before{content:"\f2d5"}i.icon.barcode:before{content:"\f02a"}i.icon.bars:before{content:"\f0c9"}i.icon.baseball.ball:before{content:"\f433"}i.icon.basketball.ball:before{content:"\f434"}i.icon.bath:before{content:"\f2cd"}i.icon.battery.empty:before{content:"\f244"}i.icon.battery.full:before{content:"\f240"}i.icon.battery.half:before{content:"\f242"}i.icon.battery.quarter:before{content:"\f243"}i.icon.battery.three.quarters:before{content:"\f241"}i.icon.bed:before{content:"\f236"}i.icon.beer:before{content:"\f0fc"}i.icon.behance:before{content:"\f1b4"}i.icon.behance.square:before{content:"\f1b5"}i.icon.bell:before{content:"\f0f3"}i.icon.bell.slash:before{content:"\f1f6"}i.icon.bicycle:before{content:"\f206"}i.icon.bimobject:before{content:"\f378"}i.icon.binoculars:before{content:"\f1e5"}i.icon.birthday.cake:before{content:"\f1fd"}i.icon.bitbucket:before{content:"\f171"}i.icon.bitcoin:before{content:"\f379"}i.icon.bity:before{content:"\f37a"}i.icon.black.tie:before{content:"\f27e"}i.icon.blackberry:before{content:"\f37b"}i.icon.blind:before{content:"\f29d"}i.icon.blogger:before{content:"\f37c"}i.icon.blogger.b:before{content:"\f37d"}i.icon.bluetooth:before{content:"\f293"}i.icon.bluetooth.b:before{content:"\f294"}i.icon.bold:before{content:"\f032"}i.icon.bolt:before{content:"\f0e7"}i.icon.bomb:before{content:"\f1e2"}i.icon.book:before{content:"\f02d"}i.icon.bookmark:before{content:"\f02e"}i.icon.bowling.ball:before{content:"\f436"}i.icon.box:before{content:"\f466"}i.icon.boxes:before{content:"\f468"}i.icon.braille:before{content:"\f2a1"}i.icon.briefcase:before{content:"\f0b1"}i.icon.btc:before{content:"\f15a"}i.icon.bug:before{content:"\f188"}i.icon.building:before{content:"\f1ad"}i.icon.bullhorn:before{content:"\f0a1"}i.icon.bullseye:before{content:"\f140"}i.icon.buromobelexperte:before{content:"\f37f"}i.icon.bus:before{content:"\f207"}i.icon.buysellads:before{content:"\f20d"}i.icon.calculator:before{content:"\f1ec"}i.icon.calendar:before{content:"\f133"}i.icon.calendar.alternate:before{content:"\f073"}i.icon.calendar.check:before{content:"\f274"}i.icon.calendar.minus:before{content:"\f272"}i.icon.calendar.plus:before{content:"\f271"}i.icon.calendar.times:before{content:"\f273"}i.icon.camera:before{content:"\f030"}i.icon.camera.retro:before{content:"\f083"}i.icon.car:before{content:"\f1b9"}i.icon.caret.down:before{content:"\f0d7"}i.icon.caret.left:before{content:"\f0d9"}i.icon.caret.right:before{content:"\f0da"}i.icon.caret.square.down:before{content:"\f150"}i.icon.caret.square.left:before{content:"\f191"}i.icon.caret.square.right:before{content:"\f152"}i.icon.caret.square.up:before{content:"\f151"}i.icon.caret.up:before{content:"\f0d8"}i.icon.cart.arrow.down:before{content:"\f218"}i.icon.cart.plus:before{content:"\f217"}i.icon.cc.amazon.pay:before{content:"\f42d"}i.icon.cc.amex:before{content:"\f1f3"}i.icon.cc.apple.pay:before{content:"\f416"}i.icon.cc.diners.club:before{content:"\f24c"}i.icon.cc.discover:before{content:"\f1f2"}i.icon.cc.jcb:before{content:"\f24b"}i.icon.cc.mastercard:before{content:"\f1f1"}i.icon.cc.paypal:before{content:"\f1f4"}i.icon.cc.stripe:before{content:"\f1f5"}i.icon.cc.visa:before{content:"\f1f0"}i.icon.centercode:before{content:"\f380"}i.icon.certificate:before{content:"\f0a3"}i.icon.chart.area:before{content:"\f1fe"}i.icon.chart.bar:before{content:"\f080"}i.icon.chart.line:before{content:"\f201"}i.icon.chart.pie:before{content:"\f200"}i.icon.check:before{content:"\f00c"}i.icon.check.circle:before{content:"\f058"}i.icon.check.square:before{content:"\f14a"}i.icon.chess:before{content:"\f439"}i.icon.chess.bishop:before{content:"\f43a"}i.icon.chess.board:before{content:"\f43c"}i.icon.chess.king:before{content:"\f43f"}i.icon.chess.knight:before{content:"\f441"}i.icon.chess.pawn:before{content:"\f443"}i.icon.chess.queen:before{content:"\f445"}i.icon.chess.rook:before{content:"\f447"}i.icon.chevron.circle.down:before{content:"\f13a"}i.icon.chevron.circle.left:before{content:"\f137"}i.icon.chevron.circle.right:before{content:"\f138"}i.icon.chevron.circle.up:before{content:"\f139"}i.icon.chevron.down:before{content:"\f078"}i.icon.chevron.left:before{content:"\f053"}i.icon.chevron.right:before{content:"\f054"}i.icon.chevron.up:before{content:"\f077"}i.icon.child:before{content:"\f1ae"}i.icon.chrome:before{content:"\f268"}i.icon.circle:before{content:"\f111"}i.icon.circle.notch:before{content:"\f1ce"}i.icon.clipboard:before{content:"\f328"}i.icon.clipboard.check:before{content:"\f46c"}i.icon.clipboard.list:before{content:"\f46d"}i.icon.clock:before{content:"\f017"}i.icon.clone:before{content:"\f24d"}i.icon.closed.captioning:before{content:"\f20a"}i.icon.cloud:before{content:"\f0c2"}i.icon.cloudscale:before{content:"\f383"}i.icon.cloudsmith:before{content:"\f384"}i.icon.cloudversify:before{content:"\f385"}i.icon.code:before{content:"\f121"}i.icon.code.branch:before{content:"\f126"}i.icon.codepen:before{content:"\f1cb"}i.icon.codiepie:before{content:"\f284"}i.icon.coffee:before{content:"\f0f4"}i.icon.cog:before{content:"\f013"}i.icon.cogs:before{content:"\f085"}i.icon.columns:before{content:"\f0db"}i.icon.comment:before{content:"\f075"}i.icon.comment.alternate:before{content:"\f27a"}i.icon.comments:before{content:"\f086"}i.icon.compass:before{content:"\f14e"}i.icon.compress:before{content:"\f066"}i.icon.connectdevelop:before{content:"\f20e"}i.icon.contao:before{content:"\f26d"}i.icon.copy:before{content:"\f0c5"}i.icon.copyright:before{content:"\f1f9"}i.icon.cpanel:before{content:"\f388"}i.icon.creative.commons:before{content:"\f25e"}i.icon.credit.card:before{content:"\f09d"}i.icon.crop:before{content:"\f125"}i.icon.crosshairs:before{content:"\f05b"}i.icon.css3:before{content:"\f13c"}i.icon.css3.alternate:before{content:"\f38b"}i.icon.cube:before{content:"\f1b2"}i.icon.cubes:before{content:"\f1b3"}i.icon.cut:before{content:"\f0c4"}i.icon.cuttlefish:before{content:"\f38c"}i.icon.d.and.d:before{content:"\f38d"}i.icon.dashcube:before{content:"\f210"}i.icon.database:before{content:"\f1c0"}i.icon.deaf:before{content:"\f2a4"}i.icon.delicious:before{content:"\f1a5"}i.icon.deploydog:before{content:"\f38e"}i.icon.deskpro:before{content:"\f38f"}i.icon.desktop:before{content:"\f108"}i.icon.deviantart:before{content:"\f1bd"}i.icon.digg:before{content:"\f1a6"}i.icon.digital.ocean:before{content:"\f391"}i.icon.discord:before{content:"\f392"}i.icon.discourse:before{content:"\f393"}i.icon.dna:before{content:"\f471"}i.icon.dochub:before{content:"\f394"}i.icon.docker:before{content:"\f395"}i.icon.dollar.sign:before{content:"\f155"}i.icon.dolly:before{content:"\f472"}i.icon.dolly.flatbed:before{content:"\f474"}i.icon.dot.circle:before{content:"\f192"}i.icon.download:before{content:"\f019"}i.icon.draft2digital:before{content:"\f396"}i.icon.dribbble:before{content:"\f17d"}i.icon.dribbble.square:before{content:"\f397"}i.icon.dropbox:before{content:"\f16b"}i.icon.drupal:before{content:"\f1a9"}i.icon.dyalog:before{content:"\f399"}i.icon.earlybirds:before{content:"\f39a"}i.icon.edge:before{content:"\f282"}i.icon.edit:before{content:"\f044"}i.icon.eject:before{content:"\f052"}i.icon.elementor:before{content:"\f430"}i.icon.ellipsis.horizontal:before{content:"\f141"}i.icon.ellipsis.vertical:before{content:"\f142"}i.icon.ember:before{content:"\f423"}i.icon.empire:before{content:"\f1d1"}i.icon.envelope:before{content:"\f0e0"}i.icon.envelope.open:before{content:"\f2b6"}i.icon.envelope.square:before{content:"\f199"}i.icon.envira:before{content:"\f299"}i.icon.eraser:before{content:"\f12d"}i.icon.erlang:before{content:"\f39d"}i.icon.ethereum:before{content:"\f42e"}i.icon.etsy:before{content:"\f2d7"}i.icon.euro.sign:before{content:"\f153"}i.icon.exchange.alternate:before{content:"\f362"}i.icon.exclamation:before{content:"\f12a"}i.icon.exclamation.circle:before{content:"\f06a"}i.icon.exclamation.triangle:before{content:"\f071"}i.icon.expand:before{content:"\f065"}i.icon.expand.arrows.alternate:before{content:"\f31e"}i.icon.expeditedssl:before{content:"\f23e"}i.icon.external.alternate:before{content:"\f35d"}i.icon.external.square.alternate:before{content:"\f360"}i.icon.eye:before{content:"\f06e"}i.icon.eye.dropper:before{content:"\f1fb"}i.icon.eye.slash:before{content:"\f070"}i.icon.facebook:before{content:"\f09a"}i.icon.facebook.f:before{content:"\f39e"}i.icon.facebook.messenger:before{content:"\f39f"}i.icon.facebook.square:before{content:"\f082"}i.icon.fast.backward:before{content:"\f049"}i.icon.fast.forward:before{content:"\f050"}i.icon.fax:before{content:"\f1ac"}i.icon.female:before{content:"\f182"}i.icon.fighter.jet:before{content:"\f0fb"}i.icon.file:before{content:"\f15b"}i.icon.file.alternate:before{content:"\f15c"}i.icon.file.archive:before{content:"\f1c6"}i.icon.file.audio:before{content:"\f1c7"}i.icon.file.code:before{content:"\f1c9"}i.icon.file.excel:before{content:"\f1c3"}i.icon.file.image:before{content:"\f1c5"}i.icon.file.pdf:before{content:"\f1c1"}i.icon.file.powerpoint:before{content:"\f1c4"}i.icon.file.video:before{content:"\f1c8"}i.icon.file.word:before{content:"\f1c2"}i.icon.film:before{content:"\f008"}i.icon.filter:before{content:"\f0b0"}i.icon.fire:before{content:"\f06d"}i.icon.fire.extinguisher:before{content:"\f134"}i.icon.firefox:before{content:"\f269"}i.icon.first.aid:before{content:"\f479"}i.icon.first.order:before{content:"\f2b0"}i.icon.firstdraft:before{content:"\f3a1"}i.icon.flag:before{content:"\f024"}i.icon.flag.checkered:before{content:"\f11e"}i.icon.flask:before{content:"\f0c3"}i.icon.flickr:before{content:"\f16e"}i.icon.flipboard:before{content:"\f44d"}i.icon.fly:before{content:"\f417"}i.icon.folder:before{content:"\f07b"}i.icon.folder.open:before{content:"\f07c"}i.icon.font:before{content:"\f031"}i.icon.font.awesome:before{content:"\f2b4"}i.icon.font.awesome.alternate:before{content:"\f35c"}i.icon.font.awesome.flag:before{content:"\f425"}i.icon.fonticons:before{content:"\f280"}i.icon.fonticons.fi:before{content:"\f3a2"}i.icon.football.ball:before{content:"\f44e"}i.icon.fort.awesome:before{content:"\f286"}i.icon.fort.awesome.alternate:before{content:"\f3a3"}i.icon.forumbee:before{content:"\f211"}i.icon.forward:before{content:"\f04e"}i.icon.foursquare:before{content:"\f180"}i.icon.free.code.camp:before{content:"\f2c5"}i.icon.freebsd:before{content:"\f3a4"}i.icon.frown:before{content:"\f119"}i.icon.futbol:before{content:"\f1e3"}i.icon.gamepad:before{content:"\f11b"}i.icon.gavel:before{content:"\f0e3"}i.icon.gem:before{content:"\f3a5"}i.icon.genderless:before{content:"\f22d"}i.icon.get.pocket:before{content:"\f265"}i.icon.gg:before{content:"\f260"}i.icon.gg.circle:before{content:"\f261"}i.icon.gift:before{content:"\f06b"}i.icon.git:before{content:"\f1d3"}i.icon.git.square:before{content:"\f1d2"}i.icon.github:before{content:"\f09b"}i.icon.github.alternate:before{content:"\f113"}i.icon.github.square:before{content:"\f092"}i.icon.gitkraken:before{content:"\f3a6"}i.icon.gitlab:before{content:"\f296"}i.icon.gitter:before{content:"\f426"}i.icon.glass.martini:before{content:"\f000"}i.icon.glide:before{content:"\f2a5"}i.icon.glide.g:before{content:"\f2a6"}i.icon.globe:before{content:"\f0ac"}i.icon.gofore:before{content:"\f3a7"}i.icon.golf.ball:before{content:"\f450"}i.icon.goodreads:before{content:"\f3a8"}i.icon.goodreads.g:before{content:"\f3a9"}i.icon.google:before{content:"\f1a0"}i.icon.google.drive:before{content:"\f3aa"}i.icon.google.play:before{content:"\f3ab"}i.icon.google.plus:before{content:"\f2b3"}i.icon.google.plus.g:before{content:"\f0d5"}i.icon.google.plus.square:before{content:"\f0d4"}i.icon.google.wallet:before{content:"\f1ee"}i.icon.graduation.cap:before{content:"\f19d"}i.icon.gratipay:before{content:"\f184"}i.icon.grav:before{content:"\f2d6"}i.icon.gripfire:before{content:"\f3ac"}i.icon.grunt:before{content:"\f3ad"}i.icon.gulp:before{content:"\f3ae"}i.icon.h.square:before{content:"\f0fd"}i.icon.hacker.news:before{content:"\f1d4"}i.icon.hacker.news.square:before{content:"\f3af"}i.icon.hand.lizard:before{content:"\f258"}i.icon.hand.paper:before{content:"\f256"}i.icon.hand.peace:before{content:"\f25b"}i.icon.hand.point.down:before{content:"\f0a7"}i.icon.hand.point.left:before{content:"\f0a5"}i.icon.hand.point.right:before{content:"\f0a4"}i.icon.hand.point.up:before{content:"\f0a6"}i.icon.hand.pointer:before{content:"\f25a"}i.icon.hand.rock:before{content:"\f255"}i.icon.hand.scissors:before{content:"\f257"}i.icon.hand.spock:before{content:"\f259"}i.icon.handshake:before{content:"\f2b5"}i.icon.hashtag:before{content:"\f292"}i.icon.hdd:before{content:"\f0a0"}i.icon.heading:before{content:"\f1dc"}i.icon.headphones:before{content:"\f025"}i.icon.heart:before{content:"\f004"}i.icon.heartbeat:before{content:"\f21e"}i.icon.hips:before{content:"\f452"}i.icon.hire.a.helper:before{content:"\f3b0"}i.icon.history:before{content:"\f1da"}i.icon.hockey.puck:before{content:"\f453"}i.icon.home:before{content:"\f015"}i.icon.hooli:before{content:"\f427"}i.icon.hospital:before{content:"\f0f8"}i.icon.hospital.symbol:before{content:"\f47e"}i.icon.hotjar:before{content:"\f3b1"}i.icon.hourglass:before{content:"\f254"}i.icon.hourglass.end:before{content:"\f253"}i.icon.hourglass.half:before{content:"\f252"}i.icon.hourglass.start:before{content:"\f251"}i.icon.houzz:before{content:"\f27c"}i.icon.html5:before{content:"\f13b"}i.icon.hubspot:before{content:"\f3b2"}i.icon.i.cursor:before{content:"\f246"}i.icon.id.badge:before{content:"\f2c1"}i.icon.id.card:before{content:"\f2c2"}i.icon.image:before{content:"\f03e"}i.icon.images:before{content:"\f302"}i.icon.imdb:before{content:"\f2d8"}i.icon.inbox:before{content:"\f01c"}i.icon.indent:before{content:"\f03c"}i.icon.industry:before{content:"\f275"}i.icon.info:before{content:"\f129"}i.icon.info.circle:before{content:"\f05a"}i.icon.instagram:before{content:"\f16d"}i.icon.internet.explorer:before{content:"\f26b"}i.icon.ioxhost:before{content:"\f208"}i.icon.italic:before{content:"\f033"}i.icon.itunes:before{content:"\f3b4"}i.icon.itunes.note:before{content:"\f3b5"}i.icon.jenkins:before{content:"\f3b6"}i.icon.joget:before{content:"\f3b7"}i.icon.joomla:before{content:"\f1aa"}i.icon.js:before{content:"\f3b8"}i.icon.js.square:before{content:"\f3b9"}i.icon.jsfiddle:before{content:"\f1cc"}i.icon.key:before{content:"\f084"}i.icon.keyboard:before{content:"\f11c"}i.icon.keycdn:before{content:"\f3ba"}i.icon.kickstarter:before{content:"\f3bb"}i.icon.kickstarter.k:before{content:"\f3bc"}i.icon.korvue:before{content:"\f42f"}i.icon.language:before{content:"\f1ab"}i.icon.laptop:before{content:"\f109"}i.icon.laravel:before{content:"\f3bd"}i.icon.lastfm:before{content:"\f202"}i.icon.lastfm.square:before{content:"\f203"}i.icon.leaf:before{content:"\f06c"}i.icon.leanpub:before{content:"\f212"}i.icon.lemon:before{content:"\f094"}i.icon.less:before{content:"\f41d"}i.icon.level.down.alternate:before{content:"\f3be"}i.icon.level.up.alternate:before{content:"\f3bf"}i.icon.life.ring:before{content:"\f1cd"}i.icon.lightbulb:before{content:"\f0eb"}i.icon.linechat:before{content:"\f3c0"}i.icon.linkify:before{content:"\f0c1"}i.icon.linkedin:before{content:"\f08c"}i.icon.linkedin.alt:before{content:"\f0e1"}i.icon.linode:before{content:"\f2b8"}i.icon.linux:before{content:"\f17c"}i.icon.lira.sign:before{content:"\f195"}i.icon.list:before{content:"\f03a"}i.icon.list.alternate:before{content:"\f022"}i.icon.list.ol:before{content:"\f0cb"}i.icon.list.ul:before{content:"\f0ca"}i.icon.location.arrow:before{content:"\f124"}i.icon.lock:before{content:"\f023"}i.icon.lock.open:before{content:"\f3c1"}i.icon.long.arrow.alternate.down:before{content:"\f309"}i.icon.long.arrow.alternate.left:before{content:"\f30a"}i.icon.long.arrow.alternate.right:before{content:"\f30b"}i.icon.long.arrow.alternate.up:before{content:"\f30c"}i.icon.low.vision:before{content:"\f2a8"}i.icon.lyft:before{content:"\f3c3"}i.icon.magento:before{content:"\f3c4"}i.icon.magic:before{content:"\f0d0"}i.icon.magnet:before{content:"\f076"}i.icon.male:before{content:"\f183"}i.icon.map:before{content:"\f279"}i.icon.map.marker:before{content:"\f041"}i.icon.map.marker.alternate:before{content:"\f3c5"}i.icon.map.pin:before{content:"\f276"}i.icon.map.signs:before{content:"\f277"}i.icon.mars:before{content:"\f222"}i.icon.mars.double:before{content:"\f227"}i.icon.mars.stroke:before{content:"\f229"}i.icon.mars.stroke.horizontal:before{content:"\f22b"}i.icon.mars.stroke.vertical:before{content:"\f22a"}i.icon.maxcdn:before{content:"\f136"}i.icon.medapps:before{content:"\f3c6"}i.icon.medium:before{content:"\f23a"}i.icon.medium.m:before{content:"\f3c7"}i.icon.medkit:before{content:"\f0fa"}i.icon.medrt:before{content:"\f3c8"}i.icon.meetup:before{content:"\f2e0"}i.icon.meh:before{content:"\f11a"}i.icon.mercury:before{content:"\f223"}i.icon.microchip:before{content:"\f2db"}i.icon.microphone:before{content:"\f130"}i.icon.microphone.slash:before{content:"\f131"}i.icon.microsoft:before{content:"\f3ca"}i.icon.minus:before{content:"\f068"}i.icon.minus.circle:before{content:"\f056"}i.icon.minus.square:before{content:"\f146"}i.icon.mix:before{content:"\f3cb"}i.icon.mixcloud:before{content:"\f289"}i.icon.mizuni:before{content:"\f3cc"}i.icon.mobile:before{content:"\f10b"}i.icon.mobile.alternate:before{content:"\f3cd"}i.icon.modx:before{content:"\f285"}i.icon.monero:before{content:"\f3d0"}i.icon.money.bill.alternate:before{content:"\f3d1"}i.icon.moon:before{content:"\f186"}i.icon.motorcycle:before{content:"\f21c"}i.icon.mouse.pointer:before{content:"\f245"}i.icon.music:before{content:"\f001"}i.icon.napster:before{content:"\f3d2"}i.icon.neuter:before{content:"\f22c"}i.icon.newspaper:before{content:"\f1ea"}i.icon.nintendo.switch:before{content:"\f418"}i.icon.node:before{content:"\f419"}i.icon.node.js:before{content:"\f3d3"}i.icon.npm:before{content:"\f3d4"}i.icon.ns8:before{content:"\f3d5"}i.icon.nutritionix:before{content:"\f3d6"}i.icon.object.group:before{content:"\f247"}i.icon.object.ungroup:before{content:"\f248"}i.icon.odnoklassniki:before{content:"\f263"}i.icon.odnoklassniki.square:before{content:"\f264"}i.icon.opencart:before{content:"\f23d"}i.icon.openid:before{content:"\f19b"}i.icon.opera:before{content:"\f26a"}i.icon.optin.monster:before{content:"\f23c"}i.icon.osi:before{content:"\f41a"}i.icon.outdent:before{content:"\f03b"}i.icon.page4:before{content:"\f3d7"}i.icon.pagelines:before{content:"\f18c"}i.icon.paint.brush:before{content:"\f1fc"}i.icon.palfed:before{content:"\f3d8"}i.icon.pallet:before{content:"\f482"}i.icon.paper.plane:before{content:"\f1d8"}i.icon.paperclip:before{content:"\f0c6"}i.icon.paragraph:before{content:"\f1dd"}i.icon.paste:before{content:"\f0ea"}i.icon.patreon:before{content:"\f3d9"}i.icon.pause:before{content:"\f04c"}i.icon.pause.circle:before{content:"\f28b"}i.icon.paw:before{content:"\f1b0"}i.icon.paypal:before{content:"\f1ed"}i.icon.pen.square:before{content:"\f14b"}i.icon.pencil.alternate:before{content:"\f303"}i.icon.percent:before{content:"\f295"}i.icon.periscope:before{content:"\f3da"}i.icon.phabricator:before{content:"\f3db"}i.icon.phoenix.framework:before{content:"\f3dc"}i.icon.phone:before{content:"\f095"}i.icon.phone.square:before{content:"\f098"}i.icon.phone.volume:before{content:"\f2a0"}i.icon.php:before{content:"\f457"}i.icon.pied.piper:before{content:"\f2ae"}i.icon.pied.piper.alternate:before{content:"\f1a8"}i.icon.pied.piper.pp:before{content:"\f1a7"}i.icon.pills:before{content:"\f484"}i.icon.pinterest:before{content:"\f0d2"}i.icon.pinterest.p:before{content:"\f231"}i.icon.pinterest.square:before{content:"\f0d3"}i.icon.plane:before{content:"\f072"}i.icon.play:before{content:"\f04b"}i.icon.play.circle:before{content:"\f144"}i.icon.playstation:before{content:"\f3df"}i.icon.plug:before{content:"\f1e6"}i.icon.plus:before{content:"\f067"}i.icon.plus.circle:before{content:"\f055"}i.icon.plus.square:before{content:"\f0fe"}i.icon.podcast:before{content:"\f2ce"}i.icon.pound.sign:before{content:"\f154"}i.icon.power.off:before{content:"\f011"}i.icon.print:before{content:"\f02f"}i.icon.product.hunt:before{content:"\f288"}i.icon.pushed:before{content:"\f3e1"}i.icon.puzzle.piece:before{content:"\f12e"}i.icon.python:before{content:"\f3e2"}i.icon.qq:before{content:"\f1d6"}i.icon.qrcode:before{content:"\f029"}i.icon.question:before{content:"\f128"}i.icon.question.circle:before{content:"\f059"}i.icon.quidditch:before{content:"\f458"}i.icon.quinscape:before{content:"\f459"}i.icon.quora:before{content:"\f2c4"}i.icon.quote.left:before{content:"\f10d"}i.icon.quote.right:before{content:"\f10e"}i.icon.random:before{content:"\f074"}i.icon.ravelry:before{content:"\f2d9"}i.icon.react:before{content:"\f41b"}i.icon.rebel:before{content:"\f1d0"}i.icon.recycle:before{content:"\f1b8"}i.icon.redriver:before{content:"\f3e3"}i.icon.reddit:before{content:"\f1a1"}i.icon.reddit.alien:before{content:"\f281"}i.icon.reddit.square:before{content:"\f1a2"}i.icon.redo:before{content:"\f01e"}i.icon.redo.alternate:before{content:"\f2f9"}i.icon.registered:before{content:"\f25d"}i.icon.rendact:before{content:"\f3e4"}i.icon.renren:before{content:"\f18b"}i.icon.reply:before{content:"\f3e5"}i.icon.reply.all:before{content:"\f122"}i.icon.replyd:before{content:"\f3e6"}i.icon.resolving:before{content:"\f3e7"}i.icon.retweet:before{content:"\f079"}i.icon.road:before{content:"\f018"}i.icon.rocket:before{content:"\f135"}i.icon.rocketchat:before{content:"\f3e8"}i.icon.rockrms:before{content:"\f3e9"}i.icon.rss:before{content:"\f09e"}i.icon.rss.square:before{content:"\f143"}i.icon.ruble.sign:before{content:"\f158"}i.icon.rupee.sign:before{content:"\f156"}i.icon.safari:before{content:"\f267"}i.icon.sass:before{content:"\f41e"}i.icon.save:before{content:"\f0c7"}i.icon.schlix:before{content:"\f3ea"}i.icon.scribd:before{content:"\f28a"}i.icon.search:before{content:"\f002"}i.icon.search.minus:before{content:"\f010"}i.icon.search.plus:before{content:"\f00e"}i.icon.searchengin:before{content:"\f3eb"}i.icon.sellcast:before{content:"\f2da"}i.icon.sellsy:before{content:"\f213"}i.icon.server:before{content:"\f233"}i.icon.servicestack:before{content:"\f3ec"}i.icon.share:before{content:"\f064"}i.icon.share.alternate:before{content:"\f1e0"}i.icon.share.alternate.square:before{content:"\f1e1"}i.icon.share.square:before{content:"\f14d"}i.icon.shekel.sign:before{content:"\f20b"}i.icon.shield.alternate:before{content:"\f3ed"}i.icon.ship:before{content:"\f21a"}i.icon.shipping.fast:before{content:"\f48b"}i.icon.shirtsinbulk:before{content:"\f214"}i.icon.shopping.bag:before{content:"\f290"}i.icon.shopping.basket:before{content:"\f291"}i.icon.shopping.cart:before{content:"\f07a"}i.icon.shower:before{content:"\f2cc"}i.icon.sign.language:before{content:"\f2a7"}i.icon.signal:before{content:"\f012"}i.icon.simplybuilt:before{content:"\f215"}i.icon.sistrix:before{content:"\f3ee"}i.icon.sitemap:before{content:"\f0e8"}i.icon.skyatlas:before{content:"\f216"}i.icon.skype:before{content:"\f17e"}i.icon.slack:before{content:"\f198"}i.icon.slack.hash:before{content:"\f3ef"}i.icon.sliders.horizontal:before{content:"\f1de"}i.icon.slideshare:before{content:"\f1e7"}i.icon.smile:before{content:"\f118"}i.icon.snapchat:before{content:"\f2ab"}i.icon.snapchat.ghost:before{content:"\f2ac"}i.icon.snapchat.square:before{content:"\f2ad"}i.icon.snowflake:before{content:"\f2dc"}i.icon.sort:before{content:"\f0dc"}i.icon.sort.alphabet.down:before{content:"\f15d"}i.icon.sort.alphabet.up:before{content:"\f15e"}i.icon.sort.amount.down:before{content:"\f160"}i.icon.sort.amount.up:before{content:"\f161"}i.icon.sort.down:before{content:"\f0dd"}i.icon.sort.numeric.down:before{content:"\f162"}i.icon.sort.numeric.up:before{content:"\f163"}i.icon.sort.up:before{content:"\f0de"}i.icon.soundcloud:before{content:"\f1be"}i.icon.space.shuttle:before{content:"\f197"}i.icon.speakap:before{content:"\f3f3"}i.icon.spinner:before{content:"\f110"}i.icon.spotify:before{content:"\f1bc"}i.icon.square:before{content:"\f0c8"}i.icon.square.full:before{content:"\f45c"}i.icon.stack.exchange:before{content:"\f18d"}i.icon.stack.overflow:before{content:"\f16c"}i.icon.star:before{content:"\f005"}i.icon.star.half:before{content:"\f089"}i.icon.staylinked:before{content:"\f3f5"}i.icon.steam:before{content:"\f1b6"}i.icon.steam.square:before{content:"\f1b7"}i.icon.steam.symbol:before{content:"\f3f6"}i.icon.step.backward:before{content:"\f048"}i.icon.step.forward:before{content:"\f051"}i.icon.stethoscope:before{content:"\f0f1"}i.icon.sticker.mule:before{content:"\f3f7"}i.icon.sticky.note:before{content:"\f249"}i.icon.stop:before{content:"\f04d"}i.icon.stop.circle:before{content:"\f28d"}i.icon.stopwatch:before{content:"\f2f2"}i.icon.strava:before{content:"\f428"}i.icon.street.view:before{content:"\f21d"}i.icon.strikethrough:before{content:"\f0cc"}i.icon.stripe:before{content:"\f429"}i.icon.stripe.s:before{content:"\f42a"}i.icon.studiovinari:before{content:"\f3f8"}i.icon.stumbleupon:before{content:"\f1a4"}i.icon.stumbleupon.circle:before{content:"\f1a3"}i.icon.subscript:before{content:"\f12c"}i.icon.subway:before{content:"\f239"}i.icon.suitcase:before{content:"\f0f2"}i.icon.sun:before{content:"\f185"}i.icon.superpowers:before{content:"\f2dd"}i.icon.superscript:before{content:"\f12b"}i.icon.supple:before{content:"\f3f9"}i.icon.sync:before{content:"\f021"}i.icon.sync.alternate:before{content:"\f2f1"}i.icon.syringe:before{content:"\f48e"}i.icon.table:before{content:"\f0ce"}i.icon.table.tennis:before{content:"\f45d"}i.icon.tablet:before{content:"\f10a"}i.icon.tablet.alternate:before{content:"\f3fa"}i.icon.tachometer.alternate:before{content:"\f3fd"}i.icon.tag:before{content:"\f02b"}i.icon.tags:before{content:"\f02c"}i.icon.tasks:before{content:"\f0ae"}i.icon.taxi:before{content:"\f1ba"}i.icon.telegram:before{content:"\f2c6"}i.icon.telegram.plane:before{content:"\f3fe"}i.icon.tencent.weibo:before{content:"\f1d5"}i.icon.terminal:before{content:"\f120"}i.icon.text.height:before{content:"\f034"}i.icon.text.width:before{content:"\f035"}i.icon.th:before{content:"\f00a"}i.icon.th.large:before{content:"\f009"}i.icon.th.list:before{content:"\f00b"}i.icon.themeisle:before{content:"\f2b2"}i.icon.thermometer:before{content:"\f491"}i.icon.thermometer.empty:before{content:"\f2cb"}i.icon.thermometer.full:before{content:"\f2c7"}i.icon.thermometer.half:before{content:"\f2c9"}i.icon.thermometer.quarter:before{content:"\f2ca"}i.icon.thermometer.three.quarters:before{content:"\f2c8"}i.icon.thumbs.down:before{content:"\f165"}i.icon.thumbs.up:before{content:"\f164"}i.icon.thumbtack:before{content:"\f08d"}i.icon.ticket.alternate:before{content:"\f3ff"}i.icon.times:before{content:"\f00d"}i.icon.times.circle:before{content:"\f057"}i.icon.tint:before{content:"\f043"}i.icon.toggle.off:before{content:"\f204"}i.icon.toggle.on:before{content:"\f205"}i.icon.trademark:before{content:"\f25c"}i.icon.train:before{content:"\f238"}i.icon.transgender:before{content:"\f224"}i.icon.transgender.alternate:before{content:"\f225"}i.icon.trash:before{content:"\f1f8"}i.icon.trash.alternate:before{content:"\f2ed"}i.icon.tree:before{content:"\f1bb"}i.icon.trello:before{content:"\f181"}i.icon.tripadvisor:before{content:"\f262"}i.icon.trophy:before{content:"\f091"}i.icon.truck:before{content:"\f0d1"}i.icon.tty:before{content:"\f1e4"}i.icon.tumblr:before{content:"\f173"}i.icon.tumblr.square:before{content:"\f174"}i.icon.tv:before{content:"\f26c"}i.icon.twitch:before{content:"\f1e8"}i.icon.twitter:before{content:"\f099"}i.icon.twitter.square:before{content:"\f081"}i.icon.typo3:before{content:"\f42b"}i.icon.uber:before{content:"\f402"}i.icon.uikit:before{content:"\f403"}i.icon.umbrella:before{content:"\f0e9"}i.icon.underline:before{content:"\f0cd"}i.icon.undo:before{content:"\f0e2"}i.icon.undo.alternate:before{content:"\f2ea"}i.icon.uniregistry:before{content:"\f404"}i.icon.universal.access:before{content:"\f29a"}i.icon.university:before{content:"\f19c"}i.icon.unlink:before{content:"\f127"}i.icon.unlock:before{content:"\f09c"}i.icon.unlock.alternate:before{content:"\f13e"}i.icon.untappd:before{content:"\f405"}i.icon.upload:before{content:"\f093"}i.icon.usb:before{content:"\f287"}i.icon.user:before{content:"\f007"}i.icon.user.circle:before{content:"\f2bd"}i.icon.user.md:before{content:"\f0f0"}i.icon.user.plus:before{content:"\f234"}i.icon.user.secret:before{content:"\f21b"}i.icon.user.times:before{content:"\f235"}i.icon.users:before{content:"\f0c0"}i.icon.ussunnah:before{content:"\f407"}i.icon.utensil.spoon:before{content:"\f2e5"}i.icon.utensils:before{content:"\f2e7"}i.icon.vaadin:before{content:"\f408"}i.icon.venus:before{content:"\f221"}i.icon.venus.double:before{content:"\f226"}i.icon.venus.mars:before{content:"\f228"}i.icon.viacoin:before{content:"\f237"}i.icon.viadeo:before{content:"\f2a9"}i.icon.viadeo.square:before{content:"\f2aa"}i.icon.viber:before{content:"\f409"}i.icon.video:before{content:"\f03d"}i.icon.vimeo:before{content:"\f40a"}i.icon.vimeo.square:before{content:"\f194"}i.icon.vimeo.v:before{content:"\f27d"}i.icon.vine:before{content:"\f1ca"}i.icon.vk:before{content:"\f189"}i.icon.vnv:before{content:"\f40b"}i.icon.volleyball.ball:before{content:"\f45f"}i.icon.volume.down:before{content:"\f027"}i.icon.volume.off:before{content:"\f026"}i.icon.volume.up:before{content:"\f028"}i.icon.vuejs:before{content:"\f41f"}i.icon.warehouse:before{content:"\f494"}i.icon.weibo:before{content:"\f18a"}i.icon.weight:before{content:"\f496"}i.icon.weixin:before{content:"\f1d7"}i.icon.whatsapp:before{content:"\f232"}i.icon.whatsapp.square:before{content:"\f40c"}i.icon.wheelchair:before{content:"\f193"}i.icon.whmcs:before{content:"\f40d"}i.icon.wifi:before{content:"\f1eb"}i.icon.wikipedia.w:before{content:"\f266"}i.icon.window.close:before{content:"\f410"}i.icon.window.maximize:before{content:"\f2d0"}i.icon.window.minimize:before{content:"\f2d1"}i.icon.window.restore:before{content:"\f2d2"}i.icon.windows:before{content:"\f17a"}i.icon.won.sign:before{content:"\f159"}i.icon.wordpress:before{content:"\f19a"}i.icon.wordpress.simple:before{content:"\f411"}i.icon.wpbeginner:before{content:"\f297"}i.icon.wpexplorer:before{content:"\f2de"}i.icon.wpforms:before{content:"\f298"}i.icon.wrench:before{content:"\f0ad"}i.icon.xbox:before{content:"\f412"}i.icon.xing:before{content:"\f168"}i.icon.xing.square:before{content:"\f169"}i.icon.y.combinator:before{content:"\f23b"}i.icon.yahoo:before{content:"\f19e"}i.icon.yandex:before{content:"\f413"}i.icon.yandex.international:before{content:"\f414"}i.icon.yelp:before{content:"\f1e9"}i.icon.yen.sign:before{content:"\f157"}i.icon.yoast:before{content:"\f2b1"}i.icon.youtube:before{content:"\f167"}i.icon.youtube.square:before{content:"\f431"}i.icon.chess.rock:before{content:"\f447"}i.icon.ordered.list:before{content:"\f0cb"}i.icon.unordered.list:before{content:"\f0ca"}i.icon.user.doctor:before{content:"\f0f0"}i.icon.shield:before{content:"\f3ed"}i.icon.puzzle:before{content:"\f12e"}i.icon.credit.card.amazon.pay:before{content:"\f42d"}i.icon.credit.card.american.express:before{content:"\f1f3"}i.icon.credit.card.diners.club:before{content:"\f24c"}i.icon.credit.card.discover:before{content:"\f1f2"}i.icon.credit.card.jcb:before{content:"\f24b"}i.icon.credit.card.mastercard:before{content:"\f1f1"}i.icon.credit.card.paypal:before{content:"\f1f4"}i.icon.credit.card.stripe:before{content:"\f1f5"}i.icon.credit.card.visa:before{content:"\f1f0"}i.icon.add.circle:before{content:"\f055"}i.icon.add.square:before{content:"\f0fe"}i.icon.add.to.calendar:before{content:"\f271"}i.icon.add.to.cart:before{content:"\f217"}i.icon.add.user:before{content:"\f234"}i.icon.add:before{content:"\f067"}i.icon.alarm.mute:before{content:"\f1f6"}i.icon.alarm:before{content:"\f0f3"}i.icon.ald:before{content:"\f2a2"}i.icon.als:before{content:"\f2a2"}i.icon.american.express.card:before{content:"\f1f3"}i.icon.american.express:before{content:"\f1f3"}i.icon.amex:before{content:"\f1f3"}i.icon.announcement:before{content:"\f0a1"}i.icon.area.chart:before{content:"\f1fe"}i.icon.area.graph:before{content:"\f1fe"}i.icon.arrow.down.cart:before{content:"\f218"}i.icon.asexual:before{content:"\f22d"}i.icon.asl.interpreting:before{content:"\f2a3"}i.icon.asl:before{content:"\f2a3"}i.icon.assistive.listening.devices:before{content:"\f2a2"}i.icon.attach:before{content:"\f0c6"}i.icon.attention:before{content:"\f06a"}i.icon.balance:before{content:"\f24e"}i.icon.bar:before{content:"\f0fc"}i.icon.bathtub:before{content:"\f2cd"}i.icon.battery.four:before{content:"\f240"}i.icon.battery.high:before{content:"\f241"}i.icon.battery.low:before{content:"\f243"}i.icon.battery.medium:before{content:"\f242"}i.icon.battery.one:before{content:"\f243"}i.icon.battery.three:before{content:"\f241"}i.icon.battery.two:before{content:"\f242"}i.icon.battery.zero:before{content:"\f244"}i.icon.birthday:before{content:"\f1fd"}i.icon.block.layout:before{content:"\f009"}i.icon.bluetooth.alternative:before{content:"\f294"}i.icon.broken.chain:before{content:"\f127"}i.icon.browser:before{content:"\f022"}i.icon.call.square:before{content:"\f098"}i.icon.call:before{content:"\f095"}i.icon.cancel:before{content:"\f00d"}i.icon.cart:before{content:"\f07a"}i.icon.cc:before{content:"\f20a"}i.icon.chain:before{content:"\f0c1"}i.icon.chat:before{content:"\f075"}i.icon.checked.calendar:before{content:"\f274"}i.icon.checkmark:before{content:"\f00c"}i.icon.circle.notched:before{content:"\f1ce"}i.icon.close:before{content:"\f00d"}i.icon.cny:before{content:"\f157"}i.icon.cocktail:before{content:"\f000"}i.icon.commenting:before{content:"\f27a"}i.icon.computer:before{content:"\f108"}i.icon.configure:before{content:"\f0ad"}i.icon.content:before{content:"\f0c9"}i.icon.deafness:before{content:"\f2a4"}i.icon.delete.calendar:before{content:"\f273"}i.icon.delete:before{content:"\f00d"}i.icon.detective:before{content:"\f21b"}i.icon.diners.club.card:before{content:"\f24c"}i.icon.diners.club:before{content:"\f24c"}i.icon.discover.card:before{content:"\f1f2"}i.icon.discover:before{content:"\f1f2"}i.icon.discussions:before{content:"\f086"}i.icon.doctor:before{content:"\f0f0"}i.icon.dollar:before{content:"\f155"}i.icon.dont:before{content:"\f05e"}i.icon.dribble:before{content:"\f17d"}i.icon.drivers.license:before{content:"\f2c2"}i.icon.dropdown:before{content:"\f0d7"}i.icon.eercast:before{content:"\f2da"}i.icon.emergency:before{content:"\f0f9"}i.icon.envira.gallery:before{content:"\f299"}i.icon.erase:before{content:"\f12d"}i.icon.eur:before{content:"\f153"}i.icon.euro:before{content:"\f153"}i.icon.eyedropper:before{content:"\f1fb"}i.icon.fa:before{content:"\f2b4"}i.icon.factory:before{content:"\f275"}i.icon.favorite:before{content:"\f005"}i.icon.feed:before{content:"\f09e"}i.icon.female.homosexual:before{content:"\f226"}i.icon.file.text:before{content:"\f15c"}i.icon.find:before{content:"\f1e5"}i.icon.first.aid:before{content:"\f0fa"}i.icon.five.hundred.pixels:before{content:"\f26e"}i.icon.fork:before{content:"\f126"}i.icon.game:before{content:"\f11b"}i.icon.gay:before{content:"\f227"}i.icon.gbp:before{content:"\f154"}i.icon.gittip:before{content:"\f184"}i.icon.google.plus.circle:before{content:"\f2b3"}i.icon.google.plus.official:before{content:"\f2b3"}i.icon.grab:before{content:"\f255"}i.icon.graduation:before{content:"\f19d"}i.icon.grid.layout:before{content:"\f00a"}i.icon.group:before{content:"\f0c0"}i.icon.h:before{content:"\f0fd"}i.icon.hand.victory:before{content:"\f25b"}i.icon.handicap:before{content:"\f193"}i.icon.hard.of.hearing:before{content:"\f2a4"}i.icon.header:before{content:"\f1dc"}i.icon.help.circle:before{content:"\f059"}i.icon.help:before{content:"\f128"}i.icon.heterosexual:before{content:"\f228"}i.icon.hide:before{content:"\f070"}i.icon.hotel:before{content:"\f236"}i.icon.hourglass.four:before{content:"\f254"}i.icon.hourglass.full:before{content:"\f254"}i.icon.hourglass.one:before{content:"\f251"}i.icon.hourglass.three:before{content:"\f253"}i.icon.hourglass.two:before{content:"\f252"}i.icon.idea:before{content:"\f0eb"}i.icon.ils:before{content:"\f20b"}i.icon.in-cart:before{content:"\f218"}i.icon.inr:before{content:"\f156"}i.icon.intergender:before{content:"\f224"}i.icon.intersex:before{content:"\f224"}i.icon.japan.credit.bureau.card:before{content:"\f24b"}i.icon.japan.credit.bureau:before{content:"\f24b"}i.icon.jcb:before{content:"\f24b"}i.icon.jpy:before{content:"\f157"}i.icon.krw:before{content:"\f159"}i.icon.lab:before{content:"\f0c3"}i.icon.law:before{content:"\f24e"}i.icon.legal:before{content:"\f0e3"}i.icon.lesbian:before{content:"\f226"}i.icon.lightning:before{content:"\f0e7"}i.icon.like:before{content:"\f004"}i.icon.line.graph:before{content:"\f201"}i.icon.linkedin.square:before{content:"\f08c"}i.icon.linkify:before{content:"\f0c1"}i.icon.lira:before{content:"\f195"}i.icon.list.layout:before{content:"\f00b"}i.icon.magnify:before{content:"\f00e"}i.icon.mail.forward:before{content:"\f064"}i.icon.mail.square:before{content:"\f199"}i.icon.mail:before{content:"\f0e0"}i.icon.male.homosexual:before{content:"\f227"}i.icon.man:before{content:"\f222"}i.icon.marker:before{content:"\f041"}i.icon.mars.alternate:before{content:"\f229"}i.icon.mars.horizontal:before{content:"\f22b"}i.icon.mars.vertical:before{content:"\f22a"}i.icon.mastercard.card:before{content:"\f1f1"}i.icon.mastercard:before{content:"\f1f1"}i.icon.microsoft.edge:before{content:"\f282"}i.icon.military:before{content:"\f0fb"}i.icon.ms.edge:before{content:"\f282"}i.icon.mute:before{content:"\f131"}i.icon.new.pied.piper:before{content:"\f2ae"}i.icon.non.binary.transgender:before{content:"\f223"}i.icon.numbered.list:before{content:"\f0cb"}i.icon.optinmonster:before{content:"\f23c"}i.icon.options:before{content:"\f1de"}i.icon.other.gender.horizontal:before{content:"\f22b"}i.icon.other.gender.vertical:before{content:"\f22a"}i.icon.other.gender:before{content:"\f229"}i.icon.payment:before{content:"\f09d"}i.icon.paypal.card:before{content:"\f1f4"}i.icon.pencil.square:before{content:"\f14b"}i.icon.photo:before{content:"\f030"}i.icon.picture:before{content:"\f03e"}i.icon.pie.chart:before{content:"\f200"}i.icon.pie.graph:before{content:"\f200"}i.icon.pied.piper.hat:before{content:"\f2ae"}i.icon.pin:before{content:"\f08d"}i.icon.plus.cart:before{content:"\f217"}i.icon.pocket:before{content:"\f265"}i.icon.point:before{content:"\f041"}i.icon.pointing.down:before{content:"\f0a7"}i.icon.pointing.left:before{content:"\f0a5"}i.icon.pointing.right:before{content:"\f0a4"}i.icon.pointing.up:before{content:"\f0a6"}i.icon.pound:before{content:"\f154"}i.icon.power.cord:before{content:"\f1e6"}i.icon.power:before{content:"\f011"}i.icon.privacy:before{content:"\f084"}i.icon.r.circle:before{content:"\f25d"}i.icon.rain:before{content:"\f0e9"}i.icon.record:before{content:"\f03d"}i.icon.refresh:before{content:"\f021"}i.icon.remove.circle:before{content:"\f057"}i.icon.remove.from.calendar:before{content:"\f272"}i.icon.remove.user:before{content:"\f235"}i.icon.remove:before{content:"\f00d"}i.icon.repeat:before{content:"\f01e"}i.icon.rmb:before{content:"\f157"}i.icon.rouble:before{content:"\f158"}i.icon.rub:before{content:"\f158"}i.icon.ruble:before{content:"\f158"}i.icon.rupee:before{content:"\f156"}i.icon.s15:before{content:"\f2cd"}i.icon.selected.radio:before{content:"\f192"}i.icon.send:before{content:"\f1d8"}i.icon.setting:before{content:"\f013"}i.icon.settings:before{content:"\f085"}i.icon.shekel:before{content:"\f20b"}i.icon.sheqel:before{content:"\f20b"}i.icon.shipping:before{content:"\f0d1"}i.icon.shop:before{content:"\f07a"}i.icon.shuffle:before{content:"\f074"}i.icon.shutdown:before{content:"\f011"}i.icon.sidebar:before{content:"\f0c9"}i.icon.signing:before{content:"\f2a7"}i.icon.signup:before{content:"\f044"}i.icon.sliders:before{content:"\f1de"}i.icon.soccer:before{content:"\f1e3"}i.icon.sort.alphabet.ascending:before{content:"\f15d"}i.icon.sort.alphabet.descending:before{content:"\f15e"}i.icon.sort.ascending:before{content:"\f0de"}i.icon.sort.content.ascending:before{content:"\f160"}i.icon.sort.content.descending:before{content:"\f161"}i.icon.sort.descending:before{content:"\f0dd"}i.icon.sort.numeric.ascending:before{content:"\f162"}i.icon.sort.numeric.descending:before{content:"\f163"}i.icon.sound:before{content:"\f025"}i.icon.spy:before{content:"\f21b"}i.icon.stripe.card:before{content:"\f1f5"}i.icon.student:before{content:"\f19d"}i.icon.talk:before{content:"\f27a"}i.icon.target:before{content:"\f140"}i.icon.teletype:before{content:"\f1e4"}i.icon.television:before{content:"\f26c"}i.icon.text.cursor:before{content:"\f246"}i.icon.text.telephone:before{content:"\f1e4"}i.icon.theme.isle:before{content:"\f2b2"}i.icon.theme:before{content:"\f043"}i.icon.thermometer:before{content:"\f2c7"}i.icon.thumb.tack:before{content:"\f08d"}i.icon.time:before{content:"\f017"}i.icon.tm:before{content:"\f25c"}i.icon.toggle.down:before{content:"\f150"}i.icon.toggle.left:before{content:"\f191"}i.icon.toggle.right:before{content:"\f152"}i.icon.toggle.up:before{content:"\f151"}i.icon.translate:before{content:"\f1ab"}i.icon.travel:before{content:"\f0b1"}i.icon.treatment:before{content:"\f0f1"}i.icon.triangle.down:before{content:"\f0d7"}i.icon.triangle.left:before{content:"\f0d9"}i.icon.triangle.right:before{content:"\f0da"}i.icon.triangle.up:before{content:"\f0d8"}i.icon.try:before{content:"\f195"}i.icon.unhide:before{content:"\f06e"}i.icon.unlinkify:before{content:"\f127"}i.icon.unmute:before{content:"\f130"}i.icon.usd:before{content:"\f155"}i.icon.user.cancel:before{content:"\f235"}i.icon.user.close:before{content:"\f235"}i.icon.user.delete:before{content:"\f235"}i.icon.user.x:before{content:"\f235"}i.icon.vcard:before{content:"\f2bb"}i.icon.video.camera:before{content:"\f03d"}i.icon.video.play:before{content:"\f144"}i.icon.visa.card:before{content:"\f1f0"}i.icon.visa:before{content:"\f1f0"}i.icon.volume.control.phone:before{content:"\f2a0"}i.icon.wait:before{content:"\f017"}i.icon.warning.circle:before{content:"\f06a"}i.icon.warning.sign:before{content:"\f071"}i.icon.warning:before{content:"\f12a"}i.icon.wechat:before{content:"\f1d7"}i.icon.wi-fi:before{content:"\f1eb"}i.icon.wikipedia:before{content:"\f266"}i.icon.winner:before{content:"\f091"}i.icon.wizard:before{content:"\f0d0"}i.icon.woman:before{content:"\f221"}i.icon.won:before{content:"\f159"}i.icon.wordpress.beginner:before{content:"\f297"}i.icon.wordpress.forms:before{content:"\f298"}i.icon.world:before{content:"\f0ac"}i.icon.write.square:before{content:"\f14b"}i.icon.x:before{content:"\f00d"}i.icon.yc:before{content:"\f23b"}i.icon.ycombinator:before{content:"\f23b"}i.icon.yen:before{content:"\f157"}i.icon.zip:before{content:"\f187"}i.icon.zoom-in:before{content:"\f00e"}i.icon.zoom-out:before{content:"\f010"}i.icon.zoom:before{content:"\f00e"}i.icon.bitbucket.square:before{content:"\f171"}i.icon.checkmark.box:before{content:"\f14a"}i.icon.circle.thin:before{content:"\f111"}i.icon.cloud.download:before{content:"\f381"}i.icon.cloud.upload:before{content:"\f382"}i.icon.compose:before{content:"\f303"}i.icon.conversation:before{content:"\f086"}i.icon.credit.card.alternative:before{content:"\f09d"}i.icon.currency:before{content:"\f3d1"}i.icon.dashboard:before{content:"\f3fd"}i.icon.diamond:before{content:"\f3a5"}i.icon.disk:before{content:"\f0a0"}i.icon.exchange:before{content:"\f362"}i.icon.external.share:before{content:"\f14d"}i.icon.external.square:before{content:"\f360"}i.icon.external:before{content:"\f35d"}i.icon.facebook.official:before{content:"\f082"}i.icon.food:before{content:"\f2e7"}i.icon.hourglass.zero:before{content:"\f253"}i.icon.level.down:before{content:"\f3be"}i.icon.level.up:before{content:"\f3bf"}i.icon.logout:before{content:"\f2f5"}i.icon.meanpath:before{content:"\f0c8"}i.icon.money:before{content:"\f3d1"}i.icon.move:before{content:"\f0b2"}i.icon.pencil:before{content:"\f303"}i.icon.protect:before{content:"\f023"}i.icon.radio:before{content:"\f192"}i.icon.remove.bookmark:before{content:"\f02e"}i.icon.resize.horizontal:before{content:"\f337"}i.icon.resize.vertical:before{content:"\f338"}i.icon.sign-in:before{content:"\f2f6"}i.icon.sign-out:before{content:"\f2f5"}i.icon.spoon:before{content:"\f2e5"}i.icon.star.half.empty:before{content:"\f089"}i.icon.star.half.full:before{content:"\f089"}i.icon.ticket:before{content:"\f3ff"}i.icon.times.rectangle:before{content:"\f410"}i.icon.write:before{content:"\f303"}i.icon.youtube.play:before{content:"\f167"}@font-face{font-family:outline-icons;src:url(themes/default/assets/fonts/outline-icons.eot);src:url(themes/default/assets/fonts/outline-icons.eot?#iefix) format('embedded-opentype'),url(themes/default/assets/fonts/outline-icons.woff2) format('woff2'),url(themes/default/assets/fonts/outline-icons.woff) format('woff'),url(themes/default/assets/fonts/outline-icons.ttf) format('truetype'),url(themes/default/assets/fonts/outline-icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon.outline{font-family:outline-icons}i.icon.address.book.outline:before{content:"\f2b9"}i.icon.address.card.outline:before{content:"\f2bb"}i.icon.arrow.alternate.circle.down.outline:before{content:"\f358"}i.icon.arrow.alternate.circle.left.outline:before{content:"\f359"}i.icon.arrow.alternate.circle.right.outline:before{content:"\f35a"}i.icon.arrow.alternate.circle.up.outline:before{content:"\f35b"}i.icon.bell.outline:before{content:"\f0f3"}i.icon.bell.slash.outline:before{content:"\f1f6"}i.icon.bookmark.outline:before{content:"\f02e"}i.icon.building.outline:before{content:"\f1ad"}i.icon.calendar.outline:before{content:"\f133"}i.icon.calendar.alternate.outline:before{content:"\f073"}i.icon.calendar.check.outline:before{content:"\f274"}i.icon.calendar.minus.outline:before{content:"\f272"}i.icon.calendar.plus.outline:before{content:"\f271"}i.icon.calendar.times.outline:before{content:"\f273"}i.icon.caret.square.down.outline:before{content:"\f150"}i.icon.caret.square.left.outline:before{content:"\f191"}i.icon.caret.square.right.outline:before{content:"\f152"}i.icon.caret.square.up.outline:before{content:"\f151"}i.icon.chart.bar.outline:before{content:"\f080"}i.icon.check.circle.outline:before{content:"\f058"}i.icon.check.square.outline:before{content:"\f14a"}i.icon.circle.outline:before{content:"\f111"}i.icon.clipboard.outline:before{content:"\f328"}i.icon.clock.outline:before{content:"\f017"}i.icon.clone.outline:before{content:"\f24d"}i.icon.closed.captioning.outline:before{content:"\f20a"}i.icon.comment.outline:before{content:"\f075"}i.icon.comment.alternate.outline:before{content:"\f27a"}i.icon.comments.outline:before{content:"\f086"}i.icon.compass.outline:before{content:"\f14e"}i.icon.copy.outline:before{content:"\f0c5"}i.icon.copyright.outline:before{content:"\f1f9"}i.icon.credit.card.outline:before{content:"\f09d"}i.icon.dot.circle.outline:before{content:"\f192"}i.icon.edit.outline:before{content:"\f044"}i.icon.envelope.outline:before{content:"\f0e0"}i.icon.envelope.open.outline:before{content:"\f2b6"}i.icon.eye.slash.outline:before{content:"\f070"}i.icon.file.outline:before{content:"\f15b"}i.icon.file.alternate.outline:before{content:"\f15c"}i.icon.file.archive.outline:before{content:"\f1c6"}i.icon.file.audio.outline:before{content:"\f1c7"}i.icon.file.code.outline:before{content:"\f1c9"}i.icon.file.excel.outline:before{content:"\f1c3"}i.icon.file.image.outline:before{content:"\f1c5"}i.icon.file.pdf.outline:before{content:"\f1c1"}i.icon.file.powerpoint.outline:before{content:"\f1c4"}i.icon.file.video.outline:before{content:"\f1c8"}i.icon.file.word.outline:before{content:"\f1c2"}i.icon.flag.outline:before{content:"\f024"}i.icon.folder.outline:before{content:"\f07b"}i.icon.folder.open.outline:before{content:"\f07c"}i.icon.frown.outline:before{content:"\f119"}i.icon.futbol.outline:before{content:"\f1e3"}i.icon.gem.outline:before{content:"\f3a5"}i.icon.hand.lizard.outline:before{content:"\f258"}i.icon.hand.paper.outline:before{content:"\f256"}i.icon.hand.peace.outline:before{content:"\f25b"}i.icon.hand.point.down.outline:before{content:"\f0a7"}i.icon.hand.point.left.outline:before{content:"\f0a5"}i.icon.hand.point.right.outline:before{content:"\f0a4"}i.icon.hand.point.up.outline:before{content:"\f0a6"}i.icon.hand.pointer.outline:before{content:"\f25a"}i.icon.hand.rock.outline:before{content:"\f255"}i.icon.hand.scissors.outline:before{content:"\f257"}i.icon.hand.spock.outline:before{content:"\f259"}i.icon.handshake.outline:before{content:"\f2b5"}i.icon.hdd.outline:before{content:"\f0a0"}i.icon.heart.outline:before{content:"\f004"}i.icon.hospital.outline:before{content:"\f0f8"}i.icon.hourglass.outline:before{content:"\f254"}i.icon.id.badge.outline:before{content:"\f2c1"}i.icon.id.card.outline:before{content:"\f2c2"}i.icon.image.outline:before{content:"\f03e"}i.icon.images.outline:before{content:"\f302"}i.icon.keyboard.outline:before{content:"\f11c"}i.icon.lemon.outline:before{content:"\f094"}i.icon.life.ring.outline:before{content:"\f1cd"}i.icon.lightbulb.outline:before{content:"\f0eb"}i.icon.list.alternate.outline:before{content:"\f022"}i.icon.map.outline:before{content:"\f279"}i.icon.meh.outline:before{content:"\f11a"}i.icon.minus.square.outline:before{content:"\f146"}i.icon.money.bill.alternate.outline:before{content:"\f3d1"}i.icon.moon.outline:before{content:"\f186"}i.icon.newspaper.outline:before{content:"\f1ea"}i.icon.object.group.outline:before{content:"\f247"}i.icon.object.ungroup.outline:before{content:"\f248"}i.icon.paper.plane.outline:before{content:"\f1d8"}i.icon.pause.circle.outline:before{content:"\f28b"}i.icon.play.circle.outline:before{content:"\f144"}i.icon.plus.square.outline:before{content:"\f0fe"}i.icon.question.circle.outline:before{content:"\f059"}i.icon.registered.outline:before{content:"\f25d"}i.icon.save.outline:before{content:"\f0c7"}i.icon.share.square.outline:before{content:"\f14d"}i.icon.smile.outline:before{content:"\f118"}i.icon.snowflake.outline:before{content:"\f2dc"}i.icon.square.outline:before{content:"\f0c8"}i.icon.star.outline:before{content:"\f005"}i.icon.star.half.outline:before{content:"\f089"}i.icon.sticky.note.outline:before{content:"\f249"}i.icon.stop.circle.outline:before{content:"\f28d"}i.icon.sun.outline:before{content:"\f185"}i.icon.thumbs.down.outline:before{content:"\f165"}i.icon.thumbs.up.outline:before{content:"\f164"}i.icon.times.circle.outline:before{content:"\f057"}i.icon.trash.alternate.outline:before{content:"\f2ed"}i.icon.user.outline:before{content:"\f007"}i.icon.user.circle.outline:before{content:"\f2bd"}i.icon.window.close.outline:before{content:"\f410"}i.icon.window.maximize.outline:before{content:"\f2d0"}i.icon.window.minimize.outline:before{content:"\f2d1"}i.icon.window.restore.outline:before{content:"\f2d2"}i.icon.disk.outline:before{content:"\f0a0"}i.icon.heart.empty,i.icon.star.empty{font-family:outline-icons}i.icon.heart.empty:before{content:"\f004"}i.icon.star.empty:before{content:"\f089"}@font-face{font-family:brand-icons;src:url(themes/default/assets/fonts/brand-icons.eot);src:url(themes/default/assets/fonts/brand-icons.eot?#iefix) format('embedded-opentype'),url(themes/default/assets/fonts/brand-icons.woff2) format('woff2'),url(themes/default/assets/fonts/brand-icons.woff) format('woff'),url(themes/default/assets/fonts/brand-icons.ttf) format('truetype'),url(themes/default/assets/fonts/brand-icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon.\35 00px,i.icon.accessible.icon,i.icon.accusoft,i.icon.adn,i.icon.adversal,i.icon.affiliatetheme,i.icon.algolia,i.icon.amazon,i.icon.amazon.pay,i.icon.amilia,i.icon.android,i.icon.angellist,i.icon.angrycreative,i.icon.angular,i.icon.app.store,i.icon.app.store.ios,i.icon.apper,i.icon.apple,i.icon.apple.pay,i.icon.asymmetrik,i.icon.audible,i.icon.autoprefixer,i.icon.avianex,i.icon.aviato,i.icon.aws,i.icon.bandcamp,i.icon.behance,i.icon.behance.square,i.icon.bimobject,i.icon.bitbucket,i.icon.bitcoin,i.icon.bity,i.icon.black.tie,i.icon.blackberry,i.icon.blogger,i.icon.blogger.b,i.icon.bluetooth,i.icon.bluetooth.b,i.icon.btc,i.icon.buromobelexperte,i.icon.buysellads,i.icon.cc.amazon.pay,i.icon.cc.amex,i.icon.cc.apple.pay,i.icon.cc.diners.club,i.icon.cc.discover,i.icon.cc.jcb,i.icon.cc.mastercard,i.icon.cc.paypal,i.icon.cc.stripe,i.icon.cc.visa,i.icon.centercode,i.icon.chrome,i.icon.cloudscale,i.icon.cloudsmith,i.icon.cloudversify,i.icon.codepen,i.icon.codiepie,i.icon.connectdevelop,i.icon.contao,i.icon.cpanel,i.icon.creative.commons,i.icon.css3,i.icon.css3.alternate,i.icon.cuttlefish,i.icon.d.and.d,i.icon.dashcube,i.icon.delicious,i.icon.deploydog,i.icon.deskpro,i.icon.deviantart,i.icon.digg,i.icon.digital.ocean,i.icon.discord,i.icon.discourse,i.icon.dochub,i.icon.docker,i.icon.draft2digital,i.icon.dribbble,i.icon.dribbble.square,i.icon.dropbox,i.icon.drupal,i.icon.dyalog,i.icon.earlybirds,i.icon.edge,i.icon.elementor,i.icon.ember,i.icon.empire,i.icon.envira,i.icon.erlang,i.icon.ethereum,i.icon.etsy,i.icon.expeditedssl,i.icon.facebook,i.icon.facebook.f,i.icon.facebook.messenger,i.icon.facebook.square,i.icon.firefox,i.icon.first.order,i.icon.firstdraft,i.icon.flickr,i.icon.flipboard,i.icon.fly,i.icon.font.awesome,i.icon.font.awesome.alternate,i.icon.font.awesome.flag,i.icon.fonticons,i.icon.fonticons.fi,i.icon.fort.awesome,i.icon.fort.awesome.alternate,i.icon.forumbee,i.icon.foursquare,i.icon.free.code.camp,i.icon.freebsd,i.icon.get.pocket,i.icon.gg,i.icon.gg.circle,i.icon.git,i.icon.git.square,i.icon.github,i.icon.github.alternate,i.icon.github.square,i.icon.gitkraken,i.icon.gitlab,i.icon.gitter,i.icon.glide,i.icon.glide.g,i.icon.gofore,i.icon.goodreads,i.icon.goodreads.g,i.icon.google,i.icon.google.drive,i.icon.google.play,i.icon.google.plus,i.icon.google.plus.g,i.icon.google.plus.square,i.icon.google.wallet,i.icon.gratipay,i.icon.grav,i.icon.gripfire,i.icon.grunt,i.icon.gulp,i.icon.hacker.news,i.icon.hacker.news.square,i.icon.hips,i.icon.hire.a.helper,i.icon.hooli,i.icon.hotjar,i.icon.houzz,i.icon.html5,i.icon.hubspot,i.icon.imdb,i.icon.instagram,i.icon.internet.explorer,i.icon.ioxhost,i.icon.itunes,i.icon.itunes.note,i.icon.jenkins,i.icon.joget,i.icon.joomla,i.icon.js,i.icon.js.square,i.icon.jsfiddle,i.icon.keycdn,i.icon.kickstarter,i.icon.kickstarter.k,i.icon.korvue,i.icon.laravel,i.icon.lastfm,i.icon.lastfm.square,i.icon.leanpub,i.icon.less,i.icon.linechat,i.icon.linkedin,i.icon.linkedin.alternate,i.icon.linkedin.in,i.icon.linode,i.icon.linux,i.icon.lyft,i.icon.magento,i.icon.maxcdn,i.icon.medapps,i.icon.medium,i.icon.medium.m,i.icon.medrt,i.icon.meetup,i.icon.microsoft,i.icon.mix,i.icon.mixcloud,i.icon.mizuni,i.icon.modx,i.icon.monero,i.icon.napster,i.icon.nintendo.switch,i.icon.node,i.icon.node.js,i.icon.npm,i.icon.ns8,i.icon.nutritionix,i.icon.odnoklassniki,i.icon.odnoklassniki.square,i.icon.opencart,i.icon.openid,i.icon.opera,i.icon.optin.monster,i.icon.osi,i.icon.page4,i.icon.pagelines,i.icon.palfed,i.icon.patreon,i.icon.paypal,i.icon.periscope,i.icon.phabricator,i.icon.phoenix.framework,i.icon.php,i.icon.pied.piper,i.icon.pied.piper.alternate,i.icon.pied.piper.pp,i.icon.pinterest,i.icon.pinterest.p,i.icon.pinterest.square,i.icon.playstation,i.icon.product.hunt,i.icon.pushed,i.icon.python,i.icon.qq,i.icon.quinscape,i.icon.quora,i.icon.ravelry,i.icon.react,i.icon.rebel,i.icon.reddit,i.icon.reddit.alien,i.icon.reddit.square,i.icon.redriver,i.icon.rendact,i.icon.renren,i.icon.replyd,i.icon.resolving,i.icon.rocketchat,i.icon.rockrms,i.icon.safari,i.icon.sass,i.icon.schlix,i.icon.scribd,i.icon.searchengin,i.icon.sellcast,i.icon.sellsy,i.icon.servicestack,i.icon.shirtsinbulk,i.icon.simplybuilt,i.icon.sistrix,i.icon.skyatlas,i.icon.skype,i.icon.slack,i.icon.slack.hash,i.icon.slideshare,i.icon.snapchat,i.icon.snapchat.ghost,i.icon.snapchat.square,i.icon.soundcloud,i.icon.speakap,i.icon.spotify,i.icon.stack.exchange,i.icon.stack.overflow,i.icon.staylinked,i.icon.steam,i.icon.steam.square,i.icon.steam.symbol,i.icon.sticker.mule,i.icon.strava,i.icon.stripe,i.icon.stripe.s,i.icon.studiovinari,i.icon.stumbleupon,i.icon.stumbleupon.circle,i.icon.superpowers,i.icon.supple,i.icon.telegram,i.icon.telegram.plane,i.icon.tencent.weibo,i.icon.themeisle,i.icon.trello,i.icon.tripadvisor,i.icon.tumblr,i.icon.tumblr.square,i.icon.twitch,i.icon.twitter,i.icon.twitter.square,i.icon.typo3,i.icon.uber,i.icon.uikit,i.icon.uniregistry,i.icon.untappd,i.icon.usb,i.icon.ussunnah,i.icon.vaadin,i.icon.viacoin,i.icon.viadeo,i.icon.viadeo.square,i.icon.viber,i.icon.vimeo,i.icon.vimeo.square,i.icon.vimeo.v,i.icon.vine,i.icon.vk,i.icon.vnv,i.icon.vuejs,i.icon.wechat,i.icon.weibo,i.icon.weixin,i.icon.whatsapp,i.icon.whatsapp.square,i.icon.whmcs,i.icon.wikipedia.w,i.icon.windows,i.icon.wordpress,i.icon.wordpress.simple,i.icon.wpbeginner,i.icon.wpexplorer,i.icon.wpforms,i.icon.xbox,i.icon.xing,i.icon.xing.square,i.icon.y.combinator,i.icon.yahoo,i.icon.yandex,i.icon.yandex.international,i.icon.yelp,i.icon.yoast,i.icon.youtube,i.icon.youtube.square{font-family:brand-icons}/*! + * # Semantic UI 2.5.0 - Image + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.image{position:relative;display:inline-block;vertical-align:middle;max-width:100%;background-color:transparent}img.ui.image{display:block}.ui.image img,.ui.image svg{display:block;max-width:100%;height:auto}.ui.hidden.image,.ui.hidden.images{display:none}.ui.hidden.transition.image,.ui.hidden.transition.images{display:block;visibility:hidden}.ui.images>.hidden.transition{display:inline-block;visibility:hidden}.ui.disabled.image,.ui.disabled.images{cursor:default;opacity:.45}.ui.inline.image,.ui.inline.image img,.ui.inline.image svg{display:inline-block}.ui.top.aligned.image,.ui.top.aligned.image img,.ui.top.aligned.image svg,.ui.top.aligned.images .image{display:inline-block;vertical-align:top}.ui.middle.aligned.image,.ui.middle.aligned.image img,.ui.middle.aligned.image svg,.ui.middle.aligned.images .image{display:inline-block;vertical-align:middle}.ui.bottom.aligned.image,.ui.bottom.aligned.image img,.ui.bottom.aligned.image svg,.ui.bottom.aligned.images .image{display:inline-block;vertical-align:bottom}.ui.rounded.image,.ui.rounded.image>*,.ui.rounded.images .image,.ui.rounded.images .image>*{border-radius:.3125em}.ui.bordered.image img,.ui.bordered.image svg,.ui.bordered.images .image,.ui.bordered.images img,.ui.bordered.images svg,img.ui.bordered.image{border:1px solid rgba(0,0,0,.1)}.ui.circular.image,.ui.circular.images{overflow:hidden}.ui.circular.image,.ui.circular.image>*,.ui.circular.images .image,.ui.circular.images .image>*{border-radius:500rem}.ui.fluid.image,.ui.fluid.image img,.ui.fluid.image svg,.ui.fluid.images,.ui.fluid.images img,.ui.fluid.images svg{display:block;width:100%;height:auto}.ui.avatar.image,.ui.avatar.image img,.ui.avatar.image svg,.ui.avatar.images .image,.ui.avatar.images img,.ui.avatar.images svg{margin-right:.25em;display:inline-block;width:2em;height:2em;border-radius:500rem}.ui.spaced.image{display:inline-block!important;margin-left:.5em;margin-right:.5em}.ui[class*="left spaced"].image{margin-left:.5em;margin-right:0}.ui[class*="right spaced"].image{margin-left:0;margin-right:.5em}.ui.floated.image,.ui.floated.images{float:left;margin-right:1em;margin-bottom:1em}.ui.right.floated.image,.ui.right.floated.images{float:right;margin-right:0;margin-bottom:1em;margin-left:1em}.ui.floated.image:last-child,.ui.floated.images:last-child{margin-bottom:0}.ui.centered.image,.ui.centered.images{margin-left:auto;margin-right:auto}.ui.mini.image,.ui.mini.images .image,.ui.mini.images img,.ui.mini.images svg{width:35px;height:auto;font-size:.78571429rem}.ui.tiny.image,.ui.tiny.images .image,.ui.tiny.images img,.ui.tiny.images svg{width:80px;height:auto;font-size:.85714286rem}.ui.small.image,.ui.small.images .image,.ui.small.images img,.ui.small.images svg{width:150px;height:auto;font-size:.92857143rem}.ui.medium.image,.ui.medium.images .image,.ui.medium.images img,.ui.medium.images svg{width:300px;height:auto;font-size:1rem}.ui.large.image,.ui.large.images .image,.ui.large.images img,.ui.large.images svg{width:450px;height:auto;font-size:1.14285714rem}.ui.big.image,.ui.big.images .image,.ui.big.images img,.ui.big.images svg{width:600px;height:auto;font-size:1.28571429rem}.ui.huge.image,.ui.huge.images .image,.ui.huge.images img,.ui.huge.images svg{width:800px;height:auto;font-size:1.42857143rem}.ui.massive.image,.ui.massive.images .image,.ui.massive.images img,.ui.massive.images svg{width:960px;height:auto;font-size:1.71428571rem}.ui.images{font-size:0;margin:0 -.25rem 0}.ui.images .image,.ui.images>img,.ui.images>svg{display:inline-block;margin:0 .25rem .5rem}/*! + * # Semantic UI 2.5.0 - Input + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.input{position:relative;font-weight:400;font-style:normal;display:inline-flex;color:rgba(0,0,0,.87)}.ui.input>input{margin:0;max-width:100%;flex:1 0 auto;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);text-align:left;line-height:1.21428571em;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;padding:.67857143em 1em;background:#fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);border-radius:.28571429rem;transition:box-shadow .1s ease,border-color .1s ease;box-shadow:none}.ui.input>input::-webkit-input-placeholder{color:rgba(191,191,191,.87)}.ui.input>input::-moz-placeholder{color:rgba(191,191,191,.87)}.ui.input>input:-ms-input-placeholder{color:rgba(191,191,191,.87)}.ui.disabled.input,.ui.input:not(.disabled) input[disabled]{opacity:.45}.ui.disabled.input>input,.ui.input:not(.disabled) input[disabled]{pointer-events:none}.ui.input.down input,.ui.input>input:active{border-color:rgba(0,0,0,.3);background:#fafafa;color:rgba(0,0,0,.87);box-shadow:none}.ui.loading.loading.input>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loading.loading.input>i.icon:after{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}.ui.input.focus>input,.ui.input>input:focus{border-color:#85b7d9;background:#fff;color:rgba(0,0,0,.8);box-shadow:none}.ui.input.focus>input::-webkit-input-placeholder,.ui.input>input:focus::-webkit-input-placeholder{color:rgba(115,115,115,.87)}.ui.input.focus>input::-moz-placeholder,.ui.input>input:focus::-moz-placeholder{color:rgba(115,115,115,.87)}.ui.input.focus>input:-ms-input-placeholder,.ui.input>input:focus:-ms-input-placeholder{color:rgba(115,115,115,.87)}.ui.input.error>input{background-color:#fff6f6;border-color:#e0b4b4;color:#9f3a38;box-shadow:none}.ui.input.error>input::-webkit-input-placeholder{color:#e7bdbc}.ui.input.error>input::-moz-placeholder{color:#e7bdbc}.ui.input.error>input:-ms-input-placeholder{color:#e7bdbc!important}.ui.input.error>input:focus::-webkit-input-placeholder{color:#da9796}.ui.input.error>input:focus::-moz-placeholder{color:#da9796}.ui.input.error>input:focus:-ms-input-placeholder{color:#da9796!important}.ui.transparent.input>input{border-color:transparent!important;background-color:transparent!important;padding:0!important;box-shadow:none!important;border-radius:0!important}.ui.transparent.icon.input>i.icon{width:1.1em}.ui.transparent.icon.input>input{padding-left:0!important;padding-right:2em!important}.ui.transparent[class*="left icon"].input>input{padding-left:2em!important;padding-right:0!important}.ui.transparent.inverted.input{color:#fff}.ui.transparent.inverted.input>input{color:inherit}.ui.transparent.inverted.input>input::-webkit-input-placeholder{color:rgba(255,255,255,.5)}.ui.transparent.inverted.input>input::-moz-placeholder{color:rgba(255,255,255,.5)}.ui.transparent.inverted.input>input:-ms-input-placeholder{color:rgba(255,255,255,.5)}.ui.icon.input>i.icon{cursor:default;position:absolute;line-height:1;text-align:center;top:0;right:0;margin:0;height:100%;width:2.67142857em;opacity:.5;border-radius:0 .28571429rem .28571429rem 0;transition:opacity .3s ease}.ui.icon.input>i.icon:not(.link){pointer-events:none}.ui.icon.input>input{padding-right:2.67142857em!important}.ui.icon.input>i.icon:after,.ui.icon.input>i.icon:before{left:0;position:absolute;text-align:center;top:50%;width:100%;margin-top:-.5em}.ui.icon.input>i.link.icon{cursor:pointer}.ui.icon.input>i.circular.icon{top:.35em;right:.5em}.ui[class*="left icon"].input>i.icon{right:auto;left:1px;border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="left icon"].input>i.circular.icon{right:auto;left:.5em}.ui[class*="left icon"].input>input{padding-left:2.67142857em!important;padding-right:1em!important}.ui.icon.input>input:focus~i.icon{opacity:1}.ui.labeled.input>.label{flex:0 0 auto;margin:0;font-size:1em}.ui.labeled.input>.label:not(.corner){padding-top:.78571429em;padding-bottom:.78571429em}.ui.labeled.input:not([class*="corner labeled"]) .label:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ui.labeled.input:not([class*="corner labeled"]) .label:first-child+input{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:transparent}.ui.labeled.input:not([class*="corner labeled"]) .label:first-child+input:focus{border-left-color:#85b7d9}.ui[class*="right labeled"].input>input{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right-color:transparent!important}.ui[class*="right labeled"].input>input+.label{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*="right labeled"].input>input:focus{border-right-color:#85b7d9!important}.ui.labeled.input .corner.label{top:1px;right:1px;font-size:.64285714em;border-radius:0 .28571429rem 0 0}.ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input>input{padding-right:2.5em!important}.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"])>input{padding-right:3.25em!important}.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"])>.icon{margin-right:1.25em}.ui[class*="left corner labeled"].labeled.input>input{padding-left:2.5em!important}.ui[class*="left corner labeled"].icon.input>input{padding-left:3.25em!important}.ui[class*="left corner labeled"].icon.input>.icon{margin-left:1.25em}.ui.input>.ui.corner.label{top:1px;right:1px}.ui.input>.ui.left.corner.label{right:auto;left:1px}.ui.action.input>.button,.ui.action.input>.buttons{display:flex;align-items:center;flex:0 0 auto}.ui.action.input>.button,.ui.action.input>.buttons>.button{padding-top:.78571429em;padding-bottom:.78571429em;margin:0}.ui.action.input:not([class*="left action"])>input{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right-color:transparent!important}.ui.action.input:not([class*="left action"])>.button:not(:first-child),.ui.action.input:not([class*="left action"])>.buttons:not(:first-child)>.button,.ui.action.input:not([class*="left action"])>.dropdown:not(:first-child){border-radius:0}.ui.action.input:not([class*="left action"])>.button:last-child,.ui.action.input:not([class*="left action"])>.buttons:last-child>.button,.ui.action.input:not([class*="left action"])>.dropdown:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.action.input:not([class*="left action"])>input:focus{border-right-color:#85b7d9!important}.ui[class*="left action"].input>input{border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-left-color:transparent!important}.ui[class*="left action"].input>.button,.ui[class*="left action"].input>.buttons>.button,.ui[class*="left action"].input>.dropdown{border-radius:0}.ui[class*="left action"].input>.button:first-child,.ui[class*="left action"].input>.buttons:first-child>.button,.ui[class*="left action"].input>.dropdown:first-child{border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="left action"].input>input:focus{border-left-color:#85b7d9!important}.ui.inverted.input>input{border:none}.ui.fluid.input{display:flex}.ui.fluid.input>input{width:0!important}.ui.mini.input{font-size:.78571429em}.ui.small.input{font-size:.92857143em}.ui.input{font-size:1em}.ui.large.input{font-size:1.14285714em}.ui.big.input{font-size:1.28571429em}.ui.huge.input{font-size:1.42857143em}.ui.massive.input{font-size:1.71428571em}/*! + * # Semantic UI 2.5.0 - Label + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.label{display:inline-block;line-height:1;vertical-align:baseline;margin:0 .14285714em;background-color:#e8e8e8;background-image:none;padding:.5833em .833em;color:rgba(0,0,0,.6);text-transform:none;font-weight:700;border:0 solid transparent;border-radius:.28571429rem;transition:background .1s ease}.ui.label:first-child{margin-left:0}.ui.label:last-child{margin-right:0}a.ui.label{cursor:pointer}.ui.label>a{cursor:pointer;color:inherit;opacity:.5;transition:.1s opacity ease}.ui.label>a:hover{opacity:1}.ui.label>img{width:auto!important;vertical-align:middle;height:2.1666em!important}.ui.label>.icon{width:auto;margin:0 .75em 0 0}.ui.label>.detail{display:inline-block;vertical-align:top;font-weight:700;margin-left:1em;opacity:.8}.ui.label>.detail .icon{margin:0 .25em 0 0}.ui.label>.close.icon,.ui.label>.delete.icon{cursor:pointer;margin-right:0;margin-left:.5em;font-size:.92857143em;opacity:.5;transition:background .1s ease}.ui.label>.delete.icon:hover{opacity:1}.ui.labels>.label{margin:0 .5em .5em 0}.ui.header>.ui.label{margin-top:-.29165em}.ui.attached.segment>.ui.top.left.attached.label,.ui.bottom.attached.segment>.ui.top.left.attached.label{border-top-left-radius:0}.ui.attached.segment>.ui.top.right.attached.label,.ui.bottom.attached.segment>.ui.top.right.attached.label{border-top-right-radius:0}.ui.top.attached.segment>.ui.bottom.left.attached.label{border-bottom-left-radius:0}.ui.top.attached.segment>.ui.bottom.right.attached.label{border-bottom-right-radius:0}.ui.top.attached.label+[class*="right floated"]+*,.ui.top.attached.label:first-child+:not(.attached){margin-top:2rem!important}.ui.bottom.attached.label:first-child~:last-child:not(.attached){margin-top:0;margin-bottom:2rem!important}.ui.image.label{width:auto!important;margin-top:0;margin-bottom:0;max-width:9999px;vertical-align:baseline;text-transform:none;background:#e8e8e8;padding:.5833em .833em .5833em .5em;border-radius:.28571429rem;box-shadow:none}.ui.image.label img{display:inline-block;vertical-align:top;height:2.1666em;margin:-.5833em .5em -.5833em -.5em;border-radius:.28571429rem 0 0 .28571429rem}.ui.image.label .detail{background:rgba(0,0,0,.1);margin:-.5833em -.833em -.5833em .5em;padding:.5833em .833em;border-radius:0 .28571429rem .28571429rem 0}.ui.tag.label,.ui.tag.labels .label{margin-left:1em;position:relative;padding-left:1.5em;padding-right:1.5em;border-radius:0 .28571429rem .28571429rem 0;transition:none}.ui.tag.label:before,.ui.tag.labels .label:before{position:absolute;transform:translateY(-50%) translateX(50%) rotate(-45deg);top:50%;right:100%;content:'';background-color:inherit;background-image:none;width:1.56em;height:1.56em;transition:none}.ui.tag.label:after,.ui.tag.labels .label:after{position:absolute;content:'';top:50%;left:-.25em;margin-top:-.25em;background-color:#fff!important;width:.5em;height:.5em;box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);border-radius:500rem}.ui.corner.label{position:absolute;top:0;right:0;margin:0;padding:0;text-align:center;border-color:#e8e8e8;width:4em;height:4em;z-index:1;transition:border-color .1s ease}.ui.corner.label{background-color:transparent!important}.ui.corner.label:after{position:absolute;content:"";right:0;top:0;z-index:-1;width:0;height:0;background-color:transparent!important;border-top:0 solid transparent;border-right:4em solid transparent;border-bottom:4em solid transparent;border-left:0 solid transparent;border-right-color:inherit;transition:border-color .1s ease}.ui.corner.label .icon{cursor:default;position:relative;top:.64285714em;left:.78571429em;font-size:1.14285714em;margin:0}.ui.left.corner.label,.ui.left.corner.label:after{right:auto;left:0}.ui.left.corner.label:after{border-top:4em solid transparent;border-right:4em solid transparent;border-bottom:0 solid transparent;border-left:0 solid transparent;border-top-color:inherit}.ui.left.corner.label .icon{left:-.78571429em}.ui.segment>.ui.corner.label{top:-1px;right:-1px}.ui.segment>.ui.left.corner.label{right:auto;left:-1px}.ui.ribbon.label{position:relative;margin:0;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;border-radius:0 .28571429rem .28571429rem 0;border-color:rgba(0,0,0,.15)}.ui.ribbon.label:after{position:absolute;content:'';top:100%;left:0;background-color:transparent!important;border-style:solid;border-width:0 1.2em 1.2em 0;border-color:transparent;border-right-color:inherit;width:0;height:0}.ui.ribbon.label{left:calc(-1rem - 1.2em);margin-right:-1.2em;padding-left:calc(1rem + 1.2em);padding-right:1.2em}.ui[class*="right ribbon"].label{left:calc(100% + 1rem + 1.2em);padding-left:1.2em;padding-right:calc(1rem + 1.2em)}.ui[class*="right ribbon"].label{text-align:left;transform:translateX(-100%);border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="right ribbon"].label:after{left:auto;right:0;border-style:solid;border-width:1.2em 1.2em 0 0;border-color:transparent;border-top-color:inherit}.ui.card .image>.ribbon.label,.ui.image>.ribbon.label{position:absolute;top:1rem}.ui.card .image>.ui.ribbon.label,.ui.image>.ui.ribbon.label{left:calc(--.05rem - 1.2em)}.ui.card .image>.ui[class*="right ribbon"].label,.ui.image>.ui[class*="right ribbon"].label{left:calc(100% + -.05rem + 1.2em);padding-left:.833em}.ui.table td>.ui.ribbon.label{left:calc(-.78571429em - 1.2em)}.ui.table td>.ui[class*="right ribbon"].label{left:calc(100% + .78571429em + 1.2em);padding-left:.833em}.ui.attached.label,.ui[class*="top attached"].label{width:100%;position:absolute;margin:0;top:0;left:0;padding:.75em 1em;border-radius:.21428571rem .21428571rem 0 0}.ui[class*="bottom attached"].label{top:auto;bottom:0;border-radius:0 0 .21428571rem .21428571rem}.ui[class*="top left attached"].label{width:auto;margin-top:0!important;border-radius:.21428571rem 0 .28571429rem 0}.ui[class*="top right attached"].label{width:auto;left:auto;right:0;border-radius:0 .21428571rem 0 .28571429rem}.ui[class*="bottom left attached"].label{width:auto;top:auto;bottom:0;border-radius:0 .28571429rem 0 .21428571rem}.ui[class*="bottom right attached"].label{top:auto;bottom:0;left:auto;right:0;width:auto;border-radius:.28571429rem 0 .21428571rem 0}.ui.label.disabled{opacity:.5}a.ui.label:hover,a.ui.labels .label:hover{background-color:#e0e0e0;border-color:#e0e0e0;background-image:none;color:rgba(0,0,0,.8)}.ui.labels a.label:hover:before,a.ui.label:hover:before{color:rgba(0,0,0,.8)}.ui.active.label{background-color:#d0d0d0;border-color:#d0d0d0;background-image:none;color:rgba(0,0,0,.95)}.ui.active.label:before{background-color:#d0d0d0;background-image:none;color:rgba(0,0,0,.95)}a.ui.active.label:hover,a.ui.labels .active.label:hover{background-color:#c8c8c8;border-color:#c8c8c8;background-image:none;color:rgba(0,0,0,.95)}.ui.labels a.active.label:ActiveHover:before,a.ui.active.label:ActiveHover:before{background-color:#c8c8c8;background-image:none;color:rgba(0,0,0,.95)}.ui.label.visible:not(.dropdown),.ui.labels.visible .label{display:inline-block!important}.ui.label.hidden,.ui.labels.hidden .label{display:none!important}.ui.red.label,.ui.red.labels .label{background-color:#db2828!important;border-color:#db2828!important;color:#fff!important}.ui.red.labels .label:hover,a.ui.red.label:hover{background-color:#d01919!important;border-color:#d01919!important;color:#fff!important}.ui.red.corner.label,.ui.red.corner.label:hover{background-color:transparent!important}.ui.red.ribbon.label{border-color:#b21e1e!important}.ui.basic.red.label{background:none #fff!important;color:#db2828!important;border-color:#db2828!important}.ui.basic.red.labels a.label:hover,a.ui.basic.red.label:hover{background-color:#fff!important;color:#d01919!important;border-color:#d01919!important}.ui.orange.label,.ui.orange.labels .label{background-color:#f2711c!important;border-color:#f2711c!important;color:#fff!important}.ui.orange.labels .label:hover,a.ui.orange.label:hover{background-color:#f26202!important;border-color:#f26202!important;color:#fff!important}.ui.orange.corner.label,.ui.orange.corner.label:hover{background-color:transparent!important}.ui.orange.ribbon.label{border-color:#cf590c!important}.ui.basic.orange.label{background:none #fff!important;color:#f2711c!important;border-color:#f2711c!important}.ui.basic.orange.labels a.label:hover,a.ui.basic.orange.label:hover{background-color:#fff!important;color:#f26202!important;border-color:#f26202!important}.ui.yellow.label,.ui.yellow.labels .label{background-color:#fbbd08!important;border-color:#fbbd08!important;color:#fff!important}.ui.yellow.labels .label:hover,a.ui.yellow.label:hover{background-color:#eaae00!important;border-color:#eaae00!important;color:#fff!important}.ui.yellow.corner.label,.ui.yellow.corner.label:hover{background-color:transparent!important}.ui.yellow.ribbon.label{border-color:#cd9903!important}.ui.basic.yellow.label{background:none #fff!important;color:#fbbd08!important;border-color:#fbbd08!important}.ui.basic.yellow.labels a.label:hover,a.ui.basic.yellow.label:hover{background-color:#fff!important;color:#eaae00!important;border-color:#eaae00!important}.ui.olive.label,.ui.olive.labels .label{background-color:#b5cc18!important;border-color:#b5cc18!important;color:#fff!important}.ui.olive.labels .label:hover,a.ui.olive.label:hover{background-color:#a7bd0d!important;border-color:#a7bd0d!important;color:#fff!important}.ui.olive.corner.label,.ui.olive.corner.label:hover{background-color:transparent!important}.ui.olive.ribbon.label{border-color:#198f35!important}.ui.basic.olive.label{background:none #fff!important;color:#b5cc18!important;border-color:#b5cc18!important}.ui.basic.olive.labels a.label:hover,a.ui.basic.olive.label:hover{background-color:#fff!important;color:#a7bd0d!important;border-color:#a7bd0d!important}.ui.green.label,.ui.green.labels .label{background-color:#21ba45!important;border-color:#21ba45!important;color:#fff!important}.ui.green.labels .label:hover,a.ui.green.label:hover{background-color:#16ab39!important;border-color:#16ab39!important;color:#fff!important}.ui.green.corner.label,.ui.green.corner.label:hover{background-color:transparent!important}.ui.green.ribbon.label{border-color:#198f35!important}.ui.basic.green.label{background:none #fff!important;color:#21ba45!important;border-color:#21ba45!important}.ui.basic.green.labels a.label:hover,a.ui.basic.green.label:hover{background-color:#fff!important;color:#16ab39!important;border-color:#16ab39!important}.ui.teal.label,.ui.teal.labels .label{background-color:#00b5ad!important;border-color:#00b5ad!important;color:#fff!important}.ui.teal.labels .label:hover,a.ui.teal.label:hover{background-color:#009c95!important;border-color:#009c95!important;color:#fff!important}.ui.teal.corner.label,.ui.teal.corner.label:hover{background-color:transparent!important}.ui.teal.ribbon.label{border-color:#00827c!important}.ui.basic.teal.label{background:none #fff!important;color:#00b5ad!important;border-color:#00b5ad!important}.ui.basic.teal.labels a.label:hover,a.ui.basic.teal.label:hover{background-color:#fff!important;color:#009c95!important;border-color:#009c95!important}.ui.blue.label,.ui.blue.labels .label{background-color:#2185d0!important;border-color:#2185d0!important;color:#fff!important}.ui.blue.labels .label:hover,a.ui.blue.label:hover{background-color:#1678c2!important;border-color:#1678c2!important;color:#fff!important}.ui.blue.corner.label,.ui.blue.corner.label:hover{background-color:transparent!important}.ui.blue.ribbon.label{border-color:#1a69a4!important}.ui.basic.blue.label{background:none #fff!important;color:#2185d0!important;border-color:#2185d0!important}.ui.basic.blue.labels a.label:hover,a.ui.basic.blue.label:hover{background-color:#fff!important;color:#1678c2!important;border-color:#1678c2!important}.ui.violet.label,.ui.violet.labels .label{background-color:#6435c9!important;border-color:#6435c9!important;color:#fff!important}.ui.violet.labels .label:hover,a.ui.violet.label:hover{background-color:#5829bb!important;border-color:#5829bb!important;color:#fff!important}.ui.violet.corner.label,.ui.violet.corner.label:hover{background-color:transparent!important}.ui.violet.ribbon.label{border-color:#502aa1!important}.ui.basic.violet.label{background:none #fff!important;color:#6435c9!important;border-color:#6435c9!important}.ui.basic.violet.labels a.label:hover,a.ui.basic.violet.label:hover{background-color:#fff!important;color:#5829bb!important;border-color:#5829bb!important}.ui.purple.label,.ui.purple.labels .label{background-color:#a333c8!important;border-color:#a333c8!important;color:#fff!important}.ui.purple.labels .label:hover,a.ui.purple.label:hover{background-color:#9627ba!important;border-color:#9627ba!important;color:#fff!important}.ui.purple.corner.label,.ui.purple.corner.label:hover{background-color:transparent!important}.ui.purple.ribbon.label{border-color:#82299f!important}.ui.basic.purple.label{background:none #fff!important;color:#a333c8!important;border-color:#a333c8!important}.ui.basic.purple.labels a.label:hover,a.ui.basic.purple.label:hover{background-color:#fff!important;color:#9627ba!important;border-color:#9627ba!important}.ui.pink.label,.ui.pink.labels .label{background-color:#e03997!important;border-color:#e03997!important;color:#fff!important}.ui.pink.labels .label:hover,a.ui.pink.label:hover{background-color:#e61a8d!important;border-color:#e61a8d!important;color:#fff!important}.ui.pink.corner.label,.ui.pink.corner.label:hover{background-color:transparent!important}.ui.pink.ribbon.label{border-color:#c71f7e!important}.ui.basic.pink.label{background:none #fff!important;color:#e03997!important;border-color:#e03997!important}.ui.basic.pink.labels a.label:hover,a.ui.basic.pink.label:hover{background-color:#fff!important;color:#e61a8d!important;border-color:#e61a8d!important}.ui.brown.label,.ui.brown.labels .label{background-color:#a5673f!important;border-color:#a5673f!important;color:#fff!important}.ui.brown.labels .label:hover,a.ui.brown.label:hover{background-color:#975b33!important;border-color:#975b33!important;color:#fff!important}.ui.brown.corner.label,.ui.brown.corner.label:hover{background-color:transparent!important}.ui.brown.ribbon.label{border-color:#805031!important}.ui.basic.brown.label{background:none #fff!important;color:#a5673f!important;border-color:#a5673f!important}.ui.basic.brown.labels a.label:hover,a.ui.basic.brown.label:hover{background-color:#fff!important;color:#975b33!important;border-color:#975b33!important}.ui.grey.label,.ui.grey.labels .label{background-color:#767676!important;border-color:#767676!important;color:#fff!important}.ui.grey.labels .label:hover,a.ui.grey.label:hover{background-color:#838383!important;border-color:#838383!important;color:#fff!important}.ui.grey.corner.label,.ui.grey.corner.label:hover{background-color:transparent!important}.ui.grey.ribbon.label{border-color:#805031!important}.ui.basic.grey.label{background:none #fff!important;color:#767676!important;border-color:#767676!important}.ui.basic.grey.labels a.label:hover,a.ui.basic.grey.label:hover{background-color:#fff!important;color:#838383!important;border-color:#838383!important}.ui.black.label,.ui.black.labels .label{background-color:#1b1c1d!important;border-color:#1b1c1d!important;color:#fff!important}.ui.black.labels .label:hover,a.ui.black.label:hover{background-color:#27292a!important;border-color:#27292a!important;color:#fff!important}.ui.black.corner.label,.ui.black.corner.label:hover{background-color:transparent!important}.ui.black.ribbon.label{border-color:#805031!important}.ui.basic.black.label{background:none #fff!important;color:#1b1c1d!important;border-color:#1b1c1d!important}.ui.basic.black.labels a.label:hover,a.ui.basic.black.label:hover{background-color:#fff!important;color:#27292a!important;border-color:#27292a!important}.ui.basic.label{background:none #fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);box-shadow:none}a.ui.basic.label:hover{text-decoration:none;background:none #fff;color:#1e70bf;box-shadow:1px solid rgba(34,36,38,.15);box-shadow:none}.ui.basic.pointing.label:before{border-color:inherit}.ui.fluid.labels>.label,.ui.label.fluid{width:100%;box-sizing:border-box}.ui.inverted.label,.ui.inverted.labels .label{color:rgba(255,255,255,.9)!important}.ui.horizontal.label,.ui.horizontal.labels .label{margin:0 .5em 0 0;padding:.4em .833em;min-width:3em;text-align:center}.ui.circular.label,.ui.circular.labels .label{min-width:2em;min-height:2em;padding:.5em!important;line-height:1em;text-align:center;border-radius:500rem}.ui.empty.circular.label,.ui.empty.circular.labels .label{min-width:0;min-height:0;overflow:hidden;width:.5em;height:.5em;vertical-align:baseline}.ui.pointing.label{position:relative}.ui.attached.pointing.label{position:absolute}.ui.pointing.label:before{background-color:inherit;background-image:inherit;border-width:none;border-style:solid;border-color:inherit}.ui.pointing.label:before{position:absolute;content:'';transform:rotate(45deg);background-image:none;z-index:2;width:.6666em;height:.6666em;transition:background .1s ease}.ui.pointing.label,.ui[class*="pointing above"].label{margin-top:1em}.ui.pointing.label:before,.ui[class*="pointing above"].label:before{border-width:1px 0 0 1px;transform:translateX(-50%) translateY(-50%) rotate(45deg);top:0;left:50%}.ui[class*="bottom pointing"].label,.ui[class*="pointing below"].label{margin-top:0;margin-bottom:1em}.ui[class*="bottom pointing"].label:before,.ui[class*="pointing below"].label:before{border-width:0 1px 1px 0;top:auto;right:auto;transform:translateX(-50%) translateY(-50%) rotate(45deg);top:100%;left:50%}.ui[class*="left pointing"].label{margin-top:0;margin-left:.6666em}.ui[class*="left pointing"].label:before{border-width:0 0 1px 1px;transform:translateX(-50%) translateY(-50%) rotate(45deg);bottom:auto;right:auto;top:50%;left:0}.ui[class*="right pointing"].label{margin-top:0;margin-right:.6666em}.ui[class*="right pointing"].label:before{border-width:1px 1px 0 0;transform:translateX(50%) translateY(-50%) rotate(45deg);top:50%;right:0;bottom:auto;left:auto}.ui.basic.pointing.label:before,.ui.basic[class*="pointing above"].label:before{margin-top:-1px}.ui.basic[class*="bottom pointing"].label:before,.ui.basic[class*="pointing below"].label:before{bottom:auto;top:100%;margin-top:1px}.ui.basic[class*="left pointing"].label:before{top:50%;left:-1px}.ui.basic[class*="right pointing"].label:before{top:50%;right:-1px}.ui.floating.label{position:absolute;z-index:100;top:-1em;left:100%;margin:0 0 0 -1.5em!important}.ui.mini.label,.ui.mini.labels .label{font-size:.64285714rem}.ui.tiny.label,.ui.tiny.labels .label{font-size:.71428571rem}.ui.small.label,.ui.small.labels .label{font-size:.78571429rem}.ui.label,.ui.labels .label{font-size:.85714286rem}.ui.large.label,.ui.large.labels .label{font-size:1rem}.ui.big.label,.ui.big.labels .label{font-size:1.28571429rem}.ui.huge.label,.ui.huge.labels .label{font-size:1.42857143rem}.ui.massive.label,.ui.massive.labels .label{font-size:1.71428571rem}/*! + * # Semantic UI 2.5.0 - List + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.list,ol.ui.list,ul.ui.list{list-style-type:none;margin:1em 0;padding:0 0}.ui.list:first-child,ol.ui.list:first-child,ul.ui.list:first-child{margin-top:0;padding-top:0}.ui.list:last-child,ol.ui.list:last-child,ul.ui.list:last-child{margin-bottom:0;padding-bottom:0}.ui.list .list>.item,.ui.list>.item,ol.ui.list li,ul.ui.list li{display:list-item;table-layout:fixed;list-style-type:none;list-style-position:outside;padding:.21428571em 0;line-height:1.14285714em}.ui.list>.item:after,.ui.list>.list>.item,ol.ui.list>li:first-child:after,ul.ui.list>li:first-child:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.list .list>.item:first-child,.ui.list>.item:first-child,ol.ui.list li:first-child,ul.ui.list li:first-child{padding-top:0}.ui.list .list>.item:last-child,.ui.list>.item:last-child,ol.ui.list li:last-child,ul.ui.list li:last-child{padding-bottom:0}.ui.list .list,ol.ui.list ol,ul.ui.list ul{clear:both;margin:0;padding:.75em 0 .25em .5em}.ui.list .list>.item,ol.ui.list ol li,ul.ui.list ul li{padding:.14285714em 0;line-height:inherit}.ui.list .list>.item>i.icon,.ui.list>.item>i.icon{display:table-cell;margin:0;padding-top:0;padding-right:.28571429em;vertical-align:top;transition:color .1s ease}.ui.list .list>.item>i.icon:only-child,.ui.list>.item>i.icon:only-child{display:inline-block;vertical-align:top}.ui.list .list>.item>.image,.ui.list>.item>.image{display:table-cell;background-color:transparent;margin:0;vertical-align:top}.ui.list .list>.item>.image:not(:only-child):not(img),.ui.list>.item>.image:not(:only-child):not(img){padding-right:.5em}.ui.list .list>.item>.image img,.ui.list>.item>.image img{vertical-align:top}.ui.list .list>.item>.image:only-child,.ui.list .list>.item>img.image,.ui.list>.item>.image:only-child,.ui.list>.item>img.image{display:inline-block}.ui.list .list>.item>.content,.ui.list>.item>.content{line-height:1.14285714em}.ui.list .list>.item>.icon+.content,.ui.list .list>.item>.image+.content,.ui.list>.item>.icon+.content,.ui.list>.item>.image+.content{display:table-cell;width:100%;padding:0 0 0 .5em;vertical-align:top}.ui.list .list>.item>img.image+.content,.ui.list>.item>img.image+.content{display:inline-block;width:auto}.ui.list .list>.item>.content>.list,.ui.list>.item>.content>.list{margin-left:0;padding-left:0}.ui.list .list>.item .header,.ui.list>.item .header{display:block;margin:0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;color:rgba(0,0,0,.87)}.ui.list .list>.item .description,.ui.list>.item .description{display:block;color:rgba(0,0,0,.7)}.ui.list .list>.item a,.ui.list>.item a{cursor:pointer}.ui.list .list>a.item,.ui.list>a.item{cursor:pointer;color:#4183c4}.ui.list .list>a.item:hover,.ui.list>a.item:hover{color:#1e70bf}.ui.list .list>a.item i.icon,.ui.list>a.item i.icon{color:rgba(0,0,0,.4)}.ui.list .list>.item a.header,.ui.list>.item a.header{cursor:pointer;color:#4183c4!important}.ui.list .list>.item a.header:hover,.ui.list>.item a.header:hover{color:#1e70bf!important}.ui[class*="left floated"].list{float:left}.ui[class*="right floated"].list{float:right}.ui.list .list>.item [class*="left floated"],.ui.list>.item [class*="left floated"]{float:left;margin:0 1em 0 0}.ui.list .list>.item [class*="right floated"],.ui.list>.item [class*="right floated"]{float:right;margin:0 0 0 1em}.ui.menu .ui.list .list>.item,.ui.menu .ui.list>.item{display:list-item;table-layout:fixed;background-color:transparent;list-style-type:none;list-style-position:outside;padding:.21428571em 0;line-height:1.14285714em}.ui.menu .ui.list .list>.item:before,.ui.menu .ui.list>.item:before{border:none;background:0 0}.ui.menu .ui.list .list>.item:first-child,.ui.menu .ui.list>.item:first-child{padding-top:0}.ui.menu .ui.list .list>.item:last-child,.ui.menu .ui.list>.item:last-child{padding-bottom:0}.ui.horizontal.list{display:inline-block;font-size:0}.ui.horizontal.list>.item{display:inline-block;margin-left:1em;font-size:1rem}.ui.horizontal.list:not(.celled)>.item:first-child{margin-left:0!important;padding-left:0!important}.ui.horizontal.list .list{padding-left:0;padding-bottom:0}.ui.horizontal.list .list>.item>.content,.ui.horizontal.list .list>.item>.icon,.ui.horizontal.list .list>.item>.image,.ui.horizontal.list>.item>.content,.ui.horizontal.list>.item>.icon,.ui.horizontal.list>.item>.image{vertical-align:middle}.ui.horizontal.list>.item:first-child,.ui.horizontal.list>.item:last-child{padding-top:.21428571em;padding-bottom:.21428571em}.ui.horizontal.list>.item>i.icon{margin:0;padding:0 .25em 0 0}.ui.horizontal.list>.item>.icon,.ui.horizontal.list>.item>.icon+.content{float:none;display:inline-block}.ui.list .list>.disabled.item,.ui.list>.disabled.item{pointer-events:none;color:rgba(40,40,40,.3)!important}.ui.inverted.list .list>.disabled.item,.ui.inverted.list>.disabled.item{color:rgba(225,225,225,.3)!important}.ui.list .list>a.item:hover .icon,.ui.list>a.item:hover .icon{color:rgba(0,0,0,.87)}.ui.inverted.list .list>a.item>.icon,.ui.inverted.list>a.item>.icon{color:rgba(255,255,255,.7)}.ui.inverted.list .list>.item .header,.ui.inverted.list>.item .header{color:rgba(255,255,255,.9)}.ui.inverted.list .list>.item .description,.ui.inverted.list>.item .description{color:rgba(255,255,255,.7)}.ui.inverted.list .list>a.item,.ui.inverted.list>a.item{cursor:pointer;color:rgba(255,255,255,.9)}.ui.inverted.list .list>a.item:hover,.ui.inverted.list>a.item:hover{color:#1e70bf}.ui.inverted.list .item a:not(.ui){color:rgba(255,255,255,.9)!important}.ui.inverted.list .item a:not(.ui):hover{color:#1e70bf!important}.ui.list [class*="top aligned"],.ui.list[class*="top aligned"] .content,.ui.list[class*="top aligned"] .image{vertical-align:top!important}.ui.list [class*="middle aligned"],.ui.list[class*="middle aligned"] .content,.ui.list[class*="middle aligned"] .image{vertical-align:middle!important}.ui.list [class*="bottom aligned"],.ui.list[class*="bottom aligned"] .content,.ui.list[class*="bottom aligned"] .image{vertical-align:bottom!important}.ui.link.list .item,.ui.link.list .item a:not(.ui),.ui.link.list a.item{color:rgba(0,0,0,.4);transition:.1s color ease}.ui.link.list.list .item a:not(.ui):hover,.ui.link.list.list a.item:hover{color:rgba(0,0,0,.8)}.ui.link.list.list .item a:not(.ui):active,.ui.link.list.list a.item:active{color:rgba(0,0,0,.9)}.ui.link.list.list .active.item,.ui.link.list.list .active.item a:not(.ui){color:rgba(0,0,0,.95)}.ui.inverted.link.list .item,.ui.inverted.link.list .item a:not(.ui),.ui.inverted.link.list a.item{color:rgba(255,255,255,.5)}.ui.inverted.link.list.list .item a:not(.ui):hover,.ui.inverted.link.list.list a.item:hover{color:#fff}.ui.inverted.link.list.list .item a:not(.ui):active,.ui.inverted.link.list.list a.item:active{color:#fff}.ui.inverted.link.list.list .active.item a:not(.ui),.ui.inverted.link.list.list a.active.item{color:#fff}.ui.selection.list .list>.item,.ui.selection.list>.item{cursor:pointer;background:0 0;padding:.5em .5em;margin:0;color:rgba(0,0,0,.4);border-radius:.5em;transition:.1s color ease,.1s padding-left ease,.1s background-color ease}.ui.selection.list .list>.item:last-child,.ui.selection.list>.item:last-child{margin-bottom:0}.ui.selection.list.list>.item:hover,.ui.selection.list>.item:hover{background:rgba(0,0,0,.03);color:rgba(0,0,0,.8)}.ui.selection.list .list>.item:active,.ui.selection.list>.item:active{background:rgba(0,0,0,.05);color:rgba(0,0,0,.9)}.ui.selection.list .list>.item.active,.ui.selection.list>.item.active{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.inverted.selection.list>.item{background:0 0;color:rgba(255,255,255,.5)}.ui.inverted.selection.list>.item:hover{background:rgba(255,255,255,.02);color:#fff}.ui.inverted.selection.list>.item:active{background:rgba(255,255,255,.08);color:#fff}.ui.inverted.selection.list>.item.active{background:rgba(255,255,255,.08);color:#fff}.ui.celled.selection.list .list>.item,.ui.celled.selection.list>.item,.ui.divided.selection.list .list>.item,.ui.divided.selection.list>.item{border-radius:0}.ui.animated.list>.item{transition:.25s color ease .1s,.25s padding-left ease .1s,.25s background-color ease .1s}.ui.animated.list:not(.horizontal)>.item:hover{padding-left:1em}.ui.fitted.list:not(.selection) .list>.item,.ui.fitted.list:not(.selection)>.item{padding-left:0;padding-right:0}.ui.fitted.selection.list .list>.item,.ui.fitted.selection.list>.item{margin-left:-.5em;margin-right:-.5em}.ui.bulleted.list,ul.ui.list{margin-left:1.25rem}.ui.bulleted.list .list>.item,.ui.bulleted.list>.item,ul.ui.list li{position:relative}.ui.bulleted.list .list>.item:before,.ui.bulleted.list>.item:before,ul.ui.list li:before{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;position:absolute;top:auto;left:auto;font-weight:400;margin-left:-1.25rem;content:'•';opacity:1;color:inherit;vertical-align:top}.ui.bulleted.list .list>a.item:before,.ui.bulleted.list>a.item:before,ul.ui.list li:before{color:rgba(0,0,0,.87)}.ui.bulleted.list .list,ul.ui.list ul{padding-left:1.25rem}.ui.horizontal.bulleted.list,ul.ui.horizontal.bulleted.list{margin-left:0}.ui.horizontal.bulleted.list>.item,ul.ui.horizontal.bulleted.list li{margin-left:1.75rem}.ui.horizontal.bulleted.list>.item:first-child,ul.ui.horizontal.bulleted.list li:first-child{margin-left:0}.ui.horizontal.bulleted.list>.item::before,ul.ui.horizontal.bulleted.list li::before{color:rgba(0,0,0,.87)}.ui.horizontal.bulleted.list>.item:first-child::before,ul.ui.horizontal.bulleted.list li:first-child::before{display:none}.ui.ordered.list,.ui.ordered.list .list,ol.ui.list,ol.ui.list ol{counter-reset:ordered;margin-left:1.25rem;list-style-type:none}.ui.ordered.list .list>.item,.ui.ordered.list>.item,ol.ui.list li{list-style-type:none;position:relative}.ui.ordered.list .list>.item:before,.ui.ordered.list>.item:before,ol.ui.list li:before{position:absolute;top:auto;left:auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;margin-left:-1.25rem;counter-increment:ordered;content:counters(ordered, ".") " ";text-align:right;color:rgba(0,0,0,.87);vertical-align:middle;opacity:.8}.ui.ordered.inverted.list .list>.item:before,.ui.ordered.inverted.list>.item:before,ol.ui.inverted.list li:before{color:rgba(255,255,255,.7)}.ui.ordered.list>.item[data-value],.ui.ordered.list>.list>.item[data-value]{content:attr(data-value)}ol.ui.list li[value]:before{content:attr(value)}.ui.ordered.list .list,ol.ui.list ol{margin-left:1em}.ui.ordered.list .list>.item:before,ol.ui.list ol li:before{margin-left:-2em}.ui.ordered.horizontal.list,ol.ui.horizontal.list{margin-left:0}.ui.ordered.horizontal.list .list>.item:before,.ui.ordered.horizontal.list>.item:before,ol.ui.horizontal.list li:before{position:static;margin:0 .5em 0 0}.ui.divided.list>.item{border-top:1px solid rgba(34,36,38,.15)}.ui.divided.list .list>.item{border-top:none}.ui.divided.list .item .list>.item{border-top:none}.ui.divided.list .list>.item:first-child,.ui.divided.list>.item:first-child{border-top:none}.ui.divided.list:not(.horizontal) .list>.item:first-child{border-top-width:1px}.ui.divided.bulleted.list .list,.ui.divided.bulleted.list:not(.horizontal){margin-left:0;padding-left:0}.ui.divided.bulleted.list>.item:not(.horizontal){padding-left:1.25rem}.ui.divided.ordered.list{margin-left:0}.ui.divided.ordered.list .list>.item,.ui.divided.ordered.list>.item{padding-left:1.25rem}.ui.divided.ordered.list .item .list{margin-left:0;margin-right:0;padding-bottom:.21428571em}.ui.divided.ordered.list .item .list>.item{padding-left:1em}.ui.divided.selection.list .list>.item,.ui.divided.selection.list>.item{margin:0;border-radius:0}.ui.divided.horizontal.list{margin-left:0}.ui.divided.horizontal.list>.item:not(:first-child){padding-left:.5em}.ui.divided.horizontal.list>.item:not(:last-child){padding-right:.5em}.ui.divided.horizontal.list>.item{border-top:none;border-left:1px solid rgba(34,36,38,.15);margin:0;line-height:.6}.ui.horizontal.divided.list>.item:first-child{border-left:none}.ui.divided.inverted.horizontal.list>.item,.ui.divided.inverted.list>.item,.ui.divided.inverted.list>.list{border-color:rgba(255,255,255,.1)}.ui.celled.list>.item,.ui.celled.list>.list{border-top:1px solid rgba(34,36,38,.15);padding-left:.5em;padding-right:.5em}.ui.celled.list>.item:last-child{border-bottom:1px solid rgba(34,36,38,.15)}.ui.celled.list>.item:first-child,.ui.celled.list>.item:last-child{padding-top:.21428571em;padding-bottom:.21428571em}.ui.celled.list .item .list>.item{border-width:0}.ui.celled.list .list>.item:first-child{border-top-width:0}.ui.celled.bulleted.list{margin-left:0}.ui.celled.bulleted.list .list>.item,.ui.celled.bulleted.list>.item{padding-left:1.25rem}.ui.celled.bulleted.list .item .list{margin-left:-1.25rem;margin-right:-1.25rem;padding-bottom:.21428571em}.ui.celled.ordered.list{margin-left:0}.ui.celled.ordered.list .list>.item,.ui.celled.ordered.list>.item{padding-left:1.25rem}.ui.celled.ordered.list .item .list{margin-left:0;margin-right:0;padding-bottom:.21428571em}.ui.celled.ordered.list .list>.item{padding-left:1em}.ui.horizontal.celled.list{margin-left:0}.ui.horizontal.celled.list .list>.item,.ui.horizontal.celled.list>.item{border-top:none;border-left:1px solid rgba(34,36,38,.15);margin:0;padding-left:.5em;padding-right:.5em;line-height:.6}.ui.horizontal.celled.list .list>.item:last-child,.ui.horizontal.celled.list>.item:last-child{border-bottom:none;border-right:1px solid rgba(34,36,38,.15)}.ui.celled.inverted.list>.item,.ui.celled.inverted.list>.list{border-color:1px solid rgba(255,255,255,.1)}.ui.celled.inverted.horizontal.list .list>.item,.ui.celled.inverted.horizontal.list>.item{border-color:1px solid rgba(255,255,255,.1)}.ui.relaxed.list:not(.horizontal)>.item:not(:first-child){padding-top:.42857143em}.ui.relaxed.list:not(.horizontal)>.item:not(:last-child){padding-bottom:.42857143em}.ui.horizontal.relaxed.list .list>.item:not(:first-child),.ui.horizontal.relaxed.list>.item:not(:first-child){padding-left:1rem}.ui.horizontal.relaxed.list .list>.item:not(:last-child),.ui.horizontal.relaxed.list>.item:not(:last-child){padding-right:1rem}.ui[class*="very relaxed"].list:not(.horizontal)>.item:not(:first-child){padding-top:.85714286em}.ui[class*="very relaxed"].list:not(.horizontal)>.item:not(:last-child){padding-bottom:.85714286em}.ui.horizontal[class*="very relaxed"].list .list>.item:not(:first-child),.ui.horizontal[class*="very relaxed"].list>.item:not(:first-child){padding-left:1.5rem}.ui.horizontal[class*="very relaxed"].list .list>.item:not(:last-child),.ui.horizontal[class*="very relaxed"].list>.item:not(:last-child){padding-right:1.5rem}.ui.mini.list{font-size:.78571429em}.ui.tiny.list{font-size:.85714286em}.ui.small.list{font-size:.92857143em}.ui.list{font-size:1em}.ui.large.list{font-size:1.14285714em}.ui.big.list{font-size:1.28571429em}.ui.huge.list{font-size:1.42857143em}.ui.massive.list{font-size:1.71428571em}.ui.mini.horizontal.list .list>.item,.ui.mini.horizontal.list>.item{font-size:.78571429rem}.ui.tiny.horizontal.list .list>.item,.ui.tiny.horizontal.list>.item{font-size:.85714286rem}.ui.small.horizontal.list .list>.item,.ui.small.horizontal.list>.item{font-size:.92857143rem}.ui.horizontal.list .list>.item,.ui.horizontal.list>.item{font-size:1rem}.ui.large.horizontal.list .list>.item,.ui.large.horizontal.list>.item{font-size:1.14285714rem}.ui.big.horizontal.list .list>.item,.ui.big.horizontal.list>.item{font-size:1.28571429rem}.ui.huge.horizontal.list .list>.item,.ui.huge.horizontal.list>.item{font-size:1.42857143rem}.ui.massive.horizontal.list .list>.item,.ui.massive.horizontal.list>.item{font-size:1.71428571rem}/*! + * # Semantic UI 2.5.0 - Loader + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.loader{display:none;position:absolute;top:50%;left:50%;margin:0;text-align:center;z-index:1000;transform:translateX(-50%) translateY(-50%)}.ui.loader:before{position:absolute;content:'';top:0;left:50%;width:100%;height:100%;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loader:after{position:absolute;content:'';top:0;left:50%;width:100%;height:100%;-webkit-animation:loader .6s linear;animation:loader .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}@-webkit-keyframes loader{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loader{from{transform:rotate(0)}to{transform:rotate(360deg)}}.ui.mini.loader:after,.ui.mini.loader:before{width:1rem;height:1rem;margin:0 0 0 -.5rem}.ui.tiny.loader:after,.ui.tiny.loader:before{width:1.14285714rem;height:1.14285714rem;margin:0 0 0 -.57142857rem}.ui.small.loader:after,.ui.small.loader:before{width:1.71428571rem;height:1.71428571rem;margin:0 0 0 -.85714286rem}.ui.loader:after,.ui.loader:before{width:2.28571429rem;height:2.28571429rem;margin:0 0 0 -1.14285714rem}.ui.large.loader:after,.ui.large.loader:before{width:3.42857143rem;height:3.42857143rem;margin:0 0 0 -1.71428571rem}.ui.big.loader:after,.ui.big.loader:before{width:3.71428571rem;height:3.71428571rem;margin:0 0 0 -1.85714286rem}.ui.huge.loader:after,.ui.huge.loader:before{width:4.14285714rem;height:4.14285714rem;margin:0 0 0 -2.07142857rem}.ui.massive.loader:after,.ui.massive.loader:before{width:4.57142857rem;height:4.57142857rem;margin:0 0 0 -2.28571429rem}.ui.dimmer .loader{display:block}.ui.dimmer .ui.loader{color:rgba(255,255,255,.9)}.ui.dimmer .ui.loader:before{border-color:rgba(255,255,255,.15)}.ui.dimmer .ui.loader:after{border-color:#fff transparent transparent}.ui.inverted.dimmer .ui.loader{color:rgba(0,0,0,.87)}.ui.inverted.dimmer .ui.loader:before{border-color:rgba(0,0,0,.1)}.ui.inverted.dimmer .ui.loader:after{border-color:#767676 transparent transparent}.ui.text.loader{width:auto!important;height:auto!important;text-align:center;font-style:normal}.ui.indeterminate.loader:after{animation-direction:reverse;-webkit-animation-duration:1.2s;animation-duration:1.2s}.ui.loader.active,.ui.loader.visible{display:block}.ui.loader.disabled,.ui.loader.hidden{display:none}.ui.inverted.dimmer .ui.mini.loader,.ui.mini.loader{width:1rem;height:1rem;font-size:.78571429em}.ui.inverted.dimmer .ui.tiny.loader,.ui.tiny.loader{width:1.14285714rem;height:1.14285714rem;font-size:.85714286em}.ui.inverted.dimmer .ui.small.loader,.ui.small.loader{width:1.71428571rem;height:1.71428571rem;font-size:.92857143em}.ui.inverted.dimmer .ui.loader,.ui.loader{width:2.28571429rem;height:2.28571429rem;font-size:1em}.ui.inverted.dimmer .ui.large.loader,.ui.large.loader{width:3.42857143rem;height:3.42857143rem;font-size:1.14285714em}.ui.big.loader,.ui.inverted.dimmer .ui.big.loader{width:3.71428571rem;height:3.71428571rem;font-size:1.28571429em}.ui.huge.loader,.ui.inverted.dimmer .ui.huge.loader{width:4.14285714rem;height:4.14285714rem;font-size:1.42857143em}.ui.inverted.dimmer .ui.massive.loader,.ui.massive.loader{width:4.57142857rem;height:4.57142857rem;font-size:1.71428571em}.ui.mini.text.loader{min-width:1rem;padding-top:1.78571429rem}.ui.tiny.text.loader{min-width:1.14285714rem;padding-top:1.92857143rem}.ui.small.text.loader{min-width:1.71428571rem;padding-top:2.5rem}.ui.text.loader{min-width:2.28571429rem;padding-top:3.07142857rem}.ui.large.text.loader{min-width:3.42857143rem;padding-top:4.21428571rem}.ui.big.text.loader{min-width:3.71428571rem;padding-top:4.5rem}.ui.huge.text.loader{min-width:4.14285714rem;padding-top:4.92857143rem}.ui.massive.text.loader{min-width:4.57142857rem;padding-top:5.35714286rem}.ui.inverted.loader{color:rgba(255,255,255,.9)}.ui.inverted.loader:before{border-color:rgba(255,255,255,.15)}.ui.inverted.loader:after{border-top-color:#fff}.ui.inline.loader{position:relative;vertical-align:middle;margin:0;left:0;top:0;transform:none}.ui.inline.loader.active,.ui.inline.loader.visible{display:inline-block}.ui.centered.inline.loader.active,.ui.centered.inline.loader.visible{display:block;margin-left:auto;margin-right:auto}/*! + * # Semantic UI 2.5.0 - Loader + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.placeholder{position:static;overflow:hidden;-webkit-animation:placeholderShimmer 2s linear;animation:placeholderShimmer 2s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;background-color:#fff;background-image:linear-gradient(to right,rgba(0,0,0,.08) 0,rgba(0,0,0,.15) 15%,rgba(0,0,0,.08) 30%);background-size:1200px 100%;max-width:30rem}@-webkit-keyframes placeholderShimmer{0%{background-position:-1200px 0}100%{background-position:1200px 0}}@keyframes placeholderShimmer{0%{background-position:-1200px 0}100%{background-position:1200px 0}}.ui.placeholder+.ui.placeholder{margin-top:2rem}.ui.placeholder+.ui.placeholder{-webkit-animation-delay:.15s;animation-delay:.15s}.ui.placeholder+.ui.placeholder+.ui.placeholder{-webkit-animation-delay:.3s;animation-delay:.3s}.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder{-webkit-animation-delay:.45s;animation-delay:.45s}.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder{-webkit-animation-delay:.6s;animation-delay:.6s}.ui.placeholder,.ui.placeholder .image.header:after,.ui.placeholder .line,.ui.placeholder .line:after,.ui.placeholder>:before{background-color:#fff}.ui.placeholder .image:not(.header):not(.ui){height:100px}.ui.placeholder .square.image:not(.header){height:0;overflow:hidden;padding-top:100%}.ui.placeholder .rectangular.image:not(.header){height:0;overflow:hidden;padding-top:75%}.ui.placeholder .line{position:relative;height:.85714286em}.ui.placeholder .line:after,.ui.placeholder .line:before{top:100%;position:absolute;content:'';background-color:inherit}.ui.placeholder .line:before{left:0}.ui.placeholder .line:after{right:0}.ui.placeholder .line{margin-bottom:.5em}.ui.placeholder .line:after,.ui.placeholder .line:before{height:.5em}.ui.placeholder .line:not(:first-child){margin-top:.5em}.ui.placeholder .header{position:relative;overflow:hidden}.ui.placeholder .line:nth-child(1):after{width:0%}.ui.placeholder .line:nth-child(2):after{width:50%}.ui.placeholder .line:nth-child(3):after{width:10%}.ui.placeholder .line:nth-child(4):after{width:35%}.ui.placeholder .line:nth-child(5):after{width:65%}.ui.placeholder .header .line{margin-bottom:.64285714em}.ui.placeholder .header .line:after,.ui.placeholder .header .line:before{height:.64285714em}.ui.placeholder .header .line:not(:first-child){margin-top:.64285714em}.ui.placeholder .header .line:after{width:20%}.ui.placeholder .header .line:nth-child(2):after{width:60%}.ui.placeholder .image.header .line{margin-left:3em}.ui.placeholder .image.header .line:before{width:.71428571rem}.ui.placeholder .image.header:after{display:block;height:.85714286em;content:'';margin-left:3em}.ui.placeholder .header .line:first-child,.ui.placeholder .image .line:first-child,.ui.placeholder .paragraph .line:first-child{height:.01px}.ui.placeholder .header:not(:first-child):before,.ui.placeholder .image:not(:first-child):before,.ui.placeholder .paragraph:not(:first-child):before{height:1.42857143em;content:'';display:block}.ui.inverted.placeholder{background-image:linear-gradient(to right,rgba(255,255,255,.08) 0,rgba(255,255,255,.14) 15%,rgba(255,255,255,.08) 30%)}.ui.inverted.placeholder,.ui.inverted.placeholder .image.header:after,.ui.inverted.placeholder .line,.ui.inverted.placeholder .line:after,.ui.inverted.placeholder>:before{background-color:#1b1c1d}.ui.placeholder .full.line.line.line:after{width:0%}.ui.placeholder .very.long.line.line.line:after{width:10%}.ui.placeholder .long.line.line.line:after{width:35%}.ui.placeholder .medium.line.line.line:after{width:50%}.ui.placeholder .short.line.line.line:after{width:65%}.ui.placeholder .very.short.line.line.line:after{width:80%}.ui.fluid.placeholder{max-width:none}/*! + * # Semantic UI 2.5.0 - Rail + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.rail{position:absolute;top:0;width:300px;height:100%}.ui.left.rail{left:auto;right:100%;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.right.rail{left:100%;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.left.internal.rail{left:0;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.right.internal.rail{left:auto;right:0;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.dividing.rail{width:302.5px}.ui.left.dividing.rail{padding:0 2.5rem 0 0;margin:0 2.5rem 0 0;border-right:1px solid rgba(34,36,38,.15)}.ui.right.dividing.rail{border-left:1px solid rgba(34,36,38,.15);padding:0 0 0 2.5rem;margin:0 0 0 2.5rem}.ui.close.rail{width:calc(300px + 1em)}.ui.close.left.rail{padding:0 1em 0 0;margin:0 1em 0 0}.ui.close.right.rail{padding:0 0 0 1em;margin:0 0 0 1em}.ui.very.close.rail{width:calc(300px + .5em)}.ui.very.close.left.rail{padding:0 .5em 0 0;margin:0 .5em 0 0}.ui.very.close.right.rail{padding:0 0 0 .5em;margin:0 0 0 .5em}.ui.attached.left.rail,.ui.attached.right.rail{padding:0;margin:0}.ui.mini.rail{font-size:.78571429rem}.ui.tiny.rail{font-size:.85714286rem}.ui.small.rail{font-size:.92857143rem}.ui.rail{font-size:1rem}.ui.large.rail{font-size:1.14285714rem}.ui.big.rail{font-size:1.28571429rem}.ui.huge.rail{font-size:1.42857143rem}.ui.massive.rail{font-size:1.71428571rem}/*! + * # Semantic UI 2.5.0 - Reveal + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.reveal{display:inherit;position:relative!important;font-size:0!important}.ui.reveal>.visible.content{position:absolute!important;top:0!important;left:0!important;z-index:3!important;transition:all .5s ease .1s}.ui.reveal>.hidden.content{position:relative!important;z-index:2!important}.ui.active.reveal .visible.content,.ui.reveal:hover .visible.content{z-index:4!important}.ui.slide.reveal{position:relative!important;overflow:hidden!important;white-space:nowrap}.ui.slide.reveal>.content{display:block;width:100%;white-space:normal;float:left;margin:0;transition:transform .5s ease .1s}.ui.slide.reveal>.visible.content{position:relative!important}.ui.slide.reveal>.hidden.content{position:absolute!important;left:0!important;width:100%!important;transform:translateX(100%)!important}.ui.slide.active.reveal>.visible.content,.ui.slide.reveal:hover>.visible.content{transform:translateX(-100%)!important}.ui.slide.active.reveal>.hidden.content,.ui.slide.reveal:hover>.hidden.content{transform:translateX(0)!important}.ui.slide.right.reveal>.visible.content{transform:translateX(0)!important}.ui.slide.right.reveal>.hidden.content{transform:translateX(-100%)!important}.ui.slide.right.active.reveal>.visible.content,.ui.slide.right.reveal:hover>.visible.content{transform:translateX(100%)!important}.ui.slide.right.active.reveal>.hidden.content,.ui.slide.right.reveal:hover>.hidden.content{transform:translateX(0)!important}.ui.slide.up.reveal>.hidden.content{transform:translateY(100%)!important}.ui.slide.up.active.reveal>.visible.content,.ui.slide.up.reveal:hover>.visible.content{transform:translateY(-100%)!important}.ui.slide.up.active.reveal>.hidden.content,.ui.slide.up.reveal:hover>.hidden.content{transform:translateY(0)!important}.ui.slide.down.reveal>.hidden.content{transform:translateY(-100%)!important}.ui.slide.down.active.reveal>.visible.content,.ui.slide.down.reveal:hover>.visible.content{transform:translateY(100%)!important}.ui.slide.down.active.reveal>.hidden.content,.ui.slide.down.reveal:hover>.hidden.content{transform:translateY(0)!important}.ui.fade.reveal>.visible.content{opacity:1}.ui.fade.active.reveal>.visible.content,.ui.fade.reveal:hover>.visible.content{opacity:0}.ui.move.reveal{position:relative!important;overflow:hidden!important;white-space:nowrap}.ui.move.reveal>.content{display:block;float:left;white-space:normal;margin:0;transition:transform .5s cubic-bezier(.175,.885,.32,1) .1s}.ui.move.reveal>.visible.content{position:relative!important}.ui.move.reveal>.hidden.content{position:absolute!important;left:0!important;width:100%!important}.ui.move.active.reveal>.visible.content,.ui.move.reveal:hover>.visible.content{transform:translateX(-100%)!important}.ui.move.right.active.reveal>.visible.content,.ui.move.right.reveal:hover>.visible.content{transform:translateX(100%)!important}.ui.move.up.active.reveal>.visible.content,.ui.move.up.reveal:hover>.visible.content{transform:translateY(-100%)!important}.ui.move.down.active.reveal>.visible.content,.ui.move.down.reveal:hover>.visible.content{transform:translateY(100%)!important}.ui.rotate.reveal>.visible.content{transition-duration:.5s;transform:rotate(0)}.ui.rotate.reveal>.visible.content,.ui.rotate.right.reveal>.visible.content{transform-origin:bottom right}.ui.rotate.active.reveal>.visible.content,.ui.rotate.reveal:hover>.visible.content,.ui.rotate.right.active.reveal>.visible.content,.ui.rotate.right.reveal:hover>.visible.content{transform:rotate(110deg)}.ui.rotate.left.reveal>.visible.content{transform-origin:bottom left}.ui.rotate.left.active.reveal>.visible.content,.ui.rotate.left.reveal:hover>.visible.content{transform:rotate(-110deg)}.ui.disabled.reveal:hover>.visible.visible.content{position:static!important;display:block!important;opacity:1!important;top:0!important;left:0!important;right:auto!important;bottom:auto!important;transform:none!important}.ui.disabled.reveal:hover>.hidden.hidden.content{display:none!important}.ui.reveal>.ui.ribbon.label{z-index:5}.ui.visible.reveal{overflow:visible}.ui.instant.reveal>.content{transition-delay:0s!important}.ui.reveal>.content{font-size:1rem!important}/*! + * # Semantic UI 2.5.0 - Segment + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.segment{position:relative;background:#fff;box-shadow:0 1px 2px 0 rgba(34,36,38,.15);margin:1rem 0;padding:1em 1em;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.segment:first-child{margin-top:0}.ui.segment:last-child{margin-bottom:0}.ui.vertical.segment{margin:0;padding-left:0;padding-right:0;background:none transparent;border-radius:0;box-shadow:none;border:none;border-bottom:1px solid rgba(34,36,38,.15)}.ui.vertical.segment:last-child{border-bottom:none}.ui.inverted.segment>.ui.header{color:#fff}.ui[class*="bottom attached"].segment>[class*="top attached"].label{border-top-left-radius:0;border-top-right-radius:0}.ui[class*="top attached"].segment>[class*="bottom attached"].label{border-bottom-left-radius:0;border-bottom-right-radius:0}.ui.attached.segment:not(.top):not(.bottom)>[class*="top attached"].label{border-top-left-radius:0;border-top-right-radius:0}.ui.attached.segment:not(.top):not(.bottom)>[class*="bottom attached"].label{border-bottom-left-radius:0;border-bottom-right-radius:0}.ui.grid>.row>.ui.segment.column,.ui.grid>.ui.segment.column,.ui.page.grid.segment{padding-top:2em;padding-bottom:2em}.ui.grid.segment{margin:1rem 0;border-radius:.28571429rem}.ui.basic.table.segment{background:#fff;border:1px solid rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15)}.ui[class*="very basic"].table.segment{padding:1em 1em}.ui.placeholder.segment{display:flex;flex-direction:column;justify-content:center;align-items:stretch;max-width:initial;-webkit-animation:none;animation:none;overflow:visible;padding:1em 1em;min-height:18rem;background:#f9fafb;border-color:rgba(34,36,38,.15);box-shadow:0 2px 25px 0 rgba(34,36,38,.05) inset}.ui.placeholder.segment .button,.ui.placeholder.segment textarea{display:block}.ui.placeholder.segment .button,.ui.placeholder.segment .field,.ui.placeholder.segment textarea,.ui.placeholder.segment>.ui.input{max-width:15rem;margin-left:auto;margin-right:auto}.ui.placeholder.segment .column .button,.ui.placeholder.segment .column .field,.ui.placeholder.segment .column textarea,.ui.placeholder.segment .column>.ui.input{max-width:15rem;margin-left:auto;margin-right:auto}.ui.placeholder.segment>.inline{align-self:center}.ui.placeholder.segment>.inline>.button{display:inline-block;width:auto;margin:0 .35714286rem 0 0}.ui.placeholder.segment>.inline>.button:last-child{margin-right:0}.ui.piled.segment,.ui.piled.segments{margin:3em 0;box-shadow:'';z-index:auto}.ui.piled.segment:first-child{margin-top:0}.ui.piled.segment:last-child{margin-bottom:0}.ui.piled.segment:after,.ui.piled.segment:before,.ui.piled.segments:after,.ui.piled.segments:before{background-color:#fff;visibility:visible;content:'';display:block;height:100%;left:0;position:absolute;width:100%;border:1px solid rgba(34,36,38,.15);box-shadow:''}.ui.piled.segment:before,.ui.piled.segments:before{transform:rotate(-1.2deg);top:0;z-index:-2}.ui.piled.segment:after,.ui.piled.segments:after{transform:rotate(1.2deg);top:0;z-index:-1}.ui[class*="top attached"].piled.segment{margin-top:3em;margin-bottom:0}.ui.piled.segment[class*="top attached"]:first-child{margin-top:0}.ui.piled.segment[class*="bottom attached"]{margin-top:0;margin-bottom:3em}.ui.piled.segment[class*="bottom attached"]:last-child{margin-bottom:0}.ui.stacked.segment{padding-bottom:1.4em}.ui.stacked.segment:after,.ui.stacked.segment:before,.ui.stacked.segments:after,.ui.stacked.segments:before{content:'';position:absolute;bottom:-3px;left:0;border-top:1px solid rgba(34,36,38,.15);background:rgba(0,0,0,.03);width:100%;height:6px;visibility:visible}.ui.stacked.segment:before,.ui.stacked.segments:before{display:none}.ui.tall.stacked.segment:before,.ui.tall.stacked.segments:before{display:block;bottom:0}.ui.stacked.inverted.segment:after,.ui.stacked.inverted.segment:before,.ui.stacked.inverted.segments:after,.ui.stacked.inverted.segments:before{background-color:rgba(0,0,0,.03);border-top:1px solid rgba(34,36,38,.35)}.ui.padded.segment{padding:1.5em}.ui[class*="very padded"].segment{padding:3em}.ui.padded.segment.vertical.segment,.ui[class*="very padded"].vertical.segment{padding-left:0;padding-right:0}.ui.compact.segment{display:table}.ui.compact.segments{display:inline-flex}.ui.compact.segments .segment,.ui.segments .compact.segment{display:block;flex:0 1 auto}.ui.circular.segment{display:table-cell;padding:2em;text-align:center;vertical-align:middle;border-radius:500em}.ui.raised.segment,.ui.raised.segments{box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.segments{flex-direction:column;position:relative;margin:1rem 0;border:1px solid rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15);border-radius:.28571429rem}.ui.segments:first-child{margin-top:0}.ui.segments:last-child{margin-bottom:0}.ui.segments>.segment{top:0;bottom:0;border-radius:0;margin:0;width:auto;box-shadow:none;border:none;border-top:1px solid rgba(34,36,38,.15)}.ui.segments:not(.horizontal)>.segment:first-child{border-top:none;margin-top:0;bottom:0;margin-bottom:0;top:0;border-radius:.28571429rem .28571429rem 0 0}.ui.segments:not(.horizontal)>.segment:last-child{top:0;bottom:0;margin-top:0;margin-bottom:0;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui.segments:not(.horizontal)>.segment:only-child{border-radius:.28571429rem}.ui.segments>.ui.segments{border-top:1px solid rgba(34,36,38,.15);margin:1rem 1rem}.ui.segments>.segments:first-child{border-top:none}.ui.segments>.segment+.segments:not(.horizontal){margin-top:0}.ui.horizontal.segments{display:flex;flex-direction:row;background-color:transparent;border-radius:0;padding:0;background-color:#fff;box-shadow:0 1px 2px 0 rgba(34,36,38,.15);margin:1rem 0;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.segments>.horizontal.segments{margin:0;background-color:transparent;border-radius:0;border:none;box-shadow:none;border-top:1px solid rgba(34,36,38,.15)}.ui.horizontal.segments>.segment{flex:1 1 auto;-ms-flex:1 1 0px;margin:0;min-width:0;background-color:transparent;border-radius:0;border:none;box-shadow:none;border-left:1px solid rgba(34,36,38,.15)}.ui.segments>.horizontal.segments:first-child{border-top:none}.ui.horizontal.segments>.segment:first-child{border-left:none}.ui.disabled.segment{opacity:.45;color:rgba(40,40,40,.3)}.ui.loading.segment{position:relative;cursor:default;pointer-events:none;text-shadow:none!important;color:transparent!important;transition:all 0s linear}.ui.loading.segment:before{position:absolute;content:'';top:0;left:0;background:rgba(255,255,255,.8);width:100%;height:100%;border-radius:.28571429rem;z-index:100}.ui.loading.segment:after{position:absolute;content:'';top:50%;left:50%;margin:-1.5em 0 0 -1.5em;width:3em;height:3em;-webkit-animation:segment-spin .6s linear;animation:segment-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.1);border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent;visibility:visible;z-index:101}@-webkit-keyframes segment-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes segment-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.ui.basic.segment{background:none transparent;box-shadow:none;border:none;border-radius:0}.ui.clearing.segment:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.red.segment:not(.inverted){border-top:2px solid #db2828!important}.ui.inverted.red.segment{background-color:#db2828!important;color:#fff!important}.ui.orange.segment:not(.inverted){border-top:2px solid #f2711c!important}.ui.inverted.orange.segment{background-color:#f2711c!important;color:#fff!important}.ui.yellow.segment:not(.inverted){border-top:2px solid #fbbd08!important}.ui.inverted.yellow.segment{background-color:#fbbd08!important;color:#fff!important}.ui.olive.segment:not(.inverted){border-top:2px solid #b5cc18!important}.ui.inverted.olive.segment{background-color:#b5cc18!important;color:#fff!important}.ui.green.segment:not(.inverted){border-top:2px solid #21ba45!important}.ui.inverted.green.segment{background-color:#21ba45!important;color:#fff!important}.ui.teal.segment:not(.inverted){border-top:2px solid #00b5ad!important}.ui.inverted.teal.segment{background-color:#00b5ad!important;color:#fff!important}.ui.blue.segment:not(.inverted){border-top:2px solid #2185d0!important}.ui.inverted.blue.segment{background-color:#2185d0!important;color:#fff!important}.ui.violet.segment:not(.inverted){border-top:2px solid #6435c9!important}.ui.inverted.violet.segment{background-color:#6435c9!important;color:#fff!important}.ui.purple.segment:not(.inverted){border-top:2px solid #a333c8!important}.ui.inverted.purple.segment{background-color:#a333c8!important;color:#fff!important}.ui.pink.segment:not(.inverted){border-top:2px solid #e03997!important}.ui.inverted.pink.segment{background-color:#e03997!important;color:#fff!important}.ui.brown.segment:not(.inverted){border-top:2px solid #a5673f!important}.ui.inverted.brown.segment{background-color:#a5673f!important;color:#fff!important}.ui.grey.segment:not(.inverted){border-top:2px solid #767676!important}.ui.inverted.grey.segment{background-color:#767676!important;color:#fff!important}.ui.black.segment:not(.inverted){border-top:2px solid #1b1c1d!important}.ui.inverted.black.segment{background-color:#1b1c1d!important;color:#fff!important}.ui[class*="left aligned"].segment{text-align:left}.ui[class*="right aligned"].segment{text-align:right}.ui[class*="center aligned"].segment{text-align:center}.ui.floated.segment,.ui[class*="left floated"].segment{float:left;margin-right:1em}.ui[class*="right floated"].segment{float:right;margin-left:1em}.ui.inverted.segment{border:none;box-shadow:none}.ui.inverted.segment,.ui.primary.inverted.segment{background:#1b1c1d;color:rgba(255,255,255,.9)}.ui.inverted.segment .segment{color:rgba(0,0,0,.87)}.ui.inverted.segment .inverted.segment{color:rgba(255,255,255,.9)}.ui.inverted.attached.segment{border-color:#555}.ui.secondary.segment{background:#f3f4f5;color:rgba(0,0,0,.6)}.ui.secondary.inverted.segment{background:#4c4f52 linear-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 100%);color:rgba(255,255,255,.8)}.ui.tertiary.segment{background:#dcddde;color:rgba(0,0,0,.6)}.ui.tertiary.inverted.segment{background:#717579 linear-gradient(rgba(255,255,255,.35) 0,rgba(255,255,255,.35) 100%);color:rgba(255,255,255,.8)}.ui.attached.segment{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% - (-1px * 2));max-width:calc(100% - (-1px * 2));box-shadow:none;border:1px solid #d4d4d5}.ui.attached:not(.message)+.ui.attached.segment:not(.top){border-top:none}.ui[class*="top attached"].segment{bottom:0;margin-bottom:0;top:0;margin-top:1rem;border-radius:.28571429rem .28571429rem 0 0}.ui.segment[class*="top attached"]:first-child{margin-top:0}.ui.segment[class*="bottom attached"]{bottom:0;margin-top:0;top:0;margin-bottom:1rem;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui.segment[class*="bottom attached"]:last-child{margin-bottom:0}.ui.mini.segment,.ui.mini.segments .segment{font-size:.78571429rem}.ui.tiny.segment,.ui.tiny.segments .segment{font-size:.85714286rem}.ui.small.segment,.ui.small.segments .segment{font-size:.92857143rem}.ui.segment,.ui.segments .segment{font-size:1rem}.ui.large.segment,.ui.large.segments .segment{font-size:1.14285714rem}.ui.big.segment,.ui.big.segments .segment{font-size:1.28571429rem}.ui.huge.segment,.ui.huge.segments .segment{font-size:1.42857143rem}.ui.massive.segment,.ui.massive.segments .segment{font-size:1.71428571rem}/*! + * # Semantic UI 2.5.0 - Step + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.steps{display:inline-flex;flex-direction:row;align-items:stretch;margin:1em 0;background:'';box-shadow:none;line-height:1.14285714em;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.steps:first-child{margin-top:0}.ui.steps:last-child{margin-bottom:0}.ui.steps .step{position:relative;display:flex;flex:1 0 auto;flex-wrap:wrap;flex-direction:row;vertical-align:middle;align-items:center;justify-content:center;margin:0 0;padding:1.14285714em 2em;background:#fff;color:rgba(0,0,0,.87);box-shadow:none;border-radius:0;border:none;border-right:1px solid rgba(34,36,38,.15);transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease}.ui.steps .step:after{display:none;position:absolute;z-index:2;content:'';top:50%;right:0;border:medium none;background-color:#fff;width:1.14285714em;height:1.14285714em;border-style:solid;border-color:rgba(34,36,38,.15);border-width:0 1px 1px 0;transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease;transform:translateY(-50%) translateX(50%) rotate(-45deg)}.ui.steps .step:first-child{padding-left:2em;border-radius:.28571429rem 0 0 .28571429rem}.ui.steps .step:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.steps .step:last-child{border-right:none;margin-right:0}.ui.steps .step:only-child{border-radius:.28571429rem}.ui.steps .step .title{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1.14285714em;font-weight:700}.ui.steps .step>.title{width:100%}.ui.steps .step .description{font-weight:400;font-size:.92857143em;color:rgba(0,0,0,.87)}.ui.steps .step>.description{width:100%}.ui.steps .step .title~.description{margin-top:.25em}.ui.steps .step>.icon{line-height:1;font-size:2.5em;margin:0 1rem 0 0}.ui.steps .step>.icon,.ui.steps .step>.icon~.content{display:block;flex:0 1 auto;align-self:middle}.ui.steps .step>.icon~.content{flex-grow:1 0 auto}.ui.steps:not(.vertical) .step>.icon{width:auto}.ui.steps .link.step,.ui.steps a.step{cursor:pointer}.ui.ordered.steps{counter-reset:ordered}.ui.ordered.steps .step:before{display:block;position:static;text-align:center;content:counters(ordered, ".");align-self:middle;margin-right:1rem;font-size:2.5em;counter-increment:ordered;font-family:inherit;font-weight:700}.ui.ordered.steps .step>*{display:block;align-self:middle}.ui.vertical.steps{display:inline-flex;flex-direction:column;overflow:visible}.ui.vertical.steps .step{justify-content:flex-start;border-radius:0;padding:1.14285714em 2em;border-right:none;border-bottom:1px solid rgba(34,36,38,.15)}.ui.vertical.steps .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.steps .step:last-child{border-bottom:none;border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.steps .step:only-child{border-radius:.28571429rem}.ui.vertical.steps .step:after{display:none}.ui.vertical.steps .step:after{top:50%;right:0;border-width:0 1px 1px 0}.ui.vertical.steps .step:after{display:none}.ui.vertical.steps .active.step:after{display:block}.ui.vertical.steps .step:last-child:after{display:none}.ui.vertical.steps .active.step:last-child:after{display:block}@media only screen and (max-width:767px){.ui.steps:not(.unstackable){display:inline-flex;overflow:visible;flex-direction:column}.ui.steps:not(.unstackable) .step{width:100%!important;flex-direction:column;border-radius:0;padding:1.14285714em 2em}.ui.steps:not(.unstackable) .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui.steps:not(.unstackable) .step:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.steps:not(.unstackable) .step:after{display:none!important}.ui.steps:not(.unstackable) .step .content{text-align:center}.ui.ordered.steps:not(.unstackable) .step:before,.ui.steps:not(.unstackable) .step>.icon{margin:0 0 1rem 0}}.ui.steps .link.step:hover,.ui.steps .link.step:hover::after,.ui.steps a.step:hover,.ui.steps a.step:hover::after{background:#f9fafb;color:rgba(0,0,0,.8)}.ui.steps .link.step:active,.ui.steps .link.step:active::after,.ui.steps a.step:active,.ui.steps a.step:active::after{background:#f3f4f5;color:rgba(0,0,0,.9)}.ui.steps .step.active{cursor:auto;background:#f3f4f5}.ui.steps .step.active:after{background:#f3f4f5}.ui.steps .step.active .title{color:#4183c4}.ui.ordered.steps .step.active:before,.ui.steps .active.step .icon{color:rgba(0,0,0,.85)}.ui.steps .step:after{display:block}.ui.steps .active.step:after{display:block}.ui.steps .step:last-child:after{display:none}.ui.steps .active.step:last-child:after{display:none}.ui.steps .link.active.step:hover,.ui.steps .link.active.step:hover::after,.ui.steps a.active.step:hover,.ui.steps a.active.step:hover::after{cursor:pointer;background:#dcddde;color:rgba(0,0,0,.87)}.ui.ordered.steps .step.completed:before,.ui.steps .step.completed>.icon:before{color:#21ba45}.ui.steps .disabled.step{cursor:auto;background:#fff;pointer-events:none}.ui.steps .disabled.step,.ui.steps .disabled.step .description,.ui.steps .disabled.step .title{color:rgba(40,40,40,.3)}.ui.steps .disabled.step:after{background:#fff}@media only screen and (max-width:991px){.ui[class*="tablet stackable"].steps{display:inline-flex;overflow:visible;flex-direction:column}.ui[class*="tablet stackable"].steps .step{flex-direction:column;border-radius:0;padding:1.14285714em 2em}.ui[class*="tablet stackable"].steps .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui[class*="tablet stackable"].steps .step:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui[class*="tablet stackable"].steps .step:after{display:none!important}.ui[class*="tablet stackable"].steps .step .content{text-align:center}.ui[class*="tablet stackable"].ordered.steps .step:before,.ui[class*="tablet stackable"].steps .step>.icon{margin:0 0 1rem 0}}.ui.fluid.steps{display:flex;width:100%}.ui.attached.steps{width:calc(100% + (--1px * 2))!important;margin:0 -1px 0;max-width:calc(100% + (--1px * 2));border-radius:.28571429rem .28571429rem 0 0}.ui.attached.steps .step:first-child{border-radius:.28571429rem 0 0 0}.ui.attached.steps .step:last-child{border-radius:0 .28571429rem 0 0}.ui.bottom.attached.steps{margin:0 -1px 0;border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.attached.steps .step:first-child{border-radius:0 0 0 .28571429rem}.ui.bottom.attached.steps .step:last-child{border-radius:0 0 .28571429rem 0}.ui.eight.steps,.ui.five.steps,.ui.four.steps,.ui.one.steps,.ui.seven.steps,.ui.six.steps,.ui.three.steps,.ui.two.steps{width:100%}.ui.eight.steps>.step,.ui.five.steps>.step,.ui.four.steps>.step,.ui.one.steps>.step,.ui.seven.steps>.step,.ui.six.steps>.step,.ui.three.steps>.step,.ui.two.steps>.step{flex-wrap:nowrap}.ui.one.steps>.step{width:100%}.ui.two.steps>.step{width:50%}.ui.three.steps>.step{width:33.333%}.ui.four.steps>.step{width:25%}.ui.five.steps>.step{width:20%}.ui.six.steps>.step{width:16.666%}.ui.seven.steps>.step{width:14.285%}.ui.eight.steps>.step{width:12.5%}.ui.mini.step,.ui.mini.steps .step{font-size:.78571429rem}.ui.tiny.step,.ui.tiny.steps .step{font-size:.85714286rem}.ui.small.step,.ui.small.steps .step{font-size:.92857143rem}.ui.step,.ui.steps .step{font-size:1rem}.ui.large.step,.ui.large.steps .step{font-size:1.14285714rem}.ui.big.step,.ui.big.steps .step{font-size:1.28571429rem}.ui.huge.step,.ui.huge.steps .step{font-size:1.42857143rem}.ui.massive.step,.ui.massive.steps .step{font-size:1.71428571rem}@font-face{font-family:Step;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAQNS/2oAWgMLAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAf//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADpAKYABUAHEAZDwEAAQFCAAIBAmoAAQABagAAAGEUFxQDEisBFAcBBiInASY0PwE2Mh8BATYyHwEWA6QP/iAQLBD+6g8PTBAsEKQBbhAsEEwPAhYWEP4gDw8BFhAsEEwQEKUBbxAQTBAAAAH//f+xA18DCwAMABJADwABAQpDAAAACwBEFRMCESsBFA4BIi4CPgEyHgEDWXLG6MhuBnq89Lp+AV51xHR0xOrEdHTEAAAAAAEAAAABAADDeRpdXw889QALA+gAAAAAzzWYjQAAAADPNWBN//3/sQOkAwsAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP/3A6QAAQAAAAAAAAAAAAAAAAAAAAMD6AAAA+gAAANZAAAAAAAAADgAWwABAAAAAwAWAAEAAAAAAAIABgATAG4AAAAtCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAQIBAwljaGVja21hcmsGY2lyY2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgML/7EDC/+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAoUAA4AAAAAEPQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPeFJAWNtYXAAAAGIAAAAOgAAAUrQEhm3Y3Z0IAAAAcQAAAAUAAAAHAZJ/5RmcGdtAAAB2AAABPkAAAmRigp4O2dhc3AAAAbUAAAACAAAAAgAAAAQZ2x5ZgAABtwAAACuAAAAtt9nBHZoZWFkAAAHjAAAADUAAAA2ASs8e2hoZWEAAAfEAAAAIAAAACQHUwNNaG10eAAAB+QAAAAMAAAADAspAABsb2NhAAAH8AAAAAgAAAAIADgAW21heHAAAAf4AAAAIAAAACAApgm8bmFtZQAACBgAAAF3AAACzcydGhxwb3N0AAAJkAAAACoAAAA7rr1AmHByZXAAAAm8AAAAVgAAAFaSoZr/eJxjYGTewTiBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeMHIHPQ/iyGKmZvBHyjMCJIDAPe9C2B4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/v8PUvCCAURLMELVAwEjG8OIBwBk5AavAAB4nGNgQANGDEbM3P83gjAAELQD4XicnVXZdtNWFJU8ZHASOmSgoA7X3DhQ68qEKRgwaSrFdiEdHAitBB2kDHTkncc+62uOQrtWH/m07n09JLR0rbYsls++R1tn2DrnRhwjKn0aiGvUoZKXA6msPZZK90lc13Uvj5UMBnFdthJPSZuonSRKat3sUC7xWOsqWSdYJ+PlIFZPVZ5noAziFB5lSUQbRBuplyZJ4onjJ4kWZxAfJUkgJaMQp9LIUEI1GsRS1aFM6dCr1xNx00DKRqMedVhU90PFJ8c1p9SsA0YqVznCFevVRr4bpwMve5DEOsGzrYcxHnisfpQqkIqR6cg/dkpOlIaBVHHUoVbi6DCTX/eRTCrNQKaMYkWl7oG43f102xYxPXQ6vi5KlUaqurnOKJrt0fGogygP2cbppNzQ2fbw5RlTVKtdcbPtQGYNXErJbHSfRAAdJlLj6QFONZwCqRn1R8XZ588BEslclKo8VTKHegOZMzt7cTHtbiersnCknwcyb3Z2452HQ6dXh3/R+hdM4cxHj+Jifj5C+lBqfiJOJKVGWMzyp4YfcVcgQrkxiAsXyuBThDl0RdrZZl3jtTH2hs/5SqlhPQna6KP4fgr9TiQrHGdRo/VInM1j13Wt3GdQS7W7Fzsyr0OVIu7vCwuuM+eEYZ4WC1VfnvneBTT/Bohn/EDeNIVL+5YpSrRvm6JMu2iKCu0SVKVdNsUU7YoppmnPmmKG9h1TzNKeMzLj/8vc55H7HN7xkJv2XeSmfQ+5ad9HbtoPkJtWITdtHblpLyA3rUZu2lWjOnYEGgZpF1IVQdA0svph3Fab9UDWjDR8aWDyLmLI+upER521tcofxX914gsHcmmip7siF5viLq/bFj483e6rj5pG3bDV+MaR8jAeRnocmtBZ+c3hv+1N3S6a7jKqMugBFUwKwABl7UAC0zrbCaT1mqf48gdgXIZ4zkpDtVSfO4am7+V5X/exOfG+x+3GLrdcd3kJWdYNcmP28N9SZKrrH+UtrVQnR6wrJ49VaxhDKrwour6SlHu0tRu/KKmy8l6U1srnk5CbPYMbQlu27mGwI0xpyiUeXlOlKD3UUo6yQyxvKco84JSLC1qGxLgOdQ9qa8TpoXoYGwshhqG0vRBwSCldFd+0ynfxHqtr2Oj4xRXh6XpyEhGf4ir7UfBU10b96A7avGbdMoMpVaqn+4xPsa/b9lFZaaSOsxe3VAfXNOsaORXTT+Rr4HRvOGjdAz1UfDRBI1U1x+jGKGM0ljXl3wR0MVZ+w2jVYvs93E+dpFWsuUuY7JsT9+C0u/0q+7WcW0bW/dcGvW3kip8jMb8tCvw7B2K3ZA3UO5OBGAvIWdAYxhYmdxiug23EbfY/Jqf/34aFRXJXOxq7eerD1ZNRJXfZ8rjLTXZZ16M2R9VOGvsIjS0PN+bY4XIstsRgQbb+wf8x7gF3aVEC4NDIZZiI2nShnurh6h6rsW04VxIBds2x43QAegAuQd8cu9bzCYD13CPnLsB9cgh2yCH4lByCz8i5BfA5OQRfkEMwIIdgl5w7AA/IIXhIDsEeOQSPyNkE+JIcgq/IIYjJIUjIuQ3wmByCJ+QQfE0OwTdGrk5k/pYH2QD6zqKbQKmdGhzaOGRGrk3Y+zxY9oFFZB9aROqRkesT6lMeLPV7i0j9wSJSfzRyY0L9iQdL/dkiUn+xiNRnxpeZIymvDp7zjg7+BJfqrV4AAAAAAQAB//8AD3icY2BkAALmJUwzGEQZZBwk+RkZGBmdGJgYmbIYgMwsoGSiiLgIs5A2owg7I5uSOqOaiT2jmZE8I5gQY17C/09BQEfg3yt+fh8gvYQxD0j68DOJiQn8U+DnZxQDcQUEljLmCwBpBgbG/3//b2SOZ+Zm4GEQcuAH2sblDLSEm8FFVJhJEGgLH6OSHpMdo5EcI3Nk0bEXJ/LYqvZ82VXHGFd6pKTkyCsQwQAAq+QkqAAAeJxjYGRgYADiw5VSsfH8Nl8ZuJlfAEUYzpvO6IXQCb7///7fyLyEmRvI5WBgAokCAFb/DJAAAAB4nGNgZGBgDvqfxRDF/IKB4f935iUMQBEUwAwAi5YFpgPoAAAD6AAAA1kAAAAAAAAAOABbAAEAAAADABYAAQAAAAAAAgAGABMAbgAAAC0JkQAAAAB4nHWQy2rCQBSG//HSi0JbWui2sypKabxgN4IgWHTTbqS4LTHGJBIzMhkFX6Pv0IfpS/RZ+puMpShNmMx3vjlz5mQAXOMbAvnzxJGzwBmjnAs4Rc9ykf7Zcon8YrmMKt4sn9C/W67gAYHlKm7wwQqidM5ogU/LAlfi0nIBF+LOcpH+0XKJ3LNcxq14tXxC71muYCJSy1Xci6+BWm11FIRG1gZ12W62OnK6lYoqStxYumsTKp3KvpyrxPhxrBxPLfc89oN17Op9uJ8nvk4jlciW09yrkZ/42jX+bFc93QRtY+ZyrtVSDm2GXGm18D3jhMasuo3G3/MwgMIKW2hEvKoQBhI12jrnNppooUOaMkMyM8+KkMBFTONizR1htpIy7nPMGSW0PjNisgOP3+WRH5MC7o9ZRR+tHsYT0u6MKPOSfTns7jBrREqyTDezs9/eU2x4WpvWcNeuS511JTE8qCF5H7u1BY1H72S3Ymi7aPD95/9+AN1fhEsAeJxjYGKAAC4G7ICZgYGRiZGZMzkjNTk7N7Eomy05syg5J5WBAQBE1QZBAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA) format('woff')}.ui.ordered.steps .step.completed:before,.ui.steps .step.completed>.icon:before{font-family:Step;content:'\e800'}/*! + * # Semantic UI 2.5.0 - Breadcrumb + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.breadcrumb{line-height:1;display:inline-block;margin:0 0;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.7;margin:0 .21428571rem 0;font-size:.92857143em;color:rgba(0,0,0,.4);vertical-align:baseline}.ui.breadcrumb a{color:#4183c4}.ui.breadcrumb a:hover{color:#1e70bf}.ui.breadcrumb .icon.divider{font-size:.85714286em;vertical-align:baseline}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.78571429em 1em}.ui.breadcrumb .active.section{font-weight:700}.ui.mini.breadcrumb{font-size:.78571429rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.ui.breadcrumb{font-size:1rem}.ui.large.breadcrumb{font-size:1.14285714rem}.ui.big.breadcrumb{font-size:1.28571429rem}.ui.huge.breadcrumb{font-size:1.42857143rem}.ui.massive.breadcrumb{font-size:1.71428571rem}/*! + * # Semantic UI 2.5.0 - Form + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.form{position:relative;max-width:100%}.ui.form>p{margin:1em 0}.ui.form .field{clear:both;margin:0 0 1em}.ui.form .field:last-child,.ui.form .fields:last-child .field{margin-bottom:0}.ui.form .fields .field{clear:both;margin:0}.ui.form .field>label{display:block;margin:0 0 .28571429rem 0;color:rgba(0,0,0,.87);font-size:.92857143em;font-weight:700;text-transform:none}.ui.form input:not([type]),.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=email],.ui.form input[type=file],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=text],.ui.form input[type=time],.ui.form input[type=url],.ui.form textarea{width:100%;vertical-align:top}.ui.form ::-webkit-datetime-edit,.ui.form ::-webkit-inner-spin-button{height:1.21428571em}.ui.form input:not([type]),.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=email],.ui.form input[type=file],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=text],.ui.form input[type=time],.ui.form input[type=url]{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;margin:0;outline:0;-webkit-appearance:none;tap-highlight-color:rgba(255,255,255,0);line-height:1.21428571em;padding:.67857143em 1em;font-size:1em;background:#fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);border-radius:.28571429rem;box-shadow:0 0 0 0 transparent inset;transition:color .1s ease,border-color .1s ease}.ui.form textarea{margin:0;-webkit-appearance:none;tap-highlight-color:rgba(255,255,255,0);padding:.78571429em 1em;background:#fff;border:1px solid rgba(34,36,38,.15);outline:0;color:rgba(0,0,0,.87);border-radius:.28571429rem;box-shadow:0 0 0 0 transparent inset;transition:color .1s ease,border-color .1s ease;font-size:1em;line-height:1.2857;resize:vertical}.ui.form textarea:not([rows]){height:12em;min-height:8em;max-height:24em}.ui.form input[type=checkbox],.ui.form textarea{vertical-align:top}.ui.form input.attached{width:auto}.ui.form select{display:block;height:auto;width:100%;background:#fff;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;box-shadow:0 0 0 0 transparent inset;padding:.62em 1em;color:rgba(0,0,0,.87);transition:color .1s ease,border-color .1s ease}.ui.form .field>.selection.dropdown{width:100%}.ui.form .field>.selection.dropdown>.dropdown.icon{float:right}.ui.form .inline.field>.selection.dropdown,.ui.form .inline.fields .field>.selection.dropdown{width:auto}.ui.form .inline.field>.selection.dropdown>.dropdown.icon,.ui.form .inline.fields .field>.selection.dropdown>.dropdown.icon{float:none}.ui.form .field .ui.input,.ui.form .fields .field .ui.input,.ui.form .wide.field .ui.input{width:100%}.ui.form .inline.field:not(.wide) .ui.input,.ui.form .inline.fields .field:not(.wide) .ui.input{width:auto;vertical-align:middle}.ui.form .field .ui.input input,.ui.form .fields .field .ui.input input{width:auto}.ui.form .eight.fields .ui.input input,.ui.form .five.fields .ui.input input,.ui.form .four.fields .ui.input input,.ui.form .nine.fields .ui.input input,.ui.form .seven.fields .ui.input input,.ui.form .six.fields .ui.input input,.ui.form .ten.fields .ui.input input,.ui.form .three.fields .ui.input input,.ui.form .two.fields .ui.input input,.ui.form .wide.field .ui.input input{flex:1 0 auto;width:0}.ui.form .error.message,.ui.form .success.message,.ui.form .warning.message{display:none}.ui.form .message:first-child{margin-top:0}.ui.form .field .prompt.label{white-space:normal;background:#fff!important;border:1px solid #e0b4b4!important;color:#9f3a38!important}.ui.form .inline.field .prompt,.ui.form .inline.fields .field .prompt{vertical-align:top;margin:-.25em 0 -.5em .5em}.ui.form .inline.field .prompt:before,.ui.form .inline.fields .field .prompt:before{border-width:0 0 1px 1px;bottom:auto;right:auto;top:50%;left:0}.ui.form .field.field input:-webkit-autofill{box-shadow:0 0 0 100px ivory inset!important;border-color:#e5dfa1!important}.ui.form .field.field input:-webkit-autofill:focus{box-shadow:0 0 0 100px ivory inset!important;border-color:#d5c315!important}.ui.form .error.error input:-webkit-autofill{box-shadow:0 0 0 100px #fffaf0 inset!important;border-color:#e0b4b4!important}.ui.form ::-webkit-input-placeholder{color:rgba(191,191,191,.87)}.ui.form :-ms-input-placeholder{color:rgba(191,191,191,.87)!important}.ui.form ::-moz-placeholder{color:rgba(191,191,191,.87)}.ui.form :focus::-webkit-input-placeholder{color:rgba(115,115,115,.87)}.ui.form :focus:-ms-input-placeholder{color:rgba(115,115,115,.87)!important}.ui.form :focus::-moz-placeholder{color:rgba(115,115,115,.87)}.ui.form .error ::-webkit-input-placeholder{color:#e7bdbc}.ui.form .error :-ms-input-placeholder{color:#e7bdbc!important}.ui.form .error ::-moz-placeholder{color:#e7bdbc}.ui.form .error :focus::-webkit-input-placeholder{color:#da9796}.ui.form .error :focus:-ms-input-placeholder{color:#da9796!important}.ui.form .error :focus::-moz-placeholder{color:#da9796}.ui.form input:not([type]):focus,.ui.form input[type=date]:focus,.ui.form input[type=datetime-local]:focus,.ui.form input[type=email]:focus,.ui.form input[type=file]:focus,.ui.form input[type=number]:focus,.ui.form input[type=password]:focus,.ui.form input[type=search]:focus,.ui.form input[type=tel]:focus,.ui.form input[type=text]:focus,.ui.form input[type=time]:focus,.ui.form input[type=url]:focus{color:rgba(0,0,0,.95);border-color:#85b7d9;border-radius:.28571429rem;background:#fff;box-shadow:0 0 0 0 rgba(34,36,38,.35) inset}.ui.form textarea:focus{color:rgba(0,0,0,.95);border-color:#85b7d9;border-radius:.28571429rem;background:#fff;box-shadow:0 0 0 0 rgba(34,36,38,.35) inset;-webkit-appearance:none}.ui.form.success .success.message:not(:empty){display:block}.ui.form.success .compact.success.message:not(:empty){display:inline-block}.ui.form.success .icon.success.message:not(:empty){display:flex}.ui.form.warning .warning.message:not(:empty){display:block}.ui.form.warning .compact.warning.message:not(:empty){display:inline-block}.ui.form.warning .icon.warning.message:not(:empty){display:flex}.ui.form.error .error.message:not(:empty){display:block}.ui.form.error .compact.error.message:not(:empty){display:inline-block}.ui.form.error .icon.error.message:not(:empty){display:flex}.ui.form .field.error .input,.ui.form .field.error label,.ui.form .fields.error .field .input,.ui.form .fields.error .field label{color:#9f3a38}.ui.form .field.error .corner.label,.ui.form .fields.error .field .corner.label{border-color:#9f3a38;color:#fff}.ui.form .field.error input:not([type]),.ui.form .field.error input[type=date],.ui.form .field.error input[type=datetime-local],.ui.form .field.error input[type=email],.ui.form .field.error input[type=file],.ui.form .field.error input[type=number],.ui.form .field.error input[type=password],.ui.form .field.error input[type=search],.ui.form .field.error input[type=tel],.ui.form .field.error input[type=text],.ui.form .field.error input[type=time],.ui.form .field.error input[type=url],.ui.form .field.error select,.ui.form .field.error textarea,.ui.form .fields.error .field input:not([type]),.ui.form .fields.error .field input[type=date],.ui.form .fields.error .field input[type=datetime-local],.ui.form .fields.error .field input[type=email],.ui.form .fields.error .field input[type=file],.ui.form .fields.error .field input[type=number],.ui.form .fields.error .field input[type=password],.ui.form .fields.error .field input[type=search],.ui.form .fields.error .field input[type=tel],.ui.form .fields.error .field input[type=text],.ui.form .fields.error .field input[type=time],.ui.form .fields.error .field input[type=url],.ui.form .fields.error .field select,.ui.form .fields.error .field textarea{background:#fff6f6;border-color:#e0b4b4;color:#9f3a38;border-radius:'';box-shadow:none}.ui.form .field.error input:not([type]):focus,.ui.form .field.error input[type=date]:focus,.ui.form .field.error input[type=datetime-local]:focus,.ui.form .field.error input[type=email]:focus,.ui.form .field.error input[type=file]:focus,.ui.form .field.error input[type=number]:focus,.ui.form .field.error input[type=password]:focus,.ui.form .field.error input[type=search]:focus,.ui.form .field.error input[type=tel]:focus,.ui.form .field.error input[type=text]:focus,.ui.form .field.error input[type=time]:focus,.ui.form .field.error input[type=url]:focus,.ui.form .field.error select:focus,.ui.form .field.error textarea:focus{background:#fff6f6;border-color:#e0b4b4;color:#9f3a38;-webkit-appearance:none;box-shadow:none}.ui.form .field.error select{-webkit-appearance:menulist-button}.ui.form .field.error .ui.dropdown,.ui.form .field.error .ui.dropdown .item,.ui.form .field.error .ui.dropdown .text,.ui.form .fields.error .field .ui.dropdown,.ui.form .fields.error .field .ui.dropdown .item{background:#fff6f6;color:#9f3a38}.ui.form .field.error .ui.dropdown,.ui.form .fields.error .field .ui.dropdown{border-color:#e0b4b4!important}.ui.form .field.error .ui.dropdown:hover,.ui.form .fields.error .field .ui.dropdown:hover{border-color:#e0b4b4!important}.ui.form .field.error .ui.dropdown:hover .menu,.ui.form .fields.error .field .ui.dropdown:hover .menu{border-color:#e0b4b4}.ui.form .field.error .ui.multiple.selection.dropdown>.label,.ui.form .fields.error .field .ui.multiple.selection.dropdown>.label{background-color:#eacbcb;color:#9f3a38}.ui.form .field.error .ui.dropdown .menu .item:hover,.ui.form .fields.error .field .ui.dropdown .menu .item:hover{background-color:#fbe7e7}.ui.form .field.error .ui.dropdown .menu .selected.item,.ui.form .fields.error .field .ui.dropdown .menu .selected.item{background-color:#fbe7e7}.ui.form .field.error .ui.dropdown .menu .active.item,.ui.form .fields.error .field .ui.dropdown .menu .active.item{background-color:#fdcfcf!important}.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box,.ui.form .field.error .checkbox:not(.toggle):not(.slider) label,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label{color:#9f3a38}.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before,.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before{background:#fff6f6;border-color:#e0b4b4}.ui.form .field.error .checkbox .box:after,.ui.form .field.error .checkbox label:after,.ui.form .fields.error .field .checkbox .box:after,.ui.form .fields.error .field .checkbox label:after{color:#9f3a38}.ui.form .disabled.field,.ui.form .disabled.fields .field,.ui.form .field :disabled{pointer-events:none;opacity:.45}.ui.form .field.disabled>label,.ui.form .fields.disabled>label{opacity:.45}.ui.form .field.disabled :disabled{opacity:1}.ui.loading.form{position:relative;cursor:default;pointer-events:none}.ui.loading.form:before{position:absolute;content:'';top:0;left:0;background:rgba(255,255,255,.8);width:100%;height:100%;z-index:100}.ui.loading.form:after{position:absolute;content:'';top:50%;left:50%;margin:-1.5em 0 0 -1.5em;width:3em;height:3em;-webkit-animation:form-spin .6s linear;animation:form-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.1);border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent;visibility:visible;z-index:101}@-webkit-keyframes form-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes form-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.ui.form .required.field>.checkbox:after,.ui.form .required.field>label:after,.ui.form .required.fields.grouped>label:after,.ui.form .required.fields:not(.grouped)>.field>.checkbox:after,.ui.form .required.fields:not(.grouped)>.field>label:after{margin:-.2em 0 0 .2em;content:'*';color:#db2828}.ui.form .required.field>label:after,.ui.form .required.fields.grouped>label:after,.ui.form .required.fields:not(.grouped)>.field>label:after{display:inline-block;vertical-align:top}.ui.form .required.field>.checkbox:after,.ui.form .required.fields:not(.grouped)>.field>.checkbox:after{position:absolute;top:0;left:100%}.ui.form .inverted.segment .ui.checkbox .box,.ui.form .inverted.segment .ui.checkbox label,.ui.form .inverted.segment label,.ui.inverted.form .inline.field>label,.ui.inverted.form .inline.field>p,.ui.inverted.form .inline.fields .field>label,.ui.inverted.form .inline.fields .field>p,.ui.inverted.form .inline.fields>label,.ui.inverted.form .ui.checkbox .box,.ui.inverted.form .ui.checkbox label,.ui.inverted.form label{color:rgba(255,255,255,.9)}.ui.inverted.form input:not([type]),.ui.inverted.form input[type=date],.ui.inverted.form input[type=datetime-local],.ui.inverted.form input[type=email],.ui.inverted.form input[type=file],.ui.inverted.form input[type=number],.ui.inverted.form input[type=password],.ui.inverted.form input[type=search],.ui.inverted.form input[type=tel],.ui.inverted.form input[type=text],.ui.inverted.form input[type=time],.ui.inverted.form input[type=url]{background:#fff;border-color:rgba(255,255,255,.1);color:rgba(0,0,0,.87);box-shadow:none}.ui.form .grouped.fields{display:block;margin:0 0 1em}.ui.form .grouped.fields:last-child{margin-bottom:0}.ui.form .grouped.fields>label{margin:0 0 .28571429rem 0;color:rgba(0,0,0,.87);font-size:.92857143em;font-weight:700;text-transform:none}.ui.form .grouped.fields .field,.ui.form .grouped.inline.fields .field{display:block;margin:.5em 0;padding:0}.ui.form .fields{display:flex;flex-direction:row;margin:0 -.5em 1em}.ui.form .fields>.field{flex:0 1 auto;padding-left:.5em;padding-right:.5em}.ui.form .fields>.field:first-child{border-left:none;box-shadow:none}.ui.form .two.fields>.field,.ui.form .two.fields>.fields{width:50%}.ui.form .three.fields>.field,.ui.form .three.fields>.fields{width:33.33333333%}.ui.form .four.fields>.field,.ui.form .four.fields>.fields{width:25%}.ui.form .five.fields>.field,.ui.form .five.fields>.fields{width:20%}.ui.form .six.fields>.field,.ui.form .six.fields>.fields{width:16.66666667%}.ui.form .seven.fields>.field,.ui.form .seven.fields>.fields{width:14.28571429%}.ui.form .eight.fields>.field,.ui.form .eight.fields>.fields{width:12.5%}.ui.form .nine.fields>.field,.ui.form .nine.fields>.fields{width:11.11111111%}.ui.form .ten.fields>.field,.ui.form .ten.fields>.fields{width:10%}@media only screen and (max-width:767px){.ui.form .fields{flex-wrap:wrap}.ui.form:not(.unstackable) .eight.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .eight.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .nine.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .nine.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .seven.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .seven.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .six.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .six.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .ten.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .ten.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) [class*="equal width"].fields:not(.unstackable)>.field,.ui[class*="equal width"].form:not(.unstackable) .fields>.field{width:100%!important;margin:0 0 1em}}.ui.form .fields .wide.field{width:6.25%;padding-left:.5em;padding-right:.5em}.ui.form .one.wide.field{width:6.25%!important}.ui.form .two.wide.field{width:12.5%!important}.ui.form .three.wide.field{width:18.75%!important}.ui.form .four.wide.field{width:25%!important}.ui.form .five.wide.field{width:31.25%!important}.ui.form .six.wide.field{width:37.5%!important}.ui.form .seven.wide.field{width:43.75%!important}.ui.form .eight.wide.field{width:50%!important}.ui.form .nine.wide.field{width:56.25%!important}.ui.form .ten.wide.field{width:62.5%!important}.ui.form .eleven.wide.field{width:68.75%!important}.ui.form .twelve.wide.field{width:75%!important}.ui.form .thirteen.wide.field{width:81.25%!important}.ui.form .fourteen.wide.field{width:87.5%!important}.ui.form .fifteen.wide.field{width:93.75%!important}.ui.form .sixteen.wide.field{width:100%!important}@media only screen and (max-width:767px){.ui.form:not(.unstackable) .fields:not(.unstackable)>.eight.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.eleven.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.fifteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.five.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.four.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.fourteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.nine.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.seven.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.six.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.sixteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.ten.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.thirteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.three.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.twelve.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.two.wide.field,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.fields{width:100%!important}.ui.form .fields{margin-bottom:0}}.ui.form [class*="equal width"].fields>.field,.ui[class*="equal width"].form .fields>.field{width:100%;flex:1 1 auto}.ui.form .inline.fields{margin:0 0 1em;align-items:center}.ui.form .inline.fields .field{margin:0;padding:0 1em 0 0}.ui.form .inline.field>label,.ui.form .inline.field>p,.ui.form .inline.fields .field>label,.ui.form .inline.fields .field>p,.ui.form .inline.fields>label{display:inline-block;width:auto;margin-top:0;margin-bottom:0;vertical-align:baseline;font-size:.92857143em;font-weight:700;color:rgba(0,0,0,.87);text-transform:none}.ui.form .inline.fields>label{margin:.035714em 1em 0 0}.ui.form .inline.field>input,.ui.form .inline.field>select,.ui.form .inline.fields .field>input,.ui.form .inline.fields .field>select{display:inline-block;width:auto;margin-top:0;margin-bottom:0;vertical-align:middle;font-size:1em}.ui.form .inline.field>:first-child,.ui.form .inline.fields .field>:first-child{margin:0 .85714286em 0 0}.ui.form .inline.field>:only-child,.ui.form .inline.fields .field>:only-child{margin:0}.ui.form .inline.fields .wide.field{display:flex;align-items:center}.ui.form .inline.fields .wide.field>input,.ui.form .inline.fields .wide.field>select{width:100%}.ui.mini.form{font-size:.78571429rem}.ui.tiny.form{font-size:.85714286rem}.ui.small.form{font-size:.92857143rem}.ui.form{font-size:1rem}.ui.large.form{font-size:1.14285714rem}.ui.big.form{font-size:1.28571429rem}.ui.huge.form{font-size:1.42857143rem}.ui.massive.form{font-size:1.71428571rem}/*! + * # Semantic UI 2.5.0 - Grid + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.grid{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;padding:0}.ui.grid{margin-top:-1rem;margin-bottom:-1rem;margin-left:-1rem;margin-right:-1rem}.ui.relaxed.grid{margin-left:-1.5rem;margin-right:-1.5rem}.ui[class*="very relaxed"].grid{margin-left:-2.5rem;margin-right:-2.5rem}.ui.grid+.grid{margin-top:1rem}.ui.grid>.column:not(.row),.ui.grid>.row>.column{position:relative;display:inline-block;width:6.25%;padding-left:1rem;padding-right:1rem;vertical-align:top}.ui.grid>*{padding-left:1rem;padding-right:1rem}.ui.grid>.row{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:inherit;align-items:stretch;width:100%!important;padding:0;padding-top:1rem;padding-bottom:1rem}.ui.grid>.column:not(.row){padding-top:1rem;padding-bottom:1rem}.ui.grid>.row>.column{margin-top:0;margin-bottom:0}.ui.grid>.row>.column>img,.ui.grid>.row>img{max-width:100%}.ui.grid>.ui.grid:first-child{margin-top:0}.ui.grid>.ui.grid:last-child{margin-bottom:0}.ui.aligned.grid .column>.segment:not(.compact):not(.attached),.ui.grid .aligned.row>.column>.segment:not(.compact):not(.attached){width:100%}.ui.grid .row+.ui.divider{flex-grow:1;margin:1rem 1rem}.ui.grid .column+.ui.vertical.divider{height:calc(50% - (2rem / 2))}.ui.grid>.column:last-child>.horizontal.segment,.ui.grid>.row>.column:last-child>.horizontal.segment{box-shadow:none}@media only screen and (max-width:767px){.ui.page.grid{width:auto;padding-left:0;padding-right:0;margin-left:0;margin-right:0}}@media only screen and (min-width:768px) and (max-width:991px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:2em;padding-right:2em}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:3%;padding-right:3%}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:15%;padding-right:15%}}@media only screen and (min-width:1920px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:23%;padding-right:23%}}.ui.grid>.column:only-child,.ui.grid>.row>.column:only-child{width:100%}.ui[class*="one column"].grid>.column:not(.row),.ui[class*="one column"].grid>.row>.column{width:100%}.ui[class*="two column"].grid>.column:not(.row),.ui[class*="two column"].grid>.row>.column{width:50%}.ui[class*="three column"].grid>.column:not(.row),.ui[class*="three column"].grid>.row>.column{width:33.33333333%}.ui[class*="four column"].grid>.column:not(.row),.ui[class*="four column"].grid>.row>.column{width:25%}.ui[class*="five column"].grid>.column:not(.row),.ui[class*="five column"].grid>.row>.column{width:20%}.ui[class*="six column"].grid>.column:not(.row),.ui[class*="six column"].grid>.row>.column{width:16.66666667%}.ui[class*="seven column"].grid>.column:not(.row),.ui[class*="seven column"].grid>.row>.column{width:14.28571429%}.ui[class*="eight column"].grid>.column:not(.row),.ui[class*="eight column"].grid>.row>.column{width:12.5%}.ui[class*="nine column"].grid>.column:not(.row),.ui[class*="nine column"].grid>.row>.column{width:11.11111111%}.ui[class*="ten column"].grid>.column:not(.row),.ui[class*="ten column"].grid>.row>.column{width:10%}.ui[class*="eleven column"].grid>.column:not(.row),.ui[class*="eleven column"].grid>.row>.column{width:9.09090909%}.ui[class*="twelve column"].grid>.column:not(.row),.ui[class*="twelve column"].grid>.row>.column{width:8.33333333%}.ui[class*="thirteen column"].grid>.column:not(.row),.ui[class*="thirteen column"].grid>.row>.column{width:7.69230769%}.ui[class*="fourteen column"].grid>.column:not(.row),.ui[class*="fourteen column"].grid>.row>.column{width:7.14285714%}.ui[class*="fifteen column"].grid>.column:not(.row),.ui[class*="fifteen column"].grid>.row>.column{width:6.66666667%}.ui[class*="sixteen column"].grid>.column:not(.row),.ui[class*="sixteen column"].grid>.row>.column{width:6.25%}.ui.grid>[class*="one column"].row>.column{width:100%!important}.ui.grid>[class*="two column"].row>.column{width:50%!important}.ui.grid>[class*="three column"].row>.column{width:33.33333333%!important}.ui.grid>[class*="four column"].row>.column{width:25%!important}.ui.grid>[class*="five column"].row>.column{width:20%!important}.ui.grid>[class*="six column"].row>.column{width:16.66666667%!important}.ui.grid>[class*="seven column"].row>.column{width:14.28571429%!important}.ui.grid>[class*="eight column"].row>.column{width:12.5%!important}.ui.grid>[class*="nine column"].row>.column{width:11.11111111%!important}.ui.grid>[class*="ten column"].row>.column{width:10%!important}.ui.grid>[class*="eleven column"].row>.column{width:9.09090909%!important}.ui.grid>[class*="twelve column"].row>.column{width:8.33333333%!important}.ui.grid>[class*="thirteen column"].row>.column{width:7.69230769%!important}.ui.grid>[class*="fourteen column"].row>.column{width:7.14285714%!important}.ui.grid>[class*="fifteen column"].row>.column{width:6.66666667%!important}.ui.grid>[class*="sixteen column"].row>.column{width:6.25%!important}.ui.celled.page.grid{box-shadow:none}.ui.column.grid>[class*="one wide"].column,.ui.grid>.column.row>[class*="one wide"].column,.ui.grid>.row>[class*="one wide"].column,.ui.grid>[class*="one wide"].column{width:6.25%!important}.ui.column.grid>[class*="two wide"].column,.ui.grid>.column.row>[class*="two wide"].column,.ui.grid>.row>[class*="two wide"].column,.ui.grid>[class*="two wide"].column{width:12.5%!important}.ui.column.grid>[class*="three wide"].column,.ui.grid>.column.row>[class*="three wide"].column,.ui.grid>.row>[class*="three wide"].column,.ui.grid>[class*="three wide"].column{width:18.75%!important}.ui.column.grid>[class*="four wide"].column,.ui.grid>.column.row>[class*="four wide"].column,.ui.grid>.row>[class*="four wide"].column,.ui.grid>[class*="four wide"].column{width:25%!important}.ui.column.grid>[class*="five wide"].column,.ui.grid>.column.row>[class*="five wide"].column,.ui.grid>.row>[class*="five wide"].column,.ui.grid>[class*="five wide"].column{width:31.25%!important}.ui.column.grid>[class*="six wide"].column,.ui.grid>.column.row>[class*="six wide"].column,.ui.grid>.row>[class*="six wide"].column,.ui.grid>[class*="six wide"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide"].column,.ui.grid>.column.row>[class*="seven wide"].column,.ui.grid>.row>[class*="seven wide"].column,.ui.grid>[class*="seven wide"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide"].column,.ui.grid>.column.row>[class*="eight wide"].column,.ui.grid>.row>[class*="eight wide"].column,.ui.grid>[class*="eight wide"].column{width:50%!important}.ui.column.grid>[class*="nine wide"].column,.ui.grid>.column.row>[class*="nine wide"].column,.ui.grid>.row>[class*="nine wide"].column,.ui.grid>[class*="nine wide"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide"].column,.ui.grid>.column.row>[class*="ten wide"].column,.ui.grid>.row>[class*="ten wide"].column,.ui.grid>[class*="ten wide"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide"].column,.ui.grid>.column.row>[class*="eleven wide"].column,.ui.grid>.row>[class*="eleven wide"].column,.ui.grid>[class*="eleven wide"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide"].column,.ui.grid>.column.row>[class*="twelve wide"].column,.ui.grid>.row>[class*="twelve wide"].column,.ui.grid>[class*="twelve wide"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide"].column,.ui.grid>.column.row>[class*="thirteen wide"].column,.ui.grid>.row>[class*="thirteen wide"].column,.ui.grid>[class*="thirteen wide"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide"].column,.ui.grid>.column.row>[class*="fourteen wide"].column,.ui.grid>.row>[class*="fourteen wide"].column,.ui.grid>[class*="fourteen wide"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide"].column,.ui.grid>.column.row>[class*="fifteen wide"].column,.ui.grid>.row>[class*="fifteen wide"].column,.ui.grid>[class*="fifteen wide"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide"].column,.ui.grid>.column.row>[class*="sixteen wide"].column,.ui.grid>.row>[class*="sixteen wide"].column,.ui.grid>[class*="sixteen wide"].column{width:100%!important}@media only screen and (min-width:320px) and (max-width:767px){.ui.column.grid>[class*="one wide mobile"].column,.ui.grid>.column.row>[class*="one wide mobile"].column,.ui.grid>.row>[class*="one wide mobile"].column,.ui.grid>[class*="one wide mobile"].column{width:6.25%!important}.ui.column.grid>[class*="two wide mobile"].column,.ui.grid>.column.row>[class*="two wide mobile"].column,.ui.grid>.row>[class*="two wide mobile"].column,.ui.grid>[class*="two wide mobile"].column{width:12.5%!important}.ui.column.grid>[class*="three wide mobile"].column,.ui.grid>.column.row>[class*="three wide mobile"].column,.ui.grid>.row>[class*="three wide mobile"].column,.ui.grid>[class*="three wide mobile"].column{width:18.75%!important}.ui.column.grid>[class*="four wide mobile"].column,.ui.grid>.column.row>[class*="four wide mobile"].column,.ui.grid>.row>[class*="four wide mobile"].column,.ui.grid>[class*="four wide mobile"].column{width:25%!important}.ui.column.grid>[class*="five wide mobile"].column,.ui.grid>.column.row>[class*="five wide mobile"].column,.ui.grid>.row>[class*="five wide mobile"].column,.ui.grid>[class*="five wide mobile"].column{width:31.25%!important}.ui.column.grid>[class*="six wide mobile"].column,.ui.grid>.column.row>[class*="six wide mobile"].column,.ui.grid>.row>[class*="six wide mobile"].column,.ui.grid>[class*="six wide mobile"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide mobile"].column,.ui.grid>.column.row>[class*="seven wide mobile"].column,.ui.grid>.row>[class*="seven wide mobile"].column,.ui.grid>[class*="seven wide mobile"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide mobile"].column,.ui.grid>.column.row>[class*="eight wide mobile"].column,.ui.grid>.row>[class*="eight wide mobile"].column,.ui.grid>[class*="eight wide mobile"].column{width:50%!important}.ui.column.grid>[class*="nine wide mobile"].column,.ui.grid>.column.row>[class*="nine wide mobile"].column,.ui.grid>.row>[class*="nine wide mobile"].column,.ui.grid>[class*="nine wide mobile"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide mobile"].column,.ui.grid>.column.row>[class*="ten wide mobile"].column,.ui.grid>.row>[class*="ten wide mobile"].column,.ui.grid>[class*="ten wide mobile"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide mobile"].column,.ui.grid>.column.row>[class*="eleven wide mobile"].column,.ui.grid>.row>[class*="eleven wide mobile"].column,.ui.grid>[class*="eleven wide mobile"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide mobile"].column,.ui.grid>.column.row>[class*="twelve wide mobile"].column,.ui.grid>.row>[class*="twelve wide mobile"].column,.ui.grid>[class*="twelve wide mobile"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide mobile"].column,.ui.grid>.column.row>[class*="thirteen wide mobile"].column,.ui.grid>.row>[class*="thirteen wide mobile"].column,.ui.grid>[class*="thirteen wide mobile"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide mobile"].column,.ui.grid>.column.row>[class*="fourteen wide mobile"].column,.ui.grid>.row>[class*="fourteen wide mobile"].column,.ui.grid>[class*="fourteen wide mobile"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide mobile"].column,.ui.grid>.column.row>[class*="fifteen wide mobile"].column,.ui.grid>.row>[class*="fifteen wide mobile"].column,.ui.grid>[class*="fifteen wide mobile"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide mobile"].column,.ui.grid>.column.row>[class*="sixteen wide mobile"].column,.ui.grid>.row>[class*="sixteen wide mobile"].column,.ui.grid>[class*="sixteen wide mobile"].column{width:100%!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.column.grid>[class*="one wide tablet"].column,.ui.grid>.column.row>[class*="one wide tablet"].column,.ui.grid>.row>[class*="one wide tablet"].column,.ui.grid>[class*="one wide tablet"].column{width:6.25%!important}.ui.column.grid>[class*="two wide tablet"].column,.ui.grid>.column.row>[class*="two wide tablet"].column,.ui.grid>.row>[class*="two wide tablet"].column,.ui.grid>[class*="two wide tablet"].column{width:12.5%!important}.ui.column.grid>[class*="three wide tablet"].column,.ui.grid>.column.row>[class*="three wide tablet"].column,.ui.grid>.row>[class*="three wide tablet"].column,.ui.grid>[class*="three wide tablet"].column{width:18.75%!important}.ui.column.grid>[class*="four wide tablet"].column,.ui.grid>.column.row>[class*="four wide tablet"].column,.ui.grid>.row>[class*="four wide tablet"].column,.ui.grid>[class*="four wide tablet"].column{width:25%!important}.ui.column.grid>[class*="five wide tablet"].column,.ui.grid>.column.row>[class*="five wide tablet"].column,.ui.grid>.row>[class*="five wide tablet"].column,.ui.grid>[class*="five wide tablet"].column{width:31.25%!important}.ui.column.grid>[class*="six wide tablet"].column,.ui.grid>.column.row>[class*="six wide tablet"].column,.ui.grid>.row>[class*="six wide tablet"].column,.ui.grid>[class*="six wide tablet"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide tablet"].column,.ui.grid>.column.row>[class*="seven wide tablet"].column,.ui.grid>.row>[class*="seven wide tablet"].column,.ui.grid>[class*="seven wide tablet"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide tablet"].column,.ui.grid>.column.row>[class*="eight wide tablet"].column,.ui.grid>.row>[class*="eight wide tablet"].column,.ui.grid>[class*="eight wide tablet"].column{width:50%!important}.ui.column.grid>[class*="nine wide tablet"].column,.ui.grid>.column.row>[class*="nine wide tablet"].column,.ui.grid>.row>[class*="nine wide tablet"].column,.ui.grid>[class*="nine wide tablet"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide tablet"].column,.ui.grid>.column.row>[class*="ten wide tablet"].column,.ui.grid>.row>[class*="ten wide tablet"].column,.ui.grid>[class*="ten wide tablet"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide tablet"].column,.ui.grid>.column.row>[class*="eleven wide tablet"].column,.ui.grid>.row>[class*="eleven wide tablet"].column,.ui.grid>[class*="eleven wide tablet"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide tablet"].column,.ui.grid>.column.row>[class*="twelve wide tablet"].column,.ui.grid>.row>[class*="twelve wide tablet"].column,.ui.grid>[class*="twelve wide tablet"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide tablet"].column,.ui.grid>.column.row>[class*="thirteen wide tablet"].column,.ui.grid>.row>[class*="thirteen wide tablet"].column,.ui.grid>[class*="thirteen wide tablet"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide tablet"].column,.ui.grid>.column.row>[class*="fourteen wide tablet"].column,.ui.grid>.row>[class*="fourteen wide tablet"].column,.ui.grid>[class*="fourteen wide tablet"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide tablet"].column,.ui.grid>.column.row>[class*="fifteen wide tablet"].column,.ui.grid>.row>[class*="fifteen wide tablet"].column,.ui.grid>[class*="fifteen wide tablet"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide tablet"].column,.ui.grid>.column.row>[class*="sixteen wide tablet"].column,.ui.grid>.row>[class*="sixteen wide tablet"].column,.ui.grid>[class*="sixteen wide tablet"].column{width:100%!important}}@media only screen and (min-width:992px){.ui.column.grid>[class*="one wide computer"].column,.ui.grid>.column.row>[class*="one wide computer"].column,.ui.grid>.row>[class*="one wide computer"].column,.ui.grid>[class*="one wide computer"].column{width:6.25%!important}.ui.column.grid>[class*="two wide computer"].column,.ui.grid>.column.row>[class*="two wide computer"].column,.ui.grid>.row>[class*="two wide computer"].column,.ui.grid>[class*="two wide computer"].column{width:12.5%!important}.ui.column.grid>[class*="three wide computer"].column,.ui.grid>.column.row>[class*="three wide computer"].column,.ui.grid>.row>[class*="three wide computer"].column,.ui.grid>[class*="three wide computer"].column{width:18.75%!important}.ui.column.grid>[class*="four wide computer"].column,.ui.grid>.column.row>[class*="four wide computer"].column,.ui.grid>.row>[class*="four wide computer"].column,.ui.grid>[class*="four wide computer"].column{width:25%!important}.ui.column.grid>[class*="five wide computer"].column,.ui.grid>.column.row>[class*="five wide computer"].column,.ui.grid>.row>[class*="five wide computer"].column,.ui.grid>[class*="five wide computer"].column{width:31.25%!important}.ui.column.grid>[class*="six wide computer"].column,.ui.grid>.column.row>[class*="six wide computer"].column,.ui.grid>.row>[class*="six wide computer"].column,.ui.grid>[class*="six wide computer"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide computer"].column,.ui.grid>.column.row>[class*="seven wide computer"].column,.ui.grid>.row>[class*="seven wide computer"].column,.ui.grid>[class*="seven wide computer"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide computer"].column,.ui.grid>.column.row>[class*="eight wide computer"].column,.ui.grid>.row>[class*="eight wide computer"].column,.ui.grid>[class*="eight wide computer"].column{width:50%!important}.ui.column.grid>[class*="nine wide computer"].column,.ui.grid>.column.row>[class*="nine wide computer"].column,.ui.grid>.row>[class*="nine wide computer"].column,.ui.grid>[class*="nine wide computer"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide computer"].column,.ui.grid>.column.row>[class*="ten wide computer"].column,.ui.grid>.row>[class*="ten wide computer"].column,.ui.grid>[class*="ten wide computer"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide computer"].column,.ui.grid>.column.row>[class*="eleven wide computer"].column,.ui.grid>.row>[class*="eleven wide computer"].column,.ui.grid>[class*="eleven wide computer"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide computer"].column,.ui.grid>.column.row>[class*="twelve wide computer"].column,.ui.grid>.row>[class*="twelve wide computer"].column,.ui.grid>[class*="twelve wide computer"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide computer"].column,.ui.grid>.column.row>[class*="thirteen wide computer"].column,.ui.grid>.row>[class*="thirteen wide computer"].column,.ui.grid>[class*="thirteen wide computer"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide computer"].column,.ui.grid>.column.row>[class*="fourteen wide computer"].column,.ui.grid>.row>[class*="fourteen wide computer"].column,.ui.grid>[class*="fourteen wide computer"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide computer"].column,.ui.grid>.column.row>[class*="fifteen wide computer"].column,.ui.grid>.row>[class*="fifteen wide computer"].column,.ui.grid>[class*="fifteen wide computer"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide computer"].column,.ui.grid>.column.row>[class*="sixteen wide computer"].column,.ui.grid>.row>[class*="sixteen wide computer"].column,.ui.grid>[class*="sixteen wide computer"].column{width:100%!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.column.grid>[class*="one wide large screen"].column,.ui.grid>.column.row>[class*="one wide large screen"].column,.ui.grid>.row>[class*="one wide large screen"].column,.ui.grid>[class*="one wide large screen"].column{width:6.25%!important}.ui.column.grid>[class*="two wide large screen"].column,.ui.grid>.column.row>[class*="two wide large screen"].column,.ui.grid>.row>[class*="two wide large screen"].column,.ui.grid>[class*="two wide large screen"].column{width:12.5%!important}.ui.column.grid>[class*="three wide large screen"].column,.ui.grid>.column.row>[class*="three wide large screen"].column,.ui.grid>.row>[class*="three wide large screen"].column,.ui.grid>[class*="three wide large screen"].column{width:18.75%!important}.ui.column.grid>[class*="four wide large screen"].column,.ui.grid>.column.row>[class*="four wide large screen"].column,.ui.grid>.row>[class*="four wide large screen"].column,.ui.grid>[class*="four wide large screen"].column{width:25%!important}.ui.column.grid>[class*="five wide large screen"].column,.ui.grid>.column.row>[class*="five wide large screen"].column,.ui.grid>.row>[class*="five wide large screen"].column,.ui.grid>[class*="five wide large screen"].column{width:31.25%!important}.ui.column.grid>[class*="six wide large screen"].column,.ui.grid>.column.row>[class*="six wide large screen"].column,.ui.grid>.row>[class*="six wide large screen"].column,.ui.grid>[class*="six wide large screen"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide large screen"].column,.ui.grid>.column.row>[class*="seven wide large screen"].column,.ui.grid>.row>[class*="seven wide large screen"].column,.ui.grid>[class*="seven wide large screen"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide large screen"].column,.ui.grid>.column.row>[class*="eight wide large screen"].column,.ui.grid>.row>[class*="eight wide large screen"].column,.ui.grid>[class*="eight wide large screen"].column{width:50%!important}.ui.column.grid>[class*="nine wide large screen"].column,.ui.grid>.column.row>[class*="nine wide large screen"].column,.ui.grid>.row>[class*="nine wide large screen"].column,.ui.grid>[class*="nine wide large screen"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide large screen"].column,.ui.grid>.column.row>[class*="ten wide large screen"].column,.ui.grid>.row>[class*="ten wide large screen"].column,.ui.grid>[class*="ten wide large screen"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide large screen"].column,.ui.grid>.column.row>[class*="eleven wide large screen"].column,.ui.grid>.row>[class*="eleven wide large screen"].column,.ui.grid>[class*="eleven wide large screen"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide large screen"].column,.ui.grid>.column.row>[class*="twelve wide large screen"].column,.ui.grid>.row>[class*="twelve wide large screen"].column,.ui.grid>[class*="twelve wide large screen"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide large screen"].column,.ui.grid>.column.row>[class*="thirteen wide large screen"].column,.ui.grid>.row>[class*="thirteen wide large screen"].column,.ui.grid>[class*="thirteen wide large screen"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide large screen"].column,.ui.grid>.column.row>[class*="fourteen wide large screen"].column,.ui.grid>.row>[class*="fourteen wide large screen"].column,.ui.grid>[class*="fourteen wide large screen"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide large screen"].column,.ui.grid>.column.row>[class*="fifteen wide large screen"].column,.ui.grid>.row>[class*="fifteen wide large screen"].column,.ui.grid>[class*="fifteen wide large screen"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide large screen"].column,.ui.grid>.column.row>[class*="sixteen wide large screen"].column,.ui.grid>.row>[class*="sixteen wide large screen"].column,.ui.grid>[class*="sixteen wide large screen"].column{width:100%!important}}@media only screen and (min-width:1920px){.ui.column.grid>[class*="one wide widescreen"].column,.ui.grid>.column.row>[class*="one wide widescreen"].column,.ui.grid>.row>[class*="one wide widescreen"].column,.ui.grid>[class*="one wide widescreen"].column{width:6.25%!important}.ui.column.grid>[class*="two wide widescreen"].column,.ui.grid>.column.row>[class*="two wide widescreen"].column,.ui.grid>.row>[class*="two wide widescreen"].column,.ui.grid>[class*="two wide widescreen"].column{width:12.5%!important}.ui.column.grid>[class*="three wide widescreen"].column,.ui.grid>.column.row>[class*="three wide widescreen"].column,.ui.grid>.row>[class*="three wide widescreen"].column,.ui.grid>[class*="three wide widescreen"].column{width:18.75%!important}.ui.column.grid>[class*="four wide widescreen"].column,.ui.grid>.column.row>[class*="four wide widescreen"].column,.ui.grid>.row>[class*="four wide widescreen"].column,.ui.grid>[class*="four wide widescreen"].column{width:25%!important}.ui.column.grid>[class*="five wide widescreen"].column,.ui.grid>.column.row>[class*="five wide widescreen"].column,.ui.grid>.row>[class*="five wide widescreen"].column,.ui.grid>[class*="five wide widescreen"].column{width:31.25%!important}.ui.column.grid>[class*="six wide widescreen"].column,.ui.grid>.column.row>[class*="six wide widescreen"].column,.ui.grid>.row>[class*="six wide widescreen"].column,.ui.grid>[class*="six wide widescreen"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide widescreen"].column,.ui.grid>.column.row>[class*="seven wide widescreen"].column,.ui.grid>.row>[class*="seven wide widescreen"].column,.ui.grid>[class*="seven wide widescreen"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide widescreen"].column,.ui.grid>.column.row>[class*="eight wide widescreen"].column,.ui.grid>.row>[class*="eight wide widescreen"].column,.ui.grid>[class*="eight wide widescreen"].column{width:50%!important}.ui.column.grid>[class*="nine wide widescreen"].column,.ui.grid>.column.row>[class*="nine wide widescreen"].column,.ui.grid>.row>[class*="nine wide widescreen"].column,.ui.grid>[class*="nine wide widescreen"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide widescreen"].column,.ui.grid>.column.row>[class*="ten wide widescreen"].column,.ui.grid>.row>[class*="ten wide widescreen"].column,.ui.grid>[class*="ten wide widescreen"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide widescreen"].column,.ui.grid>.column.row>[class*="eleven wide widescreen"].column,.ui.grid>.row>[class*="eleven wide widescreen"].column,.ui.grid>[class*="eleven wide widescreen"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide widescreen"].column,.ui.grid>.column.row>[class*="twelve wide widescreen"].column,.ui.grid>.row>[class*="twelve wide widescreen"].column,.ui.grid>[class*="twelve wide widescreen"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide widescreen"].column,.ui.grid>.column.row>[class*="thirteen wide widescreen"].column,.ui.grid>.row>[class*="thirteen wide widescreen"].column,.ui.grid>[class*="thirteen wide widescreen"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide widescreen"].column,.ui.grid>.column.row>[class*="fourteen wide widescreen"].column,.ui.grid>.row>[class*="fourteen wide widescreen"].column,.ui.grid>[class*="fourteen wide widescreen"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide widescreen"].column,.ui.grid>.column.row>[class*="fifteen wide widescreen"].column,.ui.grid>.row>[class*="fifteen wide widescreen"].column,.ui.grid>[class*="fifteen wide widescreen"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide widescreen"].column,.ui.grid>.column.row>[class*="sixteen wide widescreen"].column,.ui.grid>.row>[class*="sixteen wide widescreen"].column,.ui.grid>[class*="sixteen wide widescreen"].column{width:100%!important}}.ui.centered.grid,.ui.centered.grid>.row,.ui.grid>.centered.row{text-align:center;justify-content:center}.ui.centered.grid>.column:not(.aligned):not(.justified):not(.row),.ui.centered.grid>.row>.column:not(.aligned):not(.justified),.ui.grid .centered.row>.column:not(.aligned):not(.justified){text-align:left}.ui.grid>.centered.column,.ui.grid>.row>.centered.column{display:block;margin-left:auto;margin-right:auto}.ui.grid>.relaxed.row>.column,.ui.relaxed.grid>.column:not(.row),.ui.relaxed.grid>.row>.column{padding-left:1.5rem;padding-right:1.5rem}.ui.grid>[class*="very relaxed"].row>.column,.ui[class*="very relaxed"].grid>.column:not(.row),.ui[class*="very relaxed"].grid>.row>.column{padding-left:2.5rem;padding-right:2.5rem}.ui.grid .relaxed.row+.ui.divider,.ui.relaxed.grid .row+.ui.divider{margin-left:1.5rem;margin-right:1.5rem}.ui.grid [class*="very relaxed"].row+.ui.divider,.ui[class*="very relaxed"].grid .row+.ui.divider{margin-left:2.5rem;margin-right:2.5rem}.ui.padded.grid:not(.vertically):not(.horizontally){margin:0!important}[class*="horizontally padded"].ui.grid{margin-left:0!important;margin-right:0!important}[class*="vertically padded"].ui.grid{margin-top:0!important;margin-bottom:0!important}.ui.grid [class*="left floated"].column{margin-right:auto}.ui.grid [class*="right floated"].column{margin-left:auto}.ui.divided.grid:not([class*="vertically divided"])>.column:not(.row),.ui.divided.grid:not([class*="vertically divided"])>.row>.column{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="vertically divided"].grid>.column:not(.row),.ui[class*="vertically divided"].grid>.row>.column{margin-top:1rem;margin-bottom:1rem;padding-top:0;padding-bottom:0}.ui[class*="vertically divided"].grid>.row{margin-top:0;margin-bottom:0}.ui.divided.grid:not([class*="vertically divided"])>.column:first-child,.ui.divided.grid:not([class*="vertically divided"])>.row>.column:first-child{box-shadow:none}.ui[class*="vertically divided"].grid>.row:first-child>.column{margin-top:0}.ui.grid>.divided.row>.column{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui.grid>.divided.row>.column:first-child{box-shadow:none}.ui[class*="vertically divided"].grid>.row{position:relative}.ui[class*="vertically divided"].grid>.row:before{position:absolute;content:"";top:0;left:0;width:calc(100% - 2rem);height:1px;margin:0 1rem;box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.padded.divided.grid:not(.vertically):not(.horizontally),[class*="horizontally padded"].ui.divided.grid{width:100%}.ui[class*="vertically divided"].grid>.row:first-child:before{box-shadow:none}.ui.inverted.divided.grid:not([class*="vertically divided"])>.column:not(.row),.ui.inverted.divided.grid:not([class*="vertically divided"])>.row>.column{box-shadow:-1px 0 0 0 rgba(255,255,255,.1)}.ui.inverted.divided.grid:not([class*="vertically divided"])>.column:not(.row):first-child,.ui.inverted.divided.grid:not([class*="vertically divided"])>.row>.column:first-child{box-shadow:none}.ui.inverted[class*="vertically divided"].grid>.row:before{box-shadow:0 -1px 0 0 rgba(255,255,255,.1)}.ui.relaxed[class*="vertically divided"].grid>.row:before{margin-left:1.5rem;margin-right:1.5rem;width:calc(100% - 3rem)}.ui[class*="very relaxed"][class*="vertically divided"].grid>.row:before{margin-left:2.5rem;margin-right:2.5rem;width:calc(100% - 5rem)}.ui.celled.grid{width:100%;margin:1em 0;box-shadow:0 0 0 1px #d4d4d5}.ui.celled.grid>.row{width:100%!important;margin:0;padding:0;box-shadow:0 -1px 0 0 #d4d4d5}.ui.celled.grid>.column:not(.row),.ui.celled.grid>.row>.column{box-shadow:-1px 0 0 0 #d4d4d5}.ui.celled.grid>.column:first-child,.ui.celled.grid>.row>.column:first-child{box-shadow:none}.ui.celled.grid>.column:not(.row),.ui.celled.grid>.row>.column{padding:1em}.ui.relaxed.celled.grid>.column:not(.row),.ui.relaxed.celled.grid>.row>.column{padding:1.5em}.ui[class*="very relaxed"].celled.grid>.column:not(.row),.ui[class*="very relaxed"].celled.grid>.row>.column{padding:2em}.ui[class*="internally celled"].grid{box-shadow:none;margin:0}.ui[class*="internally celled"].grid>.row:first-child{box-shadow:none}.ui[class*="internally celled"].grid>.row>.column:first-child{box-shadow:none}.ui.grid>.row>[class*="top aligned"].column,.ui.grid>[class*="top aligned"].column:not(.row),.ui.grid>[class*="top aligned"].row>.column,.ui[class*="top aligned"].grid>.column:not(.row),.ui[class*="top aligned"].grid>.row>.column{flex-direction:column;vertical-align:top;align-self:flex-start!important}.ui.grid>.row>[class*="middle aligned"].column,.ui.grid>[class*="middle aligned"].column:not(.row),.ui.grid>[class*="middle aligned"].row>.column,.ui[class*="middle aligned"].grid>.column:not(.row),.ui[class*="middle aligned"].grid>.row>.column{flex-direction:column;vertical-align:middle;align-self:center!important}.ui.grid>.row>[class*="bottom aligned"].column,.ui.grid>[class*="bottom aligned"].column:not(.row),.ui.grid>[class*="bottom aligned"].row>.column,.ui[class*="bottom aligned"].grid>.column:not(.row),.ui[class*="bottom aligned"].grid>.row>.column{flex-direction:column;vertical-align:bottom;align-self:flex-end!important}.ui.grid>.row>.stretched.column,.ui.grid>.stretched.column:not(.row),.ui.grid>.stretched.row>.column,.ui.stretched.grid>.column,.ui.stretched.grid>.row>.column{display:inline-flex!important;align-self:stretch;flex-direction:column}.ui.grid>.row>.stretched.column>*,.ui.grid>.stretched.column:not(.row)>*,.ui.grid>.stretched.row>.column>*,.ui.stretched.grid>.column>*,.ui.stretched.grid>.row>.column>*{flex-grow:1}.ui.grid>.row>[class*="left aligned"].column.column,.ui.grid>[class*="left aligned"].column.column,.ui.grid>[class*="left aligned"].row>.column,.ui[class*="left aligned"].grid>.column,.ui[class*="left aligned"].grid>.row>.column{text-align:left;align-self:inherit}.ui.grid>.row>[class*="center aligned"].column.column,.ui.grid>[class*="center aligned"].column.column,.ui.grid>[class*="center aligned"].row>.column,.ui[class*="center aligned"].grid>.column,.ui[class*="center aligned"].grid>.row>.column{text-align:center;align-self:inherit}.ui[class*="center aligned"].grid{justify-content:center}.ui.grid>.row>[class*="right aligned"].column.column,.ui.grid>[class*="right aligned"].column.column,.ui.grid>[class*="right aligned"].row>.column,.ui[class*="right aligned"].grid>.column,.ui[class*="right aligned"].grid>.row>.column{text-align:right;align-self:inherit}.ui.grid>.justified.column.column,.ui.grid>.justified.row>.column,.ui.grid>.row>.justified.column.column,.ui.justified.grid>.column,.ui.justified.grid>.row>.column{text-align:justify;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.ui.grid>.row>.black.column,.ui.grid>.row>.blue.column,.ui.grid>.row>.brown.column,.ui.grid>.row>.green.column,.ui.grid>.row>.grey.column,.ui.grid>.row>.olive.column,.ui.grid>.row>.orange.column,.ui.grid>.row>.pink.column,.ui.grid>.row>.purple.column,.ui.grid>.row>.red.column,.ui.grid>.row>.teal.column,.ui.grid>.row>.violet.column,.ui.grid>.row>.yellow.column{margin-top:-1rem;margin-bottom:-1rem;padding-top:1rem;padding-bottom:1rem}.ui.grid>.red.column,.ui.grid>.red.row,.ui.grid>.row>.red.column{background-color:#db2828!important;color:#fff}.ui.grid>.orange.column,.ui.grid>.orange.row,.ui.grid>.row>.orange.column{background-color:#f2711c!important;color:#fff}.ui.grid>.row>.yellow.column,.ui.grid>.yellow.column,.ui.grid>.yellow.row{background-color:#fbbd08!important;color:#fff}.ui.grid>.olive.column,.ui.grid>.olive.row,.ui.grid>.row>.olive.column{background-color:#b5cc18!important;color:#fff}.ui.grid>.green.column,.ui.grid>.green.row,.ui.grid>.row>.green.column{background-color:#21ba45!important;color:#fff}.ui.grid>.row>.teal.column,.ui.grid>.teal.column,.ui.grid>.teal.row{background-color:#00b5ad!important;color:#fff}.ui.grid>.blue.column,.ui.grid>.blue.row,.ui.grid>.row>.blue.column{background-color:#2185d0!important;color:#fff}.ui.grid>.row>.violet.column,.ui.grid>.violet.column,.ui.grid>.violet.row{background-color:#6435c9!important;color:#fff}.ui.grid>.purple.column,.ui.grid>.purple.row,.ui.grid>.row>.purple.column{background-color:#a333c8!important;color:#fff}.ui.grid>.pink.column,.ui.grid>.pink.row,.ui.grid>.row>.pink.column{background-color:#e03997!important;color:#fff}.ui.grid>.brown.column,.ui.grid>.brown.row,.ui.grid>.row>.brown.column{background-color:#a5673f!important;color:#fff}.ui.grid>.grey.column,.ui.grid>.grey.row,.ui.grid>.row>.grey.column{background-color:#767676!important;color:#fff}.ui.grid>.black.column,.ui.grid>.black.row,.ui.grid>.row>.black.column{background-color:#1b1c1d!important;color:#fff}.ui.grid>[class*="equal width"].row>.column,.ui[class*="equal width"].grid>.column:not(.row),.ui[class*="equal width"].grid>.row>.column{display:inline-block;flex-grow:1}.ui.grid>[class*="equal width"].row>.wide.column,.ui[class*="equal width"].grid>.row>.wide.column,.ui[class*="equal width"].grid>.wide.column{flex-grow:0}@media only screen and (max-width:767px){.ui.grid>[class*="mobile reversed"].row,.ui[class*="mobile reversed"].grid,.ui[class*="mobile reversed"].grid>.row{flex-direction:row-reverse}.ui.stackable[class*="mobile reversed"],.ui[class*="mobile vertically reversed"].grid{flex-direction:column-reverse}.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.column:first-child,.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:first-child{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.column:last-child,.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:last-child{box-shadow:none}.ui.grid[class*="vertically divided"][class*="mobile vertically reversed"]>.row:first-child:before{box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*="vertically divided"][class*="mobile vertically reversed"]>.row:last-child:before{box-shadow:none}.ui[class*="mobile reversed"].celled.grid>.row>.column:first-child{box-shadow:-1px 0 0 0 #d4d4d5}.ui[class*="mobile reversed"].celled.grid>.row>.column:last-child{box-shadow:none}}@media only screen and (min-width:768px) and (max-width:991px){.ui.grid>[class*="tablet reversed"].row,.ui[class*="tablet reversed"].grid,.ui[class*="tablet reversed"].grid>.row{flex-direction:row-reverse}.ui[class*="tablet vertically reversed"].grid{flex-direction:column-reverse}.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.column:first-child,.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:first-child{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.column:last-child,.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:last-child{box-shadow:none}.ui.grid[class*="vertically divided"][class*="tablet vertically reversed"]>.row:first-child:before{box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*="vertically divided"][class*="tablet vertically reversed"]>.row:last-child:before{box-shadow:none}.ui[class*="tablet reversed"].celled.grid>.row>.column:first-child{box-shadow:-1px 0 0 0 #d4d4d5}.ui[class*="tablet reversed"].celled.grid>.row>.column:last-child{box-shadow:none}}@media only screen and (min-width:992px){.ui.grid>[class*="computer reversed"].row,.ui[class*="computer reversed"].grid,.ui[class*="computer reversed"].grid>.row{flex-direction:row-reverse}.ui[class*="computer vertically reversed"].grid{flex-direction:column-reverse}.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.column:first-child,.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:first-child{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.column:last-child,.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:last-child{box-shadow:none}.ui.grid[class*="vertically divided"][class*="computer vertically reversed"]>.row:first-child:before{box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*="vertically divided"][class*="computer vertically reversed"]>.row:last-child:before{box-shadow:none}.ui[class*="computer reversed"].celled.grid>.row>.column:first-child{box-shadow:-1px 0 0 0 #d4d4d5}.ui[class*="computer reversed"].celled.grid>.row>.column:last-child{box-shadow:none}}@media only screen and (min-width:768px) and (max-width:991px){.ui.doubling.grid{width:auto}.ui.doubling.grid>.row,.ui.grid>.doubling.row{margin:0!important;padding:0!important}.ui.doubling.grid>.row>.column,.ui.grid>.doubling.row>.column{display:inline-block!important;padding-top:1rem!important;padding-bottom:1rem!important;box-shadow:none!important;margin:0}.ui.grid>[class*="two column"].doubling.row.row>.column,.ui[class*="two column"].doubling.grid>.column:not(.row),.ui[class*="two column"].doubling.grid>.row>.column{width:100%!important}.ui.grid>[class*="three column"].doubling.row.row>.column,.ui[class*="three column"].doubling.grid>.column:not(.row),.ui[class*="three column"].doubling.grid>.row>.column{width:50%!important}.ui.grid>[class*="four column"].doubling.row.row>.column,.ui[class*="four column"].doubling.grid>.column:not(.row),.ui[class*="four column"].doubling.grid>.row>.column{width:50%!important}.ui.grid>[class*="five column"].doubling.row.row>.column,.ui[class*="five column"].doubling.grid>.column:not(.row),.ui[class*="five column"].doubling.grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="six column"].doubling.row.row>.column,.ui[class*="six column"].doubling.grid>.column:not(.row),.ui[class*="six column"].doubling.grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="seven column"].doubling.row.row>.column,.ui[class*="seven column"].doubling.grid>.column:not(.row),.ui[class*="seven column"].doubling.grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="eight column"].doubling.row.row>.column,.ui[class*="eight column"].doubling.grid>.column:not(.row),.ui[class*="eight column"].doubling.grid>.row>.column{width:25%!important}.ui.grid>[class*="nine column"].doubling.row.row>.column,.ui[class*="nine column"].doubling.grid>.column:not(.row),.ui[class*="nine column"].doubling.grid>.row>.column{width:25%!important}.ui.grid>[class*="ten column"].doubling.row.row>.column,.ui[class*="ten column"].doubling.grid>.column:not(.row),.ui[class*="ten column"].doubling.grid>.row>.column{width:20%!important}.ui.grid>[class*="eleven column"].doubling.row.row>.column,.ui[class*="eleven column"].doubling.grid>.column:not(.row),.ui[class*="eleven column"].doubling.grid>.row>.column{width:20%!important}.ui.grid>[class*="twelve column"].doubling.row.row>.column,.ui[class*="twelve column"].doubling.grid>.column:not(.row),.ui[class*="twelve column"].doubling.grid>.row>.column{width:16.66666667%!important}.ui.grid>[class*="thirteen column"].doubling.row.row>.column,.ui[class*="thirteen column"].doubling.grid>.column:not(.row),.ui[class*="thirteen column"].doubling.grid>.row>.column{width:16.66666667%!important}.ui.grid>[class*="fourteen column"].doubling.row.row>.column,.ui[class*="fourteen column"].doubling.grid>.column:not(.row),.ui[class*="fourteen column"].doubling.grid>.row>.column{width:14.28571429%!important}.ui.grid>[class*="fifteen column"].doubling.row.row>.column,.ui[class*="fifteen column"].doubling.grid>.column:not(.row),.ui[class*="fifteen column"].doubling.grid>.row>.column{width:14.28571429%!important}.ui.grid>[class*="sixteen column"].doubling.row.row>.column,.ui[class*="sixteen column"].doubling.grid>.column:not(.row),.ui[class*="sixteen column"].doubling.grid>.row>.column{width:12.5%!important}}@media only screen and (max-width:767px){.ui.doubling.grid>.row,.ui.grid>.doubling.row{margin:0!important;padding:0!important}.ui.doubling.grid>.row>.column,.ui.grid>.doubling.row>.column{padding-top:1rem!important;padding-bottom:1rem!important;margin:0!important;box-shadow:none!important}.ui.grid>[class*="two column"].doubling:not(.stackable).row.row>.column,.ui[class*="two column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="two column"].doubling:not(.stackable).grid>.row>.column{width:100%!important}.ui.grid>[class*="three column"].doubling:not(.stackable).row.row>.column,.ui[class*="three column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="three column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="four column"].doubling:not(.stackable).row.row>.column,.ui[class*="four column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="four column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="five column"].doubling:not(.stackable).row.row>.column,.ui[class*="five column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="five column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="six column"].doubling:not(.stackable).row.row>.column,.ui[class*="six column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="six column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="seven column"].doubling:not(.stackable).row.row>.column,.ui[class*="seven column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="seven column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="eight column"].doubling:not(.stackable).row.row>.column,.ui[class*="eight column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="eight column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="nine column"].doubling:not(.stackable).row.row>.column,.ui[class*="nine column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="nine column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="ten column"].doubling:not(.stackable).row.row>.column,.ui[class*="ten column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="ten column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="eleven column"].doubling:not(.stackable).row.row>.column,.ui[class*="eleven column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="eleven column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="twelve column"].doubling:not(.stackable).row.row>.column,.ui[class*="twelve column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="twelve column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="thirteen column"].doubling:not(.stackable).row.row>.column,.ui[class*="thirteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="thirteen column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="fourteen column"].doubling:not(.stackable).row.row>.column,.ui[class*="fourteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="fourteen column"].doubling:not(.stackable).grid>.row>.column{width:25%!important}.ui.grid>[class*="fifteen column"].doubling:not(.stackable).row.row>.column,.ui[class*="fifteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="fifteen column"].doubling:not(.stackable).grid>.row>.column{width:25%!important}.ui.grid>[class*="sixteen column"].doubling:not(.stackable).row.row>.column,.ui[class*="sixteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="sixteen column"].doubling:not(.stackable).grid>.row>.column{width:25%!important}}@media only screen and (max-width:767px){.ui.stackable.grid{width:auto;margin-left:0!important;margin-right:0!important}.ui.grid>.stackable.stackable.row>.column,.ui.stackable.grid>.column.grid>.column,.ui.stackable.grid>.column.row>.column,.ui.stackable.grid>.column:not(.row),.ui.stackable.grid>.row>.column,.ui.stackable.grid>.row>.wide.column,.ui.stackable.grid>.wide.column{width:100%!important;margin:0 0!important;box-shadow:none!important;padding:1rem 1rem!important}.ui.stackable.grid:not(.vertically)>.row{margin:0;padding:0}.ui.container>.ui.stackable.grid>.column,.ui.container>.ui.stackable.grid>.row>.column{padding-left:0!important;padding-right:0!important}.ui.grid .ui.stackable.grid,.ui.segment:not(.vertical) .ui.stackable.page.grid{margin-left:-1rem!important;margin-right:-1rem!important}.ui.stackable.celled.grid>.column:not(.row):first-child,.ui.stackable.celled.grid>.row:first-child>.column:first-child,.ui.stackable.divided.grid>.column:not(.row):first-child,.ui.stackable.divided.grid>.row:first-child>.column:first-child{border-top:none!important}.ui.inverted.stackable.celled.grid>.column:not(.row),.ui.inverted.stackable.celled.grid>.row>.column,.ui.inverted.stackable.divided.grid>.column:not(.row),.ui.inverted.stackable.divided.grid>.row>.column{border-top:1px solid rgba(255,255,255,.1)}.ui.stackable.celled.grid>.column:not(.row),.ui.stackable.celled.grid>.row>.column,.ui.stackable.divided:not(.vertically).grid>.column:not(.row),.ui.stackable.divided:not(.vertically).grid>.row>.column{border-top:1px solid rgba(34,36,38,.15);box-shadow:none!important;padding-top:2rem!important;padding-bottom:2rem!important}.ui.stackable.celled.grid>.row{box-shadow:none!important}.ui.stackable.divided:not(.vertically).grid>.column:not(.row),.ui.stackable.divided:not(.vertically).grid>.row>.column{padding-left:0!important;padding-right:0!important}}@media only screen and (max-width:767px){.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.mobile),.ui.grid.grid.grid>[class*="tablet only"].column:not(.mobile),.ui.grid.grid.grid>[class*="tablet only"].row:not(.mobile),.ui[class*="tablet only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="computer only"].column:not(.mobile),.ui.grid.grid.grid>[class*="computer only"].column:not(.mobile),.ui.grid.grid.grid>[class*="computer only"].row:not(.mobile),.ui[class*="computer only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].row:not(.mobile),.ui[class*="large screen only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.tablet),.ui.grid.grid.grid>[class*="mobile only"].column:not(.tablet),.ui.grid.grid.grid>[class*="mobile only"].row:not(.tablet),.ui[class*="mobile only"].grid.grid.grid:not(.tablet){display:none!important}.ui.grid.grid.grid>.row>[class*="computer only"].column:not(.tablet),.ui.grid.grid.grid>[class*="computer only"].column:not(.tablet),.ui.grid.grid.grid>[class*="computer only"].row:not(.tablet),.ui[class*="computer only"].grid.grid.grid:not(.tablet){display:none!important}.ui.grid.grid.grid>.row>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].row:not(.mobile),.ui[class*="large screen only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].row:not(.computer),.ui[class*="mobile only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].row:not(.computer),.ui[class*="tablet only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].row:not(.mobile),.ui[class*="large screen only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].row:not(.computer),.ui[class*="mobile only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].row:not(.computer),.ui[class*="tablet only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:1920px){.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].row:not(.computer),.ui[class*="mobile only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].row:not(.computer),.ui[class*="tablet only"].grid.grid.grid:not(.computer){display:none!important}}.ui.menu{display:flex;margin:1rem 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;background:#fff;font-weight:400;border:1px solid rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15);border-radius:.28571429rem;min-height:2.85714286em}.ui.menu:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.menu:first-child{margin-top:0}.ui.menu:last-child{margin-bottom:0}.ui.menu .menu{margin:0}.ui.menu:not(.vertical)>.menu{display:flex}.ui.menu:not(.vertical) .item{display:flex;align-items:center}.ui.menu .item{position:relative;vertical-align:middle;line-height:1;text-decoration:none;-webkit-tap-highlight-color:transparent;flex:0 0 auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:0 0;padding:.92857143em 1.14285714em;text-transform:none;color:rgba(0,0,0,.87);font-weight:400;transition:background .1s ease,box-shadow .1s ease,color .1s ease}.ui.menu>.item:first-child{border-radius:.28571429rem 0 0 .28571429rem}.ui.menu .item:before{position:absolute;content:'';top:0;right:0;height:100%;width:1px;background:rgba(34,36,38,.1)}.ui.menu .item>a:not(.ui),.ui.menu .item>p:only-child,.ui.menu .text.item>*{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;line-height:1.3}.ui.menu .item>p:first-child{margin-top:0}.ui.menu .item>p:last-child{margin-bottom:0}.ui.menu .item>i.icon{opacity:.9;float:none;margin:0 .35714286em 0 0}.ui.menu:not(.vertical) .item>.button{position:relative;top:0;margin:-.5em 0;padding-bottom:.78571429em;padding-top:.78571429em;font-size:1em}.ui.menu>.container,.ui.menu>.grid{display:flex;align-items:inherit;flex-direction:inherit}.ui.menu .item>.input{width:100%}.ui.menu:not(.vertical) .item>.input{position:relative;top:0;margin:-.5em 0}.ui.menu .item>.input input{font-size:1em;padding-top:.57142857em;padding-bottom:.57142857em}.ui.menu .header.item,.ui.vertical.menu .header.item{margin:0;background:'';text-transform:normal;font-weight:700}.ui.vertical.menu .item>.header:not(.ui){margin:0 0 .5em;font-size:1em;font-weight:700}.ui.menu .item>i.dropdown.icon{padding:0;float:right;margin:0 0 0 1em}.ui.menu .dropdown.item .menu{min-width:calc(100% - 1px);border-radius:0 0 .28571429rem .28571429rem;background:#fff;margin:0 0 0;box-shadow:0 1px 3px 0 rgba(0,0,0,.08);flex-direction:column!important}.ui.menu .ui.dropdown .menu>.item{margin:0;text-align:left;font-size:1em!important;padding:.78571429em 1.14285714em!important;background:0 0!important;color:rgba(0,0,0,.87)!important;text-transform:none!important;font-weight:400!important;box-shadow:none!important;transition:none!important}.ui.menu .ui.dropdown .menu>.item:hover{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.95)!important}.ui.menu .ui.dropdown .menu>.selected.item{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.95)!important}.ui.menu .ui.dropdown .menu>.active.item{background:rgba(0,0,0,.03)!important;font-weight:700!important;color:rgba(0,0,0,.95)!important}.ui.menu .ui.dropdown.item .menu .item:not(.filtered){display:block}.ui.menu .ui.dropdown .menu>.item .icon:not(.dropdown){display:inline-block;font-size:1em!important;float:none;margin:0 .75em 0 0!important}.ui.secondary.menu .dropdown.item>.menu,.ui.text.menu .dropdown.item>.menu{border-radius:.28571429rem;margin-top:.35714286em}.ui.menu .pointing.dropdown.item .menu{margin-top:.75em}.ui.inverted.menu .search.dropdown.item>.search,.ui.inverted.menu .search.dropdown.item>.text{color:rgba(255,255,255,.9)}.ui.vertical.menu .dropdown.item>.icon{float:right;content:"\f0da";margin-left:1em}.ui.vertical.menu .dropdown.item .menu{left:100%;min-width:0;margin:0;box-shadow:0 1px 3px 0 rgba(0,0,0,.08);border-radius:0 .28571429rem .28571429rem .28571429rem}.ui.vertical.menu .dropdown.item.upward .menu{bottom:0}.ui.vertical.menu .dropdown.item:not(.upward) .menu{top:0}.ui.vertical.menu .active.dropdown.item{border-top-right-radius:0;border-bottom-right-radius:0}.ui.vertical.menu .dropdown.active.item{box-shadow:none}.ui.item.menu .dropdown .menu .item{width:100%}.ui.menu .item>.label{background:#999;color:#fff;margin-left:1em;padding:.3em .78571429em}.ui.vertical.menu .item>.label{background:#999;color:#fff;margin-top:-.15em;margin-bottom:-.15em;padding:.3em .78571429em}.ui.menu .item>.floating.label{padding:.3em .78571429em}.ui.menu .item>img:not(.ui){display:inline-block;vertical-align:middle;margin:-.3em 0;width:2.5em}.ui.vertical.menu .item>img:not(.ui):only-child{display:block;max-width:100%;width:auto}.ui.menu .list .item:before{background:0 0!important}.ui.vertical.sidebar.menu>.item:first-child:before{display:block!important}.ui.vertical.sidebar.menu>.item::before{top:auto;bottom:0}@media only screen and (max-width:767px){.ui.menu>.ui.container{width:100%!important;margin-left:0!important;margin-right:0!important}}@media only screen and (min-width:768px){.ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless)>.container>.item:not(.right):not(.borderless):first-child{border-left:1px solid rgba(34,36,38,.1)}}.ui.link.menu .item:hover,.ui.menu .dropdown.item:hover,.ui.menu .link.item:hover,.ui.menu a.item:hover{cursor:pointer;background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.link.menu .item:active,.ui.menu .link.item:active,.ui.menu a.item:active{background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.menu .active.item{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);font-weight:400;box-shadow:none}.ui.menu .active.item>i.icon{opacity:1}.ui.menu .active.item:hover,.ui.vertical.menu .active.item:hover{background-color:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.menu .item.disabled,.ui.menu .item.disabled:hover{cursor:default!important;background-color:transparent!important;color:rgba(40,40,40,.3)!important}.ui.menu:not(.vertical) .left.item,.ui.menu:not(.vertical) :not(.dropdown)>.left.menu{display:flex;margin-right:auto!important}.ui.menu:not(.vertical) .right.item,.ui.menu:not(.vertical) .right.menu{display:flex;margin-left:auto!important}.ui.menu .right.item::before,.ui.menu .right.menu>.item::before{right:auto;left:0}.ui.vertical.menu{display:block;flex-direction:column;background:#fff;box-shadow:0 1px 2px 0 rgba(34,36,38,.15)}.ui.vertical.menu .item{display:block;background:0 0;border-top:none;border-right:none}.ui.vertical.menu>.item:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.menu>.item:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.menu .item>.label{float:right;text-align:center}.ui.vertical.menu .item>i.icon{width:1.18em;float:right;margin:0 0 0 .5em}.ui.vertical.menu .item>.label+i.icon{float:none;margin:0 .5em 0 0}.ui.vertical.menu .item:before{position:absolute;content:'';top:0;left:0;width:100%;height:1px;background:rgba(34,36,38,.1)}.ui.vertical.menu .item:first-child:before{display:none!important}.ui.vertical.menu .item>.menu{margin:.5em -1.14285714em 0}.ui.vertical.menu .menu .item{background:0 0;padding:.5em 1.33333333em;font-size:.85714286em;color:rgba(0,0,0,.5)}.ui.vertical.menu .item .menu .link.item:hover,.ui.vertical.menu .item .menu a.item:hover{color:rgba(0,0,0,.85)}.ui.vertical.menu .menu .item:before{display:none}.ui.vertical.menu .active.item{background:rgba(0,0,0,.05);border-radius:0;box-shadow:none}.ui.vertical.menu>.active.item:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.menu>.active.item:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.menu>.active.item:only-child{border-radius:.28571429rem}.ui.vertical.menu .active.item .menu .active.item{border-left:none}.ui.vertical.menu .item .menu .active.item{background-color:transparent;font-weight:700;color:rgba(0,0,0,.95)}.ui.tabular.menu{border-radius:0;box-shadow:none!important;border:none;background:none transparent;border-bottom:1px solid #d4d4d5}.ui.tabular.fluid.menu{width:calc(100% + (1px * 2))!important}.ui.tabular.menu .item{background:0 0;border-bottom:none;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;padding:.92857143em 1.42857143em;color:rgba(0,0,0,.87)}.ui.tabular.menu .item:before{display:none}.ui.tabular.menu .item:hover{background-color:transparent;color:rgba(0,0,0,.8)}.ui.tabular.menu .active.item{background:none #fff;color:rgba(0,0,0,.95);border-top-width:1px;border-color:#d4d4d5;font-weight:700;margin-bottom:-1px;box-shadow:none;border-radius:.28571429rem .28571429rem 0 0!important}.ui.tabular.menu+.attached:not(.top).segment,.ui.tabular.menu+.attached:not(.top).segment+.attached:not(.top).segment{border-top:none;margin-left:0;margin-top:0;margin-right:0;width:100%}.top.attached.segment+.ui.bottom.tabular.menu{position:relative;width:calc(100% + (1px * 2));left:-1px}.ui.bottom.tabular.menu{background:none transparent;border-radius:0;box-shadow:none!important;border-bottom:none;border-top:1px solid #d4d4d5}.ui.bottom.tabular.menu .item{background:0 0;border-left:1px solid transparent;border-right:1px solid transparent;border-bottom:1px solid transparent;border-top:none}.ui.bottom.tabular.menu .active.item{background:none #fff;color:rgba(0,0,0,.95);border-color:#d4d4d5;margin:-1px 0 0 0;border-radius:0 0 .28571429rem .28571429rem!important}.ui.vertical.tabular.menu{background:none transparent;border-radius:0;box-shadow:none!important;border-bottom:none;border-right:1px solid #d4d4d5}.ui.vertical.tabular.menu .item{background:0 0;border-left:1px solid transparent;border-bottom:1px solid transparent;border-top:1px solid transparent;border-right:none}.ui.vertical.tabular.menu .active.item{background:none #fff;color:rgba(0,0,0,.95);border-color:#d4d4d5;margin:0 -1px 0 0;border-radius:.28571429rem 0 0 .28571429rem!important}.ui.vertical.right.tabular.menu{background:none transparent;border-radius:0;box-shadow:none!important;border-bottom:none;border-right:none;border-left:1px solid #d4d4d5}.ui.vertical.right.tabular.menu .item{background:0 0;border-right:1px solid transparent;border-bottom:1px solid transparent;border-top:1px solid transparent;border-left:none}.ui.vertical.right.tabular.menu .active.item{background:none #fff;color:rgba(0,0,0,.95);border-color:#d4d4d5;margin:0 0 0 -1px;border-radius:0 .28571429rem .28571429rem 0!important}.ui.tabular.menu .active.dropdown.item{margin-bottom:0;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;border-bottom:none}.ui.pagination.menu{margin:0;display:inline-flex;vertical-align:middle}.ui.pagination.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.compact.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.pagination.menu .item:last-child:before{display:none}.ui.pagination.menu .item{min-width:3em;text-align:center}.ui.pagination.menu .icon.item i.icon{vertical-align:top}.ui.pagination.menu .active.item{border-top:none;padding-top:.92857143em;background-color:rgba(0,0,0,.05);color:rgba(0,0,0,.95);box-shadow:none}.ui.secondary.menu{background:0 0;margin-left:-.35714286em;margin-right:-.35714286em;border-radius:0;border:none;box-shadow:none}.ui.secondary.menu .item{align-self:center;box-shadow:none;border:none;padding:.78571429em .92857143em;margin:0 .35714286em;background:0 0;transition:color .1s ease;border-radius:.28571429rem}.ui.secondary.menu .item:before{display:none!important}.ui.secondary.menu .header.item{border-radius:0;border-right:none;background:none transparent}.ui.secondary.menu .item>img:not(.ui){margin:0}.ui.secondary.menu .dropdown.item:hover,.ui.secondary.menu .link.item:hover,.ui.secondary.menu a.item:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.secondary.menu .active.item{box-shadow:none;background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);border-radius:.28571429rem}.ui.secondary.menu .active.item:hover{box-shadow:none;background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.secondary.inverted.menu .link.item,.ui.secondary.inverted.menu a.item{color:rgba(255,255,255,.7)!important}.ui.secondary.inverted.menu .dropdown.item:hover,.ui.secondary.inverted.menu .link.item:hover,.ui.secondary.inverted.menu a.item:hover{background:rgba(255,255,255,.08);color:#fff!important}.ui.secondary.inverted.menu .active.item{background:rgba(255,255,255,.15);color:#fff!important}.ui.secondary.item.menu{margin-left:0;margin-right:0}.ui.secondary.item.menu .item:last-child{margin-right:0}.ui.secondary.attached.menu{box-shadow:none}.ui.vertical.secondary.menu .item:not(.dropdown)>.menu{margin:0 -.92857143em}.ui.vertical.secondary.menu .item:not(.dropdown)>.menu>.item{margin:0;padding:.5em 1.33333333em}.ui.secondary.vertical.menu>.item{border:none;margin:0 0 .35714286em;border-radius:.28571429rem!important}.ui.secondary.vertical.menu>.header.item{border-radius:0}.ui.vertical.secondary.menu .item>.menu .item{background-color:transparent}.ui.secondary.inverted.menu{background-color:transparent}.ui.secondary.pointing.menu{margin-left:0;margin-right:0;border-bottom:2px solid rgba(34,36,38,.15)}.ui.secondary.pointing.menu .item{border-bottom-color:transparent;border-bottom-style:solid;border-radius:0;align-self:flex-end;margin:0 0 -2px;padding:.85714286em 1.14285714em;border-bottom-width:2px;transition:color .1s ease}.ui.secondary.pointing.menu .header.item{color:rgba(0,0,0,.85)!important}.ui.secondary.pointing.menu .text.item{box-shadow:none!important}.ui.secondary.pointing.menu .item:after{display:none}.ui.secondary.pointing.menu .dropdown.item:hover,.ui.secondary.pointing.menu .link.item:hover,.ui.secondary.pointing.menu a.item:hover{background-color:transparent;color:rgba(0,0,0,.87)}.ui.secondary.pointing.menu .dropdown.item:active,.ui.secondary.pointing.menu .link.item:active,.ui.secondary.pointing.menu a.item:active{background-color:transparent;border-color:rgba(34,36,38,.15)}.ui.secondary.pointing.menu .active.item{background-color:transparent;box-shadow:none;border-color:#1b1c1d;font-weight:700;color:rgba(0,0,0,.95)}.ui.secondary.pointing.menu .active.item:hover{border-color:#1b1c1d;color:rgba(0,0,0,.95)}.ui.secondary.pointing.menu .active.dropdown.item{border-color:transparent}.ui.secondary.vertical.pointing.menu{border-bottom-width:0;border-right-width:2px;border-right-style:solid;border-right-color:rgba(34,36,38,.15)}.ui.secondary.vertical.pointing.menu .item{border-bottom:none;border-right-style:solid;border-right-color:transparent;border-radius:0!important;margin:0 -2px 0 0;border-right-width:2px}.ui.secondary.vertical.pointing.menu .active.item{border-color:#1b1c1d}.ui.secondary.inverted.pointing.menu{border-color:rgba(255,255,255,.1)}.ui.secondary.inverted.pointing.menu{border-width:2px;border-color:rgba(34,36,38,.15)}.ui.secondary.inverted.pointing.menu .item{color:rgba(255,255,255,.9)}.ui.secondary.inverted.pointing.menu .header.item{color:#fff!important}.ui.secondary.inverted.pointing.menu .link.item:hover,.ui.secondary.inverted.pointing.menu a.item:hover{color:rgba(0,0,0,.95)}.ui.secondary.inverted.pointing.menu .active.item{border-color:#fff;color:#fff}.ui.text.menu{background:none transparent;border-radius:0;box-shadow:none;border:none;margin:1em -.5em}.ui.text.menu .item{border-radius:0;box-shadow:none;align-self:center;margin:0 0;padding:.35714286em .5em;font-weight:400;color:rgba(0,0,0,.6);transition:opacity .1s ease}.ui.text.menu .item:before,.ui.text.menu .menu .item:before{display:none!important}.ui.text.menu .header.item{background-color:transparent;opacity:1;color:rgba(0,0,0,.85);font-size:.92857143em;text-transform:uppercase;font-weight:700}.ui.text.menu .item>img:not(.ui){margin:0}.ui.text.item.menu .item{margin:0}.ui.vertical.text.menu{margin:1em 0}.ui.vertical.text.menu:first-child{margin-top:0}.ui.vertical.text.menu:last-child{margin-bottom:0}.ui.vertical.text.menu .item{margin:.57142857em 0;padding-left:0;padding-right:0}.ui.vertical.text.menu .item>i.icon{float:none;margin:0 .35714286em 0 0}.ui.vertical.text.menu .header.item{margin:.57142857em 0 .71428571em}.ui.vertical.text.menu .item:not(.dropdown)>.menu{margin:0}.ui.vertical.text.menu .item:not(.dropdown)>.menu>.item{margin:0;padding:.5em 0}.ui.text.menu .item:hover{opacity:1;background-color:transparent}.ui.text.menu .active.item{background-color:transparent;border:none;box-shadow:none;font-weight:400;color:rgba(0,0,0,.95)}.ui.text.menu .active.item:hover{background-color:transparent}.ui.text.pointing.menu .active.item:after{box-shadow:none}.ui.text.attached.menu{box-shadow:none}.ui.inverted.text.menu,.ui.inverted.text.menu .active.item,.ui.inverted.text.menu .item,.ui.inverted.text.menu .item:hover{background-color:transparent!important}.ui.fluid.text.menu{margin-left:0;margin-right:0}.ui.vertical.icon.menu{display:inline-block;width:auto}.ui.icon.menu .item{height:auto;text-align:center;color:#1b1c1d}.ui.icon.menu .item>.icon:not(.dropdown){margin:0;opacity:1}.ui.icon.menu .icon:before{opacity:1}.ui.menu .icon.item>.icon{width:auto;margin:0 auto}.ui.vertical.icon.menu .item>.icon:not(.dropdown){display:block;opacity:1;margin:0 auto;float:none}.ui.inverted.icon.menu .item{color:#fff}.ui.labeled.icon.menu{text-align:center}.ui.labeled.icon.menu .item{min-width:6em;flex-direction:column}.ui.labeled.icon.menu .item>.icon:not(.dropdown){height:1em;display:block;font-size:1.71428571em!important;margin:0 auto .5rem!important}.ui.fluid.labeled.icon.menu>.item{min-width:0}@media only screen and (max-width:767px){.ui.stackable.menu{flex-direction:column}.ui.stackable.menu .item{width:100%!important}.ui.stackable.menu .item:before{position:absolute;content:'';top:auto;bottom:0;left:0;width:100%;height:1px;background:rgba(34,36,38,.1)}.ui.stackable.menu .left.item,.ui.stackable.menu .left.menu{margin-right:0!important}.ui.stackable.menu .right.item,.ui.stackable.menu .right.menu{margin-left:0!important}.ui.stackable.menu .left.menu,.ui.stackable.menu .right.menu{flex-direction:column}}.ui.menu .red.active.item,.ui.red.menu .active.item{border-color:#db2828!important;color:#db2828!important}.ui.menu .orange.active.item,.ui.orange.menu .active.item{border-color:#f2711c!important;color:#f2711c!important}.ui.menu .yellow.active.item,.ui.yellow.menu .active.item{border-color:#fbbd08!important;color:#fbbd08!important}.ui.menu .olive.active.item,.ui.olive.menu .active.item{border-color:#b5cc18!important;color:#b5cc18!important}.ui.green.menu .active.item,.ui.menu .green.active.item{border-color:#21ba45!important;color:#21ba45!important}.ui.menu .teal.active.item,.ui.teal.menu .active.item{border-color:#00b5ad!important;color:#00b5ad!important}.ui.blue.menu .active.item,.ui.menu .blue.active.item{border-color:#2185d0!important;color:#2185d0!important}.ui.menu .violet.active.item,.ui.violet.menu .active.item{border-color:#6435c9!important;color:#6435c9!important}.ui.menu .purple.active.item,.ui.purple.menu .active.item{border-color:#a333c8!important;color:#a333c8!important}.ui.menu .pink.active.item,.ui.pink.menu .active.item{border-color:#e03997!important;color:#e03997!important}.ui.brown.menu .active.item,.ui.menu .brown.active.item{border-color:#a5673f!important;color:#a5673f!important}.ui.grey.menu .active.item,.ui.menu .grey.active.item{border-color:#767676!important;color:#767676!important}.ui.inverted.menu{border:0 solid transparent;background:#1b1c1d;box-shadow:none}.ui.inverted.menu .item,.ui.inverted.menu .item>a:not(.ui){background:0 0;color:rgba(255,255,255,.9)}.ui.inverted.menu .item.menu{background:0 0}.ui.inverted.menu .item:before{background:rgba(255,255,255,.08)}.ui.vertical.inverted.menu .item:before{background:rgba(255,255,255,.08)}.ui.vertical.inverted.menu .menu .item,.ui.vertical.inverted.menu .menu .item a:not(.ui){color:rgba(255,255,255,.5)}.ui.inverted.menu .header.item{margin:0;background:0 0;box-shadow:none}.ui.inverted.menu .item.disabled,.ui.inverted.menu .item.disabled:hover{color:rgba(225,225,225,.3)}.ui.inverted.menu .dropdown.item:hover,.ui.inverted.menu .link.item:hover,.ui.inverted.menu a.item:hover,.ui.link.inverted.menu .item:hover{background:rgba(255,255,255,.08);color:#fff}.ui.vertical.inverted.menu .item .menu .link.item:hover,.ui.vertical.inverted.menu .item .menu a.item:hover{background:0 0;color:#fff}.ui.inverted.menu .link.item:active,.ui.inverted.menu a.item:active{background:rgba(255,255,255,.08);color:#fff}.ui.inverted.menu .active.item{background:rgba(255,255,255,.15);color:#fff!important}.ui.inverted.vertical.menu .item .menu .active.item{background:0 0;color:#fff}.ui.inverted.pointing.menu .active.item:after{background:#3d3e3f!important;margin:0!important;box-shadow:none!important;border:none!important}.ui.inverted.menu .active.item:hover{background:rgba(255,255,255,.15);color:#fff!important}.ui.inverted.pointing.menu .active.item:hover:after{background:#3d3e3f!important}.ui.floated.menu{float:left;margin:0 .5rem 0 0}.ui.floated.menu .item:last-child:before{display:none}.ui.right.floated.menu{float:right;margin:0 0 0 .5rem}.ui.inverted.menu .red.active.item,.ui.inverted.red.menu{background-color:#db2828}.ui.inverted.red.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.red.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .orange.active.item,.ui.inverted.orange.menu{background-color:#f2711c}.ui.inverted.orange.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.orange.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .yellow.active.item,.ui.inverted.yellow.menu{background-color:#fbbd08}.ui.inverted.yellow.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.yellow.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .olive.active.item,.ui.inverted.olive.menu{background-color:#b5cc18}.ui.inverted.olive.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.olive.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.green.menu,.ui.inverted.menu .green.active.item{background-color:#21ba45}.ui.inverted.green.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.green.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .teal.active.item,.ui.inverted.teal.menu{background-color:#00b5ad}.ui.inverted.teal.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.teal.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.blue.menu,.ui.inverted.menu .blue.active.item{background-color:#2185d0}.ui.inverted.blue.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.blue.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .violet.active.item,.ui.inverted.violet.menu{background-color:#6435c9}.ui.inverted.violet.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.violet.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .purple.active.item,.ui.inverted.purple.menu{background-color:#a333c8}.ui.inverted.purple.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.purple.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .pink.active.item,.ui.inverted.pink.menu{background-color:#e03997}.ui.inverted.pink.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.pink.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.brown.menu,.ui.inverted.menu .brown.active.item{background-color:#a5673f}.ui.inverted.brown.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.brown.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.grey.menu,.ui.inverted.menu .grey.active.item{background-color:#767676}.ui.inverted.grey.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.grey.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.fitted.menu .item,.ui.fitted.menu .item .menu .item,.ui.menu .fitted.item{padding:0}.ui.horizontally.fitted.menu .item,.ui.horizontally.fitted.menu .item .menu .item,.ui.menu .horizontally.fitted.item{padding-top:.92857143em;padding-bottom:.92857143em}.ui.menu .vertically.fitted.item,.ui.vertically.fitted.menu .item,.ui.vertically.fitted.menu .item .menu .item{padding-left:1.14285714em;padding-right:1.14285714em}.ui.borderless.menu .item .menu .item:before,.ui.borderless.menu .item:before,.ui.menu .borderless.item:before{background:0 0!important}.ui.compact.menu{display:inline-flex;margin:0;vertical-align:middle}.ui.compact.vertical.menu{display:inline-block}.ui.compact.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.compact.menu .item:last-child:before{display:none}.ui.compact.vertical.menu{width:auto!important}.ui.compact.vertical.menu .item:last-child::before{display:block}.ui.menu.fluid,.ui.vertical.menu.fluid{width:100%!important}.ui.item.menu,.ui.item.menu .item{width:100%;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important;text-align:center;justify-content:center}.ui.attached.item.menu{margin:0 -1px!important}.ui.item.menu .item:last-child:before{display:none}.ui.menu.two.item .item{width:50%}.ui.menu.three.item .item{width:33.333%}.ui.menu.four.item .item{width:25%}.ui.menu.five.item .item{width:20%}.ui.menu.six.item .item{width:16.666%}.ui.menu.seven.item .item{width:14.285%}.ui.menu.eight.item .item{width:12.5%}.ui.menu.nine.item .item{width:11.11%}.ui.menu.ten.item .item{width:10%}.ui.menu.eleven.item .item{width:9.09%}.ui.menu.twelve.item .item{width:8.333%}.ui.menu.fixed{position:fixed;z-index:101;margin:0;width:100%}.ui.menu.fixed,.ui.menu.fixed .item:first-child,.ui.menu.fixed .item:last-child{border-radius:0!important}.ui.fixed.menu,.ui[class*="top fixed"].menu{top:0;left:0;right:auto;bottom:auto}.ui[class*="top fixed"].menu{border-top:none;border-left:none;border-right:none}.ui[class*="right fixed"].menu{border-top:none;border-bottom:none;border-right:none;top:0;right:0;left:auto;bottom:auto;width:auto;height:100%}.ui[class*="bottom fixed"].menu{border-bottom:none;border-left:none;border-right:none;bottom:0;left:0;top:auto;right:auto}.ui[class*="left fixed"].menu{border-top:none;border-bottom:none;border-left:none;top:0;left:0;right:auto;bottom:auto;width:auto;height:100%}.ui.fixed.menu+.ui.grid{padding-top:2.75rem}.ui.pointing.menu .item:after{visibility:hidden;position:absolute;content:'';top:100%;left:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);background:0 0;margin:.5px 0 0;width:.57142857em;height:.57142857em;border:none;border-bottom:1px solid #d4d4d5;border-right:1px solid #d4d4d5;z-index:2;transition:background .1s ease}.ui.vertical.pointing.menu .item:after{position:absolute;top:50%;right:0;bottom:auto;left:auto;transform:translateX(50%) translateY(-50%) rotate(45deg);margin:0 -.5px 0 0;border:none;border-top:1px solid #d4d4d5;border-right:1px solid #d4d4d5}.ui.pointing.menu .active.item:after{visibility:visible}.ui.pointing.menu .active.dropdown.item:after{visibility:hidden}.ui.pointing.menu .active.item .menu .active.item:after,.ui.pointing.menu .dropdown.active.item:after{display:none}.ui.pointing.menu .active.item:hover:after{background-color:#f2f2f2}.ui.pointing.menu .active.item:after{background-color:#f2f2f2}.ui.pointing.menu .active.item:hover:after{background-color:#f2f2f2}.ui.vertical.pointing.menu .active.item:hover:after{background-color:#f2f2f2}.ui.vertical.pointing.menu .active.item:after{background-color:#f2f2f2}.ui.vertical.pointing.menu .menu .active.item:after{background-color:#fff}.ui.attached.menu{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% - (-1px * 2));max-width:calc(100% - (-1px * 2));box-shadow:none}.ui.attached+.ui.attached.menu:not(.top){border-top:none}.ui[class*="top attached"].menu{bottom:0;margin-bottom:0;top:0;margin-top:1rem;border-radius:.28571429rem .28571429rem 0 0}.ui.menu[class*="top attached"]:first-child{margin-top:0}.ui[class*="bottom attached"].menu{bottom:0;margin-top:0;top:0;margin-bottom:1rem;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui[class*="bottom attached"].menu:last-child{margin-bottom:0}.ui.top.attached.menu>.item:first-child{border-radius:.28571429rem 0 0 0}.ui.bottom.attached.menu>.item:first-child{border-radius:0 0 0 .28571429rem}.ui.attached.menu:not(.tabular){border:1px solid #d4d4d5}.ui.attached.inverted.menu{border:none}.ui.attached.tabular.menu{margin-left:0;margin-right:0;width:100%}.ui.mini.menu{font-size:.78571429rem}.ui.mini.vertical.menu{width:9rem}.ui.tiny.menu{font-size:.85714286rem}.ui.tiny.vertical.menu{width:11rem}.ui.small.menu{font-size:.92857143rem}.ui.small.vertical.menu{width:13rem}.ui.menu{font-size:1rem}.ui.vertical.menu{width:15rem}.ui.large.menu{font-size:1.07142857rem}.ui.large.vertical.menu{width:18rem}.ui.huge.menu{font-size:1.21428571rem}.ui.huge.vertical.menu{width:22rem}.ui.big.menu{font-size:1.14285714rem}.ui.big.vertical.menu{width:20rem}.ui.massive.menu{font-size:1.28571429rem}.ui.massive.vertical.menu{width:25rem}/*! + * # Semantic UI 2.5.0 - Message + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.message{position:relative;min-height:1em;margin:1em 0;background:#f8f8f9;padding:1em 1.5em;line-height:1.4285em;color:rgba(0,0,0,.87);transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease;border-radius:.28571429rem;box-shadow:0 0 0 1px rgba(34,36,38,.22) inset,0 0 0 0 transparent}.ui.message:first-child{margin-top:0}.ui.message:last-child{margin-bottom:0}.ui.message .header{display:block;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;margin:-.14285714em 0 0 0}.ui.message .header:not(.ui){font-size:1.14285714em}.ui.message p{opacity:.85;margin:.75em 0}.ui.message p:first-child{margin-top:0}.ui.message p:last-child{margin-bottom:0}.ui.message .header+p{margin-top:.25em}.ui.message .list:not(.ui){text-align:left;padding:0;opacity:.85;list-style-position:inside;margin:.5em 0 0}.ui.message .list:not(.ui):first-child{margin-top:0}.ui.message .list:not(.ui):last-child{margin-bottom:0}.ui.message .list:not(.ui) li{position:relative;list-style-type:none;margin:0 0 .3em 1em;padding:0}.ui.message .list:not(.ui) li:before{position:absolute;content:'•';left:-1em;height:100%;vertical-align:baseline}.ui.message .list:not(.ui) li:last-child{margin-bottom:0}.ui.message>.icon{margin-right:.6em}.ui.message>.close.icon{cursor:pointer;position:absolute;margin:0;top:.78575em;right:.5em;opacity:.7;transition:opacity .1s ease}.ui.message>.close.icon:hover{opacity:1}.ui.message>:first-child{margin-top:0}.ui.message>:last-child{margin-bottom:0}.ui.dropdown .menu>.message{margin:0 -1px}.ui.visible.visible.visible.visible.message{display:block}.ui.icon.visible.visible.visible.visible.message{display:flex}.ui.hidden.hidden.hidden.hidden.message{display:none}.ui.compact.message{display:inline-block}.ui.compact.icon.message{display:inline-flex}.ui.attached.message{margin-bottom:-1px;border-radius:.28571429rem .28571429rem 0 0;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset;margin-left:-1px;margin-right:-1px}.ui.attached+.ui.attached.message:not(.top):not(.bottom){margin-top:-1px;border-radius:0}.ui.bottom.attached.message{margin-top:-1px;border-radius:0 0 .28571429rem .28571429rem;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset,0 1px 2px 0 rgba(34,36,38,.15)}.ui.bottom.attached.message:not(:last-child){margin-bottom:1em}.ui.attached.icon.message{width:auto}.ui.icon.message{display:flex;width:100%;align-items:center}.ui.icon.message>.icon:not(.close){display:block;flex:0 0 auto;width:auto;line-height:1;vertical-align:middle;font-size:3em;opacity:.8}.ui.icon.message>.content{display:block;flex:1 1 auto;vertical-align:middle}.ui.icon.message .icon:not(.close)+.content{padding-left:0}.ui.icon.message .circular.icon{width:1em}.ui.floating.message{box-shadow:0 0 0 1px rgba(34,36,38,.22) inset,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.black.message{background-color:#1b1c1d;color:rgba(255,255,255,.9)}.ui.positive.message{background-color:#fcfff5;color:#2c662d}.ui.attached.positive.message,.ui.positive.message{box-shadow:0 0 0 1px #a3c293 inset,0 0 0 0 transparent}.ui.positive.message .header{color:#1a531b}.ui.negative.message{background-color:#fff6f6;color:#9f3a38}.ui.attached.negative.message,.ui.negative.message{box-shadow:0 0 0 1px #e0b4b4 inset,0 0 0 0 transparent}.ui.negative.message .header{color:#912d2b}.ui.info.message{background-color:#f8ffff;color:#276f86}.ui.attached.info.message,.ui.info.message{box-shadow:0 0 0 1px #a9d5de inset,0 0 0 0 transparent}.ui.info.message .header{color:#0e566c}.ui.warning.message{background-color:#fffaf3;color:#573a08}.ui.attached.warning.message,.ui.warning.message{box-shadow:0 0 0 1px #c9ba9b inset,0 0 0 0 transparent}.ui.warning.message .header{color:#794b02}.ui.error.message{background-color:#fff6f6;color:#9f3a38}.ui.attached.error.message,.ui.error.message{box-shadow:0 0 0 1px #e0b4b4 inset,0 0 0 0 transparent}.ui.error.message .header{color:#912d2b}.ui.success.message{background-color:#fcfff5;color:#2c662d}.ui.attached.success.message,.ui.success.message{box-shadow:0 0 0 1px #a3c293 inset,0 0 0 0 transparent}.ui.success.message .header{color:#1a531b}.ui.black.message,.ui.inverted.message{background-color:#1b1c1d;color:rgba(255,255,255,.9)}.ui.red.message{background-color:#ffe8e6;color:#db2828;box-shadow:0 0 0 1px #db2828 inset,0 0 0 0 transparent}.ui.red.message .header{color:#c82121}.ui.orange.message{background-color:#ffedde;color:#f2711c;box-shadow:0 0 0 1px #f2711c inset,0 0 0 0 transparent}.ui.orange.message .header{color:#e7640d}.ui.yellow.message{background-color:#fff8db;color:#b58105;box-shadow:0 0 0 1px #b58105 inset,0 0 0 0 transparent}.ui.yellow.message .header{color:#9c6f04}.ui.olive.message{background-color:#fbfdef;color:#8abc1e;box-shadow:0 0 0 1px #8abc1e inset,0 0 0 0 transparent}.ui.olive.message .header{color:#7aa61a}.ui.green.message{background-color:#e5f9e7;color:#1ebc30;box-shadow:0 0 0 1px #1ebc30 inset,0 0 0 0 transparent}.ui.green.message .header{color:#1aa62a}.ui.teal.message{background-color:#e1f7f7;color:#10a3a3;box-shadow:0 0 0 1px #10a3a3 inset,0 0 0 0 transparent}.ui.teal.message .header{color:#0e8c8c}.ui.blue.message{background-color:#dff0ff;color:#2185d0;box-shadow:0 0 0 1px #2185d0 inset,0 0 0 0 transparent}.ui.blue.message .header{color:#1e77ba}.ui.violet.message{background-color:#eae7ff;color:#6435c9;box-shadow:0 0 0 1px #6435c9 inset,0 0 0 0 transparent}.ui.violet.message .header{color:#5a30b5}.ui.purple.message{background-color:#f6e7ff;color:#a333c8;box-shadow:0 0 0 1px #a333c8 inset,0 0 0 0 transparent}.ui.purple.message .header{color:#922eb4}.ui.pink.message{background-color:#ffe3fb;color:#e03997;box-shadow:0 0 0 1px #e03997 inset,0 0 0 0 transparent}.ui.pink.message .header{color:#dd238b}.ui.brown.message{background-color:#f1e2d3;color:#a5673f;box-shadow:0 0 0 1px #a5673f inset,0 0 0 0 transparent}.ui.brown.message .header{color:#935b38}.ui.mini.message{font-size:.78571429em}.ui.tiny.message{font-size:.85714286em}.ui.small.message{font-size:.92857143em}.ui.message{font-size:1em}.ui.large.message{font-size:1.14285714em}.ui.big.message{font-size:1.28571429em}.ui.huge.message{font-size:1.42857143em}.ui.massive.message{font-size:1.71428571em}/*! + * # Semantic UI 2.5.0 - Table + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.table{width:100%;background:#fff;margin:1em 0;border:1px solid rgba(34,36,38,.15);box-shadow:none;border-radius:.28571429rem;text-align:left;color:rgba(0,0,0,.87);border-collapse:separate;border-spacing:0}.ui.table:first-child{margin-top:0}.ui.table:last-child{margin-bottom:0}.ui.table td,.ui.table th{transition:background .1s ease,color .1s ease}.ui.table thead{box-shadow:none}.ui.table thead th{cursor:auto;background:#f9fafb;text-align:inherit;color:rgba(0,0,0,.87);padding:.92857143em .78571429em;vertical-align:inherit;font-style:none;font-weight:700;text-transform:none;border-bottom:1px solid rgba(34,36,38,.1);border-left:none}.ui.table thead tr>th:first-child{border-left:none}.ui.table thead tr:first-child>th:first-child{border-radius:.28571429rem 0 0 0}.ui.table thead tr:first-child>th:last-child{border-radius:0 .28571429rem 0 0}.ui.table thead tr:first-child>th:only-child{border-radius:.28571429rem .28571429rem 0 0}.ui.table tfoot{box-shadow:none}.ui.table tfoot th{cursor:auto;border-top:1px solid rgba(34,36,38,.15);background:#f9fafb;text-align:inherit;color:rgba(0,0,0,.87);padding:.78571429em .78571429em;vertical-align:middle;font-style:normal;font-weight:400;text-transform:none}.ui.table tfoot tr>th:first-child{border-left:none}.ui.table tfoot tr:first-child>th:first-child{border-radius:0 0 0 .28571429rem}.ui.table tfoot tr:first-child>th:last-child{border-radius:0 0 .28571429rem 0}.ui.table tfoot tr:first-child>th:only-child{border-radius:0 0 .28571429rem .28571429rem}.ui.table tr td{border-top:1px solid rgba(34,36,38,.1)}.ui.table tr:first-child td{border-top:none}.ui.table tbody+tbody tr:first-child td{border-top:1px solid rgba(34,36,38,.1)}.ui.table td{padding:.78571429em .78571429em;text-align:inherit}.ui.table>.icon{vertical-align:baseline}.ui.table>.icon:only-child{margin:0}.ui.table.segment{padding:0}.ui.table.segment:after{display:none}.ui.table.segment.stacked:after{display:block}@media only screen and (max-width:767px){.ui.table:not(.unstackable){width:100%}.ui.table:not(.unstackable) tbody,.ui.table:not(.unstackable) tr,.ui.table:not(.unstackable) tr>td,.ui.table:not(.unstackable) tr>th{width:auto!important;display:block!important}.ui.table:not(.unstackable){padding:0}.ui.table:not(.unstackable) thead{display:block}.ui.table:not(.unstackable) tfoot{display:block}.ui.table:not(.unstackable) tr{padding-top:1em;padding-bottom:1em;box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important}.ui.table:not(.unstackable) tr>td,.ui.table:not(.unstackable) tr>th{background:0 0;border:none!important;padding:.25em .75em!important;box-shadow:none!important}.ui.table:not(.unstackable) td:first-child,.ui.table:not(.unstackable) th:first-child{font-weight:700}.ui.definition.table:not(.unstackable) thead th:first-child{box-shadow:none!important}}.ui.table td .image,.ui.table td .image img,.ui.table th .image,.ui.table th .image img{max-width:none}.ui.structured.table{border-collapse:collapse}.ui.structured.table thead th{border-left:none;border-right:none}.ui.structured.sortable.table thead th{border-left:1px solid rgba(34,36,38,.15);border-right:1px solid rgba(34,36,38,.15)}.ui.structured.basic.table th{border-left:none;border-right:none}.ui.structured.celled.table tr td,.ui.structured.celled.table tr th{border-left:1px solid rgba(34,36,38,.1);border-right:1px solid rgba(34,36,38,.1)}.ui.definition.table thead:not(.full-width) th:first-child{pointer-events:none;background:0 0;font-weight:400;color:rgba(0,0,0,.4);box-shadow:-1px -1px 0 1px #fff}.ui.definition.table tfoot:not(.full-width) th:first-child{pointer-events:none;background:0 0;font-weight:rgba(0,0,0,.4);color:normal;box-shadow:1px 1px 0 1px #fff}.ui.celled.definition.table thead:not(.full-width) th:first-child{box-shadow:0 -1px 0 1px #fff}.ui.celled.definition.table tfoot:not(.full-width) th:first-child{box-shadow:0 1px 0 1px #fff}.ui.definition.table tr td.definition,.ui.definition.table tr td:first-child:not(.ignored){background:rgba(0,0,0,.03);font-weight:700;color:rgba(0,0,0,.95);text-transform:'';box-shadow:'';text-align:'';font-size:1em;padding-left:'';padding-right:''}.ui.definition.table thead:not(.full-width) th:nth-child(2){border-left:1px solid rgba(34,36,38,.15)}.ui.definition.table tfoot:not(.full-width) th:nth-child(2){border-left:1px solid rgba(34,36,38,.15)}.ui.definition.table td:nth-child(2){border-left:1px solid rgba(34,36,38,.15)}.ui.table td.positive,.ui.table tr.positive{box-shadow:0 0 0 #a3c293 inset}.ui.table td.positive,.ui.table tr.positive{background:#fcfff5!important;color:#2c662d!important}.ui.table td.negative,.ui.table tr.negative{box-shadow:0 0 0 #e0b4b4 inset}.ui.table td.negative,.ui.table tr.negative{background:#fff6f6!important;color:#9f3a38!important}.ui.table td.error,.ui.table tr.error{box-shadow:0 0 0 #e0b4b4 inset}.ui.table td.error,.ui.table tr.error{background:#fff6f6!important;color:#9f3a38!important}.ui.table td.warning,.ui.table tr.warning{box-shadow:0 0 0 #c9ba9b inset}.ui.table td.warning,.ui.table tr.warning{background:#fffaf3!important;color:#573a08!important}.ui.table td.active,.ui.table tr.active{box-shadow:0 0 0 rgba(0,0,0,.87) inset}.ui.table td.active,.ui.table tr.active{background:#e0e0e0!important;color:rgba(0,0,0,.87)!important}.ui.table tr td.disabled,.ui.table tr.disabled td,.ui.table tr.disabled:hover,.ui.table tr:hover td.disabled{pointer-events:none;color:rgba(40,40,40,.3)}@media only screen and (max-width:991px){.ui[class*="tablet stackable"].table,.ui[class*="tablet stackable"].table tbody,.ui[class*="tablet stackable"].table tr,.ui[class*="tablet stackable"].table tr>td,.ui[class*="tablet stackable"].table tr>th{width:100%!important;display:block!important}.ui[class*="tablet stackable"].table{padding:0}.ui[class*="tablet stackable"].table thead{display:block}.ui[class*="tablet stackable"].table tfoot{display:block}.ui[class*="tablet stackable"].table tr{padding-top:1em;padding-bottom:1em;box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important}.ui[class*="tablet stackable"].table tr>td,.ui[class*="tablet stackable"].table tr>th{background:0 0;border:none!important;padding:.25em .75em;box-shadow:none!important}.ui.definition[class*="tablet stackable"].table thead th:first-child{box-shadow:none!important}}.ui.table [class*="left aligned"],.ui.table[class*="left aligned"]{text-align:left}.ui.table [class*="center aligned"],.ui.table[class*="center aligned"]{text-align:center}.ui.table [class*="right aligned"],.ui.table[class*="right aligned"]{text-align:right}.ui.table [class*="top aligned"],.ui.table[class*="top aligned"]{vertical-align:top}.ui.table [class*="middle aligned"],.ui.table[class*="middle aligned"]{vertical-align:middle}.ui.table [class*="bottom aligned"],.ui.table[class*="bottom aligned"]{vertical-align:bottom}.ui.table td.collapsing,.ui.table th.collapsing{width:1px;white-space:nowrap}.ui.fixed.table{table-layout:fixed}.ui.fixed.table td,.ui.fixed.table th{overflow:hidden;text-overflow:ellipsis}.ui.selectable.table tbody tr:hover,.ui.table tbody tr td.selectable:hover{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.95)!important}.ui.inverted.table tbody tr td.selectable:hover,.ui.selectable.inverted.table tbody tr:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}.ui.table tbody tr td.selectable{padding:0}.ui.table tbody tr td.selectable>a:not(.ui){display:block;color:inherit;padding:.78571429em .78571429em}.ui.selectable.table tr.error:hover,.ui.selectable.table tr:hover td.error,.ui.table tr td.selectable.error:hover{background:#ffe7e7!important;color:#943634!important}.ui.selectable.table tr.warning:hover,.ui.selectable.table tr:hover td.warning,.ui.table tr td.selectable.warning:hover{background:#fff4e4!important;color:#493107!important}.ui.selectable.table tr.active:hover,.ui.selectable.table tr:hover td.active,.ui.table tr td.selectable.active:hover{background:#e0e0e0!important;color:rgba(0,0,0,.87)!important}.ui.selectable.table tr.positive:hover,.ui.selectable.table tr:hover td.positive,.ui.table tr td.selectable.positive:hover{background:#f7ffe6!important;color:#275b28!important}.ui.selectable.table tr.negative:hover,.ui.selectable.table tr:hover td.negative,.ui.table tr td.selectable.negative:hover{background:#ffe7e7!important;color:#943634!important}.ui.attached.table{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% - (-1px * 2));max-width:calc(100% - (-1px * 2));box-shadow:none;border:1px solid #d4d4d5}.ui.attached+.ui.attached.table:not(.top){border-top:none}.ui[class*="top attached"].table{bottom:0;margin-bottom:0;top:0;margin-top:1em;border-radius:.28571429rem .28571429rem 0 0}.ui.table[class*="top attached"]:first-child{margin-top:0}.ui[class*="bottom attached"].table{bottom:0;margin-top:0;top:0;margin-bottom:1em;box-shadow:none,none;border-radius:0 0 .28571429rem .28571429rem}.ui[class*="bottom attached"].table:last-child{margin-bottom:0}.ui.striped.table tbody tr:nth-child(2n),.ui.striped.table>tr:nth-child(2n){background-color:rgba(0,0,50,.02)}.ui.inverted.striped.table tbody tr:nth-child(2n),.ui.inverted.striped.table>tr:nth-child(2n){background-color:rgba(255,255,255,.05)}.ui.striped.selectable.selectable.selectable.table tbody tr.active:hover{background:#efefef!important;color:rgba(0,0,0,.95)!important}.ui.table [class*="single line"],.ui.table[class*="single line"]{white-space:nowrap}.ui.table [class*="single line"],.ui.table[class*="single line"]{white-space:nowrap}.ui.red.table{border-top:.2em solid #db2828}.ui.inverted.red.table{background-color:#db2828!important;color:#fff!important}.ui.orange.table{border-top:.2em solid #f2711c}.ui.inverted.orange.table{background-color:#f2711c!important;color:#fff!important}.ui.yellow.table{border-top:.2em solid #fbbd08}.ui.inverted.yellow.table{background-color:#fbbd08!important;color:#fff!important}.ui.olive.table{border-top:.2em solid #b5cc18}.ui.inverted.olive.table{background-color:#b5cc18!important;color:#fff!important}.ui.green.table{border-top:.2em solid #21ba45}.ui.inverted.green.table{background-color:#21ba45!important;color:#fff!important}.ui.teal.table{border-top:.2em solid #00b5ad}.ui.inverted.teal.table{background-color:#00b5ad!important;color:#fff!important}.ui.blue.table{border-top:.2em solid #2185d0}.ui.inverted.blue.table{background-color:#2185d0!important;color:#fff!important}.ui.violet.table{border-top:.2em solid #6435c9}.ui.inverted.violet.table{background-color:#6435c9!important;color:#fff!important}.ui.purple.table{border-top:.2em solid #a333c8}.ui.inverted.purple.table{background-color:#a333c8!important;color:#fff!important}.ui.pink.table{border-top:.2em solid #e03997}.ui.inverted.pink.table{background-color:#e03997!important;color:#fff!important}.ui.brown.table{border-top:.2em solid #a5673f}.ui.inverted.brown.table{background-color:#a5673f!important;color:#fff!important}.ui.grey.table{border-top:.2em solid #767676}.ui.inverted.grey.table{background-color:#767676!important;color:#fff!important}.ui.black.table{border-top:.2em solid #1b1c1d}.ui.inverted.black.table{background-color:#1b1c1d!important;color:#fff!important}.ui.one.column.table td{width:100%}.ui.two.column.table td{width:50%}.ui.three.column.table td{width:33.33333333%}.ui.four.column.table td{width:25%}.ui.five.column.table td{width:20%}.ui.six.column.table td{width:16.66666667%}.ui.seven.column.table td{width:14.28571429%}.ui.eight.column.table td{width:12.5%}.ui.nine.column.table td{width:11.11111111%}.ui.ten.column.table td{width:10%}.ui.eleven.column.table td{width:9.09090909%}.ui.twelve.column.table td{width:8.33333333%}.ui.thirteen.column.table td{width:7.69230769%}.ui.fourteen.column.table td{width:7.14285714%}.ui.fifteen.column.table td{width:6.66666667%}.ui.sixteen.column.table td{width:6.25%}.ui.table td.one.wide,.ui.table th.one.wide{width:6.25%}.ui.table td.two.wide,.ui.table th.two.wide{width:12.5%}.ui.table td.three.wide,.ui.table th.three.wide{width:18.75%}.ui.table td.four.wide,.ui.table th.four.wide{width:25%}.ui.table td.five.wide,.ui.table th.five.wide{width:31.25%}.ui.table td.six.wide,.ui.table th.six.wide{width:37.5%}.ui.table td.seven.wide,.ui.table th.seven.wide{width:43.75%}.ui.table td.eight.wide,.ui.table th.eight.wide{width:50%}.ui.table td.nine.wide,.ui.table th.nine.wide{width:56.25%}.ui.table td.ten.wide,.ui.table th.ten.wide{width:62.5%}.ui.table td.eleven.wide,.ui.table th.eleven.wide{width:68.75%}.ui.table td.twelve.wide,.ui.table th.twelve.wide{width:75%}.ui.table td.thirteen.wide,.ui.table th.thirteen.wide{width:81.25%}.ui.table td.fourteen.wide,.ui.table th.fourteen.wide{width:87.5%}.ui.table td.fifteen.wide,.ui.table th.fifteen.wide{width:93.75%}.ui.table td.sixteen.wide,.ui.table th.sixteen.wide{width:100%}.ui.sortable.table thead th{cursor:pointer;white-space:nowrap;border-left:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87)}.ui.sortable.table thead th:first-child{border-left:none}.ui.sortable.table thead th.sorted,.ui.sortable.table thead th.sorted:hover{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui.sortable.table thead th:after{display:none;font-style:normal;font-weight:400;text-decoration:inherit;content:'';height:1em;width:auto;opacity:.8;margin:0 0 0 .5em;font-family:Icons}.ui.sortable.table thead th.ascending:after{content:'\f0d8'}.ui.sortable.table thead th.descending:after{content:'\f0d7'}.ui.sortable.table th.disabled:hover{cursor:auto;color:rgba(40,40,40,.3)}.ui.sortable.table thead th:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.8)}.ui.sortable.table thead th.sorted{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.sortable.table thead th.sorted:after{display:inline-block}.ui.sortable.table thead th.sorted:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.inverted.sortable.table thead th.sorted{background:rgba(255,255,255,.15) linear-gradient(transparent,rgba(0,0,0,.05));color:#fff}.ui.inverted.sortable.table thead th:hover{background:rgba(255,255,255,.08) linear-gradient(transparent,rgba(0,0,0,.05));color:#fff}.ui.inverted.sortable.table thead th{border-left-color:transparent;border-right-color:transparent}.ui.inverted.table{background:#333;color:rgba(255,255,255,.9);border:none}.ui.inverted.table th{background-color:rgba(0,0,0,.15);border-color:rgba(255,255,255,.1)!important;color:rgba(255,255,255,.9)!important}.ui.inverted.table tr td{border-color:rgba(255,255,255,.1)!important}.ui.inverted.table tr td.disabled,.ui.inverted.table tr.disabled td,.ui.inverted.table tr.disabled:hover td,.ui.inverted.table tr:hover td.disabled{pointer-events:none;color:rgba(225,225,225,.3)}.ui.inverted.definition.table tfoot:not(.full-width) th:first-child,.ui.inverted.definition.table thead:not(.full-width) th:first-child{background:#fff}.ui.inverted.definition.table tr td:first-child{background:rgba(255,255,255,.02);color:#fff}.ui.collapsing.table{width:auto}.ui.basic.table{background:0 0;border:1px solid rgba(34,36,38,.15);box-shadow:none}.ui.basic.table tfoot,.ui.basic.table thead{box-shadow:none}.ui.basic.table th{background:0 0;border-left:none}.ui.basic.table tbody tr{border-bottom:1px solid rgba(0,0,0,.1)}.ui.basic.table td{background:0 0}.ui.basic.striped.table tbody tr:nth-child(2n){background-color:rgba(0,0,0,.05)!important}.ui[class*="very basic"].table{border:none}.ui[class*="very basic"].table:not(.sortable):not(.striped) td,.ui[class*="very basic"].table:not(.sortable):not(.striped) th{padding:''}.ui[class*="very basic"].table:not(.sortable):not(.striped) td:first-child,.ui[class*="very basic"].table:not(.sortable):not(.striped) th:first-child{padding-left:0}.ui[class*="very basic"].table:not(.sortable):not(.striped) td:last-child,.ui[class*="very basic"].table:not(.sortable):not(.striped) th:last-child{padding-right:0}.ui[class*="very basic"].table:not(.sortable):not(.striped) thead tr:first-child th{padding-top:0}.ui.celled.table tr td,.ui.celled.table tr th{border-left:1px solid rgba(34,36,38,.1)}.ui.celled.table tr td:first-child,.ui.celled.table tr th:first-child{border-left:none}.ui.padded.table th{padding-left:1em;padding-right:1em}.ui.padded.table td,.ui.padded.table th{padding:1em 1em}.ui[class*="very padded"].table th{padding-left:1.5em;padding-right:1.5em}.ui[class*="very padded"].table td{padding:1.5em 1.5em}.ui.compact.table th{padding-left:.7em;padding-right:.7em}.ui.compact.table td{padding:.5em .7em}.ui[class*="very compact"].table th{padding-left:.6em;padding-right:.6em}.ui[class*="very compact"].table td{padding:.4em .6em}.ui.small.table{font-size:.9em}.ui.table{font-size:1em}.ui.large.table{font-size:1.1em}/*! + * # Semantic UI 2.5.0 - Ad + * http://github.com/semantic-org/semantic-ui/ + * + * + * Copyright 2013 Contributors + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.ad{display:block;overflow:hidden;margin:1em 0}.ui.ad:first-child{margin:0}.ui.ad:last-child{margin:0}.ui.ad iframe{margin:0;padding:0;border:none;overflow:hidden}.ui.leaderboard.ad{width:728px;height:90px}.ui[class*="medium rectangle"].ad{width:300px;height:250px}.ui[class*="large rectangle"].ad{width:336px;height:280px}.ui[class*="half page"].ad{width:300px;height:600px}.ui.square.ad{width:250px;height:250px}.ui[class*="small square"].ad{width:200px;height:200px}.ui[class*="small rectangle"].ad{width:180px;height:150px}.ui[class*="vertical rectangle"].ad{width:240px;height:400px}.ui.button.ad{width:120px;height:90px}.ui[class*="square button"].ad{width:125px;height:125px}.ui[class*="small button"].ad{width:120px;height:60px}.ui.skyscraper.ad{width:120px;height:600px}.ui[class*="wide skyscraper"].ad{width:160px}.ui.banner.ad{width:468px;height:60px}.ui[class*="vertical banner"].ad{width:120px;height:240px}.ui[class*="top banner"].ad{width:930px;height:180px}.ui[class*="half banner"].ad{width:234px;height:60px}.ui[class*="large leaderboard"].ad{width:970px;height:90px}.ui.billboard.ad{width:970px;height:250px}.ui.panorama.ad{width:980px;height:120px}.ui.netboard.ad{width:580px;height:400px}.ui[class*="large mobile banner"].ad{width:320px;height:100px}.ui[class*="mobile leaderboard"].ad{width:320px;height:50px}.ui.mobile.ad{display:none}@media only screen and (max-width:767px){.ui.mobile.ad{display:block}}.ui.centered.ad{margin-left:auto;margin-right:auto}.ui.test.ad{position:relative;background:#545454}.ui.test.ad:after{position:absolute;top:50%;left:50%;width:100%;text-align:center;transform:translateX(-50%) translateY(-50%);content:'Ad';color:#fff;font-size:1em;font-weight:700}.ui.mobile.test.ad:after{font-size:.85714286em}.ui.test.ad[data-text]:after{content:attr(data-text)}/*! + * # Semantic UI 2.5.0 - Item + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.card,.ui.cards>.card{max-width:100%;position:relative;display:flex;flex-direction:column;width:290px;min-height:0;background:#fff;padding:0;border:none;border-radius:.28571429rem;box-shadow:0 1px 3px 0 #d4d4d5,0 0 0 1px #d4d4d5;transition:box-shadow .1s ease,transform .1s ease;z-index:''}.ui.card{margin:1em 0}.ui.card a,.ui.cards>.card a{cursor:pointer}.ui.card:first-child{margin-top:0}.ui.card:last-child{margin-bottom:0}.ui.cards{display:flex;margin:-.875em -.5em;flex-wrap:wrap}.ui.cards>.card{display:flex;margin:.875em .5em;float:none}.ui.card:after,.ui.cards:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.cards~.ui.cards{margin-top:.875em}.ui.card>:first-child,.ui.cards>.card>:first-child{border-radius:.28571429rem .28571429rem 0 0!important;border-top:none!important}.ui.card>:last-child,.ui.cards>.card>:last-child{border-radius:0 0 .28571429rem .28571429rem!important}.ui.card>:only-child,.ui.cards>.card>:only-child{border-radius:.28571429rem!important}.ui.card>.image,.ui.cards>.card>.image{position:relative;display:block;flex:0 0 auto;padding:0;background:rgba(0,0,0,.05)}.ui.card>.image>img,.ui.cards>.card>.image>img{display:block;width:100%;height:auto;border-radius:inherit}.ui.card>.image:not(.ui)>img,.ui.cards>.card>.image:not(.ui)>img{border:none}.ui.card>.content,.ui.cards>.card>.content{flex-grow:1;border:none;border-top:1px solid rgba(34,36,38,.1);background:0 0;margin:0;padding:1em 1em;box-shadow:none;font-size:1em;border-radius:0}.ui.card>.content:after,.ui.cards>.card>.content:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.card>.content>.header,.ui.cards>.card>.content>.header{display:block;margin:'';font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;color:rgba(0,0,0,.85)}.ui.card>.content>.header:not(.ui),.ui.cards>.card>.content>.header:not(.ui){font-weight:700;font-size:1.28571429em;margin-top:-.21425em;line-height:1.28571429em}.ui.card>.content>.header+.description,.ui.card>.content>.meta+.description,.ui.cards>.card>.content>.header+.description,.ui.cards>.card>.content>.meta+.description{margin-top:.5em}.ui.card [class*="left floated"],.ui.cards>.card [class*="left floated"]{float:left}.ui.card [class*="right floated"],.ui.cards>.card [class*="right floated"]{float:right}.ui.card [class*="left aligned"],.ui.cards>.card [class*="left aligned"]{text-align:left}.ui.card [class*="center aligned"],.ui.cards>.card [class*="center aligned"]{text-align:center}.ui.card [class*="right aligned"],.ui.cards>.card [class*="right aligned"]{text-align:right}.ui.card .content img,.ui.cards>.card .content img{display:inline-block;vertical-align:middle;width:''}.ui.card .avatar img,.ui.card img.avatar,.ui.cards>.card .avatar img,.ui.cards>.card img.avatar{width:2em;height:2em;border-radius:500rem}.ui.card>.content>.description,.ui.cards>.card>.content>.description{clear:both;color:rgba(0,0,0,.68)}.ui.card>.content p,.ui.cards>.card>.content p{margin:0 0 .5em}.ui.card>.content p:last-child,.ui.cards>.card>.content p:last-child{margin-bottom:0}.ui.card .meta,.ui.cards>.card .meta{font-size:1em;color:rgba(0,0,0,.4)}.ui.card .meta *,.ui.cards>.card .meta *{margin-right:.3em}.ui.card .meta :last-child,.ui.cards>.card .meta :last-child{margin-right:0}.ui.card .meta [class*="right floated"],.ui.cards>.card .meta [class*="right floated"]{margin-right:0;margin-left:.3em}.ui.card>.content a:not(.ui),.ui.cards>.card>.content a:not(.ui){color:'';transition:color .1s ease}.ui.card>.content a:not(.ui):hover,.ui.cards>.card>.content a:not(.ui):hover{color:''}.ui.card>.content>a.header,.ui.cards>.card>.content>a.header{color:rgba(0,0,0,.85)}.ui.card>.content>a.header:hover,.ui.cards>.card>.content>a.header:hover{color:#1e70bf}.ui.card .meta>a:not(.ui),.ui.cards>.card .meta>a:not(.ui){color:rgba(0,0,0,.4)}.ui.card .meta>a:not(.ui):hover,.ui.cards>.card .meta>a:not(.ui):hover{color:rgba(0,0,0,.87)}.ui.card>.button,.ui.card>.buttons,.ui.cards>.card>.button,.ui.cards>.card>.buttons{margin:0 -1px;width:calc(100% + 2px)}.ui.card .dimmer,.ui.cards>.card .dimmer{background-color:'';z-index:10}.ui.card>.content .star.icon,.ui.cards>.card>.content .star.icon{cursor:pointer;opacity:.75;transition:color .1s ease}.ui.card>.content .star.icon:hover,.ui.cards>.card>.content .star.icon:hover{opacity:1;color:#ffb70a}.ui.card>.content .active.star.icon,.ui.cards>.card>.content .active.star.icon{color:#ffe623}.ui.card>.content .like.icon,.ui.cards>.card>.content .like.icon{cursor:pointer;opacity:.75;transition:color .1s ease}.ui.card>.content .like.icon:hover,.ui.cards>.card>.content .like.icon:hover{opacity:1;color:#ff2733}.ui.card>.content .active.like.icon,.ui.cards>.card>.content .active.like.icon{color:#ff2733}.ui.card>.extra,.ui.cards>.card>.extra{max-width:100%;min-height:0!important;flex-grow:0;border-top:1px solid rgba(0,0,0,.05)!important;position:static;background:0 0;width:auto;margin:0 0;padding:.75em 1em;top:0;left:0;color:rgba(0,0,0,.4);box-shadow:none;transition:color .1s ease}.ui.card>.extra a:not(.ui),.ui.cards>.card>.extra a:not(.ui){color:rgba(0,0,0,.4)}.ui.card>.extra a:not(.ui):hover,.ui.cards>.card>.extra a:not(.ui):hover{color:#1e70bf}.ui.raised.card,.ui.raised.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.link.cards .raised.card:hover,.ui.link.raised.card:hover,.ui.raised.cards a.card:hover,a.ui.raised.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.15),0 2px 10px 0 rgba(34,36,38,.25)}.ui.raised.card,.ui.raised.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.centered.cards{justify-content:center}.ui.centered.card{margin-left:auto;margin-right:auto}.ui.fluid.card{width:100%;max-width:9999px}.ui.cards a.card,.ui.link.card,.ui.link.cards .card,a.ui.card{transform:none}.ui.cards a.card:hover,.ui.link.card:hover,.ui.link.cards .card:hover,a.ui.card:hover{cursor:pointer;z-index:5;background:#fff;border:none;box-shadow:0 1px 3px 0 #bcbdbd,0 0 0 1px #d4d4d5;transform:translateY(-3px)}.ui.cards>.red.card,.ui.red.card,.ui.red.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #db2828,0 1px 3px 0 #d4d4d5}.ui.cards>.red.card:hover,.ui.red.card:hover,.ui.red.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #d01919,0 1px 3px 0 #bcbdbd}.ui.cards>.orange.card,.ui.orange.card,.ui.orange.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f2711c,0 1px 3px 0 #d4d4d5}.ui.cards>.orange.card:hover,.ui.orange.card:hover,.ui.orange.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f26202,0 1px 3px 0 #bcbdbd}.ui.cards>.yellow.card,.ui.yellow.card,.ui.yellow.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #fbbd08,0 1px 3px 0 #d4d4d5}.ui.cards>.yellow.card:hover,.ui.yellow.card:hover,.ui.yellow.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #eaae00,0 1px 3px 0 #bcbdbd}.ui.cards>.olive.card,.ui.olive.card,.ui.olive.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #b5cc18,0 1px 3px 0 #d4d4d5}.ui.cards>.olive.card:hover,.ui.olive.card:hover,.ui.olive.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a7bd0d,0 1px 3px 0 #bcbdbd}.ui.cards>.green.card,.ui.green.card,.ui.green.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #21ba45,0 1px 3px 0 #d4d4d5}.ui.cards>.green.card:hover,.ui.green.card:hover,.ui.green.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #16ab39,0 1px 3px 0 #bcbdbd}.ui.cards>.teal.card,.ui.teal.card,.ui.teal.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #00b5ad,0 1px 3px 0 #d4d4d5}.ui.cards>.teal.card:hover,.ui.teal.card:hover,.ui.teal.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #009c95,0 1px 3px 0 #bcbdbd}.ui.blue.card,.ui.blue.cards>.card,.ui.cards>.blue.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #2185d0,0 1px 3px 0 #d4d4d5}.ui.blue.card:hover,.ui.blue.cards>.card:hover,.ui.cards>.blue.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1678c2,0 1px 3px 0 #bcbdbd}.ui.cards>.violet.card,.ui.violet.card,.ui.violet.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #6435c9,0 1px 3px 0 #d4d4d5}.ui.cards>.violet.card:hover,.ui.violet.card:hover,.ui.violet.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #5829bb,0 1px 3px 0 #bcbdbd}.ui.cards>.purple.card,.ui.purple.card,.ui.purple.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a333c8,0 1px 3px 0 #d4d4d5}.ui.cards>.purple.card:hover,.ui.purple.card:hover,.ui.purple.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #9627ba,0 1px 3px 0 #bcbdbd}.ui.cards>.pink.card,.ui.pink.card,.ui.pink.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e03997,0 1px 3px 0 #d4d4d5}.ui.cards>.pink.card:hover,.ui.pink.card:hover,.ui.pink.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e61a8d,0 1px 3px 0 #bcbdbd}.ui.brown.card,.ui.brown.cards>.card,.ui.cards>.brown.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a5673f,0 1px 3px 0 #d4d4d5}.ui.brown.card:hover,.ui.brown.cards>.card:hover,.ui.cards>.brown.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #975b33,0 1px 3px 0 #bcbdbd}.ui.cards>.grey.card,.ui.grey.card,.ui.grey.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #767676,0 1px 3px 0 #d4d4d5}.ui.cards>.grey.card:hover,.ui.grey.card:hover,.ui.grey.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #838383,0 1px 3px 0 #bcbdbd}.ui.black.card,.ui.black.cards>.card,.ui.cards>.black.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1b1c1d,0 1px 3px 0 #d4d4d5}.ui.black.card:hover,.ui.black.cards>.card:hover,.ui.cards>.black.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #27292a,0 1px 3px 0 #bcbdbd}.ui.one.cards{margin-left:0;margin-right:0}.ui.one.cards>.card{width:100%}.ui.two.cards{margin-left:-1em;margin-right:-1em}.ui.two.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.three.cards{margin-left:-1em;margin-right:-1em}.ui.three.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.four.cards{margin-left:-.75em;margin-right:-.75em}.ui.four.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.five.cards{margin-left:-.75em;margin-right:-.75em}.ui.five.cards>.card{width:calc(20% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.six.cards{margin-left:-.75em;margin-right:-.75em}.ui.six.cards>.card{width:calc(16.66666667% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.seven.cards{margin-left:-.5em;margin-right:-.5em}.ui.seven.cards>.card{width:calc(14.28571429% - 1em);margin-left:.5em;margin-right:.5em}.ui.eight.cards{margin-left:-.5em;margin-right:-.5em}.ui.eight.cards>.card{width:calc(12.5% - 1em);margin-left:.5em;margin-right:.5em;font-size:11px}.ui.nine.cards{margin-left:-.5em;margin-right:-.5em}.ui.nine.cards>.card{width:calc(11.11111111% - 1em);margin-left:.5em;margin-right:.5em;font-size:10px}.ui.ten.cards{margin-left:-.5em;margin-right:-.5em}.ui.ten.cards>.card{width:calc(10% - 1em);margin-left:.5em;margin-right:.5em}@media only screen and (max-width:767px){.ui.two.doubling.cards{margin-left:0;margin-right:0}.ui.two.doubling.cards>.card{width:100%;margin-left:0;margin-right:0}.ui.three.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.three.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.four.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.four.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.five.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.five.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.six.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.six.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.seven.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.seven.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.eight.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.eight.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.nine.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.nine.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.ten.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.ten.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}}@media only screen and (min-width:768px) and (max-width:991px){.ui.two.doubling.cards{margin-left:0;margin-right:0}.ui.two.doubling.cards>.card{width:100%;margin-left:0;margin-right:0}.ui.three.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.three.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.four.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.four.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.five.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.five.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.six.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.six.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.eight.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.eight.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.eight.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.eight.doubling.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.nine.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.nine.doubling.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.ten.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.ten.doubling.cards>.card{width:calc(20% - 1.5em);margin-left:.75em;margin-right:.75em}}@media only screen and (max-width:767px){.ui.stackable.cards{display:block!important}.ui.stackable.cards .card:first-child{margin-top:0!important}.ui.stackable.cards>.card{display:block!important;height:auto!important;margin:1em 1em;padding:0!important;width:calc(100% - 2em)!important}}.ui.cards>.card{font-size:1em}/*! + * # Semantic UI 2.5.0 - Comment + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.comments{margin:1.5em 0;max-width:650px}.ui.comments:first-child{margin-top:0}.ui.comments:last-child{margin-bottom:0}.ui.comments .comment{position:relative;background:0 0;margin:.5em 0 0;padding:.5em 0 0;border:none;border-top:none;line-height:1.2}.ui.comments .comment:first-child{margin-top:0;padding-top:0}.ui.comments .comment .comments{margin:0 0 .5em .5em;padding:1em 0 1em 1em}.ui.comments .comment .comments:before{position:absolute;top:0;left:0}.ui.comments .comment .comments .comment{border:none;border-top:none;background:0 0}.ui.comments .comment .avatar{display:block;width:2.5em;height:auto;float:left;margin:.2em 0 0}.ui.comments .comment .avatar img,.ui.comments .comment img.avatar{display:block;margin:0 auto;width:100%;height:100%;border-radius:.25rem}.ui.comments .comment>.content{display:block}.ui.comments .comment>.avatar~.content{margin-left:3.5em}.ui.comments .comment .author{font-size:1em;color:rgba(0,0,0,.87);font-weight:700}.ui.comments .comment a.author{cursor:pointer}.ui.comments .comment a.author:hover{color:#1e70bf}.ui.comments .comment .metadata{display:inline-block;margin-left:.5em;color:rgba(0,0,0,.4);font-size:.875em}.ui.comments .comment .metadata>*{display:inline-block;margin:0 .5em 0 0}.ui.comments .comment .metadata>:last-child{margin-right:0}.ui.comments .comment .text{margin:.25em 0 .5em;font-size:1em;word-wrap:break-word;color:rgba(0,0,0,.87);line-height:1.3}.ui.comments .comment .actions{font-size:.875em}.ui.comments .comment .actions a{cursor:pointer;display:inline-block;margin:0 .75em 0 0;color:rgba(0,0,0,.4)}.ui.comments .comment .actions a:last-child{margin-right:0}.ui.comments .comment .actions a.active,.ui.comments .comment .actions a:hover{color:rgba(0,0,0,.8)}.ui.comments>.reply.form{margin-top:1em}.ui.comments .comment .reply.form{width:100%;margin-top:1em}.ui.comments .reply.form textarea{font-size:1em;height:12em}.ui.collapsed.comments,.ui.comments .collapsed.comment,.ui.comments .collapsed.comments{display:none}.ui.threaded.comments .comment .comments{margin:-1.5em 0 -1em 1.25em;padding:3em 0 2em 2.25em;box-shadow:-1px 0 0 rgba(34,36,38,.15)}.ui.minimal.comments .comment .actions{opacity:0;position:absolute;top:0;right:0;left:auto;transition:opacity .2s ease;transition-delay:.1s}.ui.minimal.comments .comment>.content:hover>.actions{opacity:1}.ui.mini.comments{font-size:.78571429rem}.ui.tiny.comments{font-size:.85714286rem}.ui.small.comments{font-size:.92857143rem}.ui.comments{font-size:1rem}.ui.large.comments{font-size:1.14285714rem}.ui.big.comments{font-size:1.28571429rem}.ui.huge.comments{font-size:1.42857143rem}.ui.massive.comments{font-size:1.71428571rem}/*! + * # Semantic UI 2.5.0 - Feed + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.feed{margin:1em 0}.ui.feed:first-child{margin-top:0}.ui.feed:last-child{margin-bottom:0}.ui.feed>.event{display:flex;flex-direction:row;width:100%;padding:.21428571rem 0;margin:0;background:0 0;border-top:none}.ui.feed>.event:first-child{border-top:0;padding-top:0}.ui.feed>.event:last-child{padding-bottom:0}.ui.feed>.event>.label{display:block;flex:0 0 auto;width:2.5em;height:auto;align-self:stretch;text-align:left}.ui.feed>.event>.label .icon{opacity:1;font-size:1.5em;width:100%;padding:.25em;background:0 0;border:none;border-radius:none;color:rgba(0,0,0,.6)}.ui.feed>.event>.label img{width:100%;height:auto;border-radius:500rem}.ui.feed>.event>.label+.content{margin:.5em 0 .35714286em 1.14285714em}.ui.feed>.event>.content{display:block;flex:1 1 auto;align-self:stretch;text-align:left;word-wrap:break-word}.ui.feed>.event:last-child>.content{padding-bottom:0}.ui.feed>.event>.content a{cursor:pointer}.ui.feed>.event>.content .date{margin:-.5rem 0 0;padding:0;font-weight:400;font-size:1em;font-style:normal;color:rgba(0,0,0,.4)}.ui.feed>.event>.content .summary{margin:0;font-size:1em;font-weight:700;color:rgba(0,0,0,.87)}.ui.feed>.event>.content .summary img{display:inline-block;width:auto;height:10em;margin:-.25em .25em 0 0;border-radius:.25em;vertical-align:middle}.ui.feed>.event>.content .user{display:inline-block;font-weight:700;margin-right:0;vertical-align:baseline}.ui.feed>.event>.content .user img{margin:-.25em .25em 0 0;width:auto;height:10em;vertical-align:middle}.ui.feed>.event>.content .summary>.date{display:inline-block;float:none;font-weight:400;font-size:.85714286em;font-style:normal;margin:0 0 0 .5em;padding:0;color:rgba(0,0,0,.4)}.ui.feed>.event>.content .extra{margin:.5em 0 0;background:0 0;padding:0;color:rgba(0,0,0,.87)}.ui.feed>.event>.content .extra.images img{display:inline-block;margin:0 .25em 0 0;width:6em}.ui.feed>.event>.content .extra.text{padding:0;border-left:none;font-size:1em;max-width:500px;line-height:1.4285em}.ui.feed>.event>.content .meta{display:inline-block;font-size:.85714286em;margin:.5em 0 0;background:0 0;border:none;border-radius:0;box-shadow:none;padding:0;color:rgba(0,0,0,.6)}.ui.feed>.event>.content .meta>*{position:relative;margin-left:.75em}.ui.feed>.event>.content .meta>:after{content:'';color:rgba(0,0,0,.2);top:0;left:-1em;opacity:1;position:absolute;vertical-align:top}.ui.feed>.event>.content .meta .like{color:'';transition:.2s color ease}.ui.feed>.event>.content .meta .like:hover .icon{color:#ff2733}.ui.feed>.event>.content .meta .active.like .icon{color:#ef404a}.ui.feed>.event>.content .meta>:first-child{margin-left:0}.ui.feed>.event>.content .meta>:first-child::after{display:none}.ui.feed>.event>.content .meta a,.ui.feed>.event>.content .meta>.icon{cursor:pointer;opacity:1;color:rgba(0,0,0,.5);transition:color .1s ease}.ui.feed>.event>.content .meta a:hover,.ui.feed>.event>.content .meta a:hover .icon,.ui.feed>.event>.content .meta>.icon:hover{color:rgba(0,0,0,.95)}.ui.small.feed{font-size:.92857143rem}.ui.feed{font-size:1rem}.ui.large.feed{font-size:1.14285714rem}/*! + * # Semantic UI 2.5.0 - Item + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.items>.item{display:flex;margin:1em 0;width:100%;min-height:0;background:0 0;padding:0;border:none;border-radius:0;box-shadow:none;transition:box-shadow .1s ease;z-index:''}.ui.items>.item a{cursor:pointer}.ui.items{margin:1.5em 0}.ui.items:first-child{margin-top:0!important}.ui.items:last-child{margin-bottom:0!important}.ui.items>.item:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.item:first-child{margin-top:0}.ui.items>.item:last-child{margin-bottom:0}.ui.items>.item>.image{position:relative;flex:0 0 auto;display:block;float:none;margin:0;padding:0;max-height:'';align-self:top}.ui.items>.item>.image>img{display:block;width:100%;height:auto;border-radius:.125rem;border:none}.ui.items>.item>.image:only-child>img{border-radius:0}.ui.items>.item>.content{display:block;flex:1 1 auto;background:0 0;margin:0;padding:0;box-shadow:none;font-size:1em;border:none;border-radius:0}.ui.items>.item>.content:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.item>.image+.content{min-width:0;width:auto;display:block;margin-left:0;align-self:top;padding-left:1.5em}.ui.items>.item>.content>.header{display:inline-block;margin:-.21425em 0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;color:rgba(0,0,0,.85)}.ui.items>.item>.content>.header:not(.ui){font-size:1.28571429em}.ui.items>.item [class*="left floated"]{float:left}.ui.items>.item [class*="right floated"]{float:right}.ui.items>.item .content img{align-self:middle;width:''}.ui.items>.item .avatar img,.ui.items>.item img.avatar{width:'';height:'';border-radius:500rem}.ui.items>.item>.content>.description{margin-top:.6em;max-width:auto;font-size:1em;line-height:1.4285em;color:rgba(0,0,0,.87)}.ui.items>.item>.content p{margin:0 0 .5em}.ui.items>.item>.content p:last-child{margin-bottom:0}.ui.items>.item .meta{margin:.5em 0 .5em;font-size:1em;line-height:1em;color:rgba(0,0,0,.6)}.ui.items>.item .meta *{margin-right:.3em}.ui.items>.item .meta :last-child{margin-right:0}.ui.items>.item .meta [class*="right floated"]{margin-right:0;margin-left:.3em}.ui.items>.item>.content a:not(.ui){color:'';transition:color .1s ease}.ui.items>.item>.content a:not(.ui):hover{color:''}.ui.items>.item>.content>a.header{color:rgba(0,0,0,.85)}.ui.items>.item>.content>a.header:hover{color:#1e70bf}.ui.items>.item .meta>a:not(.ui){color:rgba(0,0,0,.4)}.ui.items>.item .meta>a:not(.ui):hover{color:rgba(0,0,0,.87)}.ui.items>.item>.content .favorite.icon{cursor:pointer;opacity:.75;transition:color .1s ease}.ui.items>.item>.content .favorite.icon:hover{opacity:1;color:#ffb70a}.ui.items>.item>.content .active.favorite.icon{color:#ffe623}.ui.items>.item>.content .like.icon{cursor:pointer;opacity:.75;transition:color .1s ease}.ui.items>.item>.content .like.icon:hover{opacity:1;color:#ff2733}.ui.items>.item>.content .active.like.icon{color:#ff2733}.ui.items>.item .extra{display:block;position:relative;background:0 0;margin:.5rem 0 0;width:100%;padding:0 0 0;top:0;left:0;color:rgba(0,0,0,.4);box-shadow:none;transition:color .1s ease;border-top:none}.ui.items>.item .extra>*{margin:.25rem .5rem .25rem 0}.ui.items>.item .extra>[class*="right floated"]{margin:.25rem 0 .25rem .5rem}.ui.items>.item .extra:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.item>.image:not(.ui){width:175px}@media only screen and (min-width:768px) and (max-width:991px){.ui.items>.item{margin:1em 0}.ui.items>.item>.image:not(.ui){width:150px}.ui.items>.item>.image+.content{display:block;padding:0 0 0 1em}}@media only screen and (max-width:767px){.ui.items:not(.unstackable)>.item{flex-direction:column;margin:2em 0}.ui.items:not(.unstackable)>.item>.image{display:block;margin-left:auto;margin-right:auto}.ui.items:not(.unstackable)>.item>.image,.ui.items:not(.unstackable)>.item>.image>img{max-width:100%!important;width:auto!important;max-height:250px!important}.ui.items:not(.unstackable)>.item>.image+.content{display:block;padding:1.5em 0 0}}.ui.items>.item>.image+[class*="top aligned"].content{align-self:flex-start}.ui.items>.item>.image+[class*="middle aligned"].content{align-self:center}.ui.items>.item>.image+[class*="bottom aligned"].content{align-self:flex-end}.ui.relaxed.items>.item{margin:1.5em 0}.ui[class*="very relaxed"].items>.item{margin:2em 0}.ui.divided.items>.item{border-top:1px solid rgba(34,36,38,.15);margin:0;padding:1em 0}.ui.divided.items>.item:first-child{border-top:none;margin-top:0!important;padding-top:0!important}.ui.divided.items>.item:last-child{margin-bottom:0!important;padding-bottom:0!important}.ui.relaxed.divided.items>.item{margin:0;padding:1.5em 0}.ui[class*="very relaxed"].divided.items>.item{margin:0;padding:2em 0}.ui.items a.item:hover,.ui.link.items>.item:hover{cursor:pointer}.ui.items a.item:hover .content .header,.ui.link.items>.item:hover .content .header{color:#1e70bf}.ui.items>.item{font-size:1em}@media only screen and (max-width:767px){.ui.unstackable.items>.item>.image,.ui.unstackable.items>.item>.image>img{width:125px!important}}/*! + * # Semantic UI 2.5.0 - Statistic + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.statistic{display:inline-flex;flex-direction:column;margin:1em 0;max-width:auto}.ui.statistic+.ui.statistic{margin:0 0 0 1.5em}.ui.statistic:first-child{margin-top:0}.ui.statistic:last-child{margin-bottom:0}.ui.statistics{display:flex;align-items:flex-start;flex-wrap:wrap}.ui.statistics>.statistic{display:inline-flex;flex:0 1 auto;flex-direction:column;margin:0 1.5em 1em;max-width:auto}.ui.statistics{display:flex;margin:1em -1.5em -1em}.ui.statistics:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.statistics:first-child{margin-top:0}.ui.statistic>.value,.ui.statistics .statistic>.value{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:4rem;font-weight:400;line-height:1em;color:#1b1c1d;text-transform:uppercase;text-align:center}.ui.statistic>.label,.ui.statistics .statistic>.label{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1em;font-weight:700;color:rgba(0,0,0,.87);text-transform:uppercase;text-align:center}.ui.statistic>.label~.value,.ui.statistics .statistic>.label~.value{margin-top:0}.ui.statistic>.value~.label,.ui.statistics .statistic>.value~.label{margin-top:0}.ui.statistic>.value .icon,.ui.statistics .statistic>.value .icon{opacity:1;width:auto;margin:0}.ui.statistic>.text.value,.ui.statistics .statistic>.text.value{line-height:1em;min-height:2em;font-weight:700;text-align:center}.ui.statistic>.text.value+.label,.ui.statistics .statistic>.text.value+.label{text-align:center}.ui.statistic>.value img,.ui.statistics .statistic>.value img{max-height:3rem;vertical-align:baseline}.ui.ten.statistics{margin:0 0 -1em}.ui.ten.statistics .statistic{min-width:10%;margin:0 0 1em}.ui.nine.statistics{margin:0 0 -1em}.ui.nine.statistics .statistic{min-width:11.11111111%;margin:0 0 1em}.ui.eight.statistics{margin:0 0 -1em}.ui.eight.statistics .statistic{min-width:12.5%;margin:0 0 1em}.ui.seven.statistics{margin:0 0 -1em}.ui.seven.statistics .statistic{min-width:14.28571429%;margin:0 0 1em}.ui.six.statistics{margin:0 0 -1em}.ui.six.statistics .statistic{min-width:16.66666667%;margin:0 0 1em}.ui.five.statistics{margin:0 0 -1em}.ui.five.statistics .statistic{min-width:20%;margin:0 0 1em}.ui.four.statistics{margin:0 0 -1em}.ui.four.statistics .statistic{min-width:25%;margin:0 0 1em}.ui.three.statistics{margin:0 0 -1em}.ui.three.statistics .statistic{min-width:33.33333333%;margin:0 0 1em}.ui.two.statistics{margin:0 0 -1em}.ui.two.statistics .statistic{min-width:50%;margin:0 0 1em}.ui.one.statistics{margin:0 0 -1em}.ui.one.statistics .statistic{min-width:100%;margin:0 0 1em}.ui.horizontal.statistic{flex-direction:row;align-items:center}.ui.horizontal.statistics{flex-direction:column;margin:0;max-width:none}.ui.horizontal.statistics .statistic{flex-direction:row;align-items:center;max-width:none;margin:1em 0}.ui.horizontal.statistic>.text.value,.ui.horizontal.statistics>.statistic>.text.value{min-height:0!important}.ui.horizontal.statistic>.value .icon,.ui.horizontal.statistics .statistic>.value .icon{width:1.18em}.ui.horizontal.statistic>.value,.ui.horizontal.statistics .statistic>.value{display:inline-block;vertical-align:middle}.ui.horizontal.statistic>.label,.ui.horizontal.statistics .statistic>.label{display:inline-block;vertical-align:middle;margin:0 0 0 .75em}.ui.red.statistic>.value,.ui.red.statistics .statistic>.value,.ui.statistics .red.statistic>.value{color:#db2828}.ui.orange.statistic>.value,.ui.orange.statistics .statistic>.value,.ui.statistics .orange.statistic>.value{color:#f2711c}.ui.statistics .yellow.statistic>.value,.ui.yellow.statistic>.value,.ui.yellow.statistics .statistic>.value{color:#fbbd08}.ui.olive.statistic>.value,.ui.olive.statistics .statistic>.value,.ui.statistics .olive.statistic>.value{color:#b5cc18}.ui.green.statistic>.value,.ui.green.statistics .statistic>.value,.ui.statistics .green.statistic>.value{color:#21ba45}.ui.statistics .teal.statistic>.value,.ui.teal.statistic>.value,.ui.teal.statistics .statistic>.value{color:#00b5ad}.ui.blue.statistic>.value,.ui.blue.statistics .statistic>.value,.ui.statistics .blue.statistic>.value{color:#2185d0}.ui.statistics .violet.statistic>.value,.ui.violet.statistic>.value,.ui.violet.statistics .statistic>.value{color:#6435c9}.ui.purple.statistic>.value,.ui.purple.statistics .statistic>.value,.ui.statistics .purple.statistic>.value{color:#a333c8}.ui.pink.statistic>.value,.ui.pink.statistics .statistic>.value,.ui.statistics .pink.statistic>.value{color:#e03997}.ui.brown.statistic>.value,.ui.brown.statistics .statistic>.value,.ui.statistics .brown.statistic>.value{color:#a5673f}.ui.grey.statistic>.value,.ui.grey.statistics .statistic>.value,.ui.statistics .grey.statistic>.value{color:#767676}.ui.inverted.statistic .value,.ui.inverted.statistics .statistic>.value{color:#fff}.ui.inverted.statistic .label,.ui.inverted.statistics .statistic>.label{color:rgba(255,255,255,.9)}.ui.inverted.red.statistic>.value,.ui.inverted.red.statistics .statistic>.value,.ui.statistics .inverted.red.statistic>.value{color:#ff695e}.ui.inverted.orange.statistic>.value,.ui.inverted.orange.statistics .statistic>.value,.ui.statistics .inverted.orange.statistic>.value{color:#ff851b}.ui.inverted.yellow.statistic>.value,.ui.inverted.yellow.statistics .statistic>.value,.ui.statistics .inverted.yellow.statistic>.value{color:#ffe21f}.ui.inverted.olive.statistic>.value,.ui.inverted.olive.statistics .statistic>.value,.ui.statistics .inverted.olive.statistic>.value{color:#d9e778}.ui.inverted.green.statistic>.value,.ui.inverted.green.statistics .statistic>.value,.ui.statistics .inverted.green.statistic>.value{color:#2ecc40}.ui.inverted.teal.statistic>.value,.ui.inverted.teal.statistics .statistic>.value,.ui.statistics .inverted.teal.statistic>.value{color:#6dffff}.ui.inverted.blue.statistic>.value,.ui.inverted.blue.statistics .statistic>.value,.ui.statistics .inverted.blue.statistic>.value{color:#54c8ff}.ui.inverted.violet.statistic>.value,.ui.inverted.violet.statistics .statistic>.value,.ui.statistics .inverted.violet.statistic>.value{color:#a291fb}.ui.inverted.purple.statistic>.value,.ui.inverted.purple.statistics .statistic>.value,.ui.statistics .inverted.purple.statistic>.value{color:#dc73ff}.ui.inverted.pink.statistic>.value,.ui.inverted.pink.statistics .statistic>.value,.ui.statistics .inverted.pink.statistic>.value{color:#ff8edf}.ui.inverted.brown.statistic>.value,.ui.inverted.brown.statistics .statistic>.value,.ui.statistics .inverted.brown.statistic>.value{color:#d67c1c}.ui.inverted.grey.statistic>.value,.ui.inverted.grey.statistics .statistic>.value,.ui.statistics .inverted.grey.statistic>.value{color:#dcddde}.ui[class*="left floated"].statistic{float:left;margin:0 2em 1em 0}.ui[class*="right floated"].statistic{float:right;margin:0 0 1em 2em}.ui.floated.statistic:last-child{margin-bottom:0}.ui.mini.statistic>.value,.ui.mini.statistics .statistic>.value{font-size:1.5rem!important}.ui.mini.horizontal.statistic>.value,.ui.mini.horizontal.statistics .statistic>.value{font-size:1.5rem!important}.ui.mini.statistic>.text.value,.ui.mini.statistics .statistic>.text.value{font-size:1rem!important}.ui.tiny.statistic>.value,.ui.tiny.statistics .statistic>.value{font-size:2rem!important}.ui.tiny.horizontal.statistic>.value,.ui.tiny.horizontal.statistics .statistic>.value{font-size:2rem!important}.ui.tiny.statistic>.text.value,.ui.tiny.statistics .statistic>.text.value{font-size:1rem!important}.ui.small.statistic>.value,.ui.small.statistics .statistic>.value{font-size:3rem!important}.ui.small.horizontal.statistic>.value,.ui.small.horizontal.statistics .statistic>.value{font-size:2rem!important}.ui.small.statistic>.text.value,.ui.small.statistics .statistic>.text.value{font-size:1rem!important}.ui.statistic>.value,.ui.statistics .statistic>.value{font-size:4rem!important}.ui.horizontal.statistic>.value,.ui.horizontal.statistics .statistic>.value{font-size:3rem!important}.ui.statistic>.text.value,.ui.statistics .statistic>.text.value{font-size:2rem!important}.ui.large.statistic>.value,.ui.large.statistics .statistic>.value{font-size:5rem!important}.ui.large.horizontal.statistic>.value,.ui.large.horizontal.statistics .statistic>.value{font-size:4rem!important}.ui.large.statistic>.text.value,.ui.large.statistics .statistic>.text.value{font-size:2.5rem!important}.ui.huge.statistic>.value,.ui.huge.statistics .statistic>.value{font-size:6rem!important}.ui.huge.horizontal.statistic>.value,.ui.huge.horizontal.statistics .statistic>.value{font-size:5rem!important}.ui.huge.statistic>.text.value,.ui.huge.statistics .statistic>.text.value{font-size:2.5rem!important}/*! + * # Semantic UI 2.5.0 - Accordion + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.accordion,.ui.accordion .accordion{max-width:100%}.ui.accordion .accordion{margin:1em 0 0;padding:0}.ui.accordion .accordion .title,.ui.accordion .title{cursor:pointer}.ui.accordion .title:not(.ui){padding:.5em 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1em;color:rgba(0,0,0,.87)}.ui.accordion .accordion .title~.content,.ui.accordion .title~.content{display:none}.ui.accordion:not(.styled) .accordion .title~.content:not(.ui),.ui.accordion:not(.styled) .title~.content:not(.ui){margin:'';padding:.5em 0 1em}.ui.accordion:not(.styled) .title~.content:not(.ui):last-child{padding-bottom:0}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{display:inline-block;float:none;opacity:1;width:1.25em;height:1em;margin:0 .25rem 0 0;padding:0;font-size:1em;transition:transform .1s ease,opacity .1s ease;vertical-align:baseline;transform:none}.ui.accordion.menu .item .title{display:block;padding:0}.ui.accordion.menu .item .title>.dropdown.icon{float:right;margin:.21425em 0 0 1em;transform:rotate(180deg)}.ui.accordion .ui.header .dropdown.icon{font-size:1em;margin:0 .25rem 0 0}.ui.accordion .accordion .active.title .dropdown.icon,.ui.accordion .active.title .dropdown.icon{transform:rotate(90deg)}.ui.accordion.menu .item .active.title>.dropdown.icon{transform:rotate(90deg)}.ui.styled.accordion{width:600px}.ui.styled.accordion,.ui.styled.accordion .accordion{border-radius:.28571429rem;background:#fff;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15)}.ui.styled.accordion .accordion .title,.ui.styled.accordion .title{margin:0;padding:.75em 1em;color:rgba(0,0,0,.4);font-weight:700;border-top:1px solid rgba(34,36,38,.15);transition:background .1s ease,color .1s ease}.ui.styled.accordion .accordion .title:first-child,.ui.styled.accordion>.title:first-child{border-top:none}.ui.styled.accordion .accordion .content,.ui.styled.accordion .content{margin:0;padding:.5em 1em 1.5em}.ui.styled.accordion .accordion .content{padding:0;padding:.5em 1em 1.5em}.ui.styled.accordion .accordion .active.title,.ui.styled.accordion .accordion .title:hover,.ui.styled.accordion .active.title,.ui.styled.accordion .title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.styled.accordion .accordion .active.title,.ui.styled.accordion .accordion .title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.styled.accordion .active.title{background:0 0;color:rgba(0,0,0,.95)}.ui.styled.accordion .accordion .active.title{background:0 0;color:rgba(0,0,0,.95)}.ui.accordion .accordion .active.content,.ui.accordion .active.content{display:block}.ui.fluid.accordion,.ui.fluid.accordion .accordion{width:100%}.ui.inverted.accordion .title:not(.ui){color:rgba(255,255,255,.9)}@font-face{font-family:Accordion;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff');font-weight:400;font-style:normal}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{font-family:Accordion;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.accordion .accordion .title .dropdown.icon:before,.ui.accordion .title .dropdown.icon:before{content:'\f0da'}/*! + * # Semantic UI 2.5.0 - Checkbox + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.checkbox{position:relative;display:inline-block;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0;vertical-align:baseline;font-style:normal;min-height:17px;font-size:1rem;line-height:17px;min-width:17px}.ui.checkbox input[type=checkbox],.ui.checkbox input[type=radio]{cursor:pointer;position:absolute;top:0;left:0;opacity:0!important;outline:0;z-index:3;width:17px;height:17px}.ui.checkbox .box,.ui.checkbox label{cursor:auto;position:relative;display:block;padding-left:1.85714em;outline:0;font-size:1em}.ui.checkbox .box:before,.ui.checkbox label:before{position:absolute;top:0;left:0;width:17px;height:17px;content:'';background:#fff;border-radius:.21428571rem;transition:border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease;border:1px solid #d4d4d5}.ui.checkbox .box:after,.ui.checkbox label:after{position:absolute;font-size:14px;top:0;left:0;width:17px;height:17px;text-align:center;opacity:0;color:rgba(0,0,0,.87);transition:border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease}.ui.checkbox label,.ui.checkbox+label{color:rgba(0,0,0,.87);transition:color .1s ease}.ui.checkbox+label{vertical-align:middle}.ui.checkbox .box:hover::before,.ui.checkbox label:hover::before{background:#fff;border-color:rgba(34,36,38,.35)}.ui.checkbox label:hover,.ui.checkbox+label:hover{color:rgba(0,0,0,.8)}.ui.checkbox .box:active::before,.ui.checkbox label:active::before{background:#f9fafb;border-color:rgba(34,36,38,.35)}.ui.checkbox .box:active::after,.ui.checkbox label:active::after{color:rgba(0,0,0,.95)}.ui.checkbox input:active~label{color:rgba(0,0,0,.95)}.ui.checkbox input:focus~.box:before,.ui.checkbox input:focus~label:before{background:#fff;border-color:#96c8da}.ui.checkbox input:focus~.box:after,.ui.checkbox input:focus~label:after{color:rgba(0,0,0,.95)}.ui.checkbox input:focus~label{color:rgba(0,0,0,.95)}.ui.checkbox input:checked~.box:before,.ui.checkbox input:checked~label:before{background:#fff;border-color:rgba(34,36,38,.35)}.ui.checkbox input:checked~.box:after,.ui.checkbox input:checked~label:after{opacity:1;color:rgba(0,0,0,.95)}.ui.checkbox input:not([type=radio]):indeterminate~.box:before,.ui.checkbox input:not([type=radio]):indeterminate~label:before{background:#fff;border-color:rgba(34,36,38,.35)}.ui.checkbox input:not([type=radio]):indeterminate~.box:after,.ui.checkbox input:not([type=radio]):indeterminate~label:after{opacity:1;color:rgba(0,0,0,.95)}.ui.checkbox input:checked:focus~.box:before,.ui.checkbox input:checked:focus~label:before,.ui.checkbox input:not([type=radio]):indeterminate:focus~.box:before,.ui.checkbox input:not([type=radio]):indeterminate:focus~label:before{background:#fff;border-color:#96c8da}.ui.checkbox input:checked:focus~.box:after,.ui.checkbox input:checked:focus~label:after,.ui.checkbox input:not([type=radio]):indeterminate:focus~.box:after,.ui.checkbox input:not([type=radio]):indeterminate:focus~label:after{color:rgba(0,0,0,.95)}.ui.read-only.checkbox,.ui.read-only.checkbox label{cursor:default}.ui.checkbox input[disabled]~.box:after,.ui.checkbox input[disabled]~label,.ui.disabled.checkbox .box:after,.ui.disabled.checkbox label{cursor:default!important;opacity:.5;color:#000}.ui.checkbox input.hidden{z-index:-1}.ui.checkbox input.hidden+label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui.radio.checkbox{min-height:15px}.ui.radio.checkbox .box,.ui.radio.checkbox label{padding-left:1.85714em}.ui.radio.checkbox .box:before,.ui.radio.checkbox label:before{content:'';transform:none;width:15px;height:15px;border-radius:500rem;top:1px;left:0}.ui.radio.checkbox .box:after,.ui.radio.checkbox label:after{border:none;content:''!important;width:15px;height:15px;line-height:15px}.ui.radio.checkbox .box:after,.ui.radio.checkbox label:after{top:1px;left:0;width:15px;height:15px;border-radius:500rem;transform:scale(.46666667);background-color:rgba(0,0,0,.87)}.ui.radio.checkbox input:focus~.box:before,.ui.radio.checkbox input:focus~label:before{background-color:#fff}.ui.radio.checkbox input:focus~.box:after,.ui.radio.checkbox input:focus~label:after{background-color:rgba(0,0,0,.95)}.ui.radio.checkbox input:indeterminate~.box:after,.ui.radio.checkbox input:indeterminate~label:after{opacity:0}.ui.radio.checkbox input:checked~.box:before,.ui.radio.checkbox input:checked~label:before{background-color:#fff}.ui.radio.checkbox input:checked~.box:after,.ui.radio.checkbox input:checked~label:after{background-color:rgba(0,0,0,.95)}.ui.radio.checkbox input:focus:checked~.box:before,.ui.radio.checkbox input:focus:checked~label:before{background-color:#fff}.ui.radio.checkbox input:focus:checked~.box:after,.ui.radio.checkbox input:focus:checked~label:after{background-color:rgba(0,0,0,.95)}.ui.slider.checkbox{min-height:1.25rem}.ui.slider.checkbox input{width:3.5rem;height:1.25rem}.ui.slider.checkbox .box,.ui.slider.checkbox label{padding-left:4.5rem;line-height:1rem;color:rgba(0,0,0,.4)}.ui.slider.checkbox .box:before,.ui.slider.checkbox label:before{display:block;position:absolute;content:'';border:none!important;left:0;z-index:1;top:.4rem;background-color:rgba(0,0,0,.05);width:3.5rem;height:.21428571rem;transform:none;border-radius:500rem;transition:background .3s ease}.ui.slider.checkbox .box:after,.ui.slider.checkbox label:after{background:#fff linear-gradient(transparent,rgba(0,0,0,.05));position:absolute;content:''!important;opacity:1;z-index:2;border:none;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;width:1.5rem;height:1.5rem;top:-.25rem;left:0;transform:none;border-radius:500rem;transition:left .3s ease}.ui.slider.checkbox input:focus~.box:before,.ui.slider.checkbox input:focus~label:before{background-color:rgba(0,0,0,.15);border:none}.ui.slider.checkbox .box:hover,.ui.slider.checkbox label:hover{color:rgba(0,0,0,.8)}.ui.slider.checkbox .box:hover::before,.ui.slider.checkbox label:hover::before{background:rgba(0,0,0,.15)}.ui.slider.checkbox input:checked~.box,.ui.slider.checkbox input:checked~label{color:rgba(0,0,0,.95)!important}.ui.slider.checkbox input:checked~.box:before,.ui.slider.checkbox input:checked~label:before{background-color:#545454!important}.ui.slider.checkbox input:checked~.box:after,.ui.slider.checkbox input:checked~label:after{left:2rem}.ui.slider.checkbox input:focus:checked~.box,.ui.slider.checkbox input:focus:checked~label{color:rgba(0,0,0,.95)!important}.ui.slider.checkbox input:focus:checked~.box:before,.ui.slider.checkbox input:focus:checked~label:before{background-color:#000!important}.ui.toggle.checkbox{min-height:1.5rem}.ui.toggle.checkbox input{width:3.5rem;height:1.5rem}.ui.toggle.checkbox .box,.ui.toggle.checkbox label{min-height:1.5rem;padding-left:4.5rem;color:rgba(0,0,0,.87)}.ui.toggle.checkbox label{padding-top:.15em}.ui.toggle.checkbox .box:before,.ui.toggle.checkbox label:before{display:block;position:absolute;content:'';z-index:1;transform:none;border:none;top:0;background:rgba(0,0,0,.05);box-shadow:none;width:3.5rem;height:1.5rem;border-radius:500rem}.ui.toggle.checkbox .box:after,.ui.toggle.checkbox label:after{background:#fff linear-gradient(transparent,rgba(0,0,0,.05));position:absolute;content:''!important;opacity:1;z-index:2;border:none;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;width:1.5rem;height:1.5rem;top:0;left:0;border-radius:500rem;transition:background .3s ease,left .3s ease}.ui.toggle.checkbox input~.box:after,.ui.toggle.checkbox input~label:after{left:-.05rem;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset}.ui.toggle.checkbox input:focus~.box:before,.ui.toggle.checkbox input:focus~label:before{background-color:rgba(0,0,0,.15);border:none}.ui.toggle.checkbox .box:hover::before,.ui.toggle.checkbox label:hover::before{background-color:rgba(0,0,0,.15);border:none}.ui.toggle.checkbox input:checked~.box,.ui.toggle.checkbox input:checked~label{color:rgba(0,0,0,.95)!important}.ui.toggle.checkbox input:checked~.box:before,.ui.toggle.checkbox input:checked~label:before{background-color:#2185d0!important}.ui.toggle.checkbox input:checked~.box:after,.ui.toggle.checkbox input:checked~label:after{left:2.15rem;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset}.ui.toggle.checkbox input:focus:checked~.box,.ui.toggle.checkbox input:focus:checked~label{color:rgba(0,0,0,.95)!important}.ui.toggle.checkbox input:focus:checked~.box:before,.ui.toggle.checkbox input:focus:checked~label:before{background-color:#0d71bb!important}.ui.fitted.checkbox .box,.ui.fitted.checkbox label{padding-left:0!important}.ui.fitted.toggle.checkbox{width:3.5rem}.ui.fitted.slider.checkbox{width:3.5rem}@font-face{font-family:Checkbox;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype')}.ui.checkbox .box:after,.ui.checkbox label:after{font-family:Checkbox}.ui.checkbox input:checked~.box:after,.ui.checkbox input:checked~label:after{content:'\e800'}.ui.checkbox input:indeterminate~.box:after,.ui.checkbox input:indeterminate~label:after{font-size:12px;content:'\e801'}/*! + * # Semantic UI 2.5.0 - Dimmer + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.dimmable:not(body){position:relative}.ui.dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;padding:1em;background-color:rgba(0,0,0,.85);opacity:0;line-height:1;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;animation-duration:.5s;transition:background-color .5s linear;flex-direction:column;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;will-change:opacity;z-index:1000}.ui.dimmer>.content{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;color:#fff}.ui.segment>.ui.dimmer{border-radius:inherit!important}.ui.dimmer:not(.inverted)::-webkit-scrollbar-track{background:rgba(255,255,255,.1)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:window-inactive{background:rgba(255,255,255,.15)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.35)}.animating.dimmable:not(body),.dimmed.dimmable:not(body){overflow:hidden}.dimmed.dimmable>.ui.animating.dimmer,.dimmed.dimmable>.ui.visible.dimmer,.ui.active.dimmer{display:flex;opacity:1}.ui.disabled.dimmer{width:0!important;height:0!important}.dimmed.dimmable>.ui.animating.legacy.dimmer,.dimmed.dimmable>.ui.visible.legacy.dimmer,.ui.active.legacy.dimmer{display:block}.ui[class*="top aligned"].dimmer{justify-content:flex-start}.ui[class*="bottom aligned"].dimmer{justify-content:flex-end}.ui.page.dimmer{position:fixed;transform-style:'';perspective:2000px;transform-origin:center center}body.animating.in.dimmable,body.dimmed.dimmable{overflow:hidden}body.dimmable>.dimmer{position:fixed}.blurring.dimmable>:not(.dimmer){-webkit-filter:blur(0) grayscale(0);filter:blur(0) grayscale(0);transition:.8s -webkit-filter ease;transition:.8s filter ease;transition:.8s filter ease,.8s -webkit-filter ease}.blurring.dimmed.dimmable>:not(.dimmer){-webkit-filter:blur(5px) grayscale(.7);filter:blur(5px) grayscale(.7)}.blurring.dimmable>.dimmer{background-color:rgba(0,0,0,.6)}.blurring.dimmable>.inverted.dimmer{background-color:rgba(255,255,255,.6)}.ui.dimmer>.top.aligned.content>*{vertical-align:top}.ui.dimmer>.bottom.aligned.content>*{vertical-align:bottom}.ui.inverted.dimmer{background-color:rgba(255,255,255,.85)}.ui.inverted.dimmer>.content>*{color:#fff}.ui.simple.dimmer{display:block;overflow:hidden;opacity:1;width:0%;height:0%;z-index:-100;background-color:rgba(0,0,0,0)}.dimmed.dimmable>.ui.simple.dimmer{overflow:visible;opacity:1;width:100%;height:100%;background-color:rgba(0,0,0,.85);z-index:1}.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,0)}.dimmed.dimmable>.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,.85)}/*! + * # Semantic UI 2.5.0 - Dropdown + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.dropdown{cursor:pointer;position:relative;display:inline-block;outline:0;text-align:left;transition:box-shadow .1s ease,width .1s ease;-webkit-tap-highlight-color:transparent}.ui.dropdown .menu{cursor:auto;position:absolute;display:none;outline:0;top:100%;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;margin:0;padding:0 0;background:#fff;font-size:1em;text-shadow:none;text-align:left;box-shadow:0 2px 3px 0 rgba(34,36,38,.15);border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;transition:opacity .1s ease;z-index:11;will-change:transform,opacity}.ui.dropdown .menu>*{white-space:nowrap}.ui.dropdown>input:not(.search):first-child,.ui.dropdown>select{display:none!important}.ui.dropdown>.dropdown.icon{position:relative;width:auto;font-size:.85714286em;margin:0 0 0 1em}.ui.dropdown .menu>.item .dropdown.icon{width:auto;float:right;margin:0 0 0 1em}.ui.dropdown .menu>.item .dropdown.icon+.text{margin-right:1em}.ui.dropdown>.text{display:inline-block;transition:none}.ui.dropdown .menu>.item{position:relative;cursor:pointer;display:block;border:none;height:auto;text-align:left;border-top:none;line-height:1em;color:rgba(0,0,0,.87);padding:.78571429rem 1.14285714rem!important;font-size:1rem;text-transform:none;font-weight:400;box-shadow:none;-webkit-touch-callout:none}.ui.dropdown .menu>.item:first-child{border-top-width:0}.ui.dropdown .menu .item>[class*="right floated"],.ui.dropdown>.text>[class*="right floated"]{float:right!important;margin-right:0!important;margin-left:1em!important}.ui.dropdown .menu .item>[class*="left floated"],.ui.dropdown>.text>[class*="left floated"]{float:left!important;margin-left:0!important;margin-right:1em!important}.ui.dropdown .menu .item>.flag.floated,.ui.dropdown .menu .item>.icon.floated,.ui.dropdown .menu .item>.image.floated,.ui.dropdown .menu .item>img.floated{margin-top:0}.ui.dropdown .menu>.header{margin:1rem 0 .75rem;padding:0 1.14285714rem;color:rgba(0,0,0,.85);font-size:.78571429em;font-weight:700;text-transform:uppercase}.ui.dropdown .menu>.divider{border-top:1px solid rgba(34,36,38,.1);height:0;margin:.5em 0}.ui.dropdown.dropdown .menu>.input{width:auto;display:flex;margin:1.14285714rem .78571429rem;min-width:10rem}.ui.dropdown .menu>.header+.input{margin-top:0}.ui.dropdown .menu>.input:not(.transparent) input{padding:.5em 1em}.ui.dropdown .menu>.input:not(.transparent) .button,.ui.dropdown .menu>.input:not(.transparent) .icon,.ui.dropdown .menu>.input:not(.transparent) .label{padding-top:.5em;padding-bottom:.5em}.ui.dropdown .menu>.item>.description,.ui.dropdown>.text>.description{float:right;margin:0 0 0 1em;color:rgba(0,0,0,.4)}.ui.dropdown .menu>.message{padding:.78571429rem 1.14285714rem;font-weight:400}.ui.dropdown .menu>.message:not(.ui){color:rgba(0,0,0,.4)}.ui.dropdown .menu .menu{top:0!important;left:100%;right:auto;margin:0 0 0 -.5em!important;border-radius:.28571429rem!important;z-index:21!important}.ui.dropdown .menu .menu:after{display:none}.ui.dropdown>.text>.flag,.ui.dropdown>.text>.icon,.ui.dropdown>.text>.image,.ui.dropdown>.text>.label,.ui.dropdown>.text>img{margin-top:0}.ui.dropdown .menu>.item>.flag,.ui.dropdown .menu>.item>.icon,.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>.label,.ui.dropdown .menu>.item>img{margin-top:0}.ui.dropdown .menu>.item>.flag,.ui.dropdown .menu>.item>.icon,.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>.label,.ui.dropdown .menu>.item>img,.ui.dropdown>.text>.flag,.ui.dropdown>.text>.icon,.ui.dropdown>.text>.image,.ui.dropdown>.text>.label,.ui.dropdown>.text>img{margin-left:0;float:none;margin-right:.78571429rem}.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>img,.ui.dropdown>.text>.image,.ui.dropdown>.text>img{display:inline-block;vertical-align:top;width:auto;margin-top:-.5em;margin-bottom:-.5em;max-height:2em}.ui.dropdown .ui.menu>.item:before,.ui.menu .ui.dropdown .menu>.item:before{display:none}.ui.menu .ui.dropdown .menu .active.item{border-left:none}.ui.buttons>.ui.dropdown:last-child>.menu,.ui.menu .right.dropdown.item>.menu,.ui.menu .right.menu .dropdown:last-child>.menu{left:auto;right:0}.ui.label.dropdown .menu{min-width:100%}.ui.dropdown.icon.button>.dropdown.icon{margin:0}.ui.button.dropdown .menu{min-width:100%}.ui.selection.dropdown{cursor:pointer;word-wrap:break-word;line-height:1em;white-space:normal;outline:0;transform:rotateZ(0);min-width:14em;min-height:2.71428571em;background:#fff;display:inline-block;padding:.78571429em 2.1em .78571429em 1em;color:rgba(0,0,0,.87);box-shadow:none;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;transition:box-shadow .1s ease,width .1s ease}.ui.selection.dropdown.active,.ui.selection.dropdown.visible{z-index:10}select.ui.dropdown{height:38px;padding:.5em;border:1px solid rgba(34,36,38,.15);visibility:visible}.ui.selection.dropdown>.delete.icon,.ui.selection.dropdown>.dropdown.icon,.ui.selection.dropdown>.search.icon{cursor:pointer;position:absolute;width:auto;height:auto;line-height:1.21428571em;top:.78571429em;right:1em;z-index:3;margin:-.78571429em;padding:.91666667em;opacity:.8;transition:opacity .1s ease}.ui.compact.selection.dropdown{min-width:0}.ui.selection.dropdown .menu{overflow-x:hidden;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:touch;border-top-width:0!important;width:auto;outline:0;margin:0 -1px;min-width:calc(100% + 2px);width:calc(100% + 2px);border-radius:0 0 .28571429rem .28571429rem;box-shadow:0 2px 3px 0 rgba(34,36,38,.15);transition:opacity .1s ease}.ui.selection.dropdown .menu:after,.ui.selection.dropdown .menu:before{display:none}.ui.selection.dropdown .menu>.message{padding:.78571429rem 1.14285714rem}@media only screen and (max-width:767px){.ui.selection.dropdown .menu{max-height:8.01428571rem}}@media only screen and (min-width:768px){.ui.selection.dropdown .menu{max-height:10.68571429rem}}@media only screen and (min-width:992px){.ui.selection.dropdown .menu{max-height:16.02857143rem}}@media only screen and (min-width:1920px){.ui.selection.dropdown .menu{max-height:21.37142857rem}}.ui.selection.dropdown .menu>.item{border-top:1px solid #fafafa;padding:.78571429rem 1.14285714rem!important;white-space:normal;word-wrap:normal}.ui.selection.dropdown .menu>.hidden.addition.item{display:none}.ui.selection.dropdown:hover{border-color:rgba(34,36,38,.35);box-shadow:none}.ui.selection.active.dropdown{border-color:#96c8da;box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.active.dropdown .menu{border-color:#96c8da;box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.dropdown:focus{border-color:#96c8da;box-shadow:none}.ui.selection.dropdown:focus .menu{border-color:#96c8da;box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.visible.dropdown>.text:not(.default){font-weight:400;color:rgba(0,0,0,.8)}.ui.selection.active.dropdown:hover{border-color:#96c8da;box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.active.dropdown:hover .menu{border-color:#96c8da;box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.active.selection.dropdown>.dropdown.icon,.ui.visible.selection.dropdown>.dropdown.icon{opacity:'';z-index:3}.ui.active.selection.dropdown{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.active.empty.selection.dropdown{border-radius:.28571429rem!important;box-shadow:none!important}.ui.active.empty.selection.dropdown .menu{border:none!important;box-shadow:none!important}.ui.search.dropdown{min-width:''}.ui.search.dropdown>input.search{background:none transparent!important;border:none!important;box-shadow:none!important;cursor:text;top:0;left:1px;width:100%;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);padding:inherit}.ui.search.dropdown>input.search{position:absolute;z-index:2}.ui.search.dropdown>.text{cursor:text;position:relative;left:1px;z-index:3}.ui.search.selection.dropdown>input.search{line-height:1.21428571em;padding:.67857143em 2.1em .67857143em 1em}.ui.search.selection.dropdown>span.sizer{line-height:1.21428571em;padding:.67857143em 2.1em .67857143em 1em;display:none;white-space:pre}.ui.search.dropdown.active>input.search,.ui.search.dropdown.visible>input.search{cursor:auto}.ui.search.dropdown.active>.text,.ui.search.dropdown.visible>.text{pointer-events:none}.ui.active.search.dropdown input.search:focus+.text .flag,.ui.active.search.dropdown input.search:focus+.text .icon{opacity:.45}.ui.active.search.dropdown input.search:focus+.text{color:rgba(115,115,115,.87)!important}.ui.search.dropdown .menu{overflow-x:hidden;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:touch}@media only screen and (max-width:767px){.ui.search.dropdown .menu{max-height:8.01428571rem}}@media only screen and (min-width:768px){.ui.search.dropdown .menu{max-height:10.68571429rem}}@media only screen and (min-width:992px){.ui.search.dropdown .menu{max-height:16.02857143rem}}@media only screen and (min-width:1920px){.ui.search.dropdown .menu{max-height:21.37142857rem}}.ui.multiple.dropdown{padding:.22619048em 2.1em .22619048em .35714286em}.ui.multiple.dropdown .menu{cursor:auto}.ui.multiple.search.dropdown,.ui.multiple.search.dropdown>input.search{cursor:text}.ui.multiple.dropdown>.label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;vertical-align:top;white-space:normal;font-size:1em;padding:.35714286em .78571429em;margin:.14285714rem .28571429rem .14285714rem 0;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset}.ui.multiple.dropdown .dropdown.icon{margin:'';padding:''}.ui.multiple.dropdown>.text{position:static;padding:0;max-width:100%;margin:.45238095em 0 .45238095em .64285714em;line-height:1.21428571em}.ui.multiple.dropdown>.label~input.search{margin-left:.14285714em!important}.ui.multiple.dropdown>.label~.text{display:none}.ui.multiple.search.dropdown>.text{display:inline-block;position:absolute;top:0;left:0;padding:inherit;margin:.45238095em 0 .45238095em .64285714em;line-height:1.21428571em}.ui.multiple.search.dropdown>.label~.text{display:none}.ui.multiple.search.dropdown>input.search{position:static;padding:0;max-width:100%;margin:.45238095em 0 .45238095em .64285714em;width:2.2em;line-height:1.21428571em}.ui.inline.dropdown{cursor:pointer;display:inline-block;color:inherit}.ui.inline.dropdown .dropdown.icon{margin:0 .21428571em 0 .21428571em;vertical-align:baseline}.ui.inline.dropdown>.text{font-weight:700}.ui.inline.dropdown .menu{cursor:auto;margin-top:.21428571em;border-radius:.28571429rem}.ui.dropdown .menu .active.item{background:0 0;font-weight:700;color:rgba(0,0,0,.95);box-shadow:none;z-index:12}.ui.dropdown .menu>.item:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);z-index:13}.ui.loading.dropdown>i.icon{height:1em!important}.ui.loading.selection.dropdown>i.icon{padding:1.5em 1.28571429em!important}.ui.loading.dropdown>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loading.dropdown>i.icon:after{position:absolute;content:'';top:50%;left:50%;box-shadow:0 0 0 1px transparent;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:dropdown-spin .6s linear;animation:dropdown-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em}.ui.loading.dropdown.button>i.icon:after,.ui.loading.dropdown.button>i.icon:before{display:none}@-webkit-keyframes dropdown-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dropdown-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.ui.default.dropdown:not(.button)>.text,.ui.dropdown:not(.button)>.default.text{color:rgba(191,191,191,.87)}.ui.default.dropdown:not(.button)>input:focus~.text,.ui.dropdown:not(.button)>input:focus~.default.text{color:rgba(115,115,115,.87)}.ui.loading.dropdown>.text{transition:none}.ui.dropdown .loading.menu{display:block;visibility:hidden;z-index:-1}.ui.dropdown>.loading.menu{left:0!important;right:auto!important}.ui.dropdown>.menu .loading.menu{left:100%!important;right:auto!important}.ui.dropdown .menu .selected.item,.ui.dropdown.selected{background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.dropdown>.filtered.text{visibility:hidden}.ui.dropdown .filtered.item{display:none!important}.ui.dropdown.error,.ui.dropdown.error>.default.text,.ui.dropdown.error>.text{color:#9f3a38}.ui.selection.dropdown.error{background:#fff6f6;border-color:#e0b4b4}.ui.selection.dropdown.error:hover{border-color:#e0b4b4}.ui.dropdown.error>.menu,.ui.dropdown.error>.menu .menu{border-color:#e0b4b4}.ui.dropdown.error>.menu>.item{color:#9f3a38}.ui.multiple.selection.error.dropdown>.label{border-color:#e0b4b4}.ui.dropdown.error>.menu>.item:hover{background-color:#fff2f2}.ui.dropdown.error>.menu .active.item{background-color:#fdcfcf}.ui.dropdown>.clear.dropdown.icon{opacity:.8;transition:opacity .1s ease}.ui.dropdown>.clear.dropdown.icon:hover{opacity:1}.ui.disabled.dropdown,.ui.dropdown .menu>.disabled.item{cursor:default;pointer-events:none;opacity:.45}.ui.dropdown .menu{left:0}.ui.dropdown .menu .right.menu,.ui.dropdown .right.menu>.menu{left:100%!important;right:auto!important;border-radius:.28571429rem!important}.ui.dropdown>.left.menu{left:auto!important;right:0!important}.ui.dropdown .menu .left.menu,.ui.dropdown>.left.menu .menu{left:auto;right:100%;margin:0 -.5em 0 0!important;border-radius:.28571429rem!important}.ui.dropdown .item .left.dropdown.icon,.ui.dropdown .left.menu .item .dropdown.icon{width:auto;float:left;margin:0}.ui.dropdown .item .left.dropdown.icon,.ui.dropdown .left.menu .item .dropdown.icon{width:auto;float:left;margin:0}.ui.dropdown .item .left.dropdown.icon+.text,.ui.dropdown .left.menu .item .dropdown.icon+.text{margin-left:1em;margin-right:0}.ui.upward.dropdown>.menu{top:auto;bottom:100%;box-shadow:0 0 3px 0 rgba(0,0,0,.08);border-radius:.28571429rem .28571429rem 0 0}.ui.dropdown .upward.menu{top:auto!important;bottom:0!important}.ui.simple.upward.active.dropdown,.ui.simple.upward.dropdown:hover{border-radius:.28571429rem .28571429rem 0 0!important}.ui.upward.dropdown.button:not(.pointing):not(.floating).active{border-radius:.28571429rem .28571429rem 0 0}.ui.upward.selection.dropdown .menu{border-top-width:1px!important;border-bottom-width:0!important;box-shadow:0 -2px 3px 0 rgba(0,0,0,.08)}.ui.upward.selection.dropdown:hover{box-shadow:0 0 2px 0 rgba(0,0,0,.05)}.ui.active.upward.selection.dropdown{border-radius:0 0 .28571429rem .28571429rem!important}.ui.upward.selection.dropdown.visible{box-shadow:0 0 3px 0 rgba(0,0,0,.08);border-radius:0 0 .28571429rem .28571429rem!important}.ui.upward.active.selection.dropdown:hover{box-shadow:0 0 3px 0 rgba(0,0,0,.05)}.ui.upward.active.selection.dropdown:hover .menu{box-shadow:0 -2px 3px 0 rgba(0,0,0,.08)}.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{overflow-x:hidden;overflow-y:auto}.ui.scrolling.dropdown .menu{overflow-x:hidden;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:touch;min-width:100%!important;width:auto!important}.ui.dropdown .scrolling.menu{position:static;overflow-y:auto;border:none;box-shadow:none!important;border-radius:0!important;margin:0!important;min-width:100%!important;width:auto!important;border-top:1px solid rgba(34,36,38,.15)}.ui.dropdown .scrolling.menu>.item.item.item,.ui.scrolling.dropdown .menu .item.item.item{border-top:none}.ui.dropdown .scrolling.menu .item:first-child,.ui.scrolling.dropdown .menu .item:first-child{border-top:none}.ui.dropdown>.animating.menu .scrolling.menu,.ui.dropdown>.visible.menu .scrolling.menu{display:block}@media all and (-ms-high-contrast:none){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{min-width:calc(100% - 17px)}}@media only screen and (max-width:767px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:10.28571429rem}}@media only screen and (min-width:768px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:15.42857143rem}}@media only screen and (min-width:992px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:20.57142857rem}}@media only screen and (min-width:1920px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:20.57142857rem}}.ui.simple.dropdown .menu:after,.ui.simple.dropdown .menu:before{display:none}.ui.simple.dropdown .menu{position:absolute;display:block;overflow:hidden;top:-9999px!important;opacity:0;width:0;height:0;transition:opacity .1s ease}.ui.simple.active.dropdown,.ui.simple.dropdown:hover{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.simple.active.dropdown>.menu,.ui.simple.dropdown:hover>.menu{overflow:visible;width:auto;height:auto;top:100%!important;opacity:1}.ui.simple.dropdown:hover>.menu>.item:hover>.menu,.ui.simple.dropdown>.menu>.item:active>.menu{overflow:visible;width:auto;height:auto;top:0!important;left:100%!important;opacity:1}.ui.simple.disabled.dropdown:hover .menu{display:none;height:0;width:0;overflow:hidden}.ui.simple.visible.dropdown>.menu{display:block}.ui.fluid.dropdown{display:block;width:100%;min-width:0}.ui.fluid.dropdown>.dropdown.icon{float:right}.ui.floating.dropdown .menu{left:0;right:auto;box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)!important;border-radius:.28571429rem!important}.ui.floating.dropdown>.menu{margin-top:.5em!important;border-radius:.28571429rem!important}.ui.pointing.dropdown>.menu{top:100%;margin-top:.78571429rem;border-radius:.28571429rem}.ui.pointing.dropdown>.menu:after{display:block;position:absolute;pointer-events:none;content:'';visibility:visible;transform:rotate(45deg);width:.5em;height:.5em;box-shadow:-1px -1px 0 0 rgba(34,36,38,.15);background:#fff;z-index:2}.ui.pointing.dropdown>.menu:after{top:-.25em;left:50%;margin:0 0 0 -.25em}.ui.top.left.pointing.dropdown>.menu{top:100%;bottom:auto;left:0;right:auto;margin:1em 0 0}.ui.top.left.pointing.dropdown>.menu{top:100%;bottom:auto;left:0;right:auto;margin:1em 0 0}.ui.top.left.pointing.dropdown>.menu:after{top:-.25em;left:1em;right:auto;margin:0;transform:rotate(45deg)}.ui.top.right.pointing.dropdown>.menu{top:100%;bottom:auto;right:0;left:auto;margin:1em 0 0}.ui.top.pointing.dropdown>.left.menu:after,.ui.top.right.pointing.dropdown>.menu:after{top:-.25em;left:auto!important;right:1em!important;margin:0;transform:rotate(45deg)}.ui.left.pointing.dropdown>.menu{top:0;left:100%;right:auto;margin:0 0 0 1em}.ui.left.pointing.dropdown>.menu:after{top:1em;left:-.25em;margin:0;transform:rotate(-45deg)}.ui.left:not(.top):not(.bottom).pointing.dropdown>.left.menu{left:auto!important;right:100%!important;margin:0 1em 0 0}.ui.left:not(.top):not(.bottom).pointing.dropdown>.left.menu:after{top:1em;left:auto;right:-.25em;margin:0;transform:rotate(135deg)}.ui.right.pointing.dropdown>.menu{top:0;left:auto;right:100%;margin:0 1em 0 0}.ui.right.pointing.dropdown>.menu:after{top:1em;left:auto;right:-.25em;margin:0;transform:rotate(135deg)}.ui.bottom.pointing.dropdown>.menu{top:auto;bottom:100%;left:0;right:auto;margin:0 0 1em}.ui.bottom.pointing.dropdown>.menu:after{top:auto;bottom:-.25em;right:auto;margin:0;transform:rotate(-135deg)}.ui.bottom.pointing.dropdown>.menu .menu{top:auto!important;bottom:0!important}.ui.bottom.left.pointing.dropdown>.menu{left:0;right:auto}.ui.bottom.left.pointing.dropdown>.menu:after{left:1em;right:auto}.ui.bottom.right.pointing.dropdown>.menu{right:0;left:auto}.ui.bottom.right.pointing.dropdown>.menu:after{left:auto;right:1em}.ui.pointing.upward.dropdown .menu,.ui.top.pointing.upward.dropdown .menu{top:auto!important;bottom:100%!important;margin:0 0 .78571429rem;border-radius:.28571429rem}.ui.pointing.upward.dropdown .menu:after,.ui.top.pointing.upward.dropdown .menu:after{top:100%!important;bottom:auto!important;box-shadow:1px 1px 0 0 rgba(34,36,38,.15);margin:-.25em 0 0}.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu{top:auto!important;bottom:0!important;margin:0 1em 0 0}.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after{top:auto!important;bottom:0!important;margin:0 0 1em 0;box-shadow:-1px -1px 0 0 rgba(34,36,38,.15)}.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu{top:auto!important;bottom:0!important;margin:0 0 0 1em}.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after{top:auto!important;bottom:0!important;margin:0 0 1em 0;box-shadow:-1px -1px 0 0 rgba(34,36,38,.15)}@font-face{font-family:Dropdown;src:url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAVgAA8AAAAACFAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABWAAAABwAAAAchGgaq0dERUYAAAF0AAAAHAAAAB4AJwAPT1MvMgAAAZAAAABDAAAAVnW4TJdjbWFwAAAB1AAAAEsAAAFS8CcaqmN2dCAAAAIgAAAABAAAAAQAEQFEZ2FzcAAAAiQAAAAIAAAACP//AANnbHlmAAACLAAAAQoAAAGkrRHP9WhlYWQAAAM4AAAAMAAAADYPK8YyaGhlYQAAA2gAAAAdAAAAJANCAb1obXR4AAADiAAAACIAAAAiCBkAOGxvY2EAAAOsAAAAFAAAABQBnAIybWF4cAAAA8AAAAAfAAAAIAEVAF5uYW1lAAAD4AAAATAAAAKMFGlj5HBvc3QAAAUQAAAARgAAAHJoedjqd2ViZgAABVgAAAAGAAAABrO7W5UAAAABAAAAANXulPUAAAAA1r4hgAAAAADXu2Q1eNpjYGRgYOABYjEgZmJgBEIOIGYB8xgAA/YAN3jaY2BktGOcwMDKwMI4jTGNgYHBHUp/ZZBkaGFgYGJgZWbACgLSXFMYHFT/fLjFeOD/AQY9xjMMbkBhRpAcAN48DQYAeNpjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETAwMqn8+8H649f8/lHX9//9b7Pzf+fWgusCAkY0BzmUE6gHpQwGMDMMeAACbxg7SAAARAUQAAAAB//8AAnjadZBPSsNAGMXfS+yMqYgOhpSuSlKadmUhiVEhEMQzFF22m17BbbvzCh5BXCUn6EG8gjeQ4DepwYo4i+/ffL95j4EDA+CFC7jQuKyIeVHrI3wkleq9F7XrSInKteOeHdda8bOoaeepSc00NWPz/LRec9G8GabyGtEdF7h19z033GAMTK7zbM42xNEZpzYof0RtQ5CUHAQJ73OtVyutc+3b7Ou//b8XNlsPx3jgjUifABdhEohKJJL5iM5p39uqc7X1+sRQSqmGrUVhlsJ4lpmEUVwyT8SUYtg0P9DyNzPADDs+tjrGV6KRCRfsui3eHcL4/p8ZXvfMlcnEU+CLv7hDykOP+AKTPTxbAAB42mNgZGBgAGKuf5KP4vltvjLIMzGAwLV9ig0g+vruFFMQzdjACOJzMIClARh0CTJ42mNgZGBgPPD/AJD8wgAEjA0MjAyogAMAbOQEAQAAAAC7ABEAAAAAAKoAAAH0AAABgAAAAUAACAFAAAgAwAAXAAAAAAAAACoAKgAqADIAbACGAKAAugDSeNpjYGRgYOBkUGFgYgABEMkFhAwM/xn0QAIADdUBdAB42qWQvUoDQRSFv3GjaISUQaymSmGxJoGAsRC0iPYLsU50Y6IxrvlRtPCJJKUPIBb+PIHv4EN4djKuKAqCDHfmu+feOdwZoMCUAJNbAlYUMzaUlM14jjxbngOq7HnOia89z1Pk1vMCa9x7ztPkzfMyJbPj+ZGi6Xp+omxuPD+zaD7meaFg7mb8GrBqHmhwxoAxlm0uiRkpP9X5m26pKRoMxTGR1D49Dv/Yb/91o6l8qL6eu5n2hZQzn68utR9m3FU2cB4t9cdSLG2utI+44Eh/P9bqKO+oJ/WxmXssj77YkrjasZQD6SFddythk3Wtzrf+UF2p076Udla1VNzsERP3kkjVRKel7mp1udXYcHtZSlV7RfmJe1GiFWveluaeKD5/MuJcSk8Tpm/vvwPIbmJleNpjYGKAAFYG7ICTgYGRiZGZkYWRlZGNkZ2Rg5GTLT2nsiDDEEIZsZfmZRqZujmDaDcDAxcI7WIOpS2gtCWUdgQAZkcSmQAAAAFblbO6AAA=) format('woff');font-weight:400;font-style:normal}.ui.dropdown>.dropdown.icon{font-family:Dropdown;line-height:1;height:1em;width:1.23em;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.dropdown>.dropdown.icon{width:auto}.ui.dropdown>.dropdown.icon:before{content:'\f0d7'}.ui.dropdown .menu .item .dropdown.icon:before{content:'\f0da'}.ui.dropdown .item .left.dropdown.icon:before,.ui.dropdown .left.menu .item .dropdown.icon:before{content:"\f0d9"}.ui.vertical.menu .dropdown.item>.dropdown.icon:before{content:"\f0da"}.ui.dropdown>.clear.icon:before{content:"\f00d"}/*! + * # Semantic UI 2.5.0 - Video + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.embed{position:relative;max-width:100%;height:0;overflow:hidden;background:#dcddde;padding-bottom:56.25%}.ui.embed embed,.ui.embed iframe,.ui.embed object{position:absolute;border:none;width:100%;height:100%;top:0;left:0;margin:0;padding:0}.ui.embed>.embed{display:none}.ui.embed>.placeholder{position:absolute;cursor:pointer;top:0;left:0;display:block;width:100%;height:100%;background-color:radial-gradient(transparent 45%,rgba(0,0,0,.3))}.ui.embed>.icon{cursor:pointer;position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.ui.embed>.icon:after{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;content:'';background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:.5;transition:opacity .5s ease}.ui.embed>.icon:before{position:absolute;top:50%;left:50%;z-index:4;transform:translateX(-50%) translateY(-50%);color:#fff;font-size:6rem;text-shadow:0 2px 10px rgba(34,36,38,.2);transition:opacity .5s ease,color .5s ease;z-index:10}.ui.embed .icon:hover:after{background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:1}.ui.embed .icon:hover:before{color:#fff}.ui.active.embed>.icon,.ui.active.embed>.placeholder{display:none}.ui.active.embed>.embed{display:block}.ui.square.embed{padding-bottom:100%}.ui[class*="4:3"].embed{padding-bottom:75%}.ui[class*="16:9"].embed{padding-bottom:56.25%}.ui[class*="21:9"].embed{padding-bottom:42.85714286%}/*! + * # Semantic UI 2.5.0 - Modal + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.modal{position:absolute;display:none;z-index:1001;text-align:left;background:#fff;border:none;box-shadow:1px 3px 3px 0 rgba(0,0,0,.2),1px 3px 15px 2px rgba(0,0,0,.2);transform-origin:50% 25%;flex:0 0 auto;border-radius:.28571429rem;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;will-change:top,left,margin,transform,opacity}.ui.modal>.icon:first-child+*,.ui.modal>:first-child:not(.icon){border-top-left-radius:.28571429rem;border-top-right-radius:.28571429rem}.ui.modal>:last-child{border-bottom-left-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.modal>.close{cursor:pointer;position:absolute;top:-2.5rem;right:-2.5rem;z-index:1;opacity:.8;font-size:1.25em;color:#fff;width:2.25rem;height:2.25rem;padding:.625rem 0 0 0}.ui.modal>.close:hover{opacity:1}.ui.modal>.header{display:block;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;background:#fff;margin:0;padding:1.25rem 1.5rem;box-shadow:none;color:rgba(0,0,0,.85);border-bottom:1px solid rgba(34,36,38,.15)}.ui.modal>.header:not(.ui){font-size:1.42857143rem;line-height:1.28571429em;font-weight:700}.ui.modal>.content{display:block;width:100%;font-size:1em;line-height:1.4;padding:1.5rem;background:#fff}.ui.modal>.image.content{display:flex;flex-direction:row}.ui.modal>.content>.image{display:block;flex:0 1 auto;width:'';align-self:top}.ui.modal>[class*="top aligned"]{align-self:top}.ui.modal>[class*="middle aligned"]{align-self:middle}.ui.modal>[class*=stretched]{align-self:stretch}.ui.modal>.content>.description{display:block;flex:1 0 auto;min-width:0;align-self:top}.ui.modal>.content>.icon+.description,.ui.modal>.content>.image+.description{flex:0 1 auto;min-width:'';width:auto;padding-left:2em}.ui.modal>.content>.image>i.icon{margin:0;opacity:1;width:auto;line-height:1;font-size:8rem}.ui.modal>.actions{background:#f9fafb;padding:1rem 1rem;border-top:1px solid rgba(34,36,38,.15);text-align:right}.ui.modal .actions>.button{margin-left:.75em}@media only screen and (max-width:767px){.ui.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.modal{width:88%;margin:0}}@media only screen and (min-width:992px){.ui.modal{width:850px;margin:0}}@media only screen and (min-width:1200px){.ui.modal{width:900px;margin:0}}@media only screen and (min-width:1920px){.ui.modal{width:950px;margin:0}}@media only screen and (max-width:991px){.ui.modal>.header{padding-right:2.25rem}.ui.modal>.close{top:1.0535rem;right:1rem;color:rgba(0,0,0,.87)}}@media only screen and (max-width:767px){.ui.modal>.header{padding:.75rem 1rem!important;padding-right:2.25rem!important}.ui.modal>.content{display:block;padding:1rem!important}.ui.modal>.close{top:.5rem!important;right:.5rem!important}.ui.modal .image.content{flex-direction:column}.ui.modal .content>.image{display:block;max-width:100%;margin:0 auto!important;text-align:center;padding:0 0 1rem!important}.ui.modal>.content>.image>i.icon{font-size:5rem;text-align:center}.ui.modal .content>.description{display:block;width:100%!important;margin:0!important;padding:1rem 0!important;box-shadow:none}.ui.modal>.actions{padding:1rem 1rem 0!important}.ui.modal .actions>.button,.ui.modal .actions>.buttons{margin-bottom:1rem}}.ui.inverted.dimmer>.ui.modal{box-shadow:1px 3px 10px 2px rgba(0,0,0,.2)}.ui.basic.modal{background-color:transparent;border:none;border-radius:0;box-shadow:none!important;color:#fff}.ui.basic.modal>.actions,.ui.basic.modal>.content,.ui.basic.modal>.header{background-color:transparent}.ui.basic.modal>.header{color:#fff}.ui.basic.modal>.close{top:1rem;right:1.5rem}.ui.inverted.dimmer>.basic.modal{color:rgba(0,0,0,.87)}.ui.inverted.dimmer>.ui.basic.modal>.header{color:rgba(0,0,0,.85)}.ui.legacy.modal,.ui.legacy.page.dimmer>.ui.modal{top:50%;left:50%}.ui.legacy.page.dimmer>.ui.scrolling.modal,.ui.page.dimmer>.ui.scrolling.legacy.modal,.ui.top.aligned.dimmer>.ui.legacy.modal,.ui.top.aligned.legacy.page.dimmer>.ui.modal{top:auto}@media only screen and (max-width:991px){.ui.basic.modal>.close{color:#fff}}.ui.loading.modal{display:block;visibility:hidden;z-index:-1}.ui.active.modal{display:block}.modals.dimmer[class*="top aligned"] .modal{margin:5vh auto}@media only screen and (max-width:767px){.modals.dimmer[class*="top aligned"] .modal{margin:1rem auto}}.legacy.modals.dimmer[class*="top aligned"]{padding-top:5vh}@media only screen and (max-width:767px){.legacy.modals.dimmer[class*="top aligned"]{padding-top:1rem}}.scrolling.dimmable.dimmed{overflow:hidden}.scrolling.dimmable>.dimmer{justify-content:flex-start}.scrolling.dimmable.dimmed>.dimmer{overflow:auto;-webkit-overflow-scrolling:touch}.scrolling.dimmable>.dimmer{position:fixed}.modals.dimmer .ui.scrolling.modal{margin:1rem auto}.scrolling.undetached.dimmable.dimmed{overflow:auto;-webkit-overflow-scrolling:touch}.scrolling.undetached.dimmable.dimmed>.dimmer{overflow:hidden}.scrolling.undetached.dimmable .ui.scrolling.modal{position:absolute;left:50%;margin-top:1rem!important}.ui.modal .scrolling.content{max-height:calc(80vh - 10em);overflow:auto}.ui.fullscreen.modal{width:95%!important;margin:1em auto}.ui.fullscreen.modal>.header{padding-right:2.25rem}.ui.fullscreen.modal>.close{top:1.0535rem;right:1rem;color:rgba(0,0,0,.87)}.ui.modal{font-size:1rem}.ui.mini.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width:767px){.ui.mini.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.mini.modal{width:35.2%;margin:0}}@media only screen and (min-width:992px){.ui.mini.modal{width:340px;margin:0}}@media only screen and (min-width:1200px){.ui.mini.modal{width:360px;margin:0}}@media only screen and (min-width:1920px){.ui.mini.modal{width:380px;margin:0}}.ui.small.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width:767px){.ui.tiny.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.tiny.modal{width:52.8%;margin:0}}@media only screen and (min-width:992px){.ui.tiny.modal{width:510px;margin:0}}@media only screen and (min-width:1200px){.ui.tiny.modal{width:540px;margin:0}}@media only screen and (min-width:1920px){.ui.tiny.modal{width:570px;margin:0}}.ui.small.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width:767px){.ui.small.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.small.modal{width:70.4%;margin:0}}@media only screen and (min-width:992px){.ui.small.modal{width:680px;margin:0}}@media only screen and (min-width:1200px){.ui.small.modal{width:720px;margin:0}}@media only screen and (min-width:1920px){.ui.small.modal{width:760px;margin:0}}.ui.large.modal>.header{font-size:1.6em}@media only screen and (max-width:767px){.ui.large.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.large.modal{width:88%;margin:0}}@media only screen and (min-width:992px){.ui.large.modal{width:1020px;margin:0}}@media only screen and (min-width:1200px){.ui.large.modal{width:1080px;margin:0}}@media only screen and (min-width:1920px){.ui.large.modal{width:1140px;margin:0}}/*! + * # Semantic UI 2.5.0 - Nag + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:999;min-height:0;width:100%;margin:0;padding:.75em 1em;background:#555;box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1rem;text-align:center;color:rgba(0,0,0,.87);border-radius:0 0 .28571429rem .28571429rem;transition:.2s background ease}a.ui.nag{cursor:pointer}.ui.nag>.title{display:inline-block;margin:0 .5em;color:#fff}.ui.nag>.close.icon{cursor:pointer;opacity:.4;position:absolute;top:50%;right:1em;font-size:1em;margin:-.5em 0 0;color:#fff;transition:opacity .2s ease}.ui.nag:hover{background:#555;opacity:1}.ui.nag .close:hover{opacity:1}.ui.overlay.nag{position:absolute;display:block}.ui.fixed.nag{position:fixed}.ui.bottom.nag,.ui.bottom.nags{border-radius:.28571429rem .28571429rem 0 0;top:auto;bottom:0}.ui.inverted.nag,.ui.inverted.nags .nag{background-color:#f3f4f5;color:rgba(0,0,0,.85)}.ui.inverted.nag .close,.ui.inverted.nag .title,.ui.inverted.nags .nag .close,.ui.inverted.nags .nag .title{color:rgba(0,0,0,.4)}.ui.nags .nag{border-radius:0!important}.ui.nags .nag:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.nags .nag:last-child{border-radius:.28571429rem .28571429rem 0 0}/*! + * # Semantic UI 2.5.0 - Popup + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.popup{display:none;position:absolute;top:0;right:0;min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content;z-index:1900;border:1px solid #d4d4d5;line-height:1.4285em;max-width:250px;background:#fff;padding:.833em 1em;font-weight:400;font-style:normal;color:rgba(0,0,0,.87);border-radius:.28571429rem;box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.popup>.header{padding:0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1.14285714em;line-height:1.2;font-weight:700}.ui.popup>.header+.content{padding-top:.5em}.ui.popup:before{position:absolute;content:'';width:.71428571em;height:.71428571em;background:#fff;transform:rotate(45deg);z-index:2;box-shadow:1px 1px 0 0 #bababc}[data-tooltip]{position:relative}[data-tooltip]:before{pointer-events:none;position:absolute;content:'';font-size:1rem;width:.71428571em;height:.71428571em;background:#fff;transform:rotate(45deg);z-index:2;box-shadow:1px 1px 0 0 #bababc}[data-tooltip]:after{pointer-events:none;content:attr(data-tooltip);position:absolute;text-transform:none;text-align:left;white-space:nowrap;font-size:1rem;border:1px solid #d4d4d5;line-height:1.4285em;max-width:none;background:#fff;padding:.833em 1em;font-weight:400;font-style:normal;color:rgba(0,0,0,.87);border-radius:.28571429rem;box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);z-index:1}[data-tooltip]:not([data-position]):before{top:auto;right:auto;bottom:100%;left:50%;background:#fff;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-tooltip]:not([data-position]):after{left:50%;transform:translateX(-50%);bottom:100%;margin-bottom:.5em}[data-tooltip]:after,[data-tooltip]:before{pointer-events:none;visibility:hidden}[data-tooltip]:before{opacity:0;transform:rotate(45deg) scale(0)!important;transform-origin:center top;transition:all .1s ease}[data-tooltip]:after{opacity:1;transform-origin:center bottom;transition:all .1s ease}[data-tooltip]:hover:after,[data-tooltip]:hover:before{visibility:visible;pointer-events:auto}[data-tooltip]:hover:before{transform:rotate(45deg) scale(1)!important;opacity:1}[data-tooltip]:after,[data-tooltip][data-position="bottom center"]:after,[data-tooltip][data-position="top center"]:after{transform:translateX(-50%) scale(0)!important}[data-tooltip]:hover:after,[data-tooltip][data-position="bottom center"]:hover:after{transform:translateX(-50%) scale(1)!important}[data-tooltip][data-position="left center"]:after,[data-tooltip][data-position="right center"]:after{transform:translateY(-50%) scale(0)!important}[data-tooltip][data-position="left center"]:hover:after,[data-tooltip][data-position="right center"]:hover:after{transform:translateY(-50%) scale(1)!important}[data-tooltip][data-position="bottom left"]:after,[data-tooltip][data-position="bottom right"]:after,[data-tooltip][data-position="top left"]:after,[data-tooltip][data-position="top right"]:after{transform:scale(0)!important}[data-tooltip][data-position="bottom left"]:hover:after,[data-tooltip][data-position="bottom right"]:hover:after,[data-tooltip][data-position="top left"]:hover:after,[data-tooltip][data-position="top right"]:hover:after{transform:scale(1)!important}[data-tooltip][data-inverted]:before{box-shadow:none!important}[data-tooltip][data-inverted]:before{background:#1b1c1d}[data-tooltip][data-inverted]:after{background:#1b1c1d;color:#fff;border:none;box-shadow:none}[data-tooltip][data-inverted]:after .header{background-color:none;color:#fff}[data-position="top center"][data-tooltip]:after{top:auto;right:auto;left:50%;bottom:100%;transform:translateX(-50%);margin-bottom:.5em}[data-position="top center"][data-tooltip]:before{top:auto;right:auto;bottom:100%;left:50%;background:#fff;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-position="top left"][data-tooltip]:after{top:auto;right:auto;left:0;bottom:100%;margin-bottom:.5em}[data-position="top left"][data-tooltip]:before{top:auto;right:auto;bottom:100%;left:1em;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-position="top right"][data-tooltip]:after{top:auto;left:auto;right:0;bottom:100%;margin-bottom:.5em}[data-position="top right"][data-tooltip]:before{top:auto;left:auto;bottom:100%;right:1em;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-position="bottom center"][data-tooltip]:after{bottom:auto;right:auto;left:50%;top:100%;transform:translateX(-50%);margin-top:.5em}[data-position="bottom center"][data-tooltip]:before{bottom:auto;right:auto;top:100%;left:50%;margin-left:-.07142857rem;margin-top:.14285714rem}[data-position="bottom left"][data-tooltip]:after{left:0;top:100%;margin-top:.5em}[data-position="bottom left"][data-tooltip]:before{bottom:auto;right:auto;top:100%;left:1em;margin-left:-.07142857rem;margin-top:.14285714rem}[data-position="bottom right"][data-tooltip]:after{right:0;top:100%;margin-top:.5em}[data-position="bottom right"][data-tooltip]:before{bottom:auto;left:auto;top:100%;right:1em;margin-left:-.14285714rem;margin-top:.07142857rem}[data-position="left center"][data-tooltip]:after{right:100%;top:50%;margin-right:.5em;transform:translateY(-50%)}[data-position="left center"][data-tooltip]:before{right:100%;top:50%;margin-top:-.14285714rem;margin-right:-.07142857rem}[data-position="right center"][data-tooltip]:after{left:100%;top:50%;margin-left:.5em;transform:translateY(-50%)}[data-position="right center"][data-tooltip]:before{left:100%;top:50%;margin-top:-.07142857rem;margin-left:.14285714rem}[data-position~=bottom][data-tooltip]:before{background:#fff;box-shadow:-1px -1px 0 0 #bababc}[data-position="left center"][data-tooltip]:before{background:#fff;box-shadow:1px -1px 0 0 #bababc}[data-position="right center"][data-tooltip]:before{background:#fff;box-shadow:-1px 1px 0 0 #bababc}[data-position~=top][data-tooltip]:before{background:#fff}[data-inverted][data-position~=bottom][data-tooltip]:before{background:#1b1c1d;box-shadow:-1px -1px 0 0 #bababc}[data-inverted][data-position="left center"][data-tooltip]:before{background:#1b1c1d;box-shadow:1px -1px 0 0 #bababc}[data-inverted][data-position="right center"][data-tooltip]:before{background:#1b1c1d;box-shadow:-1px 1px 0 0 #bababc}[data-inverted][data-position~=top][data-tooltip]:before{background:#1b1c1d}[data-position~=bottom][data-tooltip]:before{transform-origin:center bottom}[data-position~=bottom][data-tooltip]:after{transform-origin:center top}[data-position="left center"][data-tooltip]:before{transform-origin:top center}[data-position="left center"][data-tooltip]:after{transform-origin:right center}[data-position="right center"][data-tooltip]:before{transform-origin:right center}[data-position="right center"][data-tooltip]:after{transform-origin:left center}.ui.popup{margin:0}.ui.top.popup{margin:0 0 .71428571em}.ui.top.left.popup{transform-origin:left bottom}.ui.top.center.popup{transform-origin:center bottom}.ui.top.right.popup{transform-origin:right bottom}.ui.left.center.popup{margin:0 .71428571em 0 0;transform-origin:right 50%}.ui.right.center.popup{margin:0 0 0 .71428571em;transform-origin:left 50%}.ui.bottom.popup{margin:.71428571em 0 0}.ui.bottom.left.popup{transform-origin:left top}.ui.bottom.center.popup{transform-origin:center top}.ui.bottom.right.popup{transform-origin:right top}.ui.bottom.center.popup:before{margin-left:-.30714286em;top:-.30714286em;left:50%;right:auto;bottom:auto;box-shadow:-1px -1px 0 0 #bababc}.ui.bottom.left.popup{margin-left:0}.ui.bottom.left.popup:before{top:-.30714286em;left:1em;right:auto;bottom:auto;margin-left:0;box-shadow:-1px -1px 0 0 #bababc}.ui.bottom.right.popup{margin-right:0}.ui.bottom.right.popup:before{top:-.30714286em;right:1em;bottom:auto;left:auto;margin-left:0;box-shadow:-1px -1px 0 0 #bababc}.ui.top.center.popup:before{top:auto;right:auto;bottom:-.30714286em;left:50%;margin-left:-.30714286em}.ui.top.left.popup{margin-left:0}.ui.top.left.popup:before{bottom:-.30714286em;left:1em;top:auto;right:auto;margin-left:0}.ui.top.right.popup{margin-right:0}.ui.top.right.popup:before{bottom:-.30714286em;right:1em;top:auto;left:auto;margin-left:0}.ui.left.center.popup:before{top:50%;right:-.30714286em;bottom:auto;left:auto;margin-top:-.30714286em;box-shadow:1px -1px 0 0 #bababc}.ui.right.center.popup:before{top:50%;left:-.30714286em;bottom:auto;right:auto;margin-top:-.30714286em;box-shadow:-1px 1px 0 0 #bababc}.ui.bottom.popup:before{background:#fff}.ui.left.center.popup:before,.ui.right.center.popup:before{background:#fff}.ui.top.popup:before{background:#fff}.ui.inverted.bottom.popup:before{background:#1b1c1d}.ui.inverted.left.center.popup:before,.ui.inverted.right.center.popup:before{background:#1b1c1d}.ui.inverted.top.popup:before{background:#1b1c1d}.ui.popup>.ui.grid:not(.padded){width:calc(100% + 1.75rem);margin:-.7rem -.875rem}.ui.loading.popup{display:block;visibility:hidden;z-index:-1}.ui.animating.popup,.ui.visible.popup{display:block}.ui.visible.popup{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.ui.basic.popup:before{display:none}.ui.wide.popup{max-width:350px}.ui[class*="very wide"].popup{max-width:550px}@media only screen and (max-width:767px){.ui.wide.popup,.ui[class*="very wide"].popup{max-width:250px}}.ui.fluid.popup{width:100%;max-width:none}.ui.inverted.popup{background:#1b1c1d;color:#fff;border:none;box-shadow:none}.ui.inverted.popup .header{background-color:none;color:#fff}.ui.inverted.popup:before{background-color:#1b1c1d;box-shadow:none!important}.ui.flowing.popup{max-width:none}.ui.mini.popup{font-size:.78571429rem}.ui.tiny.popup{font-size:.85714286rem}.ui.small.popup{font-size:.92857143rem}.ui.popup{font-size:1rem}.ui.large.popup{font-size:1.14285714rem}.ui.huge.popup{font-size:1.42857143rem}/*! + * # Semantic UI 2.5.0 - Progress Bar + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.progress{position:relative;display:block;max-width:100%;border:none;margin:1em 0 2.5em;box-shadow:none;background:rgba(0,0,0,.1);padding:0;border-radius:.28571429rem}.ui.progress:first-child{margin:0 0 2.5em}.ui.progress:last-child{margin:0 0 1.5em}.ui.progress .bar{display:block;line-height:1;position:relative;width:0%;min-width:2em;background:#888;border-radius:.28571429rem;transition:width .1s ease,background-color .1s ease}.ui.progress .bar>.progress{white-space:nowrap;position:absolute;width:auto;font-size:.92857143em;top:50%;right:.5em;left:auto;bottom:auto;color:rgba(255,255,255,.7);text-shadow:none;margin-top:-.5em;font-weight:700;text-align:left}.ui.progress>.label{position:absolute;width:100%;font-size:1em;top:100%;right:auto;left:0;bottom:auto;color:rgba(0,0,0,.87);font-weight:700;text-shadow:none;margin-top:.2em;text-align:center;transition:color .4s ease}.ui.indicating.progress[data-percent^="1"] .bar,.ui.indicating.progress[data-percent^="2"] .bar{background-color:#d95c5c}.ui.indicating.progress[data-percent^="3"] .bar{background-color:#efbc72}.ui.indicating.progress[data-percent^="4"] .bar,.ui.indicating.progress[data-percent^="5"] .bar{background-color:#e6bb48}.ui.indicating.progress[data-percent^="6"] .bar{background-color:#ddc928}.ui.indicating.progress[data-percent^="7"] .bar,.ui.indicating.progress[data-percent^="8"] .bar{background-color:#b4d95c}.ui.indicating.progress[data-percent^="100"] .bar,.ui.indicating.progress[data-percent^="9"] .bar{background-color:#66da81}.ui.indicating.progress[data-percent^="1"] .label,.ui.indicating.progress[data-percent^="2"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="3"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="4"] .label,.ui.indicating.progress[data-percent^="5"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="6"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="7"] .label,.ui.indicating.progress[data-percent^="8"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="100"] .label,.ui.indicating.progress[data-percent^="9"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent="1"] .bar,.ui.indicating.progress[data-percent="2"] .bar,.ui.indicating.progress[data-percent="3"] .bar,.ui.indicating.progress[data-percent="4"] .bar,.ui.indicating.progress[data-percent="5"] .bar,.ui.indicating.progress[data-percent="6"] .bar,.ui.indicating.progress[data-percent="7"] .bar,.ui.indicating.progress[data-percent="8"] .bar,.ui.indicating.progress[data-percent="9"] .bar{background-color:#d95c5c}.ui.indicating.progress[data-percent="1"] .label,.ui.indicating.progress[data-percent="2"] .label,.ui.indicating.progress[data-percent="3"] .label,.ui.indicating.progress[data-percent="4"] .label,.ui.indicating.progress[data-percent="5"] .label,.ui.indicating.progress[data-percent="6"] .label,.ui.indicating.progress[data-percent="7"] .label,.ui.indicating.progress[data-percent="8"] .label,.ui.indicating.progress[data-percent="9"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress.success .label{color:#1a531b}.ui.progress.success .bar{background-color:#21ba45!important}.ui.progress.success .bar,.ui.progress.success .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.success>.label{color:#1a531b}.ui.progress.warning .bar{background-color:#f2c037!important}.ui.progress.warning .bar,.ui.progress.warning .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.warning>.label{color:#794b02}.ui.progress.error .bar{background-color:#db2828!important}.ui.progress.error .bar,.ui.progress.error .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.error>.label{color:#912d2b}.ui.active.progress .bar{position:relative;min-width:2em}.ui.active.progress .bar::after{content:'';opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;border-radius:.28571429rem;-webkit-animation:progress-active 2s ease infinite;animation:progress-active 2s ease infinite}@-webkit-keyframes progress-active{0%{opacity:.3;width:0}100%{opacity:0;width:100%}}@keyframes progress-active{0%{opacity:.3;width:0}100%{opacity:0;width:100%}}.ui.disabled.progress{opacity:.35}.ui.disabled.progress .bar,.ui.disabled.progress .bar::after{-webkit-animation:none!important;animation:none!important}.ui.inverted.progress{background:rgba(255,255,255,.08);border:none}.ui.inverted.progress .bar{background:#888}.ui.inverted.progress .bar>.progress{color:#f9fafb}.ui.inverted.progress>.label{color:#fff}.ui.inverted.progress.success>.label{color:#21ba45}.ui.inverted.progress.warning>.label{color:#f2c037}.ui.inverted.progress.error>.label{color:#db2828}.ui.progress.attached{background:0 0;position:relative;border:none;margin:0}.ui.progress.attached,.ui.progress.attached .bar{display:block;height:.2rem;padding:0;overflow:hidden;border-radius:0 0 .28571429rem .28571429rem}.ui.progress.attached .bar{border-radius:0}.ui.progress.top.attached,.ui.progress.top.attached .bar{top:0;border-radius:.28571429rem .28571429rem 0 0}.ui.progress.top.attached .bar{border-radius:0}.ui.card>.ui.attached.progress,.ui.segment>.ui.attached.progress{position:absolute;top:auto;left:0;bottom:100%;width:100%}.ui.card>.ui.bottom.attached.progress,.ui.segment>.ui.bottom.attached.progress{top:100%;bottom:auto}.ui.red.progress .bar{background-color:#db2828}.ui.red.inverted.progress .bar{background-color:#ff695e}.ui.orange.progress .bar{background-color:#f2711c}.ui.orange.inverted.progress .bar{background-color:#ff851b}.ui.yellow.progress .bar{background-color:#fbbd08}.ui.yellow.inverted.progress .bar{background-color:#ffe21f}.ui.olive.progress .bar{background-color:#b5cc18}.ui.olive.inverted.progress .bar{background-color:#d9e778}.ui.green.progress .bar{background-color:#21ba45}.ui.green.inverted.progress .bar{background-color:#2ecc40}.ui.teal.progress .bar{background-color:#00b5ad}.ui.teal.inverted.progress .bar{background-color:#6dffff}.ui.blue.progress .bar{background-color:#2185d0}.ui.blue.inverted.progress .bar{background-color:#54c8ff}.ui.violet.progress .bar{background-color:#6435c9}.ui.violet.inverted.progress .bar{background-color:#a291fb}.ui.purple.progress .bar{background-color:#a333c8}.ui.purple.inverted.progress .bar{background-color:#dc73ff}.ui.pink.progress .bar{background-color:#e03997}.ui.pink.inverted.progress .bar{background-color:#ff8edf}.ui.brown.progress .bar{background-color:#a5673f}.ui.brown.inverted.progress .bar{background-color:#d67c1c}.ui.grey.progress .bar{background-color:#767676}.ui.grey.inverted.progress .bar{background-color:#dcddde}.ui.black.progress .bar{background-color:#1b1c1d}.ui.black.inverted.progress .bar{background-color:#545454}.ui.tiny.progress{font-size:.85714286rem}.ui.tiny.progress .bar{height:.5em}.ui.small.progress{font-size:.92857143rem}.ui.small.progress .bar{height:1em}.ui.progress{font-size:1rem}.ui.progress .bar{height:1.75em}.ui.large.progress{font-size:1.14285714rem}.ui.large.progress .bar{height:2.5em}.ui.big.progress{font-size:1.28571429rem}.ui.big.progress .bar{height:3.5em}/*! + * # Semantic UI 2.5.0 - Rating + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.rating{display:inline-flex;white-space:nowrap;vertical-align:baseline}.ui.rating:last-child{margin-right:0}.ui.rating .icon{padding:0;margin:0;text-align:center;font-weight:400;font-style:normal;flex:1 0 auto;cursor:pointer;width:1.25em;height:auto;transition:opacity .1s ease,background .1s ease,text-shadow .1s ease,color .1s ease}.ui.rating .icon{background:0 0;color:rgba(0,0,0,.15)}.ui.rating .active.icon{background:0 0;color:rgba(0,0,0,.85)}.ui.rating .icon.selected,.ui.rating .icon.selected.active{background:0 0;color:rgba(0,0,0,.87)}.ui.star.rating .icon{width:1.25em;height:auto;background:0 0;color:rgba(0,0,0,.15);text-shadow:none}.ui.star.rating .active.icon{background:0 0!important;color:#ffe623!important;text-shadow:0 -1px 0 #ddc507,-1px 0 0 #ddc507,0 1px 0 #ddc507,1px 0 0 #ddc507!important}.ui.star.rating .icon.selected,.ui.star.rating .icon.selected.active{background:0 0!important;color:#fc0!important;text-shadow:0 -1px 0 #e6a200,-1px 0 0 #e6a200,0 1px 0 #e6a200,1px 0 0 #e6a200!important}.ui.heart.rating .icon{width:1.4em;height:auto;background:0 0;color:rgba(0,0,0,.15);text-shadow:none!important}.ui.heart.rating .active.icon{background:0 0!important;color:#ff6d75!important;text-shadow:0 -1px 0 #cd0707,-1px 0 0 #cd0707,0 1px 0 #cd0707,1px 0 0 #cd0707!important}.ui.heart.rating .icon.selected,.ui.heart.rating .icon.selected.active{background:0 0!important;color:#ff3000!important;text-shadow:0 -1px 0 #aa0101,-1px 0 0 #aa0101,0 1px 0 #aa0101,1px 0 0 #aa0101!important}.ui.disabled.rating .icon{cursor:default}.ui.rating.selected .active.icon{opacity:1}.ui.rating .icon.selected,.ui.rating.selected .icon.selected{opacity:1}.ui.mini.rating{font-size:.78571429rem}.ui.tiny.rating{font-size:.85714286rem}.ui.small.rating{font-size:.92857143rem}.ui.rating{font-size:1rem}.ui.large.rating{font-size:1.14285714rem}.ui.huge.rating{font-size:1.42857143rem}.ui.massive.rating{font-size:2rem}@font-face{font-family:Rating;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjCBsAAAC8AAAAYGNtYXCj2pm8AAABHAAAAKRnYXNwAAAAEAAAAcAAAAAIZ2x5ZlJbXMYAAAHIAAARnGhlYWQBGAe5AAATZAAAADZoaGVhA+IB/QAAE5wAAAAkaG10eCzgAEMAABPAAAAAcGxvY2EwXCxOAAAUMAAAADptYXhwACIAnAAAFGwAAAAgbmFtZfC1n04AABSMAAABPHBvc3QAAwAAAAAVyAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADxZQHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAJAAAAAgACAABAAAAAEAIOYF8AbwDfAj8C7wbvBw8Irwl/Cc8SPxZf/9//8AAAAAACDmAPAE8AzwI/Au8G7wcPCH8JfwnPEj8WT//f//AAH/4xoEEAYQAQ/sD+IPow+iD4wPgA98DvYOtgADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAIAAP/tAgAB0wAKABUAAAEvAQ8BFwc3Fyc3BQc3Jz8BHwEHFycCALFPT7GAHp6eHoD/AHAWW304OH1bFnABGRqgoBp8sFNTsHyyOnxYEnFxElh8OgAAAAACAAD/7QIAAdMACgASAAABLwEPARcHNxcnNwUxER8BBxcnAgCxT0+xgB6enh6A/wA4fVsWcAEZGqCgGnywU1OwfLIBHXESWHw6AAAAAQAA/+0CAAHTAAoAAAEvAQ8BFwc3Fyc3AgCxT0+xgB6enh6AARkaoKAafLBTU7B8AAAAAAEAAAAAAgABwAArAAABFA4CBzEHDgMjIi4CLwEuAzU0PgIzMh4CFz4DMzIeAhUCAAcMEgugBgwMDAYGDAwMBqALEgwHFyg2HhAfGxkKChkbHxAeNigXAS0QHxsZCqAGCwkGBQkLBqAKGRsfEB42KBcHDBILCxIMBxcoNh4AAAAAAgAAAAACAAHAACsAWAAAATQuAiMiDgIHLgMjIg4CFRQeAhcxFx4DMzI+Aj8BPgM1DwEiFCIGMTAmIjQjJy4DNTQ+AjMyHgIfATc+AzMyHgIVFA4CBwIAFyg2HhAfGxkKChkbHxAeNigXBwwSC6AGDAwMBgYMDAwGoAsSDAdbogEBAQEBAaIGCgcEDRceEQkREA4GLy8GDhARCREeFw0EBwoGAS0eNigXBwwSCwsSDAcXKDYeEB8bGQqgBgsJBgUJCwagChkbHxA+ogEBAQGiBg4QEQkRHhcNBAcKBjQ0BgoHBA0XHhEJERAOBgABAAAAAAIAAcAAMQAAARQOAgcxBw4DIyIuAi8BLgM1ND4CMzIeAhcHFwc3Jzc+AzMyHgIVAgAHDBILoAYMDAwGBgwMDAagCxIMBxcoNh4KFRMSCC9wQLBwJwUJCgkFHjYoFwEtEB8bGQqgBgsJBgUJCwagChkbHxAeNigXAwUIBUtAoMBAOwECAQEXKDYeAAABAAAAAAIAAbcAKgAAEzQ3NjMyFxYXFhcWFzY3Njc2NzYzMhcWFRQPAQYjIi8BJicmJyYnJicmNQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGBwExPyMkBgYLCgkKCgoKCQoLBgYkIz8/QawFBawCBgUNDg4OFRQTAAAAAQAAAA0B2wHSACYAABM0PwI2FzYfAhYVFA8BFxQVFAcGByYvAQcGByYnJjU0PwEnJjUAEI9BBQkIBkCPEAdoGQMDBgUGgIEGBQYDAwEYaAcBIwsCFoEMAQEMgRYCCwYIZJABBQUFAwEBAkVFAgEBAwUFAwOQZAkFAAAAAAIAAAANAdsB0gAkAC4AABM0PwI2FzYfAhYVFA8BFxQVFAcmLwEHBgcmJyY1ND8BJyY1HwEHNxcnNy8BBwAQj0EFCQgGQI8QB2gZDAUGgIEGBQYDAwEYaAc/WBVsaxRXeDY2ASMLAhaBDAEBDIEWAgsGCGSQAQUNAQECRUUCAQEDBQUDA5BkCQURVXg4OHhVEW5uAAABACMAKQHdAXwAGgAANzQ/ATYXNh8BNzYXNh8BFhUUDwEGByYvASY1IwgmCAwLCFS8CAsMCCYICPUIDAsIjgjSCwkmCQEBCVS7CQEBCSYJCg0H9gcBAQePBwwAAAEAHwAfAXMBcwAsAAA3ND8BJyY1ND8BNjMyHwE3NjMyHwEWFRQPARcWFRQPAQYjIi8BBwYjIi8BJjUfCFRUCAgnCAwLCFRUCAwLCCcICFRUCAgnCAsMCFRUCAsMCCcIYgsIVFQIDAsIJwgIVFQICCcICwwIVFQICwwIJwgIVFQICCcIDAAAAAACAAAAJQFJAbcAHwArAAA3NTQ3NjsBNTQ3NjMyFxYdATMyFxYdARQHBiMhIicmNTczNTQnJiMiBwYdAQAICAsKJSY1NCYmCQsICAgIC/7tCwgIW5MWFR4fFRZApQsICDc0JiYmJjQ3CAgLpQsICAgIC8A3HhYVFRYeNwAAAQAAAAcBbgG3ACEAADcRNDc2NzYzITIXFhcWFREUBwYHBiMiLwEHBiMiJyYnJjUABgUKBgYBLAYGCgUGBgUKBQcOCn5+Cg4GBgoFBicBcAoICAMDAwMICAr+kAoICAQCCXl5CQIECAgKAAAAAwAAACUCAAFuABgAMQBKAAA3NDc2NzYzMhcWFxYVFAcGBwYjIicmJyY1MxYXFjMyNzY3JicWFRQHBiMiJyY1NDcGBzcUFxYzMjc2NTQ3NjMyNzY1NCcmIyIHBhUABihDREtLREMoBgYoQ0RLS0RDKAYlJjk5Q0M5OSYrQREmJTU1JSYRQSuEBAQGBgQEEREZBgQEBAQGJBkayQoKQSgoKChBCgoKCkEoJycoQQoKOiMjIyM6RCEeIjUmJSUmNSIeIUQlBgQEBAQGGBIRBAQGBgQEGhojAAAABQAAAAkCAAGJACwAOABRAGgAcAAANzQ3Njc2MzIXNzYzMhcWFxYXFhcWFxYVFDEGBwYPAQYjIicmNTQ3JicmJyY1MxYXNyYnJjU0NwYHNxQXFjMyNzY1NDc2MzI3NjU0JyYjIgcGFRc3Njc2NyYnNxYXFhcWFRQHBgcGBwYjPwEWFRQHBgcABitBQU0ZGhADBQEEBAUFBAUEBQEEHjw8Hg4DBQQiBQ0pIyIZBiUvSxYZDg4RQSuEBAQGBgQEEREZBgQEBAQGJBkaVxU9MzQiIDASGxkZEAYGCxQrODk/LlACFxYlyQsJQycnBRwEAgEDAwIDAwIBAwUCNmxsNhkFFAMFBBUTHh8nCQtKISgSHBsfIh4hRCUGBAQEBAYYEhEEBAYGBAQaGiPJJQUiIjYzISASGhkbCgoKChIXMRsbUZANCyghIA8AAAMAAAAAAbcB2wA5AEoAlAAANzU0NzY7ATY3Njc2NzY3Njc2MzIXFhcWFRQHMzIXFhUUBxYVFAcUFRQHFgcGKwEiJyYnJisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzMyFxYXFhcWFxYXFhcWOwEyNTQnNjc2NTQnNjU0JyYnNjc2NTQnJisBNDc2NTQnJiMGBwYHBgcGBwYHBgcGBwYHBgcGBwYrARUACwoQTgodEQ4GBAMFBgwLDxgTEwoKDjMdFhYOAgoRARkZKCUbGxsjIQZSEAoLJQUFCAcGBQUGBwgFBUkJBAUFBAQHBwMDBwcCPCUjNwIJBQUFDwMDBAkGBgsLDmUODgoJGwgDAwYFDAYQAQUGAwQGBgYFBgUGBgQJSbcPCwsGJhUPCBERExMMCgkJFBQhGxwWFR4ZFQoKFhMGBh0WKBcXBgcMDAoLDxIHBQYGBQcIBQYGBQgSAQEBAQICAQEDAgEULwgIBQoLCgsJDhQHCQkEAQ0NCg8LCxAdHREcDQ4IEBETEw0GFAEHBwUECAgFBQUFAgO3AAADAAD/2wG3AbcAPABNAJkAADc1NDc2OwEyNzY3NjsBMhcWBxUWFRQVFhUUBxYVFAcGKwEWFRQHBgcGIyInJicmJyYnJicmJyYnIyInJjU3FBcWMzI3NjU0JyYjIgcGFRczMhcWFxYXFhcWFxYXFhcWFxYXFhcWFzI3NjU0JyY1MzI3NjU0JyYjNjc2NTQnNjU0JyYnNjU0JyYrASIHIgcGBwYHBgcGIwYrARUACwoQUgYhJRsbHiAoGRkBEQoCDhYWHTMOCgoTExgPCwoFBgIBBAMFDhEdCk4QCgslBQUIBwYFBQYHCAUFSQkEBgYFBgUGBgYEAwYFARAGDAUGAwMIGwkKDg5lDgsLBgYJBAMDDwUFBQkCDg4ZJSU8AgcHAwMHBwQEBQUECbe3DwsKDAwHBhcWJwIWHQYGExYKChUZHhYVHRoiExQJCgsJDg4MDAwNBg4WJQcLCw+kBwUGBgUHCAUGBgUIpAMCBQYFBQcIBAUHBwITBwwTExERBw0OHBEdHRALCw8KDQ0FCQkHFA4JCwoLCgUICBgMCxUDAgEBAgMBAQG3AAAAAQAAAA0A7gHSABQAABM0PwI2FxEHBgcmJyY1ND8BJyY1ABCPQQUJgQYFBgMDARhoBwEjCwIWgQwB/oNFAgEBAwUFAwOQZAkFAAAAAAIAAAAAAgABtwAqAFkAABM0NzYzMhcWFxYXFhc2NzY3Njc2MzIXFhUUDwEGIyIvASYnJicmJyYnJjUzFB8BNzY1NCcmJyYnJicmIyIHBgcGBwYHBiMiJyYnJicmJyYjIgcGBwYHBgcGFQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGByU1pqY1BgYJCg4NDg0PDhIRDg8KCgcFCQkFBwoKDw4REg4PDQ4NDgoJBgYBMT8jJAYGCwoJCgoKCgkKCwYGJCM/P0GsBQWsAgYFDQ4ODhUUEzA1oJ82MBcSEgoLBgcCAgcHCwsKCQgHBwgJCgsLBwcCAgcGCwoSEhcAAAACAAAABwFuAbcAIQAoAAA3ETQ3Njc2MyEyFxYXFhURFAcGBwYjIi8BBwYjIicmJyY1PwEfAREhEQAGBQoGBgEsBgYKBQYGBQoFBw4Kfn4KDgYGCgUGJZIZef7cJwFwCggIAwMDAwgICv6QCggIBAIJeXkJAgQICAoIjRl0AWP+nQAAAAABAAAAJQHbAbcAMgAANzU0NzY7ATU0NzYzMhcWHQEUBwYrASInJj0BNCcmIyIHBh0BMzIXFh0BFAcGIyEiJyY1AAgIC8AmJjQ1JiUFBQgSCAUFFhUfHhUWHAsICAgIC/7tCwgIQKULCAg3NSUmJiU1SQgFBgYFCEkeFhUVFh43CAgLpQsICAgICwAAAAIAAQANAdsB0gAiAC0AABM2PwI2MzIfAhYXFg8BFxYHBiMiLwEHBiMiJyY/AScmNx8CLwE/AS8CEwEDDJBABggJBUGODgIDCmcYAgQCCAMIf4IFBgYEAgEZaQgC7hBbEgINSnkILgEBJggCFYILC4IVAggICWWPCgUFA0REAwUFCo9lCQipCTBmEw1HEhFc/u0AAAADAAAAAAHJAbcAFAAlAHkAADc1NDc2OwEyFxYdARQHBisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzU0NzYzNjc2NzY3Njc2NzY3Njc2NzY3NjMyFxYXFhcWFxYXFhUUFRQHBgcGBxQHBgcGBzMyFxYVFAcWFRYHFgcGBxYHBgcjIicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQFBQgGDw8OFAkFBAQBAQMCAQIEBAYFBw4KCgcHBQQCAwEBAgMDAgYCAgIBAU8XEBAQBQEOBQUECwMREiYlExYXDAwWJAoHBQY3twcGBQUGB7cIBQUFBQgkBwYFBQYHCAUGBgUIJLcHBQYBEBATGQkFCQgGBQwLBgcICQUGAwMFBAcHBgYICQQEBwsLCwYGCgIDBAMCBBEQFhkSDAoVEhAREAsgFBUBBAUEBAcMAQUFCAAAAAADAAD/2wHJAZIAFAAlAHkAADcUFxYXNxY3Nj0BNCcmBycGBwYdATc0NzY3FhcWFRQHBicGJyY1FzU0NzY3Fjc2NzY3NjcXNhcWBxYXFgcWBxQHFhUUBwYHJxYXFhcWFRYXFhcWFRQVFAcGBwYHBgcGBwYnBicmJyYnJicmJyYnJicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQGBQcKJBYMDBcWEyUmEhEDCwQFBQ4BBRAQEBdPAQECAgIGAgMDAgEBAwIEBQcHCgoOBwUGBAQCAQIDAQEEBAUJFA4PDwYIBQWlBwYFAQEBBwQJtQkEBwEBAQUGB7eTBwYEAQEEBgcJBAYBAQYECZS4BwYEAgENBwUCBgMBAQEXEyEJEhAREBcIDhAaFhEPAQEFAgQCBQELBQcKDAkIBAUHCgUGBwgDBgIEAQEHBQkIBwUMCwcECgcGCRoREQ8CBgQIAAAAAQAAAAEAAJth57dfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAAAAAAoAFAAeAEoAcACKAMoBQAGIAcwCCgJUAoICxgMEAzoDpgRKBRgF7AYSBpgG2gcgB2oIGAjOAAAAAQAAABwAmgAFAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AABcUAAoAAAAAFswAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAEuEAABLho6TvIE9TLzIAABPYAAAAYAAAAGAIIwgbY21hcAAAFDgAAACkAAAApKPambxnYXNwAAAU3AAAAAgAAAAIAAAAEGhlYWQAABTkAAAANgAAADYBGAe5aGhlYQAAFRwAAAAkAAAAJAPiAf1obXR4AAAVQAAAAHAAAABwLOAAQ21heHAAABWwAAAABgAAAAYAHFAAbmFtZQAAFbgAAAE8AAABPPC1n05wb3N0AAAW9AAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLZviU+HQFHQAAAP0PHQAAAQIRHQAAAAkdAAAS2BIAHQEBBw0PERQZHiMoLTI3PEFGS1BVWl9kaW5zeH2Ch4xyYXRpbmdyYXRpbmd1MHUxdTIwdUU2MDB1RTYwMXVFNjAydUU2MDN1RTYwNHVFNjA1dUYwMDR1RjAwNXVGMDA2dUYwMEN1RjAwRHVGMDIzdUYwMkV1RjA2RXVGMDcwdUYwODd1RjA4OHVGMDg5dUYwOEF1RjA5N3VGMDlDdUYxMjN1RjE2NHVGMTY1AAACAYkAGgAcAgABAAQABwAKAA0AVgCWAL0BAgGMAeQCbwLwA4cD5QR0BQMFdgZgB8MJkQtxC7oM2Q1jDggOmRAYEZr8lA78lA78lA77lA74lPetFftFpTz3NDz7NPtFcfcU+xBt+0T3Mt73Mjht90T3FPcQBfuU+0YV+wRRofcQMOP3EZ3D9wXD+wX3EXkwM6H7EPsExQUO+JT3rRX7RaU89zQ8+zT7RXH3FPsQbftE9zLe9zI4bfdE9xT3EAX7lPtGFYuLi/exw/sF9xF5MDOh+xD7BMUFDviU960V+0WlPPc0PPs0+0Vx9xT7EG37RPcy3vcyOG33RPcU9xAFDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iu2i7J4pm6mqLKetovci81JizoIDviU98EVi9xJzTqLYItkeHBucKhknmCLOotJSYs6i2CeZKhwCIuL9zT7NAWbe5t7m4ubi5ubm5sI9zT3NAWopp6yi7YIME0V+zb7NgWKioqKiouKi4qMiowI+zb3NgV6m4Ghi6OLubCwuYuji6GBm3oIule6vwWbnKGVo4u5i7Bmi12Lc4F1ensIDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iuni6WDoX4IXED3BEtL+zT3RPdU+wTLssYFl46YjZiL3IvNSYs6CA6L98UVi7WXrKOio6Otl7aLlouXiZiHl4eWhZaEloSUhZKFk4SShZKEkpKSkZOSkpGUkZaSCJaSlpGXj5iPl42Wi7aLrX+jc6N0l2qLYYthdWBgYAj7RvtABYeIh4mGi4aLh42Hjgj7RvdABYmNiY2Hj4iOhpGDlISUhZWFlIWVhpaHmYaYiZiLmAgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuHioiJiImIiIqHi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuCh4aDi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwjKeRXjN3b7DfcAxPZSd/cN4t/7DJ1V9wFV+wEFDq73ZhWLk42RkZEIsbIFkZCRjpOLkouSiJCGCN8291D3UAWQkJKOkouTi5GIkYYIsWQFkYaNhIuEi4OJhYWFCPuJ+4kFhYWFiYOLhIuEjYaRCPsi9yIFhZCJkouSCA77AartFYuSjpKQkAjf3zffBYaQiJKLk4uSjpKQkAiysgWRkJGOk4uSi5KIkIYI3zff3wWQkJKOk4uSi5KIkIYIsmQFkIaOhIuEi4OIhIaGCDc33zcFkIaOhIuEi4OIhYaFCGRkBYaGhIiEi4OLhI6GkAg33zc3BYaGhIiEi4OLhY6FkAhksgWGkYiRi5MIDvtLi8sVi/c5BYuSjpKQkJCQko6SiwiVi4vCBYuul6mkpKSkqpiui66LqX6kcqRymG2LaAiLVJSLBZKLkoiQhpCGjoSLhAiL+zkFi4OIhYaGhoWEiYSLCPuniwWEi4SNhpGGkIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOEkoWShJKSkpGTkpKRlJGWkgiWkpaRl4+Yj5eNlou2i61/o3OjdJdqi2GLYXVgYGAI+0b7QAWHiIeJhouGi4eNh44I+0b3QAWJjYmNh4+IjoaRg5SElIWVhZSFlYaWh5mGmImYi5gIsIsVi2ucaa9oCPc6+zT3OvczBa+vnK2Lq4ubiZiHl4eXhpSFkoSSg5GCj4KQgo2CjYONgYuBi4KLgIl/hoCGgIWChAiBg4OFhISEhYaFhoaIhoaJhYuFi4aNiJCGkIaRhJGEkoORgZOCkoCRgJB/kICNgosIgYuBi4OJgomCiYKGgoeDhYSEhYSGgod/h3+Jfot7CA77JouyFYv4BAWLkY2Rj5GOkJCPko2PjY+Mj4sI98CLBY+Lj4qPiZGJkIePho+FjYWLhQiL/AQFi4SJhYeGh4aGh4WIiIqGioeLgYuEjoSRCPsS9w37EvsNBYSFg4iCi4eLh4uHjYSOho+IkIeQiZGLkgiwkxX3JvchpHL3DfsIi/f3+7iLi/v3BQ5ni8sVi/c5BYuSjpKQkJCQko6Siwj3VIuLwgWLrpippKSkpKmYrouvi6l+pHKkcpdti2gIi0IFi4aKhoeIh4eHiYaLCHmLBYaLh42Hj4eOipCLkAiL1AWLn4OcfZp9mXqSdot3i3qEfX18fIR6i3cIi1SniwWSi5KIkIaQho6Ei4QIi/s5BYuDiIWGhoaFhImEiwj7p4sFhIuEjYaRhpCIkYuTCA5njPe6FYyQkI6UjQj3I6DM9xYFj5KPj5GLkIuQh4+ECMv7FvcjdgWUiZCIjYaNhoiFhYUIIyak+yMFjIWKhomHiYiIiYaLiIuHjIeNCPsUz/sVRwWHiYeKiIuHi4eNiY6Jj4uQjJEIo/cjI/AFhZGJkY2QCPeB+z0VnILlW3rxiJ6ZmNTS+wydgpxe54v7pwUOZ4vCFYv3SwWLkI2Pjo+Pjo+NkIsI3osFkIuPiY6Ij4eNh4uGCIv7SwWLhomHh4eIh4eKhosIOIsFhouHjIePiI+Jj4uQCLCvFYuGjIePh46IkImQi5CLj42Pjo6PjY+LkIuQiZCIjoePh42Gi4aLhomIh4eIioaLhgjvZxWL90sFi5CNj46Oj4+PjZCLj4ySkJWWlZaVl5SXmJuVl5GRjo6OkI6RjZCNkIyPjI6MkY2TCIySjJGMj4yPjZCOkY6RjpCPjo6Pj42Qi5SLk4qSiZKJkYiPiJCIjoiPho6GjYeMhwiNh4yGjIaMhYuHi4iLiIuHi4eLg4uEiYSJhImFiYeJh4mFh4WLioqJiomJiIqJiokIi4qKiIqJCNqLBZqLmIWWgJaAkH+LfIt6hn2Af46DjYSLhIt9h36Cf4+Bi3+HgImAhYKEhI12hnmAfgh/fXiDcosIZosFfot+jHyOfI5/joOOg41/j32Qc5N8j4SMhouHjYiOh4+Jj4uQCA5ni/c5FYuGjYaOiI+Hj4mQiwjeiwWQi4+Njo+Pjo2Qi5AIi/dKBYuQiZCHjoiPh42Giwg4iwWGi4eJh4eIiImGi4YIi/tKBbD3JhWLkIyPj4+OjpCNkIuQi4+Jj4iOh42Hi4aLhomHiIeHh4eKhouGi4aMiI+Hj4qPi5AI7/snFYv3SwWLkI2Qj46Oj4+NkIuSi5qPo5OZkJePk46TjZeOmo6ajpiMmIsIsIsFpIueg5d9ln6Qeol1koSRgo2Aj4CLgIeAlH+Pfot9i4WJhIiCloCQfIt7i3yFfoGACICAfoZ8iwg8iwWMiIyJi4mMiYyJjYmMiIyKi4mPhI2GjYeNh42GjYOMhIyEi4SLhouHi4iLiYuGioYIioWKhomHioeJh4iGh4eIh4aIh4iFiISJhImDioKLhouHjYiPh4+Ij4iRiJGJkIqPCIqPipGKkomTipGKj4qOiZCJkYiQiJCIjoWSgZZ+nIKXgZaBloGWhJGHi4aLh42HjwiIjomQi48IDviUFPiUFYsMCgAAAAADAgABkAAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAPFlAeD/4P/gAeAAIAAAAAEAAAAAAAAAAAAAACAAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAkAAAACAAIAAEAAAAAQAg5gXwBvAN8CPwLvBu8HDwivCX8JzxI/Fl//3//wAAAAAAIOYA8ATwDPAj8C7wbvBw8Ifwl/Cc8SPxZP/9//8AAf/jGgQQBhABD+wP4g+jD6IPjA+AD3wO9g62AAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAJrVlLJfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAFAAABwAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff');font-weight:400;font-style:normal}.ui.rating .icon{font-family:Rating;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.rating .icon:before{content:'\f005'}.ui.rating .active.icon:before{content:'\f005'}.ui.star.rating .icon:before{content:'\f005'}.ui.star.rating .active.icon:before{content:'\f005'}.ui.star.rating .partial.icon:before{content:'\f006'}.ui.star.rating .partial.icon{content:'\f005'}.ui.heart.rating .icon:before{content:'\f004'}.ui.heart.rating .active.icon:before{content:'\f004'}/*! + * # Semantic UI 2.5.0 - Search + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.search{position:relative}.ui.search>.prompt{margin:0;outline:0;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,255,255,0);text-shadow:none;font-style:normal;font-weight:400;line-height:1.21428571em;padding:.67857143em 1em;font-size:1em;background:#fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);box-shadow:0 0 0 0 transparent inset;transition:background-color .1s ease,color .1s ease,box-shadow .1s ease,border-color .1s ease}.ui.search .prompt{border-radius:500rem}.ui.search .prompt~.search.icon{cursor:pointer}.ui.search>.results{display:none;position:absolute;top:100%;left:0;transform-origin:center top;white-space:normal;text-align:left;text-transform:none;background:#fff;margin-top:.5em;width:18em;border-radius:.28571429rem;box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);border:1px solid #d4d4d5;z-index:998}.ui.search>.results>:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.search>.results>:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.search>.results .result{cursor:pointer;display:block;overflow:hidden;font-size:1em;padding:.85714286em 1.14285714em;color:rgba(0,0,0,.87);line-height:1.33;border-bottom:1px solid rgba(34,36,38,.1)}.ui.search>.results .result:last-child{border-bottom:none!important}.ui.search>.results .result .image{float:right;overflow:hidden;background:0 0;width:5em;height:3em;border-radius:.25em}.ui.search>.results .result .image img{display:block;width:auto;height:100%}.ui.search>.results .result .image+.content{margin:0 6em 0 0}.ui.search>.results .result .title{margin:-.14285714em 0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;font-size:1em;color:rgba(0,0,0,.85)}.ui.search>.results .result .description{margin-top:0;font-size:.92857143em;color:rgba(0,0,0,.4)}.ui.search>.results .result .price{float:right;color:#21ba45}.ui.search>.results>.message{padding:1em 1em}.ui.search>.results>.message .header{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1rem;font-weight:700;color:rgba(0,0,0,.87)}.ui.search>.results>.message .description{margin-top:.25rem;font-size:1em;color:rgba(0,0,0,.87)}.ui.search>.results>.action{display:block;border-top:none;background:#f3f4f5;padding:.92857143em 1em;color:rgba(0,0,0,.87);font-weight:700;text-align:center}.ui.search>.prompt:focus{border-color:rgba(34,36,38,.35);background:#fff;color:rgba(0,0,0,.95)}.ui.loading.search .input>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loading.search .input>i.icon:after{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}.ui.category.search>.results .category .result:hover,.ui.search>.results .result:hover{background:#f9fafb}.ui.search .action:hover{background:#e0e0e0}.ui.category.search>.results .category.active{background:#f3f4f5}.ui.category.search>.results .category.active>.name{color:rgba(0,0,0,.87)}.ui.category.search>.results .category .result.active,.ui.search>.results .result.active{position:relative;border-left-color:rgba(34,36,38,.1);background:#f3f4f5;box-shadow:none}.ui.search>.results .result.active .title{color:rgba(0,0,0,.85)}.ui.search>.results .result.active .description{color:rgba(0,0,0,.85)}.ui.disabled.search{cursor:default;pointer-events:none;opacity:.45}.ui.search.selection .prompt{border-radius:.28571429rem}.ui.search.selection>.icon.input>.remove.icon{pointer-events:none;position:absolute;left:auto;opacity:0;color:'';top:0;right:0;transition:color .1s ease,opacity .1s ease}.ui.search.selection>.icon.input>.active.remove.icon{cursor:pointer;opacity:.8;pointer-events:auto}.ui.search.selection>.icon.input:not([class*="left icon"])>.icon~.remove.icon{right:1.85714em}.ui.search.selection>.icon.input>.remove.icon:hover{opacity:1;color:#db2828}.ui.category.search .results{width:28em}.ui.category.search .results.animating,.ui.category.search .results.visible{display:table}.ui.category.search>.results .category{display:table-row;background:#f3f4f5;box-shadow:none;transition:background .1s ease,border-color .1s ease}.ui.category.search>.results .category:last-child{border-bottom:none}.ui.category.search>.results .category:first-child .name+.result{border-radius:0 .28571429rem 0 0}.ui.category.search>.results .category:last-child .result:last-child{border-radius:0 0 .28571429rem 0}.ui.category.search>.results .category>.name{display:table-cell;text-overflow:ellipsis;width:100px;white-space:nowrap;background:0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1em;padding:.4em 1em;font-weight:700;color:rgba(0,0,0,.4);border-bottom:1px solid rgba(34,36,38,.1)}.ui.category.search>.results .category .results{display:table-cell;background:#fff;border-left:1px solid rgba(34,36,38,.15);border-bottom:1px solid rgba(34,36,38,.1)}.ui.category.search>.results .category .result{border-bottom:1px solid rgba(34,36,38,.1);transition:background .1s ease,border-color .1s ease;padding:.85714286em 1.14285714em}.ui[class*="left aligned"].search>.results{right:auto;left:0}.ui[class*="right aligned"].search>.results{right:0;left:auto}.ui.fluid.search .results{width:100%}.ui.mini.search{font-size:.78571429em}.ui.small.search{font-size:.92857143em}.ui.search{font-size:1em}.ui.large.search{font-size:1.14285714em}.ui.big.search{font-size:1.28571429em}.ui.huge.search{font-size:1.42857143em}.ui.massive.search{font-size:1.71428571em}@media only screen and (max-width:767px){.ui.search .results{max-width:calc(100vw - 2rem)}}/*! + * # Semantic UI 2.5.0 - Shape + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.shape{position:relative;vertical-align:top;display:inline-block;perspective:2000px;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out}.ui.shape .sides{transform-style:preserve-3d}.ui.shape .side{opacity:1;width:100%;margin:0!important;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ui.shape .side{display:none}.ui.shape .side *{-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.ui.cube.shape .side{min-width:15em;height:15em;padding:2em;background-color:#e6e6e6;color:rgba(0,0,0,.87);box-shadow:0 0 2px rgba(0,0,0,.3)}.ui.cube.shape .side>.content{width:100%;height:100%;display:table;text-align:center;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ui.cube.shape .side>.content>div{display:table-cell;vertical-align:middle;font-size:2em}.ui.text.shape.animating .sides{position:static}.ui.text.shape .side{white-space:nowrap}.ui.text.shape .side>*{white-space:normal}.ui.loading.shape{position:absolute;top:-9999px;left:-9999px}.ui.shape .animating.side{position:absolute;top:0;left:0;display:block;z-index:100}.ui.shape .hidden.side{opacity:.6}.ui.shape.animating .sides{position:absolute}.ui.shape.animating .sides{transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out}.ui.shape.animating .side{transition:opacity .6s ease-in-out}.ui.shape .active.side{display:block}/*! + * # Semantic UI 2.5.0 - Sidebar + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.sidebar{position:fixed;top:0;left:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:none;will-change:transform;transform:translate3d(0,0,0);visibility:hidden;-webkit-overflow-scrolling:touch;height:100%!important;max-height:100%;border-radius:0!important;margin:0!important;overflow-y:auto!important;z-index:102}.ui.sidebar>*{-webkit-backface-visibility:hidden;backface-visibility:hidden}.ui.left.sidebar{right:auto;left:0;transform:translate3d(-100%,0,0)}.ui.right.sidebar{right:0!important;left:auto!important;transform:translate3d(100%,0,0)}.ui.bottom.sidebar,.ui.top.sidebar{width:100%!important;height:auto!important}.ui.top.sidebar{top:0!important;bottom:auto!important;transform:translate3d(0,-100%,0)}.ui.bottom.sidebar{top:auto!important;bottom:0!important;transform:translate3d(0,100%,0)}.pushable{height:100%;overflow-x:hidden;padding:0!important}body.pushable{background:#545454!important}.pushable:not(body){transform:translate3d(0,0,0)}.pushable:not(body)>.fixed,.pushable:not(body)>.pusher:after,.pushable:not(body)>.ui.sidebar{position:absolute}.pushable>.fixed{position:fixed;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .5s ease;will-change:transform;z-index:101}.pushable>.pusher{position:relative;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;min-height:100%;transition:transform .5s ease;z-index:2}body.pushable>.pusher{background:#fff}.pushable>.pusher{background:inherit}.pushable>.pusher:after{position:fixed;top:0;right:0;content:'';background-color:rgba(0,0,0,.4);overflow:hidden;opacity:0;transition:opacity .5s;will-change:opacity;z-index:1000}.ui.sidebar.menu .item{border-radius:0!important}.pushable>.pusher.dimmed:after{width:100%!important;height:100%!important;opacity:1!important}.ui.animating.sidebar{visibility:visible}.ui.visible.sidebar{visibility:visible;transform:translate3d(0,0,0)}.ui.left.visible.sidebar,.ui.right.visible.sidebar{box-shadow:0 0 20px rgba(34,36,38,.15)}.ui.bottom.visible.sidebar,.ui.top.visible.sidebar{box-shadow:0 0 20px rgba(34,36,38,.15)}.ui.visible.left.sidebar~.fixed,.ui.visible.left.sidebar~.pusher{transform:translate3d(260px,0,0)}.ui.visible.right.sidebar~.fixed,.ui.visible.right.sidebar~.pusher{transform:translate3d(-260px,0,0)}.ui.visible.top.sidebar~.fixed,.ui.visible.top.sidebar~.pusher{transform:translate3d(0,36px,0)}.ui.visible.bottom.sidebar~.fixed,.ui.visible.bottom.sidebar~.pusher{transform:translate3d(0,-36px,0)}.ui.visible.left.sidebar~.ui.visible.right.sidebar~.fixed,.ui.visible.left.sidebar~.ui.visible.right.sidebar~.pusher,.ui.visible.right.sidebar~.ui.visible.left.sidebar~.fixed,.ui.visible.right.sidebar~.ui.visible.left.sidebar~.pusher{transform:translate3d(0,0,0)}.ui.thin.left.sidebar,.ui.thin.right.sidebar{width:150px}.ui[class*="very thin"].left.sidebar,.ui[class*="very thin"].right.sidebar{width:60px}.ui.left.sidebar,.ui.right.sidebar{width:260px}.ui.wide.left.sidebar,.ui.wide.right.sidebar{width:350px}.ui[class*="very wide"].left.sidebar,.ui[class*="very wide"].right.sidebar{width:475px}.ui.visible.thin.left.sidebar~.fixed,.ui.visible.thin.left.sidebar~.pusher{transform:translate3d(150px,0,0)}.ui.visible[class*="very thin"].left.sidebar~.fixed,.ui.visible[class*="very thin"].left.sidebar~.pusher{transform:translate3d(60px,0,0)}.ui.visible.wide.left.sidebar~.fixed,.ui.visible.wide.left.sidebar~.pusher{transform:translate3d(350px,0,0)}.ui.visible[class*="very wide"].left.sidebar~.fixed,.ui.visible[class*="very wide"].left.sidebar~.pusher{transform:translate3d(475px,0,0)}.ui.visible.thin.right.sidebar~.fixed,.ui.visible.thin.right.sidebar~.pusher{transform:translate3d(-150px,0,0)}.ui.visible[class*="very thin"].right.sidebar~.fixed,.ui.visible[class*="very thin"].right.sidebar~.pusher{transform:translate3d(-60px,0,0)}.ui.visible.wide.right.sidebar~.fixed,.ui.visible.wide.right.sidebar~.pusher{transform:translate3d(-350px,0,0)}.ui.visible[class*="very wide"].right.sidebar~.fixed,.ui.visible[class*="very wide"].right.sidebar~.pusher{transform:translate3d(-475px,0,0)}.ui.overlay.sidebar{z-index:102}.ui.left.overlay.sidebar{transform:translate3d(-100%,0,0)}.ui.right.overlay.sidebar{transform:translate3d(100%,0,0)}.ui.top.overlay.sidebar{transform:translate3d(0,-100%,0)}.ui.bottom.overlay.sidebar{transform:translate3d(0,100%,0)}.animating.ui.overlay.sidebar,.ui.visible.overlay.sidebar{transition:transform .5s ease}.ui.visible.left.overlay.sidebar{transform:translate3d(0,0,0)}.ui.visible.right.overlay.sidebar{transform:translate3d(0,0,0)}.ui.visible.top.overlay.sidebar{transform:translate3d(0,0,0)}.ui.visible.bottom.overlay.sidebar{transform:translate3d(0,0,0)}.ui.visible.overlay.sidebar~.fixed,.ui.visible.overlay.sidebar~.pusher{transform:none!important}.ui.push.sidebar{transition:transform .5s ease;z-index:102}.ui.left.push.sidebar{transform:translate3d(-100%,0,0)}.ui.right.push.sidebar{transform:translate3d(100%,0,0)}.ui.top.push.sidebar{transform:translate3d(0,-100%,0)}.ui.bottom.push.sidebar{transform:translate3d(0,100%,0)}.ui.visible.push.sidebar{transform:translate3d(0,0,0)}.ui.uncover.sidebar{transform:translate3d(0,0,0);z-index:1}.ui.visible.uncover.sidebar{transform:translate3d(0,0,0);transition:transform .5s ease}.ui.slide.along.sidebar{z-index:1}.ui.left.slide.along.sidebar{transform:translate3d(-50%,0,0)}.ui.right.slide.along.sidebar{transform:translate3d(50%,0,0)}.ui.top.slide.along.sidebar{transform:translate3d(0,-50%,0)}.ui.bottom.slide.along.sidebar{transform:translate3d(0,50%,0)}.ui.animating.slide.along.sidebar{transition:transform .5s ease}.ui.visible.slide.along.sidebar{transform:translate3d(0,0,0)}.ui.slide.out.sidebar{z-index:1}.ui.left.slide.out.sidebar{transform:translate3d(50%,0,0)}.ui.right.slide.out.sidebar{transform:translate3d(-50%,0,0)}.ui.top.slide.out.sidebar{transform:translate3d(0,50%,0)}.ui.bottom.slide.out.sidebar{transform:translate3d(0,-50%,0)}.ui.animating.slide.out.sidebar{transition:transform .5s ease}.ui.visible.slide.out.sidebar{transform:translate3d(0,0,0)}.ui.scale.down.sidebar{transition:transform .5s ease;z-index:102}.ui.left.scale.down.sidebar{transform:translate3d(-100%,0,0)}.ui.right.scale.down.sidebar{transform:translate3d(100%,0,0)}.ui.top.scale.down.sidebar{transform:translate3d(0,-100%,0)}.ui.bottom.scale.down.sidebar{transform:translate3d(0,100%,0)}.ui.scale.down.left.sidebar~.pusher{transform-origin:75% 50%}.ui.scale.down.right.sidebar~.pusher{transform-origin:25% 50%}.ui.scale.down.top.sidebar~.pusher{transform-origin:50% 75%}.ui.scale.down.bottom.sidebar~.pusher{transform-origin:50% 25%}.ui.animating.scale.down>.visible.ui.sidebar{transition:transform .5s ease}.ui.animating.scale.down.sidebar~.pusher,.ui.visible.scale.down.sidebar~.pusher{display:block!important;width:100%;height:100%;overflow:hidden!important}.ui.visible.scale.down.sidebar{transform:translate3d(0,0,0)}.ui.visible.scale.down.sidebar~.pusher{transform:scale(.75)}/*! + * # Semantic UI 2.5.0 - Sticky + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.sticky{position:static;transition:none;z-index:800}.ui.sticky.bound{position:absolute;left:auto;right:auto}.ui.sticky.fixed{position:fixed;left:auto;right:auto}.ui.sticky.bound.top,.ui.sticky.fixed.top{top:0;bottom:auto}.ui.sticky.bound.bottom,.ui.sticky.fixed.bottom{top:auto;bottom:0}.ui.native.sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky}/*! + * # Semantic UI 2.5.0 - Tab + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading.segment:before,.ui.tab.loading:before{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.tab.loading.segment:after,.ui.tab.loading:after{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}/*! + * # Semantic UI 2.5.0 - Transition + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.transition{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease;animation-timing-function:ease;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animating.transition{-webkit-backface-visibility:hidden;backface-visibility:hidden;visibility:visible!important}.loading.transition{position:absolute;top:-99999px;left:-99999px}.hidden.transition{display:none;visibility:hidden}.visible.transition{display:block!important;visibility:visible!important}.disabled.transition{-webkit-animation-play-state:paused;animation-play-state:paused}.looping.transition{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.transition.browse{-webkit-animation-duration:.5s;animation-duration:.5s}.transition.browse.in{-webkit-animation-name:browseIn;animation-name:browseIn}.transition.browse.left.out,.transition.browse.out{-webkit-animation-name:browseOutLeft;animation-name:browseOutLeft}.transition.browse.right.out{-webkit-animation-name:browseOutRight;animation-name:browseOutRight}@-webkit-keyframes browseIn{0%{transform:scale(.8) translateZ(0);z-index:-1}10%{transform:scale(.8) translateZ(0);z-index:-1;opacity:.7}80%{transform:scale(1.05) translateZ(0);opacity:1;z-index:999}100%{transform:scale(1) translateZ(0);z-index:999}}@keyframes browseIn{0%{transform:scale(.8) translateZ(0);z-index:-1}10%{transform:scale(.8) translateZ(0);z-index:-1;opacity:.7}80%{transform:scale(1.05) translateZ(0);opacity:1;z-index:999}100%{transform:scale(1) translateZ(0);z-index:999}}@-webkit-keyframes browseOutLeft{0%{z-index:999;transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:-1;transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:-1;transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}@keyframes browseOutLeft{0%{z-index:999;transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:-1;transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:-1;transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}@-webkit-keyframes browseOutRight{0%{z-index:999;transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:1;transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:1;transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}@keyframes browseOutRight{0%{z-index:999;transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:1;transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:1;transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}.drop.transition{transform-origin:top center;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-timing-function:cubic-bezier(.34,1.61,.7,1);animation-timing-function:cubic-bezier(.34,1.61,.7,1)}.drop.transition.in{-webkit-animation-name:dropIn;animation-name:dropIn}.drop.transition.out{-webkit-animation-name:dropOut;animation-name:dropOut}@-webkit-keyframes dropIn{0%{opacity:0;transform:scale(0)}100%{opacity:1;transform:scale(1)}}@keyframes dropIn{0%{opacity:0;transform:scale(0)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes dropOut{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0)}}@keyframes dropOut{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0)}}.transition.fade.in{-webkit-animation-name:fadeIn;animation-name:fadeIn}.transition[class*="fade up"].in{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}.transition[class*="fade down"].in{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.transition[class*="fade left"].in{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}.transition[class*="fade right"].in{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}.transition.fade.out{-webkit-animation-name:fadeOut;animation-name:fadeOut}.transition[class*="fade up"].out{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.transition[class*="fade down"].out{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}.transition[class*="fade left"].out{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}.transition[class*="fade right"].out{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;transform:translateY(10%)}100%{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes fadeInDown{0%{opacity:0;transform:translateY(-10%)}100%{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10%)}100%{opacity:1;transform:translateY(0)}}@-webkit-keyframes fadeInLeft{0%{opacity:0;transform:translateX(10%)}100%{opacity:1;transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(10%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes fadeInRight{0%{opacity:0;transform:translateX(-10%)}100%{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(-10%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(5%)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(5%)}}@-webkit-keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-5%)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-5%)}}@-webkit-keyframes fadeOutLeft{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(5%)}}@keyframes fadeOutLeft{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(5%)}}@-webkit-keyframes fadeOutRight{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-5%)}}@keyframes fadeOutRight{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-5%)}}.flip.transition.in,.flip.transition.out{-webkit-animation-duration:.6s;animation-duration:.6s}.horizontal.flip.transition.in{-webkit-animation-name:horizontalFlipIn;animation-name:horizontalFlipIn}.horizontal.flip.transition.out{-webkit-animation-name:horizontalFlipOut;animation-name:horizontalFlipOut}.vertical.flip.transition.in{-webkit-animation-name:verticalFlipIn;animation-name:verticalFlipIn}.vertical.flip.transition.out{-webkit-animation-name:verticalFlipOut;animation-name:verticalFlipOut}@-webkit-keyframes horizontalFlipIn{0%{transform:perspective(2000px) rotateY(-90deg);opacity:0}100%{transform:perspective(2000px) rotateY(0);opacity:1}}@keyframes horizontalFlipIn{0%{transform:perspective(2000px) rotateY(-90deg);opacity:0}100%{transform:perspective(2000px) rotateY(0);opacity:1}}@-webkit-keyframes verticalFlipIn{0%{transform:perspective(2000px) rotateX(-90deg);opacity:0}100%{transform:perspective(2000px) rotateX(0);opacity:1}}@keyframes verticalFlipIn{0%{transform:perspective(2000px) rotateX(-90deg);opacity:0}100%{transform:perspective(2000px) rotateX(0);opacity:1}}@-webkit-keyframes horizontalFlipOut{0%{transform:perspective(2000px) rotateY(0);opacity:1}100%{transform:perspective(2000px) rotateY(90deg);opacity:0}}@keyframes horizontalFlipOut{0%{transform:perspective(2000px) rotateY(0);opacity:1}100%{transform:perspective(2000px) rotateY(90deg);opacity:0}}@-webkit-keyframes verticalFlipOut{0%{transform:perspective(2000px) rotateX(0);opacity:1}100%{transform:perspective(2000px) rotateX(-90deg);opacity:0}}@keyframes verticalFlipOut{0%{transform:perspective(2000px) rotateX(0);opacity:1}100%{transform:perspective(2000px) rotateX(-90deg);opacity:0}}.scale.transition.in{-webkit-animation-name:scaleIn;animation-name:scaleIn}.scale.transition.out{-webkit-animation-name:scaleOut;animation-name:scaleOut}@-webkit-keyframes scaleIn{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes scaleOut{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.9)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.9)}}.transition.fly{-webkit-animation-duration:.6s;animation-duration:.6s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.transition.fly.in{-webkit-animation-name:flyIn;animation-name:flyIn}.transition[class*="fly up"].in{-webkit-animation-name:flyInUp;animation-name:flyInUp}.transition[class*="fly down"].in{-webkit-animation-name:flyInDown;animation-name:flyInDown}.transition[class*="fly left"].in{-webkit-animation-name:flyInLeft;animation-name:flyInLeft}.transition[class*="fly right"].in{-webkit-animation-name:flyInRight;animation-name:flyInRight}.transition.fly.out{-webkit-animation-name:flyOut;animation-name:flyOut}.transition[class*="fly up"].out{-webkit-animation-name:flyOutUp;animation-name:flyOutUp}.transition[class*="fly down"].out{-webkit-animation-name:flyOutDown;animation-name:flyOutDown}.transition[class*="fly left"].out{-webkit-animation-name:flyOutLeft;animation-name:flyOutLeft}.transition[class*="fly right"].out{-webkit-animation-name:flyOutRight;animation-name:flyOutRight}@-webkit-keyframes flyIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}100%{opacity:1;transform:scale3d(1,1,1)}}@keyframes flyIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}100%{opacity:1;transform:scale3d(1,1,1)}}@-webkit-keyframes flyInUp{0%{opacity:0;transform:translate3d(0,1500px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}100%{transform:translate3d(0,0,0)}}@keyframes flyInUp{0%{opacity:0;transform:translate3d(0,1500px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}100%{transform:translate3d(0,0,0)}}@-webkit-keyframes flyInDown{0%{opacity:0;transform:translate3d(0,-1500px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}100%{transform:none}}@keyframes flyInDown{0%{opacity:0;transform:translate3d(0,-1500px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}100%{transform:none}}@-webkit-keyframes flyInLeft{0%{opacity:0;transform:translate3d(1500px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}100%{transform:none}}@keyframes flyInLeft{0%{opacity:0;transform:translate3d(1500px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}100%{transform:none}}@-webkit-keyframes flyInRight{0%{opacity:0;transform:translate3d(-1500px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}100%{transform:none}}@keyframes flyInRight{0%{opacity:0;transform:translate3d(-1500px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}100%{transform:none}}@-webkit-keyframes flyOut{20%{transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;transform:scale3d(.3,.3,.3)}}@keyframes flyOut{20%{transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;transform:scale3d(.3,.3,.3)}}@-webkit-keyframes flyOutUp{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}100%{opacity:0;transform:translate3d(0,2000px,0)}}@keyframes flyOutUp{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}100%{opacity:0;transform:translate3d(0,2000px,0)}}@-webkit-keyframes flyOutDown{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}100%{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes flyOutDown{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}100%{opacity:0;transform:translate3d(0,-2000px,0)}}@-webkit-keyframes flyOutRight{20%{opacity:1;transform:translate3d(20px,0,0)}100%{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes flyOutRight{20%{opacity:1;transform:translate3d(20px,0,0)}100%{opacity:0;transform:translate3d(-2000px,0,0)}}@-webkit-keyframes flyOutLeft{20%{opacity:1;transform:translate3d(-20px,0,0)}100%{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes flyOutLeft{20%{opacity:1;transform:translate3d(-20px,0,0)}100%{opacity:0;transform:translate3d(2000px,0,0)}}.transition.slide.in,.transition[class*="slide down"].in{-webkit-animation-name:slideInY;animation-name:slideInY;transform-origin:top center}.transition[class*="slide up"].in{-webkit-animation-name:slideInY;animation-name:slideInY;transform-origin:bottom center}.transition[class*="slide left"].in{-webkit-animation-name:slideInX;animation-name:slideInX;transform-origin:center right}.transition[class*="slide right"].in{-webkit-animation-name:slideInX;animation-name:slideInX;transform-origin:center left}.transition.slide.out,.transition[class*="slide down"].out{-webkit-animation-name:slideOutY;animation-name:slideOutY;transform-origin:top center}.transition[class*="slide up"].out{-webkit-animation-name:slideOutY;animation-name:slideOutY;transform-origin:bottom center}.transition[class*="slide left"].out{-webkit-animation-name:slideOutX;animation-name:slideOutX;transform-origin:center right}.transition[class*="slide right"].out{-webkit-animation-name:slideOutX;animation-name:slideOutX;transform-origin:center left}@-webkit-keyframes slideInY{0%{opacity:0;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}@keyframes slideInY{0%{opacity:0;transform:scaleY(0)}100%{opacity:1;transform:scaleY(1)}}@-webkit-keyframes slideInX{0%{opacity:0;transform:scaleX(0)}100%{opacity:1;transform:scaleX(1)}}@keyframes slideInX{0%{opacity:0;transform:scaleX(0)}100%{opacity:1;transform:scaleX(1)}}@-webkit-keyframes slideOutY{0%{opacity:1;transform:scaleY(1)}100%{opacity:0;transform:scaleY(0)}}@keyframes slideOutY{0%{opacity:1;transform:scaleY(1)}100%{opacity:0;transform:scaleY(0)}}@-webkit-keyframes slideOutX{0%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(0)}}@keyframes slideOutX{0%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(0)}}.transition.swing{-webkit-animation-duration:.8s;animation-duration:.8s}.transition[class*="swing down"].in{-webkit-animation-name:swingInX;animation-name:swingInX;transform-origin:top center}.transition[class*="swing up"].in{-webkit-animation-name:swingInX;animation-name:swingInX;transform-origin:bottom center}.transition[class*="swing left"].in{-webkit-animation-name:swingInY;animation-name:swingInY;transform-origin:center right}.transition[class*="swing right"].in{-webkit-animation-name:swingInY;animation-name:swingInY;transform-origin:center left}.transition.swing.out,.transition[class*="swing down"].out{-webkit-animation-name:swingOutX;animation-name:swingOutX;transform-origin:top center}.transition[class*="swing up"].out{-webkit-animation-name:swingOutX;animation-name:swingOutX;transform-origin:bottom center}.transition[class*="swing left"].out{-webkit-animation-name:swingOutY;animation-name:swingOutY;transform-origin:center right}.transition[class*="swing right"].out{-webkit-animation-name:swingOutY;animation-name:swingOutY;transform-origin:center left}@-webkit-keyframes swingInX{0%{transform:perspective(1000px) rotateX(90deg);opacity:0}40%{transform:perspective(1000px) rotateX(-30deg);opacity:1}60%{transform:perspective(1000px) rotateX(15deg)}80%{transform:perspective(1000px) rotateX(-7.5deg)}100%{transform:perspective(1000px) rotateX(0)}}@keyframes swingInX{0%{transform:perspective(1000px) rotateX(90deg);opacity:0}40%{transform:perspective(1000px) rotateX(-30deg);opacity:1}60%{transform:perspective(1000px) rotateX(15deg)}80%{transform:perspective(1000px) rotateX(-7.5deg)}100%{transform:perspective(1000px) rotateX(0)}}@-webkit-keyframes swingInY{0%{transform:perspective(1000px) rotateY(-90deg);opacity:0}40%{transform:perspective(1000px) rotateY(30deg);opacity:1}60%{transform:perspective(1000px) rotateY(-17.5deg)}80%{transform:perspective(1000px) rotateY(7.5deg)}100%{transform:perspective(1000px) rotateY(0)}}@keyframes swingInY{0%{transform:perspective(1000px) rotateY(-90deg);opacity:0}40%{transform:perspective(1000px) rotateY(30deg);opacity:1}60%{transform:perspective(1000px) rotateY(-17.5deg)}80%{transform:perspective(1000px) rotateY(7.5deg)}100%{transform:perspective(1000px) rotateY(0)}}@-webkit-keyframes swingOutX{0%{transform:perspective(1000px) rotateX(0)}40%{transform:perspective(1000px) rotateX(-7.5deg)}60%{transform:perspective(1000px) rotateX(17.5deg)}80%{transform:perspective(1000px) rotateX(-30deg);opacity:1}100%{transform:perspective(1000px) rotateX(90deg);opacity:0}}@keyframes swingOutX{0%{transform:perspective(1000px) rotateX(0)}40%{transform:perspective(1000px) rotateX(-7.5deg)}60%{transform:perspective(1000px) rotateX(17.5deg)}80%{transform:perspective(1000px) rotateX(-30deg);opacity:1}100%{transform:perspective(1000px) rotateX(90deg);opacity:0}}@-webkit-keyframes swingOutY{0%{transform:perspective(1000px) rotateY(0)}40%{transform:perspective(1000px) rotateY(7.5deg)}60%{transform:perspective(1000px) rotateY(-10deg)}80%{transform:perspective(1000px) rotateY(30deg);opacity:1}100%{transform:perspective(1000px) rotateY(-90deg);opacity:0}}@keyframes swingOutY{0%{transform:perspective(1000px) rotateY(0)}40%{transform:perspective(1000px) rotateY(7.5deg)}60%{transform:perspective(1000px) rotateY(-10deg)}80%{transform:perspective(1000px) rotateY(30deg);opacity:1}100%{transform:perspective(1000px) rotateY(-90deg);opacity:0}}.transition.zoom.in{-webkit-animation-name:zoomIn;animation-name:zoomIn}.transition.zoom.out{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomIn{0%{opacity:1;transform:scale(0)}100%{opacity:1;transform:scale(1)}}@keyframes zoomIn{0%{opacity:1;transform:scale(0)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes zoomOut{0%{opacity:1;transform:scale(1)}100%{opacity:1;transform:scale(0)}}@keyframes zoomOut{0%{opacity:1;transform:scale(1)}100%{opacity:1;transform:scale(0)}}.flash.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:flash;animation-name:flash}.shake.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:shake;animation-name:shake}.bounce.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:bounce;animation-name:bounce}.tada.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:tada;animation-name:tada}.pulse.transition{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-name:pulse;animation-name:pulse}.jiggle.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:jiggle;animation-name:jiggle}.transition.glow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:cubic-bezier(.19,1,.22,1);animation-timing-function:cubic-bezier(.19,1,.22,1)}.transition.glow{-webkit-animation-name:glow;animation-name:glow}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@-webkit-keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}@-webkit-keyframes bounce{0%,100%,20%,50%,80%{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}@keyframes bounce{0%,100%,20%,50%,80%{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}@-webkit-keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}@-webkit-keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(.9);opacity:.7}100%{transform:scale(1);opacity:1}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(.9);opacity:.7}100%{transform:scale(1);opacity:1}}@-webkit-keyframes jiggle{0%{transform:scale3d(1,1,1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}100%{transform:scale3d(1,1,1)}}@keyframes jiggle{0%{transform:scale3d(1,1,1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}100%{transform:scale3d(1,1,1)}}@-webkit-keyframes glow{0%{background-color:#fcfcfd}30%{background-color:#fff6cd}100%{background-color:#fcfcfd}}@keyframes glow{0%{background-color:#fcfcfd}30%{background-color:#fff6cd}100%{background-color:#fcfcfd}} \ No newline at end of file From 2c148c77149abcdcdac50a27359add27d0f7e940 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Thu, 9 Jan 2025 11:47:21 +0100 Subject: [PATCH 082/137] and is also a valid identifier (css-class name) --- src/main/javacc/CSS3Parser.jj | 1 + .../cssparser/parser/CSS3ParserRealWorldTest.java | 4 ++-- .../org/htmlunit/cssparser/parser/CSS3ParserTest.java | 8 +++++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index d9381b5..6691f1d 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -2757,6 +2757,7 @@ Token ident() : | ( t = + | t = | t = | t = | t = diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java index 7a33c19..23a7753 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -384,8 +384,8 @@ public void semantic_2_5_0() throws Exception { + "only screen and (min-width: 768px) and (max-width: 991px);" + "only screen and (min-width: 992px);" + "only screen and (min-width: 992px) and (max-width: 1199px);"; - realWorld("realworld/semantic_2_5_0.css", 5486, 10068, media, 7, 4); - realWorld("realworld/semantic_2_5_0.min.css", 5486, 10068, media, 7, 4); + realWorld("realworld/semantic_2_5_0.css", 5490, 10072, media, 3, 0); + realWorld("realworld/semantic_2_5_0.min.css", 5490, 10072, media, 3, 0); } /** diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index a1d99f2..4886c41 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -109,6 +109,7 @@ public void selector() throws Exception { selectorType(".only", SelectorType.ELEMENT_NODE_SELECTOR); selectorType(".none", SelectorType.ELEMENT_NODE_SELECTOR); selectorType(".from", SelectorType.ELEMENT_NODE_SELECTOR); + selectorType(".and", SelectorType.ELEMENT_NODE_SELECTOR); } /** @@ -230,6 +231,7 @@ public void condition() throws Exception { conditionType(".only", ConditionType.CLASS_CONDITION); conditionType(".none", ConditionType.CLASS_CONDITION); conditionType(".from", ConditionType.CLASS_CONDITION); + conditionType(".and", ConditionType.CLASS_CONDITION); } /** @@ -1854,7 +1856,7 @@ public void unexpectedEndOfPageRule() throws Exception { assertEquals(1, errorHandler.getErrorCount()); final String expected = "Error in @page rule. " - + "(Invalid token \"\". Was expecting one of: , \"only\", \"inherit\", \"none\", \"from\", ," + + "(Invalid token \"\". Was expecting one of: , \"and\", \"only\", \"inherit\", \"none\", \"from\", ," + " \"}\", \";\", \"*\", .)"; assertEquals(expected, errorHandler.getErrorMessage()); assertEquals("1", errorHandler.getErrorLines()); @@ -3234,7 +3236,7 @@ public void invalid_not() throws Exception { checkErrorSelector("input:not()", "Error in simple selector. (Invalid token \")\". " - + "Was expecting one of: , \"only\", \"inherit\", \"none\", \"from\", , \".\", \":\", \"*\", \"[\", .)"); + + "Was expecting one of: , \"and\", \"only\", \"inherit\", \"none\", \"from\", , \".\", \":\", \"*\", \"[\", .)"); // checkErrorSelector("input:not(*.home)", // "Error in pseudo class or element. (Invalid token \".\"." @@ -3282,7 +3284,7 @@ public void pseudoElementsErrors() throws Exception { "Duplicate pseudo class \":foo(ab)\" or pseudo class \":foo(ab)\" not at end."); checkErrorSelector("input:before:", "Error in pseudo class or element. (Invalid token \"\". " - + "Was expecting one of: \"only\", \"inherit\", \"none\", \"from\", , " + + "Was expecting one of: \"and\", \"only\", \"inherit\", \"none\", \"from\", , " + "\":\", , , .)"); // pseudo element not at end From 2ff457aefeca77c7402ade6ac28ead8586c47cef Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Thu, 9 Jan 2025 12:59:24 +0100 Subject: [PATCH 083/137] support var and calc for plain colors --- src/main/javacc/CSS3Parser.jj | 60 + .../parser/CSS3ParserRealWorldTest.java | 27 +- .../cssparser/parser/HSLColorParserTest.java | 48 +- .../cssparser/parser/HWBColorParserTest.java | 31 +- .../cssparser/parser/LABColorParserTest.java | 28 +- .../cssparser/parser/LCHColorParserTest.java | 28 +- .../parser/OKLABColorParserTest.java | 28 +- .../parser/OKLCHColorParserTest.java | 28 +- .../cssparser/parser/RGBColorParserTest.java | 48 +- src/test/resources/realworld/bulma_1_0_2.css | 21551 ++++++++++++++++ .../resources/realworld/bulma_1_0_2.min.css | 3 + 11 files changed, 21798 insertions(+), 82 deletions(-) create mode 100644 src/test/resources/realworld/bulma_1_0_2.css create mode 100644 src/test/resources/realworld/bulma_1_0_2.min.css diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 6691f1d..fc0b5b4 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -2037,6 +2037,9 @@ LexicalUnit rgbColor(LexicalUnit prev) : { param = LexicalUnitImpl.createNone(null); } | param = number(null, op) | param = percentage(null, op) + + | param = calc(null) + | param = var(null) ) ) { op = ' '; next = param; } @@ -2053,6 +2056,9 @@ LexicalUnit rgbColor(LexicalUnit prev) : { next = LexicalUnitImpl.createNone(next); } | next = number(next, op) | next = percentage(next, op) + + | next = calc(next) + | next = var(next) ) ) { op = ' '; } @@ -2069,6 +2075,9 @@ LexicalUnit rgbColor(LexicalUnit prev) : { next = LexicalUnitImpl.createNone(next); } | next = number(next, op) | next = percentage(next, op) + + | next = calc(next) + | next = var(next) ) ) { op = ' '; } @@ -2088,6 +2097,9 @@ LexicalUnit rgbColor(LexicalUnit prev) : { next = LexicalUnitImpl.createNone(next); } | next = number(next, op) | next = percentage(next, op) + + | next = calc(next) + | next = var(next) ) ( )* @@ -2207,6 +2219,9 @@ LexicalUnit hslColor(LexicalUnit prev) : | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } + + | param = calc(null) + | param = var(null) ) ) { op = ' '; next = param; } @@ -2222,6 +2237,9 @@ LexicalUnit hslColor(LexicalUnit prev) : ( { next = LexicalUnitImpl.createNone(next); } | next = percentage(next, op) + + | next = calc(next) + | next = var(next) ) ) { op = ' '; } @@ -2237,6 +2255,9 @@ LexicalUnit hslColor(LexicalUnit prev) : ( { next = LexicalUnitImpl.createNone(next); } | next = percentage(next, op) + + | next = calc(next) + | next = var(next) ) ) { op = ' '; } @@ -2256,6 +2277,9 @@ LexicalUnit hslColor(LexicalUnit prev) : { next = LexicalUnitImpl.createNone(next); } | next = number(next, op) | next = percentage(next, op) + + | next = calc(next) + | next = var(next) ) ( )* @@ -2376,6 +2400,9 @@ LexicalUnit hwbColor(LexicalUnit prev) : | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } + + | param = calc(null) + | param = var(null) ) ) { op = ' '; next = param; } @@ -2387,6 +2414,9 @@ LexicalUnit hwbColor(LexicalUnit prev) : ( { next = LexicalUnitImpl.createNone(next); } | next = percentage(next, op) + + | next = calc(next) + | next = var(next) ) ) { op = ' '; } @@ -2398,6 +2428,9 @@ LexicalUnit hwbColor(LexicalUnit prev) : ( { next = LexicalUnitImpl.createNone(next); } | next = percentage(next, op) + + | next = calc(next) + | next = var(next) ) ) { op = ' '; } @@ -2414,6 +2447,9 @@ LexicalUnit hwbColor(LexicalUnit prev) : { next = LexicalUnitImpl.createNone(next); } | next = number(next, op) | next = percentage(next, op) + + | next = calc(next) + | next = var(next) ) ( )* @@ -2532,6 +2568,9 @@ LexicalUnit labColor(LexicalUnit prev) : { param = LexicalUnitImpl.createNone(null); } | param = number(null, op) | param = percentage(null, op) + + | param = calc(null) + | param = var(null) ) ) { op = ' '; next = param; } @@ -2544,6 +2583,9 @@ LexicalUnit labColor(LexicalUnit prev) : { next = LexicalUnitImpl.createNone(next); } | next = number(next, op) | next = percentage(next, op) + + | next = calc(next) + | next = var(next) ) ) { op = ' '; } @@ -2556,6 +2598,9 @@ LexicalUnit labColor(LexicalUnit prev) : { next = LexicalUnitImpl.createNone(next); } | next = number(next, op) | next = percentage(next, op) + + | next = calc(next) + | next = var(next) ) ) { op = ' '; } @@ -2572,6 +2617,9 @@ LexicalUnit labColor(LexicalUnit prev) : { next = LexicalUnitImpl.createNone(next); } | next = number(next, op) | next = percentage(next, op) + + | next = calc(next) + | next = var(next) ) ( )* @@ -2691,6 +2739,9 @@ LexicalUnit lchColor(LexicalUnit prev) : { param = LexicalUnitImpl.createNone(null); } | param = number(null, op) | param = percentage(null, op) + + | param = calc(null) + | param = var(null) ) ) { op = ' '; next = param; } @@ -2703,6 +2754,9 @@ LexicalUnit lchColor(LexicalUnit prev) : { next = LexicalUnitImpl.createNone(next); } | next = number(next, op) | next = percentage(next, op) + + | next = calc(next) + | next = var(next) ) ) { op = ' '; } @@ -2717,6 +2771,9 @@ LexicalUnit lchColor(LexicalUnit prev) : | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } + + | next = calc(next) + | next = var(next) ) ) { op = ' '; } @@ -2733,6 +2790,9 @@ LexicalUnit lchColor(LexicalUnit prev) : { next = LexicalUnitImpl.createNone(next); } | next = number(next, op) | next = percentage(next, op) + + | next = calc(next) + | next = var(next) ) ( )* diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java index 23a7753..1bd9309 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -286,8 +286,8 @@ public void bootstrap_5_2_0() throws Exception { + "(prefers-reduced-motion: no-preference);" + "(prefers-reduced-motion: reduce);" + "print;"; - realWorld("realworld/bootstrap_5_2_0.css", 1198, 3033, media, 40, 0); - realWorld("realworld/bootstrap_5_2_0.min.css", 1198, 3033, media, 40, 0); + realWorld("realworld/bootstrap_5_2_0.css", 1198, 3041, media, 32, 0); + realWorld("realworld/bootstrap_5_2_0.min.css", 1198, 3041, media, 32, 0); } /** @@ -388,6 +388,29 @@ public void semantic_2_5_0() throws Exception { realWorld("realworld/semantic_2_5_0.min.css", 5490, 10072, media, 3, 0); } + /** + * @throws Exception if any error occurs + */ + @Test + public void bulma_1_0_2() throws Exception { + final String media = "(prefers-color-scheme: dark);" + + "(prefers-color-scheme: light);" + + "print;" + + "screen and (max-width: 1023px);" + + "screen and (max-width: 1215px);" + + "screen and (max-width: 1407px);" + + "screen and (max-width: 768px);" + + "screen and (min-width: 1024px);" + + "screen and (min-width: 1024px) and (max-width: 1215px);" + + "screen and (min-width: 1216px);" + + "screen and (min-width: 1216px) and (max-width: 1407px);" + + "screen and (min-width: 1408px);" + + "screen and (min-width: 769px);" + + "screen and (min-width: 769px) and (max-width: 1023px);"; + realWorld("realworld/bulma_1_0_2.css", 3036, 7226, media, 13, 13); + realWorld("realworld/bulma_1_0_2.min.css", 3011, 7180, media, 13, 13); + } + /** * @throws Exception if any error occurs */ diff --git a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java index b0d6608..e1ccc62 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java @@ -44,6 +44,12 @@ public void hslComma() throws Exception { color("foreground: hsl(-270, 60%, 70%, 0.1)", "foreground: hsl(-270, 60%, 70%, 0.1)"); color("foreground: hsl(-270, 60%, 70%, 0.1)", "foreground: hsl(-270, 60%, 70%, .1)"); color("foreground: hsl(-270, 60%, 70%, 10%)", "foreground: hsl(-270, 60%, 70%, 10%)"); + + // var + color("foreground: hsl(var(--v-h), var(--v-s), var(--v-l), var(--v-alpha))", "foreground: hsl(var(--v-h), var(--v-s), var(--v-l), var(--v-alpha))"); + + // calc + color("foreground: hsl(calc(270), calc(60%), calc(70%), calc(0.1))", "foreground: hsl(calc(270), calc(60%), calc(70%), calc(0.1))"); } /** @@ -75,6 +81,12 @@ public void hslBlank() throws Exception { color("foreground: hsl(-270 60% 70% / 10%)", "foreground: hsl(-270 60% 70% / 10%)"); color("foreground: hsl(-270 60% 70% / none)", "foreground: hsl(-270 60% 70% / none)"); + + // var + color("foreground: hsl(var(--v-h) var(--v-s) var(--v-l) / var(--v-alpha))", "foreground: hsl(var(--v-h) var(--v-s) var(--v-l) / var(--v-alpha))"); + + // calc + color("foreground: hsl(calc(270) calc(60%) calc(70%) / calc(0.1))", "foreground: hsl(calc(270) calc(60%) calc(70%) / calc(0.1))"); } /** @@ -130,6 +142,12 @@ public void hslaComma() throws Exception { color("foreground: hsla(-270, 60%, 70%, 0.1)", "foreground: hsla(-270, 60%, 70%, 0.1)"); color("foreground: hsla(-270, 60%, 70%, 0.1)", "foreground: hsla(-270, 60%, 70%, .1)"); color("foreground: hsla(-270, 60%, 70%, 10%)", "foreground: hsla(-270, 60%, 70%, 10%)"); + + // var + color("foreground: hsla(var(--v-h), var(--v-s), var(--v-l), var(--v-alpha))", "foreground: hsla(var(--v-h), var(--v-s), var(--v-l), var(--v-alpha))"); + + // calc + color("foreground: hsla(calc(270), calc(60%), calc(70%), calc(0.1))", "foreground: hsla(calc(270), calc(60%), calc(70%), calc(0.1))"); } /** @@ -161,6 +179,12 @@ public void hslaBlank() throws Exception { color("foreground: hsla(-270 60% 70% / 10%)", "foreground: hsla(-270 60% 70% / 10%)"); color("foreground: hsla(-270 60% 70% / none)", "foreground: hsla(-270 60% 70% / none)"); + + // var + color("foreground: hsla(var(--v-h) var(--v-s) var(--v-l) / var(--v-alpha))", "foreground: hsla(var(--v-h) var(--v-s) var(--v-l) / var(--v-alpha))"); + + // calc + color("foreground: hsla(calc(270) calc(60%) calc(70%) / calc(0.1))", "foreground: hsla(calc(270) calc(60%) calc(70%) / calc(0.1))"); } /** @@ -193,33 +217,33 @@ public void hslVariousErrors() throws Exception { color("foreground: hsl(10, 20%, 30%, none)", "foreground: hsl(10, 20%, 30%, none)"); color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", " - + ", , , .)", + + ", , , , , .)", "foreground: hsl(-none 20% 30%)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", , , .)", "foreground: hsl(10 -none 30%)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", , , .)", "foreground: hsl(10 20% -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: hsl(10 20% 30% / -none)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , , , .)", "foreground: hsl()"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", , , .)", "foreground: hsl(10)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", , , .)", "foreground: hsl(10 20%)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: hsl(10, 20%, 30%,)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: hsl(10, 20%, 30%/)"); - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", , , .)", "foreground: hsl(10, 20px, 30)"); - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", .)", + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", \",\", , , .)", "foreground: hsl(10 20px 30)"); - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , .)", + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , , , .)", "foreground: hsl('10', 20, 30,)"); } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java index 4fb14ca..f7d0dda 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java @@ -50,6 +50,12 @@ public void hwbBlank() throws Exception { color("foreground: hwb(-270 60% 70% / 10%)", "foreground: hwb(-270 60% 70% / 10%)"); color("foreground: hwb(-270 60% 70% / none)", "foreground: hwb(-270 60% 70% / none)"); + + // var + color("foreground: hwb(var(--v-h) var(--v-w) var(--v-b) / var(--v-alpha))", "foreground: hwb(var(--v-h) var(--v-w) var(--v-b) / var(--v-alpha))"); + + // calc + color("foreground: hwb(calc(270) calc(60%) calc(70%) / calc(0.1))", "foreground: hwb(calc(270) calc(60%) calc(70%) / calc(0.1))"); } /** @@ -77,35 +83,36 @@ public void hwbRelative() throws Exception { public void hwbVariousErrors() throws Exception { // like browsers we ignore many errors during parsing - color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", , , .)", "foreground: hwb(10, 20% 30%)"); - color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", .)", "foreground: hwb(10 20%, 30%)"); + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , \"none\", \"-\", \"+\", , , .)", + "foreground: hwb(10 20%, 30%)"); color("foreground: hwb(10 20% 30% 40)", "foreground: hwb(10 20% 30% 40)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , , , .)", "foreground: hwb(-none 20% 30%)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , .)", "foreground: hwb(10 -none 30%)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , .)", "foreground: hwb(10 20% -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: hwb(10 20% 30% / -none)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , , , .)", "foreground: hwb()"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , .)", "foreground: hwb(10)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , .)", "foreground: hwb(10 20%)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: hwb(10 20% 30%/)"); - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , \"none\", \"-\", \"+\", , , .)", "foreground: hwb(10 20px 30)"); - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , .)", + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , , , , .)", "foreground: hwb('10' 20 30)"); } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java index 58177e0..887f927 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java @@ -48,6 +48,12 @@ public void labBlank() throws Exception { color("foreground: lab(10% 20% 30% / 0.5)", "foreground: lab(10% 20% 30% / 0.5)"); color("foreground: lab(10% 20% 30% / none)", "foreground: lab(10% 20% 30% / none)"); + + // var + color("foreground: lab(var(--v-l) var(--v-a) var(--v-b) / var(--v-alpha))", "foreground: lab(var(--v-l) var(--v-a) var(--v-b) / var(--v-alpha))"); + + // calc + color("foreground: lab(calc(270) calc(60%) calc(70%) / calc(0.1))", "foreground: lab(calc(270) calc(60%) calc(70%) / calc(0.1))"); } /** @@ -89,34 +95,34 @@ public void labRelative() throws Exception { public void labVariousErrors() throws Exception { // like browsers we ignore many errors during parsing - color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: lab(10, 20 30)"); color("foreground: lab(10 20 30 40)", "foreground: lab(10 20 30 40)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: lab(-none 20 30)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: lab(10 -none 30)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: lab(10 20 -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: lab(10 20 30 / -none)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: lab()"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: lab(10)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: lab(10 20)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: lab(10 20 30/)"); - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: lab(10 20px 30)"); - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: lab('10' 20 30)"); } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java index fa06ce4..9f8319d 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java @@ -48,6 +48,12 @@ public void lchBlank() throws Exception { color("foreground: lch(10% 20% 30deg / 0.5)", "foreground: lch(10% 20% 30deg / 0.5)"); color("foreground: lch(10% 20% 30deg / none)", "foreground: lch(10% 20% 30deg / none)"); + + // var + color("foreground: lch(var(--v-l) var(--v-c) var(--v-h) / var(--v-alpha))", "foreground: lch(var(--v-l) var(--v-c) var(--v-h) / var(--v-alpha))"); + + // calc + color("foreground: lch(calc(270) calc(60%) calc(70deg) / calc(0.1))", "foreground: lch(calc(270) calc(60%) calc(70deg) / calc(0.1))"); } /** @@ -89,34 +95,34 @@ public void lchRelative() throws Exception { public void lchVariousErrors() throws Exception { // like browsers we ignore many errors during parsing - color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: lch(10, 20 30deg)"); color("foreground: lch(10 20 30deg 40)", "foreground: lch(10 20 30deg 40)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: lch(-none 20 30deg)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: lch(10 -none 30deg)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , , , , .)", "foreground: lch(10 20 -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: lch(10 20 30deg / -none)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: lch()"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: lch(10)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , , , , .)", "foreground: lch(10 20)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: lch(10 20 30deg/)"); - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: lch(10 20px 30deg)"); - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: lch('10' 20 30deg)"); } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java index a5bb1ad..dcda202 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java @@ -48,6 +48,12 @@ public void oklabBlank() throws Exception { color("foreground: oklab(10% 20% 30% / 0.5)", "foreground: oklab(10% 20% 30% / 0.5)"); color("foreground: oklab(10% 20% 30% / none)", "foreground: oklab(10% 20% 30% / none)"); + + // var + color("foreground: oklab(var(--v-l) var(--v-a) var(--v-b) / var(--v-alpha))", "foreground: oklab(var(--v-l) var(--v-a) var(--v-b) / var(--v-alpha))"); + + // calc + color("foreground: oklab(calc(270) calc(60%) calc(70%) / calc(0.1))", "foreground: oklab(calc(270) calc(60%) calc(70%) / calc(0.1))"); } /** @@ -89,34 +95,34 @@ public void oklabRelative() throws Exception { public void oklabVariousErrors() throws Exception { // like browsers we ignore many errors during parsing - color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: oklab(10, 20 30)"); color("foreground: oklab(10 20 30 40)", "foreground: oklab(10 20 30 40)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: oklab(-none 20 30)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: oklab(10 -none 30)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: oklab(10 20 -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: oklab(10 20 30 / -none)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: oklab()"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: oklab(10)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: oklab(10 20)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: oklab(10 20 30/)"); - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: oklab(10 20px 30)"); - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: oklab('10' 20 30)"); } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java index abdcb5d..f063cab 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java @@ -48,6 +48,12 @@ public void oklchBlank() throws Exception { color("foreground: oklch(10% 20% 30deg / 0.5)", "foreground: oklch(10% 20% 30deg / 0.5)"); color("foreground: oklch(10% 20% 30deg / none)", "foreground: oklch(10% 20% 30deg / none)"); + + // var + color("foreground: oklch(var(--v-l) var(--v-c) var(--v-h) / var(--v-alpha))", "foreground: oklch(var(--v-l) var(--v-c) var(--v-h) / var(--v-alpha))"); + + // calc + color("foreground: oklch(calc(270) calc(60%) calc(70deg) / calc(0.1))", "foreground: oklch(calc(270) calc(60%) calc(70deg) / calc(0.1))"); } /** @@ -89,34 +95,34 @@ public void oklchRelative() throws Exception { public void oklchVariousErrors() throws Exception { // like browsers we ignore many errors during parsing - color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \",\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: oklch(10, 20 30deg)"); color("foreground: oklch(10 20 30deg 40)", "foreground: oklch(10 20 30deg 40)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: oklch(-none 20 30deg)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: oklch(10 -none 30deg)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , \"none\", \"-\", \"+\", , , , , , .)", "foreground: oklch(10 20 -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: oklch(10 20 30deg / -none)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: oklch()"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: oklch(10)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , , .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , \"none\", \"-\", \"+\", , , , , , .)", "foreground: oklch(10 20)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: oklch(10 20 30deg/)"); - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: oklch(10 20px 30deg)"); - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: oklch('10' 20 30deg)"); } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java index d1e9990..015a2c0 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java @@ -48,6 +48,12 @@ public void rgbComma() throws Exception { color("foreground: rgb(-255, -10, -153, -0.5)", "foreground: rgb(-255, -10, -153.0, -0.5)"); color("foreground: rgb(-100%, -10%, -60%, -7%)", "foreground: rgb(-100%,-10%,-60%,-7%)"); + + // var + color("foreground: rgb(var(--v-r), var(--v-g), var(--v-b), var(--v-alpha))", "foreground: rgb(var(--v-r), var(--v-g), var(--v-b), var(--v-alpha))"); + + // calc + color("foreground: rgb(calc(10), calc(20), calc(30), calc(0.1))", "foreground: rgb(calc(10), calc(20), calc(30), calc(0.1))"); } /** @@ -83,6 +89,12 @@ public void rgbBlank() throws Exception { color("foreground: rgb(-255 -10 -153 / -0.5)", "foreground: rgb(-255 -10 -153.0 / -0.5)"); color("foreground: rgb(-100% -10% -60% / -7%)", "foreground: rgb(-100% -10% -60%/-7%)"); + + // var + color("foreground: rgb(var(--v-r) var(--v-g) var(--v-b) / var(--v-alpha))", "foreground: rgb(var(--v-r) var(--v-g) var(--v-b) / var(--v-alpha))"); + + // calc + color("foreground: rgb(calc(10) calc(20) calc(30) / calc(0.1))", "foreground: rgb(calc(10) calc(20) calc(30) / calc(0.1))"); } /** @@ -152,6 +164,12 @@ public void rgbaComma() throws Exception { color("foreground: rgba(-255, -10, -153, -0.5)", "foreground: rgba(-255, -10, -153.0, -0.5)"); color("foreground: rgba(-100%, -10%, -60%, -7%)", "foreground: rgba(-100%,-10%,-60%,-7%)"); + + // var + color("foreground: rgba(var(--v-r), var(--v-g), var(--v-b), var(--v-alpha))", "foreground: rgba(var(--v-r), var(--v-g), var(--v-b), var(--v-alpha))"); + + // calc + color("foreground: rgba(calc(10), calc(20), calc(30), calc(0.1))", "foreground: rgba(calc(10), calc(20), calc(30), calc(0.1))"); } /** @@ -187,6 +205,12 @@ public void rgbaBlank() throws Exception { color("foreground: rgba(-255 -10 -153 / -0.5)", "foreground: rgba(-255 -10 -153.0 / -0.5)"); color("foreground: rgba(-100% -10% -60% / -7%)", "foreground: rgba(-100% -10% -60%/-7%)"); + + // var + color("foreground: rgba(var(--v-r) var(--v-g) var(--v-b) / var(--v-alpha))", "foreground: rgba(var(--v-r) var(--v-g) var(--v-b) / var(--v-alpha))"); + + // calc + color("foreground: rgba(calc(10) calc(20) calc(30) / calc(0.1))", "foreground: rgba(calc(10) calc(20) calc(30) / calc(0.1))"); } /** @@ -228,33 +252,33 @@ public void rgbVariousErrors() throws Exception { color("foreground: rgb(10, 20, none)", "foreground: rgb(10, 20, none)"); color("foreground: rgb(10, 20, 30, none)", "foreground: rgb(10, 20, 30, none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: rgb(-none 20 30)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", , , .)", "foreground: rgb(10 -none 30)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", , , .)", "foreground: rgb(10 20 -none)"); - color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"-none\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: rgb(10 20 30 / -none)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: rgb()"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", , , .)", "foreground: rgb(10)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", , , .)", "foreground: rgb(10 20)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: rgb(10, 20, 30,)"); - color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \")\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: rgb(10, 20, 30/)"); - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", , , .)", "foreground: rgb(10, 20px, 30)"); - color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", .)", + color(1, "Error in expression. (Invalid token \"20\". Was expecting one of: , , \"none\", \"-\", \"+\", \",\", , , .)", "foreground: rgb(10 20px 30)"); - color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", .)", + color(1, "Error in expression. (Invalid token \"10\". Was expecting one of: , , \"none\", \"from\", \"-\", \"+\", , , .)", "foreground: rgb('10', 20, 30,)"); } diff --git a/src/test/resources/realworld/bulma_1_0_2.css b/src/test/resources/realworld/bulma_1_0_2.css new file mode 100644 index 0000000..06db48a --- /dev/null +++ b/src/test/resources/realworld/bulma_1_0_2.css @@ -0,0 +1,21551 @@ +@charset "UTF-8"; +/*! bulma.io v1.0.2 | MIT License | github.com/jgthms/bulma */ +/* Bulma Utilities */ +:root { + --bulma-control-radius: var(--bulma-radius); + --bulma-control-radius-small: var(--bulma-radius-small); + --bulma-control-border-width: 1px; + --bulma-control-height: 2.5em; + --bulma-control-line-height: 1.5; + --bulma-control-padding-vertical: calc(0.5em - 1px); + --bulma-control-padding-horizontal: calc(0.75em - 1px); + --bulma-control-size: var(--bulma-size-normal); + --bulma-control-focus-shadow-l: 50%; +} + +/* Bulma Themes */ +:root { + --bulma-scheme-h: 221; + --bulma-scheme-s: 14%; + --bulma-light-l: 90%; + --bulma-light-invert-l: 20%; + --bulma-dark-l: 20%; + --bulma-dark-invert-l: 90%; + --bulma-soft-l: 90%; + --bulma-bold-l: 20%; + --bulma-soft-invert-l: 20%; + --bulma-bold-invert-l: 90%; + --bulma-hover-background-l-delta: -5%; + --bulma-active-background-l-delta: -10%; + --bulma-hover-border-l-delta: -10%; + --bulma-active-border-l-delta: -20%; + --bulma-hover-color-l-delta: -5%; + --bulma-active-color-l-delta: -10%; + --bulma-hover-shadow-a-delta: -0.05; + --bulma-active-shadow-a-delta: -0.1; + --bulma-scheme-brightness: light; + --bulma-scheme-main-l: 100%; + --bulma-scheme-main-bis-l: 98%; + --bulma-scheme-main-ter-l: 96%; + --bulma-background-l: 96%; + --bulma-border-weak-l: 93%; + --bulma-border-l: 86%; + --bulma-text-weak-l: 48%; + --bulma-text-l: 29%; + --bulma-text-strong-l: 21%; + --bulma-text-title-l: 14%; + --bulma-scheme-invert-ter-l: 14%; + --bulma-scheme-invert-bis-l: 7%; + --bulma-scheme-invert-l: 4%; + --bulma-family-primary: Inter, SF Pro, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Helvetica, Arial, sans-serif; + --bulma-family-secondary: Inter, SF Pro, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Helvetica, Arial, sans-serif; + --bulma-family-code: Inconsolata, Hack, SF Mono, Roboto Mono, Source Code Pro, Ubuntu Mono, monospace; + --bulma-size-small: 0.75rem; + --bulma-size-normal: 1rem; + --bulma-size-medium: 1.25rem; + --bulma-size-large: 1.5rem; + --bulma-weight-light: 300; + --bulma-weight-normal: 400; + --bulma-weight-medium: 500; + --bulma-weight-semibold: 600; + --bulma-weight-bold: 700; + --bulma-weight-extrabold: 800; + --bulma-block-spacing: 1.5rem; + --bulma-duration: 294ms; + --bulma-easing: ease-out; + --bulma-radius-small: 0.25rem; + --bulma-radius: 0.375rem; + --bulma-radius-medium: 0.5em; + --bulma-radius-large: 0.75rem; + --bulma-radius-rounded: 9999px; + --bulma-speed: 86ms; + --bulma-arrow-color: var(--bulma-link); + --bulma-loading-color: var(--bulma-border); + --bulma-burger-h: var(--bulma-link-h); + --bulma-burger-s: var(--bulma-link-s); + --bulma-burger-l: var(--bulma-link-l); + --bulma-burger-border-radius: 0.5em; + --bulma-burger-gap: 5px; + --bulma-burger-item-height: 2px; + --bulma-burger-item-width: 20px; + --bulma-white: hsla(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-l), 1); + --bulma-white-base: hsla(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-l), 1); + --bulma-white-rgb: 255, 255, 255; + --bulma-white-h: 221deg; + --bulma-white-s: 14%; + --bulma-white-l: 100%; + --bulma-white-invert-l: 4%; + --bulma-white-invert: hsl(221, 14%, 4%); + --bulma-white-on-scheme-l: 35%; + --bulma-white-on-scheme: hsla(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-on-scheme-l), 1); + --bulma-black: hsla(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-l), 1); + --bulma-black-base: hsla(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-l), 1); + --bulma-black-rgb: 9, 10, 12; + --bulma-black-h: 221deg; + --bulma-black-s: 14%; + --bulma-black-l: 4%; + --bulma-black-invert-l: 100%; + --bulma-black-invert: hsl(221, 14%, 100%); + --bulma-black-on-scheme-l: 4%; + --bulma-black-on-scheme: hsla(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-on-scheme-l), 1); + --bulma-light: hsla(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-l), 1); + --bulma-light-base: hsla(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-l), 1); + --bulma-light-rgb: 243, 244, 246; + --bulma-light-h: 221deg; + --bulma-light-s: 14%; + --bulma-light-l: 96%; + --bulma-light-invert-l: 21%; + --bulma-light-invert: hsl(221, 14%, 21%); + --bulma-light-on-scheme-l: 36%; + --bulma-light-on-scheme: hsla(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-on-scheme-l), 1); + --bulma-dark: hsla(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-l), 1); + --bulma-dark-base: hsla(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-l), 1); + --bulma-dark-rgb: 46, 51, 61; + --bulma-dark-h: 221deg; + --bulma-dark-s: 14%; + --bulma-dark-l: 21%; + --bulma-dark-invert-l: 96%; + --bulma-dark-invert: hsl(221, 14%, 96%); + --bulma-dark-on-scheme-l: 21%; + --bulma-dark-on-scheme: hsla(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-on-scheme-l), 1); + --bulma-text: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-l), 1); + --bulma-text-base: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-l), 1); + --bulma-text-rgb: 64, 70, 84; + --bulma-text-h: 221deg; + --bulma-text-s: 14%; + --bulma-text-l: 29%; + --bulma-text-00-l: 0%; + --bulma-text-05-l: 4%; + --bulma-text-10-l: 9%; + --bulma-text-15-l: 14%; + --bulma-text-20-l: 19%; + --bulma-text-25-l: 24%; + --bulma-text-30-l: 29%; + --bulma-text-35-l: 34%; + --bulma-text-40-l: 39%; + --bulma-text-45-l: 44%; + --bulma-text-50-l: 49%; + --bulma-text-55-l: 54%; + --bulma-text-60-l: 59%; + --bulma-text-65-l: 64%; + --bulma-text-70-l: 69%; + --bulma-text-75-l: 74%; + --bulma-text-80-l: 79%; + --bulma-text-85-l: 84%; + --bulma-text-90-l: 89%; + --bulma-text-95-l: 94%; + --bulma-text-100-l: 99%; + --bulma-text-00: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-00-l), 1); + --bulma-text-00-invert-l: var(--bulma-text-60-l); + --bulma-text-00-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-00-invert-l), 1); + --bulma-text-05: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-05-l), 1); + --bulma-text-05-invert-l: var(--bulma-text-60-l); + --bulma-text-05-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-05-invert-l), 1); + --bulma-text-10: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-10-l), 1); + --bulma-text-10-invert-l: var(--bulma-text-70-l); + --bulma-text-10-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-10-invert-l), 1); + --bulma-text-15: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-15-l), 1); + --bulma-text-15-invert-l: var(--bulma-text-75-l); + --bulma-text-15-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-15-invert-l), 1); + --bulma-text-20: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-20-l), 1); + --bulma-text-20-invert-l: var(--bulma-text-85-l); + --bulma-text-20-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-20-invert-l), 1); + --bulma-text-25: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-25-l), 1); + --bulma-text-25-invert-l: var(--bulma-text-95-l); + --bulma-text-25-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-25-invert-l), 1); + --bulma-text-30: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-30-l), 1); + --bulma-text-30-invert-l: var(--bulma-text-100-l); + --bulma-text-30-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-30-invert-l), 1); + --bulma-text-35: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-35-l), 1); + --bulma-text-35-invert-l: var(--bulma-text-100-l); + --bulma-text-35-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-35-invert-l), 1); + --bulma-text-40: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-40-l), 1); + --bulma-text-40-invert-l: var(--bulma-text-100-l); + --bulma-text-40-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-40-invert-l), 1); + --bulma-text-45: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-45-l), 1); + --bulma-text-45-invert-l: var(--bulma-text-100-l); + --bulma-text-45-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-45-invert-l), 1); + --bulma-text-50: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-50-l), 1); + --bulma-text-50-invert-l: var(--bulma-text-100-l); + --bulma-text-50-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-50-invert-l), 1); + --bulma-text-55: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-55-l), 1); + --bulma-text-55-invert-l: var(--bulma-text-100-l); + --bulma-text-55-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-55-invert-l), 1); + --bulma-text-60: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-60-l), 1); + --bulma-text-60-invert-l: var(--bulma-text-05-l); + --bulma-text-60-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-60-invert-l), 1); + --bulma-text-65: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-65-l), 1); + --bulma-text-65-invert-l: var(--bulma-text-05-l); + --bulma-text-65-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-65-invert-l), 1); + --bulma-text-70: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-70-l), 1); + --bulma-text-70-invert-l: var(--bulma-text-10-l); + --bulma-text-70-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-70-invert-l), 1); + --bulma-text-75: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-75-l), 1); + --bulma-text-75-invert-l: var(--bulma-text-15-l); + --bulma-text-75-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-75-invert-l), 1); + --bulma-text-80: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-80-l), 1); + --bulma-text-80-invert-l: var(--bulma-text-15-l); + --bulma-text-80-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-80-invert-l), 1); + --bulma-text-85: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-85-l), 1); + --bulma-text-85-invert-l: var(--bulma-text-20-l); + --bulma-text-85-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-85-invert-l), 1); + --bulma-text-90: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-90-l), 1); + --bulma-text-90-invert-l: var(--bulma-text-20-l); + --bulma-text-90-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-90-invert-l), 1); + --bulma-text-95: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-95-l), 1); + --bulma-text-95-invert-l: var(--bulma-text-25-l); + --bulma-text-95-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-95-invert-l), 1); + --bulma-text-100: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-100-l), 1); + --bulma-text-100-invert-l: var(--bulma-text-25-l); + --bulma-text-100-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-100-invert-l), 1); + --bulma-text-invert-l: var(--bulma-text-100-l); + --bulma-text-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-invert-l), 1); + --bulma-text-light-l: var(--bulma-text-90-l); + --bulma-text-light: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-light-l), 1); + --bulma-text-light-invert-l: var(--bulma-text-20-l); + --bulma-text-light-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-light-invert-l), 1); + --bulma-text-dark-l: var(--bulma-text-10-l); + --bulma-text-dark: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-dark-l), 1); + --bulma-text-dark-invert-l: var(--bulma-text-70-l); + --bulma-text-dark-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-dark-invert-l), 1); + --bulma-text-soft: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-soft-l), 1); + --bulma-text-bold: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-bold-l), 1); + --bulma-text-soft-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-soft-invert-l), 1); + --bulma-text-bold-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-bold-invert-l), 1); + --bulma-text-on-scheme-l: 29%; + --bulma-text-on-scheme: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-on-scheme-l), 1); + --bulma-primary: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-l), 1); + --bulma-primary-base: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-l), 1); + --bulma-primary-rgb: 0, 209, 178; + --bulma-primary-h: 171deg; + --bulma-primary-s: 100%; + --bulma-primary-l: 41%; + --bulma-primary-00-l: 1%; + --bulma-primary-05-l: 6%; + --bulma-primary-10-l: 11%; + --bulma-primary-15-l: 16%; + --bulma-primary-20-l: 21%; + --bulma-primary-25-l: 26%; + --bulma-primary-30-l: 31%; + --bulma-primary-35-l: 36%; + --bulma-primary-40-l: 41%; + --bulma-primary-45-l: 46%; + --bulma-primary-50-l: 51%; + --bulma-primary-55-l: 56%; + --bulma-primary-60-l: 61%; + --bulma-primary-65-l: 66%; + --bulma-primary-70-l: 71%; + --bulma-primary-75-l: 76%; + --bulma-primary-80-l: 81%; + --bulma-primary-85-l: 86%; + --bulma-primary-90-l: 91%; + --bulma-primary-95-l: 96%; + --bulma-primary-100-l: 100%; + --bulma-primary-00: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-00-l), 1); + --bulma-primary-00-invert-l: var(--bulma-primary-30-l); + --bulma-primary-00-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-00-invert-l), 1); + --bulma-primary-05: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-05-l), 1); + --bulma-primary-05-invert-l: var(--bulma-primary-40-l); + --bulma-primary-05-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-05-invert-l), 1); + --bulma-primary-10: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-10-l), 1); + --bulma-primary-10-invert-l: var(--bulma-primary-50-l); + --bulma-primary-10-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-10-invert-l), 1); + --bulma-primary-15: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-15-l), 1); + --bulma-primary-15-invert-l: var(--bulma-primary-100-l); + --bulma-primary-15-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-15-invert-l), 1); + --bulma-primary-20: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-20-l), 1); + --bulma-primary-20-invert-l: var(--bulma-primary-100-l); + --bulma-primary-20-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-20-invert-l), 1); + --bulma-primary-25: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-25-l), 1); + --bulma-primary-25-invert-l: var(--bulma-primary-100-l); + --bulma-primary-25-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-25-invert-l), 1); + --bulma-primary-30: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-30-l), 1); + --bulma-primary-30-invert-l: var(--bulma-primary-00-l); + --bulma-primary-30-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-30-invert-l), 1); + --bulma-primary-35: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-35-l), 1); + --bulma-primary-35-invert-l: var(--bulma-primary-00-l); + --bulma-primary-35-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-35-invert-l), 1); + --bulma-primary-40: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-40-l), 1); + --bulma-primary-40-invert-l: var(--bulma-primary-05-l); + --bulma-primary-40-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-40-invert-l), 1); + --bulma-primary-45: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-45-l), 1); + --bulma-primary-45-invert-l: var(--bulma-primary-05-l); + --bulma-primary-45-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-45-invert-l), 1); + --bulma-primary-50: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-50-l), 1); + --bulma-primary-50-invert-l: var(--bulma-primary-10-l); + --bulma-primary-50-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-50-invert-l), 1); + --bulma-primary-55: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-55-l), 1); + --bulma-primary-55-invert-l: var(--bulma-primary-10-l); + --bulma-primary-55-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-55-invert-l), 1); + --bulma-primary-60: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-60-l), 1); + --bulma-primary-60-invert-l: var(--bulma-primary-10-l); + --bulma-primary-60-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-60-invert-l), 1); + --bulma-primary-65: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-65-l), 1); + --bulma-primary-65-invert-l: var(--bulma-primary-10-l); + --bulma-primary-65-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-65-invert-l), 1); + --bulma-primary-70: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-70-l), 1); + --bulma-primary-70-invert-l: var(--bulma-primary-10-l); + --bulma-primary-70-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-70-invert-l), 1); + --bulma-primary-75: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-75-l), 1); + --bulma-primary-75-invert-l: var(--bulma-primary-10-l); + --bulma-primary-75-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-75-invert-l), 1); + --bulma-primary-80: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-80-l), 1); + --bulma-primary-80-invert-l: var(--bulma-primary-10-l); + --bulma-primary-80-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-80-invert-l), 1); + --bulma-primary-85: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-85-l), 1); + --bulma-primary-85-invert-l: var(--bulma-primary-10-l); + --bulma-primary-85-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-85-invert-l), 1); + --bulma-primary-90: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-90-l), 1); + --bulma-primary-90-invert-l: var(--bulma-primary-10-l); + --bulma-primary-90-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-90-invert-l), 1); + --bulma-primary-95: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-95-l), 1); + --bulma-primary-95-invert-l: var(--bulma-primary-10-l); + --bulma-primary-95-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-95-invert-l), 1); + --bulma-primary-100: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-100-l), 1); + --bulma-primary-100-invert-l: var(--bulma-primary-15-l); + --bulma-primary-100-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-100-invert-l), 1); + --bulma-primary-invert-l: var(--bulma-primary-05-l); + --bulma-primary-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-invert-l), 1); + --bulma-primary-light-l: var(--bulma-primary-90-l); + --bulma-primary-light: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-light-l), 1); + --bulma-primary-light-invert-l: var(--bulma-primary-10-l); + --bulma-primary-light-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-light-invert-l), 1); + --bulma-primary-dark-l: var(--bulma-primary-10-l); + --bulma-primary-dark: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-dark-l), 1); + --bulma-primary-dark-invert-l: var(--bulma-primary-50-l); + --bulma-primary-dark-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-dark-invert-l), 1); + --bulma-primary-soft: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-soft-l), 1); + --bulma-primary-bold: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-bold-l), 1); + --bulma-primary-soft-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-soft-invert-l), 1); + --bulma-primary-bold-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-bold-invert-l), 1); + --bulma-primary-on-scheme-l: 21%; + --bulma-primary-on-scheme: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-on-scheme-l), 1); + --bulma-link: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-l), 1); + --bulma-link-base: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-l), 1); + --bulma-link-rgb: 66, 88, 255; + --bulma-link-h: 233deg; + --bulma-link-s: 100%; + --bulma-link-l: 63%; + --bulma-link-00-l: 0%; + --bulma-link-05-l: 3%; + --bulma-link-10-l: 8%; + --bulma-link-15-l: 13%; + --bulma-link-20-l: 18%; + --bulma-link-25-l: 23%; + --bulma-link-30-l: 28%; + --bulma-link-35-l: 33%; + --bulma-link-40-l: 38%; + --bulma-link-45-l: 43%; + --bulma-link-50-l: 48%; + --bulma-link-55-l: 53%; + --bulma-link-60-l: 58%; + --bulma-link-65-l: 63%; + --bulma-link-70-l: 68%; + --bulma-link-75-l: 73%; + --bulma-link-80-l: 78%; + --bulma-link-85-l: 83%; + --bulma-link-90-l: 88%; + --bulma-link-95-l: 93%; + --bulma-link-100-l: 98%; + --bulma-link-00: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-00-l), 1); + --bulma-link-00-invert-l: var(--bulma-link-75-l); + --bulma-link-00-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-00-invert-l), 1); + --bulma-link-05: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-05-l), 1); + --bulma-link-05-invert-l: var(--bulma-link-75-l); + --bulma-link-05-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-05-invert-l), 1); + --bulma-link-10: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-10-l), 1); + --bulma-link-10-invert-l: var(--bulma-link-75-l); + --bulma-link-10-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-10-invert-l), 1); + --bulma-link-15: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-15-l), 1); + --bulma-link-15-invert-l: var(--bulma-link-80-l); + --bulma-link-15-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-15-invert-l), 1); + --bulma-link-20: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-20-l), 1); + --bulma-link-20-invert-l: var(--bulma-link-80-l); + --bulma-link-20-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-20-invert-l), 1); + --bulma-link-25: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-25-l), 1); + --bulma-link-25-invert-l: var(--bulma-link-85-l); + --bulma-link-25-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-25-invert-l), 1); + --bulma-link-30: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-30-l), 1); + --bulma-link-30-invert-l: var(--bulma-link-90-l); + --bulma-link-30-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-30-invert-l), 1); + --bulma-link-35: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-35-l), 1); + --bulma-link-35-invert-l: var(--bulma-link-90-l); + --bulma-link-35-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-35-invert-l), 1); + --bulma-link-40: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-40-l), 1); + --bulma-link-40-invert-l: var(--bulma-link-95-l); + --bulma-link-40-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-40-invert-l), 1); + --bulma-link-45: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-45-l), 1); + --bulma-link-45-invert-l: var(--bulma-link-100-l); + --bulma-link-45-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-45-invert-l), 1); + --bulma-link-50: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-50-l), 1); + --bulma-link-50-invert-l: var(--bulma-link-100-l); + --bulma-link-50-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-50-invert-l), 1); + --bulma-link-55: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-55-l), 1); + --bulma-link-55-invert-l: var(--bulma-link-100-l); + --bulma-link-55-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-55-invert-l), 1); + --bulma-link-60: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-60-l), 1); + --bulma-link-60-invert-l: var(--bulma-link-100-l); + --bulma-link-60-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-60-invert-l), 1); + --bulma-link-65: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-65-l), 1); + --bulma-link-65-invert-l: var(--bulma-link-100-l); + --bulma-link-65-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-65-invert-l), 1); + --bulma-link-70: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-70-l), 1); + --bulma-link-70-invert-l: var(--bulma-link-100-l); + --bulma-link-70-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-70-invert-l), 1); + --bulma-link-75: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-75-l), 1); + --bulma-link-75-invert-l: var(--bulma-link-10-l); + --bulma-link-75-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-75-invert-l), 1); + --bulma-link-80: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-80-l), 1); + --bulma-link-80-invert-l: var(--bulma-link-20-l); + --bulma-link-80-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-80-invert-l), 1); + --bulma-link-85: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-85-l), 1); + --bulma-link-85-invert-l: var(--bulma-link-25-l); + --bulma-link-85-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-85-invert-l), 1); + --bulma-link-90: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-90-l), 1); + --bulma-link-90-invert-l: var(--bulma-link-35-l); + --bulma-link-90-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-90-invert-l), 1); + --bulma-link-95: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-95-l), 1); + --bulma-link-95-invert-l: var(--bulma-link-40-l); + --bulma-link-95-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-95-invert-l), 1); + --bulma-link-100: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-100-l), 1); + --bulma-link-100-invert-l: var(--bulma-link-50-l); + --bulma-link-100-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-100-invert-l), 1); + --bulma-link-invert-l: var(--bulma-link-100-l); + --bulma-link-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-invert-l), 1); + --bulma-link-light-l: var(--bulma-link-90-l); + --bulma-link-light: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-light-l), 1); + --bulma-link-light-invert-l: var(--bulma-link-35-l); + --bulma-link-light-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-light-invert-l), 1); + --bulma-link-dark-l: var(--bulma-link-10-l); + --bulma-link-dark: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-dark-l), 1); + --bulma-link-dark-invert-l: var(--bulma-link-75-l); + --bulma-link-dark-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-dark-invert-l), 1); + --bulma-link-soft: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-soft-l), 1); + --bulma-link-bold: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-bold-l), 1); + --bulma-link-soft-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-soft-invert-l), 1); + --bulma-link-bold-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-bold-invert-l), 1); + --bulma-link-on-scheme-l: 58%; + --bulma-link-on-scheme: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-on-scheme-l), 1); + --bulma-info: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-l), 1); + --bulma-info-base: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-l), 1); + --bulma-info-rgb: 102, 209, 255; + --bulma-info-h: 198deg; + --bulma-info-s: 100%; + --bulma-info-l: 70%; + --bulma-info-00-l: 0%; + --bulma-info-05-l: 5%; + --bulma-info-10-l: 10%; + --bulma-info-15-l: 15%; + --bulma-info-20-l: 20%; + --bulma-info-25-l: 25%; + --bulma-info-30-l: 30%; + --bulma-info-35-l: 35%; + --bulma-info-40-l: 40%; + --bulma-info-45-l: 45%; + --bulma-info-50-l: 50%; + --bulma-info-55-l: 55%; + --bulma-info-60-l: 60%; + --bulma-info-65-l: 65%; + --bulma-info-70-l: 70%; + --bulma-info-75-l: 75%; + --bulma-info-80-l: 80%; + --bulma-info-85-l: 85%; + --bulma-info-90-l: 90%; + --bulma-info-95-l: 95%; + --bulma-info-100-l: 100%; + --bulma-info-00: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-00-l), 1); + --bulma-info-00-invert-l: var(--bulma-info-45-l); + --bulma-info-00-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-00-invert-l), 1); + --bulma-info-05: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-05-l), 1); + --bulma-info-05-invert-l: var(--bulma-info-50-l); + --bulma-info-05-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-05-invert-l), 1); + --bulma-info-10: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-10-l), 1); + --bulma-info-10-invert-l: var(--bulma-info-60-l); + --bulma-info-10-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-10-invert-l), 1); + --bulma-info-15: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-15-l), 1); + --bulma-info-15-invert-l: var(--bulma-info-80-l); + --bulma-info-15-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-15-invert-l), 1); + --bulma-info-20: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-20-l), 1); + --bulma-info-20-invert-l: var(--bulma-info-95-l); + --bulma-info-20-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-20-invert-l), 1); + --bulma-info-25: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-25-l), 1); + --bulma-info-25-invert-l: var(--bulma-info-100-l); + --bulma-info-25-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-25-invert-l), 1); + --bulma-info-30: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-30-l), 1); + --bulma-info-30-invert-l: var(--bulma-info-100-l); + --bulma-info-30-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-30-invert-l), 1); + --bulma-info-35: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-35-l), 1); + --bulma-info-35-invert-l: var(--bulma-info-100-l); + --bulma-info-35-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-35-invert-l), 1); + --bulma-info-40: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-40-l), 1); + --bulma-info-40-invert-l: var(--bulma-info-100-l); + --bulma-info-40-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-40-invert-l), 1); + --bulma-info-45: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-45-l), 1); + --bulma-info-45-invert-l: var(--bulma-info-00-l); + --bulma-info-45-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-45-invert-l), 1); + --bulma-info-50: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-50-l), 1); + --bulma-info-50-invert-l: var(--bulma-info-05-l); + --bulma-info-50-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-50-invert-l), 1); + --bulma-info-55: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-55-l), 1); + --bulma-info-55-invert-l: var(--bulma-info-05-l); + --bulma-info-55-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-55-invert-l), 1); + --bulma-info-60: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-60-l), 1); + --bulma-info-60-invert-l: var(--bulma-info-10-l); + --bulma-info-60-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-60-invert-l), 1); + --bulma-info-65: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-65-l), 1); + --bulma-info-65-invert-l: var(--bulma-info-10-l); + --bulma-info-65-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-65-invert-l), 1); + --bulma-info-70: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-70-l), 1); + --bulma-info-70-invert-l: var(--bulma-info-10-l); + --bulma-info-70-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-70-invert-l), 1); + --bulma-info-75: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-75-l), 1); + --bulma-info-75-invert-l: var(--bulma-info-10-l); + --bulma-info-75-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-75-invert-l), 1); + --bulma-info-80: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-80-l), 1); + --bulma-info-80-invert-l: var(--bulma-info-15-l); + --bulma-info-80-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-80-invert-l), 1); + --bulma-info-85: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-85-l), 1); + --bulma-info-85-invert-l: var(--bulma-info-15-l); + --bulma-info-85-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-85-invert-l), 1); + --bulma-info-90: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-90-l), 1); + --bulma-info-90-invert-l: var(--bulma-info-15-l); + --bulma-info-90-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-90-invert-l), 1); + --bulma-info-95: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-95-l), 1); + --bulma-info-95-invert-l: var(--bulma-info-20-l); + --bulma-info-95-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-95-invert-l), 1); + --bulma-info-100: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-100-l), 1); + --bulma-info-100-invert-l: var(--bulma-info-20-l); + --bulma-info-100-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-100-invert-l), 1); + --bulma-info-invert-l: var(--bulma-info-10-l); + --bulma-info-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-invert-l), 1); + --bulma-info-light-l: var(--bulma-info-90-l); + --bulma-info-light: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-light-l), 1); + --bulma-info-light-invert-l: var(--bulma-info-15-l); + --bulma-info-light-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-light-invert-l), 1); + --bulma-info-dark-l: var(--bulma-info-10-l); + --bulma-info-dark: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-dark-l), 1); + --bulma-info-dark-invert-l: var(--bulma-info-60-l); + --bulma-info-dark-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-dark-invert-l), 1); + --bulma-info-soft: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-soft-l), 1); + --bulma-info-bold: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-bold-l), 1); + --bulma-info-soft-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-soft-invert-l), 1); + --bulma-info-bold-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-bold-invert-l), 1); + --bulma-info-on-scheme-l: 25%; + --bulma-info-on-scheme: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-on-scheme-l), 1); + --bulma-success: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-l), 1); + --bulma-success-base: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-l), 1); + --bulma-success-rgb: 72, 199, 142; + --bulma-success-h: 153deg; + --bulma-success-s: 53%; + --bulma-success-l: 53%; + --bulma-success-00-l: 0%; + --bulma-success-05-l: 3%; + --bulma-success-10-l: 8%; + --bulma-success-15-l: 13%; + --bulma-success-20-l: 18%; + --bulma-success-25-l: 23%; + --bulma-success-30-l: 28%; + --bulma-success-35-l: 33%; + --bulma-success-40-l: 38%; + --bulma-success-45-l: 43%; + --bulma-success-50-l: 48%; + --bulma-success-55-l: 53%; + --bulma-success-60-l: 58%; + --bulma-success-65-l: 63%; + --bulma-success-70-l: 68%; + --bulma-success-75-l: 73%; + --bulma-success-80-l: 78%; + --bulma-success-85-l: 83%; + --bulma-success-90-l: 88%; + --bulma-success-95-l: 93%; + --bulma-success-100-l: 98%; + --bulma-success-00: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-00-l), 1); + --bulma-success-00-invert-l: var(--bulma-success-45-l); + --bulma-success-00-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-00-invert-l), 1); + --bulma-success-05: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-05-l), 1); + --bulma-success-05-invert-l: var(--bulma-success-45-l); + --bulma-success-05-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-05-invert-l), 1); + --bulma-success-10: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-10-l), 1); + --bulma-success-10-invert-l: var(--bulma-success-55-l); + --bulma-success-10-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-10-invert-l), 1); + --bulma-success-15: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-15-l), 1); + --bulma-success-15-invert-l: var(--bulma-success-75-l); + --bulma-success-15-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-15-invert-l), 1); + --bulma-success-20: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-20-l), 1); + --bulma-success-20-invert-l: var(--bulma-success-90-l); + --bulma-success-20-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-20-invert-l), 1); + --bulma-success-25: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-25-l), 1); + --bulma-success-25-invert-l: var(--bulma-success-100-l); + --bulma-success-25-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-25-invert-l), 1); + --bulma-success-30: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-30-l), 1); + --bulma-success-30-invert-l: var(--bulma-success-100-l); + --bulma-success-30-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-30-invert-l), 1); + --bulma-success-35: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-35-l), 1); + --bulma-success-35-invert-l: var(--bulma-success-100-l); + --bulma-success-35-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-35-invert-l), 1); + --bulma-success-40: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-40-l), 1); + --bulma-success-40-invert-l: var(--bulma-success-100-l); + --bulma-success-40-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-40-invert-l), 1); + --bulma-success-45: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-45-l), 1); + --bulma-success-45-invert-l: var(--bulma-success-05-l); + --bulma-success-45-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-45-invert-l), 1); + --bulma-success-50: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-50-l), 1); + --bulma-success-50-invert-l: var(--bulma-success-05-l); + --bulma-success-50-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-50-invert-l), 1); + --bulma-success-55: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-55-l), 1); + --bulma-success-55-invert-l: var(--bulma-success-10-l); + --bulma-success-55-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-55-invert-l), 1); + --bulma-success-60: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-60-l), 1); + --bulma-success-60-invert-l: var(--bulma-success-10-l); + --bulma-success-60-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-60-invert-l), 1); + --bulma-success-65: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-65-l), 1); + --bulma-success-65-invert-l: var(--bulma-success-10-l); + --bulma-success-65-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-65-invert-l), 1); + --bulma-success-70: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-70-l), 1); + --bulma-success-70-invert-l: var(--bulma-success-10-l); + --bulma-success-70-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-70-invert-l), 1); + --bulma-success-75: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-75-l), 1); + --bulma-success-75-invert-l: var(--bulma-success-15-l); + --bulma-success-75-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-75-invert-l), 1); + --bulma-success-80: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-80-l), 1); + --bulma-success-80-invert-l: var(--bulma-success-15-l); + --bulma-success-80-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-80-invert-l), 1); + --bulma-success-85: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-85-l), 1); + --bulma-success-85-invert-l: var(--bulma-success-15-l); + --bulma-success-85-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-85-invert-l), 1); + --bulma-success-90: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-90-l), 1); + --bulma-success-90-invert-l: var(--bulma-success-20-l); + --bulma-success-90-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-90-invert-l), 1); + --bulma-success-95: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-95-l), 1); + --bulma-success-95-invert-l: var(--bulma-success-20-l); + --bulma-success-95-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-95-invert-l), 1); + --bulma-success-100: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-100-l), 1); + --bulma-success-100-invert-l: var(--bulma-success-20-l); + --bulma-success-100-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-100-invert-l), 1); + --bulma-success-invert-l: var(--bulma-success-10-l); + --bulma-success-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-invert-l), 1); + --bulma-success-light-l: var(--bulma-success-90-l); + --bulma-success-light: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-light-l), 1); + --bulma-success-light-invert-l: var(--bulma-success-20-l); + --bulma-success-light-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-light-invert-l), 1); + --bulma-success-dark-l: var(--bulma-success-10-l); + --bulma-success-dark: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-dark-l), 1); + --bulma-success-dark-invert-l: var(--bulma-success-55-l); + --bulma-success-dark-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-dark-invert-l), 1); + --bulma-success-soft: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-soft-l), 1); + --bulma-success-bold: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-bold-l), 1); + --bulma-success-soft-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-soft-invert-l), 1); + --bulma-success-bold-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-bold-invert-l), 1); + --bulma-success-on-scheme-l: 23%; + --bulma-success-on-scheme: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-on-scheme-l), 1); + --bulma-warning: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-l), 1); + --bulma-warning-base: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-l), 1); + --bulma-warning-rgb: 255, 183, 15; + --bulma-warning-h: 42deg; + --bulma-warning-s: 100%; + --bulma-warning-l: 53%; + --bulma-warning-00-l: 0%; + --bulma-warning-05-l: 3%; + --bulma-warning-10-l: 8%; + --bulma-warning-15-l: 13%; + --bulma-warning-20-l: 18%; + --bulma-warning-25-l: 23%; + --bulma-warning-30-l: 28%; + --bulma-warning-35-l: 33%; + --bulma-warning-40-l: 38%; + --bulma-warning-45-l: 43%; + --bulma-warning-50-l: 48%; + --bulma-warning-55-l: 53%; + --bulma-warning-60-l: 58%; + --bulma-warning-65-l: 63%; + --bulma-warning-70-l: 68%; + --bulma-warning-75-l: 73%; + --bulma-warning-80-l: 78%; + --bulma-warning-85-l: 83%; + --bulma-warning-90-l: 88%; + --bulma-warning-95-l: 93%; + --bulma-warning-100-l: 98%; + --bulma-warning-00: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-00-l), 1); + --bulma-warning-00-invert-l: var(--bulma-warning-40-l); + --bulma-warning-00-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-00-invert-l), 1); + --bulma-warning-05: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-05-l), 1); + --bulma-warning-05-invert-l: var(--bulma-warning-45-l); + --bulma-warning-05-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-05-invert-l), 1); + --bulma-warning-10: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-10-l), 1); + --bulma-warning-10-invert-l: var(--bulma-warning-50-l); + --bulma-warning-10-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-10-invert-l), 1); + --bulma-warning-15: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-15-l), 1); + --bulma-warning-15-invert-l: var(--bulma-warning-70-l); + --bulma-warning-15-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-15-invert-l), 1); + --bulma-warning-20: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-20-l), 1); + --bulma-warning-20-invert-l: var(--bulma-warning-100-l); + --bulma-warning-20-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-20-invert-l), 1); + --bulma-warning-25: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-25-l), 1); + --bulma-warning-25-invert-l: var(--bulma-warning-100-l); + --bulma-warning-25-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-25-invert-l), 1); + --bulma-warning-30: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-30-l), 1); + --bulma-warning-30-invert-l: var(--bulma-warning-100-l); + --bulma-warning-30-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-30-invert-l), 1); + --bulma-warning-35: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-35-l), 1); + --bulma-warning-35-invert-l: var(--bulma-warning-100-l); + --bulma-warning-35-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-35-invert-l), 1); + --bulma-warning-40: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-40-l), 1); + --bulma-warning-40-invert-l: var(--bulma-warning-00-l); + --bulma-warning-40-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-40-invert-l), 1); + --bulma-warning-45: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-45-l), 1); + --bulma-warning-45-invert-l: var(--bulma-warning-05-l); + --bulma-warning-45-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-45-invert-l), 1); + --bulma-warning-50: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-50-l), 1); + --bulma-warning-50-invert-l: var(--bulma-warning-10-l); + --bulma-warning-50-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-50-invert-l), 1); + --bulma-warning-55: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-55-l), 1); + --bulma-warning-55-invert-l: var(--bulma-warning-10-l); + --bulma-warning-55-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-55-invert-l), 1); + --bulma-warning-60: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-60-l), 1); + --bulma-warning-60-invert-l: var(--bulma-warning-10-l); + --bulma-warning-60-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-60-invert-l), 1); + --bulma-warning-65: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-65-l), 1); + --bulma-warning-65-invert-l: var(--bulma-warning-10-l); + --bulma-warning-65-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-65-invert-l), 1); + --bulma-warning-70: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-70-l), 1); + --bulma-warning-70-invert-l: var(--bulma-warning-15-l); + --bulma-warning-70-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-70-invert-l), 1); + --bulma-warning-75: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-75-l), 1); + --bulma-warning-75-invert-l: var(--bulma-warning-15-l); + --bulma-warning-75-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-75-invert-l), 1); + --bulma-warning-80: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-80-l), 1); + --bulma-warning-80-invert-l: var(--bulma-warning-15-l); + --bulma-warning-80-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-80-invert-l), 1); + --bulma-warning-85: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-85-l), 1); + --bulma-warning-85-invert-l: var(--bulma-warning-15-l); + --bulma-warning-85-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-85-invert-l), 1); + --bulma-warning-90: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-90-l), 1); + --bulma-warning-90-invert-l: var(--bulma-warning-15-l); + --bulma-warning-90-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-90-invert-l), 1); + --bulma-warning-95: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-95-l), 1); + --bulma-warning-95-invert-l: var(--bulma-warning-15-l); + --bulma-warning-95-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-95-invert-l), 1); + --bulma-warning-100: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-100-l), 1); + --bulma-warning-100-invert-l: var(--bulma-warning-20-l); + --bulma-warning-100-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-100-invert-l), 1); + --bulma-warning-invert-l: var(--bulma-warning-10-l); + --bulma-warning-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-invert-l), 1); + --bulma-warning-light-l: var(--bulma-warning-90-l); + --bulma-warning-light: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-light-l), 1); + --bulma-warning-light-invert-l: var(--bulma-warning-15-l); + --bulma-warning-light-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-light-invert-l), 1); + --bulma-warning-dark-l: var(--bulma-warning-10-l); + --bulma-warning-dark: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-dark-l), 1); + --bulma-warning-dark-invert-l: var(--bulma-warning-50-l); + --bulma-warning-dark-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-dark-invert-l), 1); + --bulma-warning-soft: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-soft-l), 1); + --bulma-warning-bold: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-bold-l), 1); + --bulma-warning-soft-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-soft-invert-l), 1); + --bulma-warning-bold-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-bold-invert-l), 1); + --bulma-warning-on-scheme-l: 23%; + --bulma-warning-on-scheme: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-on-scheme-l), 1); + --bulma-danger: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-l), 1); + --bulma-danger-base: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-l), 1); + --bulma-danger-rgb: 255, 102, 133; + --bulma-danger-h: 348deg; + --bulma-danger-s: 100%; + --bulma-danger-l: 70%; + --bulma-danger-00-l: 0%; + --bulma-danger-05-l: 5%; + --bulma-danger-10-l: 10%; + --bulma-danger-15-l: 15%; + --bulma-danger-20-l: 20%; + --bulma-danger-25-l: 25%; + --bulma-danger-30-l: 30%; + --bulma-danger-35-l: 35%; + --bulma-danger-40-l: 40%; + --bulma-danger-45-l: 45%; + --bulma-danger-50-l: 50%; + --bulma-danger-55-l: 55%; + --bulma-danger-60-l: 60%; + --bulma-danger-65-l: 65%; + --bulma-danger-70-l: 70%; + --bulma-danger-75-l: 75%; + --bulma-danger-80-l: 80%; + --bulma-danger-85-l: 85%; + --bulma-danger-90-l: 90%; + --bulma-danger-95-l: 95%; + --bulma-danger-100-l: 100%; + --bulma-danger-00: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-00-l), 1); + --bulma-danger-00-invert-l: var(--bulma-danger-65-l); + --bulma-danger-00-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-00-invert-l), 1); + --bulma-danger-05: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-05-l), 1); + --bulma-danger-05-invert-l: var(--bulma-danger-70-l); + --bulma-danger-05-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-05-invert-l), 1); + --bulma-danger-10: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-10-l), 1); + --bulma-danger-10-invert-l: var(--bulma-danger-75-l); + --bulma-danger-10-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-10-invert-l), 1); + --bulma-danger-15: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-15-l), 1); + --bulma-danger-15-invert-l: var(--bulma-danger-80-l); + --bulma-danger-15-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-15-invert-l), 1); + --bulma-danger-20: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-20-l), 1); + --bulma-danger-20-invert-l: var(--bulma-danger-85-l); + --bulma-danger-20-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-20-invert-l), 1); + --bulma-danger-25: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-25-l), 1); + --bulma-danger-25-invert-l: var(--bulma-danger-90-l); + --bulma-danger-25-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-25-invert-l), 1); + --bulma-danger-30: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-30-l), 1); + --bulma-danger-30-invert-l: var(--bulma-danger-100-l); + --bulma-danger-30-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-30-invert-l), 1); + --bulma-danger-35: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-35-l), 1); + --bulma-danger-35-invert-l: var(--bulma-danger-100-l); + --bulma-danger-35-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-35-invert-l), 1); + --bulma-danger-40: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-40-l), 1); + --bulma-danger-40-invert-l: var(--bulma-danger-100-l); + --bulma-danger-40-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-40-invert-l), 1); + --bulma-danger-45: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-45-l), 1); + --bulma-danger-45-invert-l: var(--bulma-danger-100-l); + --bulma-danger-45-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-45-invert-l), 1); + --bulma-danger-50: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-50-l), 1); + --bulma-danger-50-invert-l: var(--bulma-danger-100-l); + --bulma-danger-50-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-50-invert-l), 1); + --bulma-danger-55: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-55-l), 1); + --bulma-danger-55-invert-l: var(--bulma-danger-100-l); + --bulma-danger-55-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-55-invert-l), 1); + --bulma-danger-60: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-60-l), 1); + --bulma-danger-60-invert-l: var(--bulma-danger-100-l); + --bulma-danger-60-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-60-invert-l), 1); + --bulma-danger-65: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-65-l), 1); + --bulma-danger-65-invert-l: var(--bulma-danger-00-l); + --bulma-danger-65-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-65-invert-l), 1); + --bulma-danger-70: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-70-l), 1); + --bulma-danger-70-invert-l: var(--bulma-danger-05-l); + --bulma-danger-70-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-70-invert-l), 1); + --bulma-danger-75: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-75-l), 1); + --bulma-danger-75-invert-l: var(--bulma-danger-10-l); + --bulma-danger-75-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-75-invert-l), 1); + --bulma-danger-80: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-80-l), 1); + --bulma-danger-80-invert-l: var(--bulma-danger-15-l); + --bulma-danger-80-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-80-invert-l), 1); + --bulma-danger-85: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-85-l), 1); + --bulma-danger-85-invert-l: var(--bulma-danger-20-l); + --bulma-danger-85-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-85-invert-l), 1); + --bulma-danger-90: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-90-l), 1); + --bulma-danger-90-invert-l: var(--bulma-danger-25-l); + --bulma-danger-90-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-90-invert-l), 1); + --bulma-danger-95: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-95-l), 1); + --bulma-danger-95-invert-l: var(--bulma-danger-25-l); + --bulma-danger-95-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-95-invert-l), 1); + --bulma-danger-100: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-100-l), 1); + --bulma-danger-100-invert-l: var(--bulma-danger-30-l); + --bulma-danger-100-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-100-invert-l), 1); + --bulma-danger-invert-l: var(--bulma-danger-05-l); + --bulma-danger-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-invert-l), 1); + --bulma-danger-light-l: var(--bulma-danger-90-l); + --bulma-danger-light: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-light-l), 1); + --bulma-danger-light-invert-l: var(--bulma-danger-25-l); + --bulma-danger-light-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-light-invert-l), 1); + --bulma-danger-dark-l: var(--bulma-danger-10-l); + --bulma-danger-dark: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-dark-l), 1); + --bulma-danger-dark-invert-l: var(--bulma-danger-75-l); + --bulma-danger-dark-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-dark-invert-l), 1); + --bulma-danger-soft: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-soft-l), 1); + --bulma-danger-bold: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-bold-l), 1); + --bulma-danger-soft-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-soft-invert-l), 1); + --bulma-danger-bold-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-bold-invert-l), 1); + --bulma-danger-on-scheme-l: 40%; + --bulma-danger-on-scheme: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-on-scheme-l), 1); + --bulma-black-bis: hsl(221, 14%, 9%); + --bulma-black-ter: hsl(221, 14%, 14%); + --bulma-grey-darker: hsl(221, 14%, 21%); + --bulma-grey-dark: hsl(221, 14%, 29%); + --bulma-grey: hsl(221, 14%, 48%); + --bulma-grey-light: hsl(221, 14%, 71%); + --bulma-grey-lighter: hsl(221, 14%, 86%); + --bulma-white-ter: hsl(221, 14%, 96%); + --bulma-white-bis: hsl(221, 14%, 98%); + --bulma-shadow-h: 221deg; + --bulma-shadow-s: 14%; + --bulma-shadow-l: 4%; + --bulma-size-1: 3rem; + --bulma-size-2: 2.5rem; + --bulma-size-3: 2rem; + --bulma-size-4: 1.5rem; + --bulma-size-5: 1.25rem; + --bulma-size-6: 1rem; + --bulma-size-7: 0.75rem; + --bulma-scheme-main: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-main-l)); + --bulma-scheme-main-bis: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-main-bis-l)); + --bulma-scheme-main-ter: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-main-ter-l)); + --bulma-background: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-background-l)); + --bulma-background-hover: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), calc(var(--bulma-background-l) + var(--bulma-hover-background-l-delta))); + --bulma-background-active: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), calc(var(--bulma-background-l) + var(--bulma-active-background-l-delta))); + --bulma-border-weak: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-border-weak-l)); + --bulma-border: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-border-l)); + --bulma-border-hover: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), calc(var(--bulma-border-l) + var(--bulma-hover-border-l-delta))); + --bulma-border-active: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), calc(var(--bulma-border-l) + var(--bulma-active-border-l-delta))); + --bulma-text-weak: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-weak-l)); + --bulma-text: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-l)); + --bulma-text-strong: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-strong-l)); + --bulma-scheme-invert-ter: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-ter-l)); + --bulma-scheme-invert-bis: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-bis-l)); + --bulma-scheme-invert: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l)); + --bulma-link: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-l)); + --bulma-link-text: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-on-scheme-l)); + --bulma-link-text-hover: hsl(var(--bulma-link-h), var(--bulma-link-s), calc(var(--bulma-link-on-scheme-l) + var(--bulma-hover-color-l-delta))); + --bulma-link-text-active: hsl(var(--bulma-link-h), var(--bulma-link-s), calc(var(--bulma-link-on-scheme-l) + var(--bulma-active-color-l-delta))); + --bulma-focus-h: var(--bulma-link-h); + --bulma-focus-s: var(--bulma-link-s); + --bulma-focus-l: var(--bulma-link-l); + --bulma-focus-offset: 1px; + --bulma-focus-style: solid; + --bulma-focus-width: 2px; + --bulma-focus-shadow-size: 0 0 0 0.1875em; + --bulma-focus-shadow-alpha: 0.25; + --bulma-code: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-on-scheme-l)); + --bulma-code-background: var(--bulma-background); + --bulma-pre: var(--bulma-text); + --bulma-pre-background: var(--bulma-background); + --bulma-shadow: 0 0.5em 1em -0.125em hsla(var(--bulma-shadow-h), var(--bulma-shadow-s), var(--bulma-shadow-l), 0.1), 0 0px 0 1px hsla(var(--bulma-shadow-h), var(--bulma-shadow-s), var(--bulma-shadow-l), 0.02); +} + +@media (prefers-color-scheme: light) { + :root { + --bulma-scheme-h: 221; + --bulma-scheme-s: 14%; + --bulma-light-l: 90%; + --bulma-light-invert-l: 20%; + --bulma-dark-l: 20%; + --bulma-dark-invert-l: 90%; + --bulma-soft-l: 90%; + --bulma-bold-l: 20%; + --bulma-soft-invert-l: 20%; + --bulma-bold-invert-l: 90%; + --bulma-hover-background-l-delta: -5%; + --bulma-active-background-l-delta: -10%; + --bulma-hover-border-l-delta: -10%; + --bulma-active-border-l-delta: -20%; + --bulma-hover-color-l-delta: -5%; + --bulma-active-color-l-delta: -10%; + --bulma-hover-shadow-a-delta: -0.05; + --bulma-active-shadow-a-delta: -0.1; + --bulma-scheme-brightness: light; + --bulma-scheme-main-l: 100%; + --bulma-scheme-main-bis-l: 98%; + --bulma-scheme-main-ter-l: 96%; + --bulma-background-l: 96%; + --bulma-border-weak-l: 93%; + --bulma-border-l: 86%; + --bulma-text-weak-l: 48%; + --bulma-text-l: 29%; + --bulma-text-strong-l: 21%; + --bulma-text-title-l: 14%; + --bulma-scheme-invert-ter-l: 14%; + --bulma-scheme-invert-bis-l: 7%; + --bulma-scheme-invert-l: 4%; + --bulma-family-primary: Inter, SF Pro, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Helvetica, Arial, sans-serif; + --bulma-family-secondary: Inter, SF Pro, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Helvetica, Arial, sans-serif; + --bulma-family-code: Inconsolata, Hack, SF Mono, Roboto Mono, Source Code Pro, Ubuntu Mono, monospace; + --bulma-size-small: 0.75rem; + --bulma-size-normal: 1rem; + --bulma-size-medium: 1.25rem; + --bulma-size-large: 1.5rem; + --bulma-weight-light: 300; + --bulma-weight-normal: 400; + --bulma-weight-medium: 500; + --bulma-weight-semibold: 600; + --bulma-weight-bold: 700; + --bulma-weight-extrabold: 800; + --bulma-block-spacing: 1.5rem; + --bulma-duration: 294ms; + --bulma-easing: ease-out; + --bulma-radius-small: 0.25rem; + --bulma-radius: 0.375rem; + --bulma-radius-medium: 0.5em; + --bulma-radius-large: 0.75rem; + --bulma-radius-rounded: 9999px; + --bulma-speed: 86ms; + --bulma-arrow-color: var(--bulma-link); + --bulma-loading-color: var(--bulma-border); + --bulma-burger-h: var(--bulma-link-h); + --bulma-burger-s: var(--bulma-link-s); + --bulma-burger-l: var(--bulma-link-l); + --bulma-burger-border-radius: 0.5em; + --bulma-burger-gap: 5px; + --bulma-burger-item-height: 2px; + --bulma-burger-item-width: 20px; + --bulma-white: hsla(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-l), 1); + --bulma-white-base: hsla(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-l), 1); + --bulma-white-rgb: 255, 255, 255; + --bulma-white-h: 221deg; + --bulma-white-s: 14%; + --bulma-white-l: 100%; + --bulma-white-invert-l: 4%; + --bulma-white-invert: hsl(221, 14%, 4%); + --bulma-white-on-scheme-l: 35%; + --bulma-white-on-scheme: hsla(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-on-scheme-l), 1); + --bulma-black: hsla(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-l), 1); + --bulma-black-base: hsla(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-l), 1); + --bulma-black-rgb: 9, 10, 12; + --bulma-black-h: 221deg; + --bulma-black-s: 14%; + --bulma-black-l: 4%; + --bulma-black-invert-l: 100%; + --bulma-black-invert: hsl(221, 14%, 100%); + --bulma-black-on-scheme-l: 4%; + --bulma-black-on-scheme: hsla(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-on-scheme-l), 1); + --bulma-light: hsla(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-l), 1); + --bulma-light-base: hsla(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-l), 1); + --bulma-light-rgb: 243, 244, 246; + --bulma-light-h: 221deg; + --bulma-light-s: 14%; + --bulma-light-l: 96%; + --bulma-light-invert-l: 21%; + --bulma-light-invert: hsl(221, 14%, 21%); + --bulma-light-on-scheme-l: 36%; + --bulma-light-on-scheme: hsla(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-on-scheme-l), 1); + --bulma-dark: hsla(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-l), 1); + --bulma-dark-base: hsla(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-l), 1); + --bulma-dark-rgb: 46, 51, 61; + --bulma-dark-h: 221deg; + --bulma-dark-s: 14%; + --bulma-dark-l: 21%; + --bulma-dark-invert-l: 96%; + --bulma-dark-invert: hsl(221, 14%, 96%); + --bulma-dark-on-scheme-l: 21%; + --bulma-dark-on-scheme: hsla(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-on-scheme-l), 1); + --bulma-text: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-l), 1); + --bulma-text-base: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-l), 1); + --bulma-text-rgb: 64, 70, 84; + --bulma-text-h: 221deg; + --bulma-text-s: 14%; + --bulma-text-l: 29%; + --bulma-text-00-l: 0%; + --bulma-text-05-l: 4%; + --bulma-text-10-l: 9%; + --bulma-text-15-l: 14%; + --bulma-text-20-l: 19%; + --bulma-text-25-l: 24%; + --bulma-text-30-l: 29%; + --bulma-text-35-l: 34%; + --bulma-text-40-l: 39%; + --bulma-text-45-l: 44%; + --bulma-text-50-l: 49%; + --bulma-text-55-l: 54%; + --bulma-text-60-l: 59%; + --bulma-text-65-l: 64%; + --bulma-text-70-l: 69%; + --bulma-text-75-l: 74%; + --bulma-text-80-l: 79%; + --bulma-text-85-l: 84%; + --bulma-text-90-l: 89%; + --bulma-text-95-l: 94%; + --bulma-text-100-l: 99%; + --bulma-text-00: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-00-l), 1); + --bulma-text-00-invert-l: var(--bulma-text-60-l); + --bulma-text-00-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-00-invert-l), 1); + --bulma-text-05: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-05-l), 1); + --bulma-text-05-invert-l: var(--bulma-text-60-l); + --bulma-text-05-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-05-invert-l), 1); + --bulma-text-10: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-10-l), 1); + --bulma-text-10-invert-l: var(--bulma-text-70-l); + --bulma-text-10-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-10-invert-l), 1); + --bulma-text-15: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-15-l), 1); + --bulma-text-15-invert-l: var(--bulma-text-75-l); + --bulma-text-15-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-15-invert-l), 1); + --bulma-text-20: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-20-l), 1); + --bulma-text-20-invert-l: var(--bulma-text-85-l); + --bulma-text-20-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-20-invert-l), 1); + --bulma-text-25: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-25-l), 1); + --bulma-text-25-invert-l: var(--bulma-text-95-l); + --bulma-text-25-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-25-invert-l), 1); + --bulma-text-30: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-30-l), 1); + --bulma-text-30-invert-l: var(--bulma-text-100-l); + --bulma-text-30-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-30-invert-l), 1); + --bulma-text-35: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-35-l), 1); + --bulma-text-35-invert-l: var(--bulma-text-100-l); + --bulma-text-35-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-35-invert-l), 1); + --bulma-text-40: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-40-l), 1); + --bulma-text-40-invert-l: var(--bulma-text-100-l); + --bulma-text-40-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-40-invert-l), 1); + --bulma-text-45: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-45-l), 1); + --bulma-text-45-invert-l: var(--bulma-text-100-l); + --bulma-text-45-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-45-invert-l), 1); + --bulma-text-50: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-50-l), 1); + --bulma-text-50-invert-l: var(--bulma-text-100-l); + --bulma-text-50-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-50-invert-l), 1); + --bulma-text-55: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-55-l), 1); + --bulma-text-55-invert-l: var(--bulma-text-100-l); + --bulma-text-55-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-55-invert-l), 1); + --bulma-text-60: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-60-l), 1); + --bulma-text-60-invert-l: var(--bulma-text-05-l); + --bulma-text-60-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-60-invert-l), 1); + --bulma-text-65: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-65-l), 1); + --bulma-text-65-invert-l: var(--bulma-text-05-l); + --bulma-text-65-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-65-invert-l), 1); + --bulma-text-70: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-70-l), 1); + --bulma-text-70-invert-l: var(--bulma-text-10-l); + --bulma-text-70-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-70-invert-l), 1); + --bulma-text-75: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-75-l), 1); + --bulma-text-75-invert-l: var(--bulma-text-15-l); + --bulma-text-75-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-75-invert-l), 1); + --bulma-text-80: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-80-l), 1); + --bulma-text-80-invert-l: var(--bulma-text-15-l); + --bulma-text-80-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-80-invert-l), 1); + --bulma-text-85: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-85-l), 1); + --bulma-text-85-invert-l: var(--bulma-text-20-l); + --bulma-text-85-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-85-invert-l), 1); + --bulma-text-90: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-90-l), 1); + --bulma-text-90-invert-l: var(--bulma-text-20-l); + --bulma-text-90-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-90-invert-l), 1); + --bulma-text-95: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-95-l), 1); + --bulma-text-95-invert-l: var(--bulma-text-25-l); + --bulma-text-95-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-95-invert-l), 1); + --bulma-text-100: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-100-l), 1); + --bulma-text-100-invert-l: var(--bulma-text-25-l); + --bulma-text-100-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-100-invert-l), 1); + --bulma-text-invert-l: var(--bulma-text-100-l); + --bulma-text-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-invert-l), 1); + --bulma-text-light-l: var(--bulma-text-90-l); + --bulma-text-light: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-light-l), 1); + --bulma-text-light-invert-l: var(--bulma-text-20-l); + --bulma-text-light-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-light-invert-l), 1); + --bulma-text-dark-l: var(--bulma-text-10-l); + --bulma-text-dark: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-dark-l), 1); + --bulma-text-dark-invert-l: var(--bulma-text-70-l); + --bulma-text-dark-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-dark-invert-l), 1); + --bulma-text-soft: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-soft-l), 1); + --bulma-text-bold: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-bold-l), 1); + --bulma-text-soft-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-soft-invert-l), 1); + --bulma-text-bold-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-bold-invert-l), 1); + --bulma-text-on-scheme-l: 29%; + --bulma-text-on-scheme: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-on-scheme-l), 1); + --bulma-primary: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-l), 1); + --bulma-primary-base: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-l), 1); + --bulma-primary-rgb: 0, 209, 178; + --bulma-primary-h: 171deg; + --bulma-primary-s: 100%; + --bulma-primary-l: 41%; + --bulma-primary-00-l: 1%; + --bulma-primary-05-l: 6%; + --bulma-primary-10-l: 11%; + --bulma-primary-15-l: 16%; + --bulma-primary-20-l: 21%; + --bulma-primary-25-l: 26%; + --bulma-primary-30-l: 31%; + --bulma-primary-35-l: 36%; + --bulma-primary-40-l: 41%; + --bulma-primary-45-l: 46%; + --bulma-primary-50-l: 51%; + --bulma-primary-55-l: 56%; + --bulma-primary-60-l: 61%; + --bulma-primary-65-l: 66%; + --bulma-primary-70-l: 71%; + --bulma-primary-75-l: 76%; + --bulma-primary-80-l: 81%; + --bulma-primary-85-l: 86%; + --bulma-primary-90-l: 91%; + --bulma-primary-95-l: 96%; + --bulma-primary-100-l: 100%; + --bulma-primary-00: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-00-l), 1); + --bulma-primary-00-invert-l: var(--bulma-primary-30-l); + --bulma-primary-00-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-00-invert-l), 1); + --bulma-primary-05: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-05-l), 1); + --bulma-primary-05-invert-l: var(--bulma-primary-40-l); + --bulma-primary-05-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-05-invert-l), 1); + --bulma-primary-10: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-10-l), 1); + --bulma-primary-10-invert-l: var(--bulma-primary-50-l); + --bulma-primary-10-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-10-invert-l), 1); + --bulma-primary-15: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-15-l), 1); + --bulma-primary-15-invert-l: var(--bulma-primary-100-l); + --bulma-primary-15-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-15-invert-l), 1); + --bulma-primary-20: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-20-l), 1); + --bulma-primary-20-invert-l: var(--bulma-primary-100-l); + --bulma-primary-20-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-20-invert-l), 1); + --bulma-primary-25: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-25-l), 1); + --bulma-primary-25-invert-l: var(--bulma-primary-100-l); + --bulma-primary-25-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-25-invert-l), 1); + --bulma-primary-30: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-30-l), 1); + --bulma-primary-30-invert-l: var(--bulma-primary-00-l); + --bulma-primary-30-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-30-invert-l), 1); + --bulma-primary-35: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-35-l), 1); + --bulma-primary-35-invert-l: var(--bulma-primary-00-l); + --bulma-primary-35-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-35-invert-l), 1); + --bulma-primary-40: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-40-l), 1); + --bulma-primary-40-invert-l: var(--bulma-primary-05-l); + --bulma-primary-40-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-40-invert-l), 1); + --bulma-primary-45: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-45-l), 1); + --bulma-primary-45-invert-l: var(--bulma-primary-05-l); + --bulma-primary-45-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-45-invert-l), 1); + --bulma-primary-50: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-50-l), 1); + --bulma-primary-50-invert-l: var(--bulma-primary-10-l); + --bulma-primary-50-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-50-invert-l), 1); + --bulma-primary-55: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-55-l), 1); + --bulma-primary-55-invert-l: var(--bulma-primary-10-l); + --bulma-primary-55-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-55-invert-l), 1); + --bulma-primary-60: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-60-l), 1); + --bulma-primary-60-invert-l: var(--bulma-primary-10-l); + --bulma-primary-60-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-60-invert-l), 1); + --bulma-primary-65: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-65-l), 1); + --bulma-primary-65-invert-l: var(--bulma-primary-10-l); + --bulma-primary-65-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-65-invert-l), 1); + --bulma-primary-70: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-70-l), 1); + --bulma-primary-70-invert-l: var(--bulma-primary-10-l); + --bulma-primary-70-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-70-invert-l), 1); + --bulma-primary-75: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-75-l), 1); + --bulma-primary-75-invert-l: var(--bulma-primary-10-l); + --bulma-primary-75-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-75-invert-l), 1); + --bulma-primary-80: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-80-l), 1); + --bulma-primary-80-invert-l: var(--bulma-primary-10-l); + --bulma-primary-80-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-80-invert-l), 1); + --bulma-primary-85: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-85-l), 1); + --bulma-primary-85-invert-l: var(--bulma-primary-10-l); + --bulma-primary-85-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-85-invert-l), 1); + --bulma-primary-90: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-90-l), 1); + --bulma-primary-90-invert-l: var(--bulma-primary-10-l); + --bulma-primary-90-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-90-invert-l), 1); + --bulma-primary-95: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-95-l), 1); + --bulma-primary-95-invert-l: var(--bulma-primary-10-l); + --bulma-primary-95-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-95-invert-l), 1); + --bulma-primary-100: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-100-l), 1); + --bulma-primary-100-invert-l: var(--bulma-primary-15-l); + --bulma-primary-100-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-100-invert-l), 1); + --bulma-primary-invert-l: var(--bulma-primary-05-l); + --bulma-primary-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-invert-l), 1); + --bulma-primary-light-l: var(--bulma-primary-90-l); + --bulma-primary-light: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-light-l), 1); + --bulma-primary-light-invert-l: var(--bulma-primary-10-l); + --bulma-primary-light-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-light-invert-l), 1); + --bulma-primary-dark-l: var(--bulma-primary-10-l); + --bulma-primary-dark: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-dark-l), 1); + --bulma-primary-dark-invert-l: var(--bulma-primary-50-l); + --bulma-primary-dark-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-dark-invert-l), 1); + --bulma-primary-soft: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-soft-l), 1); + --bulma-primary-bold: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-bold-l), 1); + --bulma-primary-soft-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-soft-invert-l), 1); + --bulma-primary-bold-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-bold-invert-l), 1); + --bulma-primary-on-scheme-l: 21%; + --bulma-primary-on-scheme: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-on-scheme-l), 1); + --bulma-link: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-l), 1); + --bulma-link-base: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-l), 1); + --bulma-link-rgb: 66, 88, 255; + --bulma-link-h: 233deg; + --bulma-link-s: 100%; + --bulma-link-l: 63%; + --bulma-link-00-l: 0%; + --bulma-link-05-l: 3%; + --bulma-link-10-l: 8%; + --bulma-link-15-l: 13%; + --bulma-link-20-l: 18%; + --bulma-link-25-l: 23%; + --bulma-link-30-l: 28%; + --bulma-link-35-l: 33%; + --bulma-link-40-l: 38%; + --bulma-link-45-l: 43%; + --bulma-link-50-l: 48%; + --bulma-link-55-l: 53%; + --bulma-link-60-l: 58%; + --bulma-link-65-l: 63%; + --bulma-link-70-l: 68%; + --bulma-link-75-l: 73%; + --bulma-link-80-l: 78%; + --bulma-link-85-l: 83%; + --bulma-link-90-l: 88%; + --bulma-link-95-l: 93%; + --bulma-link-100-l: 98%; + --bulma-link-00: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-00-l), 1); + --bulma-link-00-invert-l: var(--bulma-link-75-l); + --bulma-link-00-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-00-invert-l), 1); + --bulma-link-05: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-05-l), 1); + --bulma-link-05-invert-l: var(--bulma-link-75-l); + --bulma-link-05-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-05-invert-l), 1); + --bulma-link-10: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-10-l), 1); + --bulma-link-10-invert-l: var(--bulma-link-75-l); + --bulma-link-10-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-10-invert-l), 1); + --bulma-link-15: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-15-l), 1); + --bulma-link-15-invert-l: var(--bulma-link-80-l); + --bulma-link-15-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-15-invert-l), 1); + --bulma-link-20: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-20-l), 1); + --bulma-link-20-invert-l: var(--bulma-link-80-l); + --bulma-link-20-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-20-invert-l), 1); + --bulma-link-25: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-25-l), 1); + --bulma-link-25-invert-l: var(--bulma-link-85-l); + --bulma-link-25-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-25-invert-l), 1); + --bulma-link-30: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-30-l), 1); + --bulma-link-30-invert-l: var(--bulma-link-90-l); + --bulma-link-30-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-30-invert-l), 1); + --bulma-link-35: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-35-l), 1); + --bulma-link-35-invert-l: var(--bulma-link-90-l); + --bulma-link-35-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-35-invert-l), 1); + --bulma-link-40: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-40-l), 1); + --bulma-link-40-invert-l: var(--bulma-link-95-l); + --bulma-link-40-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-40-invert-l), 1); + --bulma-link-45: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-45-l), 1); + --bulma-link-45-invert-l: var(--bulma-link-100-l); + --bulma-link-45-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-45-invert-l), 1); + --bulma-link-50: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-50-l), 1); + --bulma-link-50-invert-l: var(--bulma-link-100-l); + --bulma-link-50-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-50-invert-l), 1); + --bulma-link-55: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-55-l), 1); + --bulma-link-55-invert-l: var(--bulma-link-100-l); + --bulma-link-55-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-55-invert-l), 1); + --bulma-link-60: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-60-l), 1); + --bulma-link-60-invert-l: var(--bulma-link-100-l); + --bulma-link-60-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-60-invert-l), 1); + --bulma-link-65: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-65-l), 1); + --bulma-link-65-invert-l: var(--bulma-link-100-l); + --bulma-link-65-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-65-invert-l), 1); + --bulma-link-70: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-70-l), 1); + --bulma-link-70-invert-l: var(--bulma-link-100-l); + --bulma-link-70-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-70-invert-l), 1); + --bulma-link-75: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-75-l), 1); + --bulma-link-75-invert-l: var(--bulma-link-10-l); + --bulma-link-75-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-75-invert-l), 1); + --bulma-link-80: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-80-l), 1); + --bulma-link-80-invert-l: var(--bulma-link-20-l); + --bulma-link-80-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-80-invert-l), 1); + --bulma-link-85: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-85-l), 1); + --bulma-link-85-invert-l: var(--bulma-link-25-l); + --bulma-link-85-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-85-invert-l), 1); + --bulma-link-90: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-90-l), 1); + --bulma-link-90-invert-l: var(--bulma-link-35-l); + --bulma-link-90-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-90-invert-l), 1); + --bulma-link-95: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-95-l), 1); + --bulma-link-95-invert-l: var(--bulma-link-40-l); + --bulma-link-95-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-95-invert-l), 1); + --bulma-link-100: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-100-l), 1); + --bulma-link-100-invert-l: var(--bulma-link-50-l); + --bulma-link-100-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-100-invert-l), 1); + --bulma-link-invert-l: var(--bulma-link-100-l); + --bulma-link-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-invert-l), 1); + --bulma-link-light-l: var(--bulma-link-90-l); + --bulma-link-light: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-light-l), 1); + --bulma-link-light-invert-l: var(--bulma-link-35-l); + --bulma-link-light-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-light-invert-l), 1); + --bulma-link-dark-l: var(--bulma-link-10-l); + --bulma-link-dark: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-dark-l), 1); + --bulma-link-dark-invert-l: var(--bulma-link-75-l); + --bulma-link-dark-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-dark-invert-l), 1); + --bulma-link-soft: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-soft-l), 1); + --bulma-link-bold: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-bold-l), 1); + --bulma-link-soft-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-soft-invert-l), 1); + --bulma-link-bold-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-bold-invert-l), 1); + --bulma-link-on-scheme-l: 58%; + --bulma-link-on-scheme: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-on-scheme-l), 1); + --bulma-info: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-l), 1); + --bulma-info-base: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-l), 1); + --bulma-info-rgb: 102, 209, 255; + --bulma-info-h: 198deg; + --bulma-info-s: 100%; + --bulma-info-l: 70%; + --bulma-info-00-l: 0%; + --bulma-info-05-l: 5%; + --bulma-info-10-l: 10%; + --bulma-info-15-l: 15%; + --bulma-info-20-l: 20%; + --bulma-info-25-l: 25%; + --bulma-info-30-l: 30%; + --bulma-info-35-l: 35%; + --bulma-info-40-l: 40%; + --bulma-info-45-l: 45%; + --bulma-info-50-l: 50%; + --bulma-info-55-l: 55%; + --bulma-info-60-l: 60%; + --bulma-info-65-l: 65%; + --bulma-info-70-l: 70%; + --bulma-info-75-l: 75%; + --bulma-info-80-l: 80%; + --bulma-info-85-l: 85%; + --bulma-info-90-l: 90%; + --bulma-info-95-l: 95%; + --bulma-info-100-l: 100%; + --bulma-info-00: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-00-l), 1); + --bulma-info-00-invert-l: var(--bulma-info-45-l); + --bulma-info-00-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-00-invert-l), 1); + --bulma-info-05: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-05-l), 1); + --bulma-info-05-invert-l: var(--bulma-info-50-l); + --bulma-info-05-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-05-invert-l), 1); + --bulma-info-10: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-10-l), 1); + --bulma-info-10-invert-l: var(--bulma-info-60-l); + --bulma-info-10-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-10-invert-l), 1); + --bulma-info-15: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-15-l), 1); + --bulma-info-15-invert-l: var(--bulma-info-80-l); + --bulma-info-15-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-15-invert-l), 1); + --bulma-info-20: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-20-l), 1); + --bulma-info-20-invert-l: var(--bulma-info-95-l); + --bulma-info-20-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-20-invert-l), 1); + --bulma-info-25: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-25-l), 1); + --bulma-info-25-invert-l: var(--bulma-info-100-l); + --bulma-info-25-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-25-invert-l), 1); + --bulma-info-30: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-30-l), 1); + --bulma-info-30-invert-l: var(--bulma-info-100-l); + --bulma-info-30-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-30-invert-l), 1); + --bulma-info-35: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-35-l), 1); + --bulma-info-35-invert-l: var(--bulma-info-100-l); + --bulma-info-35-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-35-invert-l), 1); + --bulma-info-40: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-40-l), 1); + --bulma-info-40-invert-l: var(--bulma-info-100-l); + --bulma-info-40-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-40-invert-l), 1); + --bulma-info-45: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-45-l), 1); + --bulma-info-45-invert-l: var(--bulma-info-00-l); + --bulma-info-45-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-45-invert-l), 1); + --bulma-info-50: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-50-l), 1); + --bulma-info-50-invert-l: var(--bulma-info-05-l); + --bulma-info-50-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-50-invert-l), 1); + --bulma-info-55: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-55-l), 1); + --bulma-info-55-invert-l: var(--bulma-info-05-l); + --bulma-info-55-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-55-invert-l), 1); + --bulma-info-60: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-60-l), 1); + --bulma-info-60-invert-l: var(--bulma-info-10-l); + --bulma-info-60-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-60-invert-l), 1); + --bulma-info-65: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-65-l), 1); + --bulma-info-65-invert-l: var(--bulma-info-10-l); + --bulma-info-65-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-65-invert-l), 1); + --bulma-info-70: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-70-l), 1); + --bulma-info-70-invert-l: var(--bulma-info-10-l); + --bulma-info-70-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-70-invert-l), 1); + --bulma-info-75: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-75-l), 1); + --bulma-info-75-invert-l: var(--bulma-info-10-l); + --bulma-info-75-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-75-invert-l), 1); + --bulma-info-80: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-80-l), 1); + --bulma-info-80-invert-l: var(--bulma-info-15-l); + --bulma-info-80-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-80-invert-l), 1); + --bulma-info-85: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-85-l), 1); + --bulma-info-85-invert-l: var(--bulma-info-15-l); + --bulma-info-85-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-85-invert-l), 1); + --bulma-info-90: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-90-l), 1); + --bulma-info-90-invert-l: var(--bulma-info-15-l); + --bulma-info-90-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-90-invert-l), 1); + --bulma-info-95: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-95-l), 1); + --bulma-info-95-invert-l: var(--bulma-info-20-l); + --bulma-info-95-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-95-invert-l), 1); + --bulma-info-100: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-100-l), 1); + --bulma-info-100-invert-l: var(--bulma-info-20-l); + --bulma-info-100-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-100-invert-l), 1); + --bulma-info-invert-l: var(--bulma-info-10-l); + --bulma-info-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-invert-l), 1); + --bulma-info-light-l: var(--bulma-info-90-l); + --bulma-info-light: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-light-l), 1); + --bulma-info-light-invert-l: var(--bulma-info-15-l); + --bulma-info-light-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-light-invert-l), 1); + --bulma-info-dark-l: var(--bulma-info-10-l); + --bulma-info-dark: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-dark-l), 1); + --bulma-info-dark-invert-l: var(--bulma-info-60-l); + --bulma-info-dark-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-dark-invert-l), 1); + --bulma-info-soft: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-soft-l), 1); + --bulma-info-bold: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-bold-l), 1); + --bulma-info-soft-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-soft-invert-l), 1); + --bulma-info-bold-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-bold-invert-l), 1); + --bulma-info-on-scheme-l: 25%; + --bulma-info-on-scheme: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-on-scheme-l), 1); + --bulma-success: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-l), 1); + --bulma-success-base: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-l), 1); + --bulma-success-rgb: 72, 199, 142; + --bulma-success-h: 153deg; + --bulma-success-s: 53%; + --bulma-success-l: 53%; + --bulma-success-00-l: 0%; + --bulma-success-05-l: 3%; + --bulma-success-10-l: 8%; + --bulma-success-15-l: 13%; + --bulma-success-20-l: 18%; + --bulma-success-25-l: 23%; + --bulma-success-30-l: 28%; + --bulma-success-35-l: 33%; + --bulma-success-40-l: 38%; + --bulma-success-45-l: 43%; + --bulma-success-50-l: 48%; + --bulma-success-55-l: 53%; + --bulma-success-60-l: 58%; + --bulma-success-65-l: 63%; + --bulma-success-70-l: 68%; + --bulma-success-75-l: 73%; + --bulma-success-80-l: 78%; + --bulma-success-85-l: 83%; + --bulma-success-90-l: 88%; + --bulma-success-95-l: 93%; + --bulma-success-100-l: 98%; + --bulma-success-00: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-00-l), 1); + --bulma-success-00-invert-l: var(--bulma-success-45-l); + --bulma-success-00-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-00-invert-l), 1); + --bulma-success-05: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-05-l), 1); + --bulma-success-05-invert-l: var(--bulma-success-45-l); + --bulma-success-05-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-05-invert-l), 1); + --bulma-success-10: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-10-l), 1); + --bulma-success-10-invert-l: var(--bulma-success-55-l); + --bulma-success-10-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-10-invert-l), 1); + --bulma-success-15: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-15-l), 1); + --bulma-success-15-invert-l: var(--bulma-success-75-l); + --bulma-success-15-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-15-invert-l), 1); + --bulma-success-20: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-20-l), 1); + --bulma-success-20-invert-l: var(--bulma-success-90-l); + --bulma-success-20-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-20-invert-l), 1); + --bulma-success-25: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-25-l), 1); + --bulma-success-25-invert-l: var(--bulma-success-100-l); + --bulma-success-25-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-25-invert-l), 1); + --bulma-success-30: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-30-l), 1); + --bulma-success-30-invert-l: var(--bulma-success-100-l); + --bulma-success-30-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-30-invert-l), 1); + --bulma-success-35: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-35-l), 1); + --bulma-success-35-invert-l: var(--bulma-success-100-l); + --bulma-success-35-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-35-invert-l), 1); + --bulma-success-40: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-40-l), 1); + --bulma-success-40-invert-l: var(--bulma-success-100-l); + --bulma-success-40-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-40-invert-l), 1); + --bulma-success-45: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-45-l), 1); + --bulma-success-45-invert-l: var(--bulma-success-05-l); + --bulma-success-45-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-45-invert-l), 1); + --bulma-success-50: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-50-l), 1); + --bulma-success-50-invert-l: var(--bulma-success-05-l); + --bulma-success-50-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-50-invert-l), 1); + --bulma-success-55: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-55-l), 1); + --bulma-success-55-invert-l: var(--bulma-success-10-l); + --bulma-success-55-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-55-invert-l), 1); + --bulma-success-60: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-60-l), 1); + --bulma-success-60-invert-l: var(--bulma-success-10-l); + --bulma-success-60-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-60-invert-l), 1); + --bulma-success-65: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-65-l), 1); + --bulma-success-65-invert-l: var(--bulma-success-10-l); + --bulma-success-65-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-65-invert-l), 1); + --bulma-success-70: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-70-l), 1); + --bulma-success-70-invert-l: var(--bulma-success-10-l); + --bulma-success-70-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-70-invert-l), 1); + --bulma-success-75: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-75-l), 1); + --bulma-success-75-invert-l: var(--bulma-success-15-l); + --bulma-success-75-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-75-invert-l), 1); + --bulma-success-80: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-80-l), 1); + --bulma-success-80-invert-l: var(--bulma-success-15-l); + --bulma-success-80-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-80-invert-l), 1); + --bulma-success-85: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-85-l), 1); + --bulma-success-85-invert-l: var(--bulma-success-15-l); + --bulma-success-85-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-85-invert-l), 1); + --bulma-success-90: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-90-l), 1); + --bulma-success-90-invert-l: var(--bulma-success-20-l); + --bulma-success-90-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-90-invert-l), 1); + --bulma-success-95: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-95-l), 1); + --bulma-success-95-invert-l: var(--bulma-success-20-l); + --bulma-success-95-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-95-invert-l), 1); + --bulma-success-100: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-100-l), 1); + --bulma-success-100-invert-l: var(--bulma-success-20-l); + --bulma-success-100-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-100-invert-l), 1); + --bulma-success-invert-l: var(--bulma-success-10-l); + --bulma-success-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-invert-l), 1); + --bulma-success-light-l: var(--bulma-success-90-l); + --bulma-success-light: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-light-l), 1); + --bulma-success-light-invert-l: var(--bulma-success-20-l); + --bulma-success-light-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-light-invert-l), 1); + --bulma-success-dark-l: var(--bulma-success-10-l); + --bulma-success-dark: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-dark-l), 1); + --bulma-success-dark-invert-l: var(--bulma-success-55-l); + --bulma-success-dark-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-dark-invert-l), 1); + --bulma-success-soft: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-soft-l), 1); + --bulma-success-bold: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-bold-l), 1); + --bulma-success-soft-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-soft-invert-l), 1); + --bulma-success-bold-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-bold-invert-l), 1); + --bulma-success-on-scheme-l: 23%; + --bulma-success-on-scheme: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-on-scheme-l), 1); + --bulma-warning: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-l), 1); + --bulma-warning-base: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-l), 1); + --bulma-warning-rgb: 255, 183, 15; + --bulma-warning-h: 42deg; + --bulma-warning-s: 100%; + --bulma-warning-l: 53%; + --bulma-warning-00-l: 0%; + --bulma-warning-05-l: 3%; + --bulma-warning-10-l: 8%; + --bulma-warning-15-l: 13%; + --bulma-warning-20-l: 18%; + --bulma-warning-25-l: 23%; + --bulma-warning-30-l: 28%; + --bulma-warning-35-l: 33%; + --bulma-warning-40-l: 38%; + --bulma-warning-45-l: 43%; + --bulma-warning-50-l: 48%; + --bulma-warning-55-l: 53%; + --bulma-warning-60-l: 58%; + --bulma-warning-65-l: 63%; + --bulma-warning-70-l: 68%; + --bulma-warning-75-l: 73%; + --bulma-warning-80-l: 78%; + --bulma-warning-85-l: 83%; + --bulma-warning-90-l: 88%; + --bulma-warning-95-l: 93%; + --bulma-warning-100-l: 98%; + --bulma-warning-00: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-00-l), 1); + --bulma-warning-00-invert-l: var(--bulma-warning-40-l); + --bulma-warning-00-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-00-invert-l), 1); + --bulma-warning-05: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-05-l), 1); + --bulma-warning-05-invert-l: var(--bulma-warning-45-l); + --bulma-warning-05-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-05-invert-l), 1); + --bulma-warning-10: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-10-l), 1); + --bulma-warning-10-invert-l: var(--bulma-warning-50-l); + --bulma-warning-10-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-10-invert-l), 1); + --bulma-warning-15: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-15-l), 1); + --bulma-warning-15-invert-l: var(--bulma-warning-70-l); + --bulma-warning-15-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-15-invert-l), 1); + --bulma-warning-20: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-20-l), 1); + --bulma-warning-20-invert-l: var(--bulma-warning-100-l); + --bulma-warning-20-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-20-invert-l), 1); + --bulma-warning-25: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-25-l), 1); + --bulma-warning-25-invert-l: var(--bulma-warning-100-l); + --bulma-warning-25-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-25-invert-l), 1); + --bulma-warning-30: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-30-l), 1); + --bulma-warning-30-invert-l: var(--bulma-warning-100-l); + --bulma-warning-30-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-30-invert-l), 1); + --bulma-warning-35: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-35-l), 1); + --bulma-warning-35-invert-l: var(--bulma-warning-100-l); + --bulma-warning-35-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-35-invert-l), 1); + --bulma-warning-40: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-40-l), 1); + --bulma-warning-40-invert-l: var(--bulma-warning-00-l); + --bulma-warning-40-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-40-invert-l), 1); + --bulma-warning-45: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-45-l), 1); + --bulma-warning-45-invert-l: var(--bulma-warning-05-l); + --bulma-warning-45-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-45-invert-l), 1); + --bulma-warning-50: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-50-l), 1); + --bulma-warning-50-invert-l: var(--bulma-warning-10-l); + --bulma-warning-50-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-50-invert-l), 1); + --bulma-warning-55: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-55-l), 1); + --bulma-warning-55-invert-l: var(--bulma-warning-10-l); + --bulma-warning-55-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-55-invert-l), 1); + --bulma-warning-60: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-60-l), 1); + --bulma-warning-60-invert-l: var(--bulma-warning-10-l); + --bulma-warning-60-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-60-invert-l), 1); + --bulma-warning-65: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-65-l), 1); + --bulma-warning-65-invert-l: var(--bulma-warning-10-l); + --bulma-warning-65-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-65-invert-l), 1); + --bulma-warning-70: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-70-l), 1); + --bulma-warning-70-invert-l: var(--bulma-warning-15-l); + --bulma-warning-70-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-70-invert-l), 1); + --bulma-warning-75: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-75-l), 1); + --bulma-warning-75-invert-l: var(--bulma-warning-15-l); + --bulma-warning-75-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-75-invert-l), 1); + --bulma-warning-80: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-80-l), 1); + --bulma-warning-80-invert-l: var(--bulma-warning-15-l); + --bulma-warning-80-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-80-invert-l), 1); + --bulma-warning-85: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-85-l), 1); + --bulma-warning-85-invert-l: var(--bulma-warning-15-l); + --bulma-warning-85-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-85-invert-l), 1); + --bulma-warning-90: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-90-l), 1); + --bulma-warning-90-invert-l: var(--bulma-warning-15-l); + --bulma-warning-90-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-90-invert-l), 1); + --bulma-warning-95: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-95-l), 1); + --bulma-warning-95-invert-l: var(--bulma-warning-15-l); + --bulma-warning-95-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-95-invert-l), 1); + --bulma-warning-100: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-100-l), 1); + --bulma-warning-100-invert-l: var(--bulma-warning-20-l); + --bulma-warning-100-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-100-invert-l), 1); + --bulma-warning-invert-l: var(--bulma-warning-10-l); + --bulma-warning-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-invert-l), 1); + --bulma-warning-light-l: var(--bulma-warning-90-l); + --bulma-warning-light: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-light-l), 1); + --bulma-warning-light-invert-l: var(--bulma-warning-15-l); + --bulma-warning-light-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-light-invert-l), 1); + --bulma-warning-dark-l: var(--bulma-warning-10-l); + --bulma-warning-dark: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-dark-l), 1); + --bulma-warning-dark-invert-l: var(--bulma-warning-50-l); + --bulma-warning-dark-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-dark-invert-l), 1); + --bulma-warning-soft: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-soft-l), 1); + --bulma-warning-bold: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-bold-l), 1); + --bulma-warning-soft-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-soft-invert-l), 1); + --bulma-warning-bold-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-bold-invert-l), 1); + --bulma-warning-on-scheme-l: 23%; + --bulma-warning-on-scheme: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-on-scheme-l), 1); + --bulma-danger: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-l), 1); + --bulma-danger-base: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-l), 1); + --bulma-danger-rgb: 255, 102, 133; + --bulma-danger-h: 348deg; + --bulma-danger-s: 100%; + --bulma-danger-l: 70%; + --bulma-danger-00-l: 0%; + --bulma-danger-05-l: 5%; + --bulma-danger-10-l: 10%; + --bulma-danger-15-l: 15%; + --bulma-danger-20-l: 20%; + --bulma-danger-25-l: 25%; + --bulma-danger-30-l: 30%; + --bulma-danger-35-l: 35%; + --bulma-danger-40-l: 40%; + --bulma-danger-45-l: 45%; + --bulma-danger-50-l: 50%; + --bulma-danger-55-l: 55%; + --bulma-danger-60-l: 60%; + --bulma-danger-65-l: 65%; + --bulma-danger-70-l: 70%; + --bulma-danger-75-l: 75%; + --bulma-danger-80-l: 80%; + --bulma-danger-85-l: 85%; + --bulma-danger-90-l: 90%; + --bulma-danger-95-l: 95%; + --bulma-danger-100-l: 100%; + --bulma-danger-00: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-00-l), 1); + --bulma-danger-00-invert-l: var(--bulma-danger-65-l); + --bulma-danger-00-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-00-invert-l), 1); + --bulma-danger-05: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-05-l), 1); + --bulma-danger-05-invert-l: var(--bulma-danger-70-l); + --bulma-danger-05-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-05-invert-l), 1); + --bulma-danger-10: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-10-l), 1); + --bulma-danger-10-invert-l: var(--bulma-danger-75-l); + --bulma-danger-10-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-10-invert-l), 1); + --bulma-danger-15: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-15-l), 1); + --bulma-danger-15-invert-l: var(--bulma-danger-80-l); + --bulma-danger-15-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-15-invert-l), 1); + --bulma-danger-20: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-20-l), 1); + --bulma-danger-20-invert-l: var(--bulma-danger-85-l); + --bulma-danger-20-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-20-invert-l), 1); + --bulma-danger-25: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-25-l), 1); + --bulma-danger-25-invert-l: var(--bulma-danger-90-l); + --bulma-danger-25-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-25-invert-l), 1); + --bulma-danger-30: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-30-l), 1); + --bulma-danger-30-invert-l: var(--bulma-danger-100-l); + --bulma-danger-30-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-30-invert-l), 1); + --bulma-danger-35: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-35-l), 1); + --bulma-danger-35-invert-l: var(--bulma-danger-100-l); + --bulma-danger-35-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-35-invert-l), 1); + --bulma-danger-40: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-40-l), 1); + --bulma-danger-40-invert-l: var(--bulma-danger-100-l); + --bulma-danger-40-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-40-invert-l), 1); + --bulma-danger-45: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-45-l), 1); + --bulma-danger-45-invert-l: var(--bulma-danger-100-l); + --bulma-danger-45-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-45-invert-l), 1); + --bulma-danger-50: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-50-l), 1); + --bulma-danger-50-invert-l: var(--bulma-danger-100-l); + --bulma-danger-50-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-50-invert-l), 1); + --bulma-danger-55: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-55-l), 1); + --bulma-danger-55-invert-l: var(--bulma-danger-100-l); + --bulma-danger-55-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-55-invert-l), 1); + --bulma-danger-60: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-60-l), 1); + --bulma-danger-60-invert-l: var(--bulma-danger-100-l); + --bulma-danger-60-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-60-invert-l), 1); + --bulma-danger-65: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-65-l), 1); + --bulma-danger-65-invert-l: var(--bulma-danger-00-l); + --bulma-danger-65-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-65-invert-l), 1); + --bulma-danger-70: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-70-l), 1); + --bulma-danger-70-invert-l: var(--bulma-danger-05-l); + --bulma-danger-70-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-70-invert-l), 1); + --bulma-danger-75: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-75-l), 1); + --bulma-danger-75-invert-l: var(--bulma-danger-10-l); + --bulma-danger-75-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-75-invert-l), 1); + --bulma-danger-80: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-80-l), 1); + --bulma-danger-80-invert-l: var(--bulma-danger-15-l); + --bulma-danger-80-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-80-invert-l), 1); + --bulma-danger-85: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-85-l), 1); + --bulma-danger-85-invert-l: var(--bulma-danger-20-l); + --bulma-danger-85-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-85-invert-l), 1); + --bulma-danger-90: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-90-l), 1); + --bulma-danger-90-invert-l: var(--bulma-danger-25-l); + --bulma-danger-90-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-90-invert-l), 1); + --bulma-danger-95: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-95-l), 1); + --bulma-danger-95-invert-l: var(--bulma-danger-25-l); + --bulma-danger-95-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-95-invert-l), 1); + --bulma-danger-100: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-100-l), 1); + --bulma-danger-100-invert-l: var(--bulma-danger-30-l); + --bulma-danger-100-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-100-invert-l), 1); + --bulma-danger-invert-l: var(--bulma-danger-05-l); + --bulma-danger-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-invert-l), 1); + --bulma-danger-light-l: var(--bulma-danger-90-l); + --bulma-danger-light: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-light-l), 1); + --bulma-danger-light-invert-l: var(--bulma-danger-25-l); + --bulma-danger-light-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-light-invert-l), 1); + --bulma-danger-dark-l: var(--bulma-danger-10-l); + --bulma-danger-dark: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-dark-l), 1); + --bulma-danger-dark-invert-l: var(--bulma-danger-75-l); + --bulma-danger-dark-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-dark-invert-l), 1); + --bulma-danger-soft: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-soft-l), 1); + --bulma-danger-bold: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-bold-l), 1); + --bulma-danger-soft-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-soft-invert-l), 1); + --bulma-danger-bold-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-bold-invert-l), 1); + --bulma-danger-on-scheme-l: 40%; + --bulma-danger-on-scheme: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-on-scheme-l), 1); + --bulma-black-bis: hsl(221, 14%, 9%); + --bulma-black-ter: hsl(221, 14%, 14%); + --bulma-grey-darker: hsl(221, 14%, 21%); + --bulma-grey-dark: hsl(221, 14%, 29%); + --bulma-grey: hsl(221, 14%, 48%); + --bulma-grey-light: hsl(221, 14%, 71%); + --bulma-grey-lighter: hsl(221, 14%, 86%); + --bulma-white-ter: hsl(221, 14%, 96%); + --bulma-white-bis: hsl(221, 14%, 98%); + --bulma-shadow-h: 221deg; + --bulma-shadow-s: 14%; + --bulma-shadow-l: 4%; + --bulma-size-1: 3rem; + --bulma-size-2: 2.5rem; + --bulma-size-3: 2rem; + --bulma-size-4: 1.5rem; + --bulma-size-5: 1.25rem; + --bulma-size-6: 1rem; + --bulma-size-7: 0.75rem; + } +} +@media (prefers-color-scheme: dark) { + :root { + --bulma-white-on-scheme-l: 100%; + --bulma-white-on-scheme: hsla(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-on-scheme-l), 1); + --bulma-black-on-scheme-l: 0%; + --bulma-black-on-scheme: hsla(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-on-scheme-l), 1); + --bulma-light-on-scheme-l: 96%; + --bulma-light-on-scheme: hsla(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-on-scheme-l), 1); + --bulma-dark-on-scheme-l: 56%; + --bulma-dark-on-scheme: hsla(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-on-scheme-l), 1); + --bulma-text-on-scheme-l: 54%; + --bulma-text-on-scheme: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-on-scheme-l), 1); + --bulma-primary-on-scheme-l: 41%; + --bulma-primary-on-scheme: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-on-scheme-l), 1); + --bulma-link-on-scheme-l: 73%; + --bulma-link-on-scheme: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-on-scheme-l), 1); + --bulma-info-on-scheme-l: 70%; + --bulma-info-on-scheme: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-on-scheme-l), 1); + --bulma-success-on-scheme-l: 53%; + --bulma-success-on-scheme: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-on-scheme-l), 1); + --bulma-warning-on-scheme-l: 53%; + --bulma-warning-on-scheme: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-on-scheme-l), 1); + --bulma-danger-on-scheme-l: 70%; + --bulma-danger-on-scheme: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-on-scheme-l), 1); + --bulma-scheme-brightness: dark; + --bulma-scheme-main-l: 9%; + --bulma-scheme-main-bis-l: 11%; + --bulma-scheme-main-ter-l: 13%; + --bulma-soft-l: 20%; + --bulma-bold-l: 90%; + --bulma-soft-invert-l: 90%; + --bulma-bold-invert-l: 20%; + --bulma-background-l: 14%; + --bulma-border-weak-l: 21%; + --bulma-border-l: 24%; + --bulma-text-weak-l: 53%; + --bulma-text-l: 71%; + --bulma-text-strong-l: 93%; + --bulma-text-title-l: 100%; + --bulma-hover-background-l-delta: 5%; + --bulma-active-background-l-delta: 10%; + --bulma-hover-border-l-delta: 10%; + --bulma-active-border-l-delta: 20%; + --bulma-hover-color-l-delta: 5%; + --bulma-active-color-l-delta: 10%; + --bulma-shadow-h: 0deg; + --bulma-shadow-s: 0%; + --bulma-shadow-l: 100%; + } +} +[data-theme=light], +.theme-light { + --bulma-scheme-h: 221; + --bulma-scheme-s: 14%; + --bulma-light-l: 90%; + --bulma-light-invert-l: 20%; + --bulma-dark-l: 20%; + --bulma-dark-invert-l: 90%; + --bulma-soft-l: 90%; + --bulma-bold-l: 20%; + --bulma-soft-invert-l: 20%; + --bulma-bold-invert-l: 90%; + --bulma-hover-background-l-delta: -5%; + --bulma-active-background-l-delta: -10%; + --bulma-hover-border-l-delta: -10%; + --bulma-active-border-l-delta: -20%; + --bulma-hover-color-l-delta: -5%; + --bulma-active-color-l-delta: -10%; + --bulma-hover-shadow-a-delta: -0.05; + --bulma-active-shadow-a-delta: -0.1; + --bulma-scheme-brightness: light; + --bulma-scheme-main-l: 100%; + --bulma-scheme-main-bis-l: 98%; + --bulma-scheme-main-ter-l: 96%; + --bulma-background-l: 96%; + --bulma-border-weak-l: 93%; + --bulma-border-l: 86%; + --bulma-text-weak-l: 48%; + --bulma-text-l: 29%; + --bulma-text-strong-l: 21%; + --bulma-text-title-l: 14%; + --bulma-scheme-invert-ter-l: 14%; + --bulma-scheme-invert-bis-l: 7%; + --bulma-scheme-invert-l: 4%; + --bulma-family-primary: Inter, SF Pro, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Helvetica, Arial, sans-serif; + --bulma-family-secondary: Inter, SF Pro, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Helvetica, Arial, sans-serif; + --bulma-family-code: Inconsolata, Hack, SF Mono, Roboto Mono, Source Code Pro, Ubuntu Mono, monospace; + --bulma-size-small: 0.75rem; + --bulma-size-normal: 1rem; + --bulma-size-medium: 1.25rem; + --bulma-size-large: 1.5rem; + --bulma-weight-light: 300; + --bulma-weight-normal: 400; + --bulma-weight-medium: 500; + --bulma-weight-semibold: 600; + --bulma-weight-bold: 700; + --bulma-weight-extrabold: 800; + --bulma-block-spacing: 1.5rem; + --bulma-duration: 294ms; + --bulma-easing: ease-out; + --bulma-radius-small: 0.25rem; + --bulma-radius: 0.375rem; + --bulma-radius-medium: 0.5em; + --bulma-radius-large: 0.75rem; + --bulma-radius-rounded: 9999px; + --bulma-speed: 86ms; + --bulma-arrow-color: var(--bulma-link); + --bulma-loading-color: var(--bulma-border); + --bulma-burger-h: var(--bulma-link-h); + --bulma-burger-s: var(--bulma-link-s); + --bulma-burger-l: var(--bulma-link-l); + --bulma-burger-border-radius: 0.5em; + --bulma-burger-gap: 5px; + --bulma-burger-item-height: 2px; + --bulma-burger-item-width: 20px; + --bulma-white: hsla(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-l), 1); + --bulma-white-base: hsla(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-l), 1); + --bulma-white-rgb: 255, 255, 255; + --bulma-white-h: 221deg; + --bulma-white-s: 14%; + --bulma-white-l: 100%; + --bulma-white-invert-l: 4%; + --bulma-white-invert: hsl(221, 14%, 4%); + --bulma-white-on-scheme-l: 35%; + --bulma-white-on-scheme: hsla(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-on-scheme-l), 1); + --bulma-black: hsla(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-l), 1); + --bulma-black-base: hsla(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-l), 1); + --bulma-black-rgb: 9, 10, 12; + --bulma-black-h: 221deg; + --bulma-black-s: 14%; + --bulma-black-l: 4%; + --bulma-black-invert-l: 100%; + --bulma-black-invert: hsl(221, 14%, 100%); + --bulma-black-on-scheme-l: 4%; + --bulma-black-on-scheme: hsla(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-on-scheme-l), 1); + --bulma-light: hsla(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-l), 1); + --bulma-light-base: hsla(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-l), 1); + --bulma-light-rgb: 243, 244, 246; + --bulma-light-h: 221deg; + --bulma-light-s: 14%; + --bulma-light-l: 96%; + --bulma-light-invert-l: 21%; + --bulma-light-invert: hsl(221, 14%, 21%); + --bulma-light-on-scheme-l: 36%; + --bulma-light-on-scheme: hsla(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-on-scheme-l), 1); + --bulma-dark: hsla(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-l), 1); + --bulma-dark-base: hsla(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-l), 1); + --bulma-dark-rgb: 46, 51, 61; + --bulma-dark-h: 221deg; + --bulma-dark-s: 14%; + --bulma-dark-l: 21%; + --bulma-dark-invert-l: 96%; + --bulma-dark-invert: hsl(221, 14%, 96%); + --bulma-dark-on-scheme-l: 21%; + --bulma-dark-on-scheme: hsla(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-on-scheme-l), 1); + --bulma-text: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-l), 1); + --bulma-text-base: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-l), 1); + --bulma-text-rgb: 64, 70, 84; + --bulma-text-h: 221deg; + --bulma-text-s: 14%; + --bulma-text-l: 29%; + --bulma-text-00-l: 0%; + --bulma-text-05-l: 4%; + --bulma-text-10-l: 9%; + --bulma-text-15-l: 14%; + --bulma-text-20-l: 19%; + --bulma-text-25-l: 24%; + --bulma-text-30-l: 29%; + --bulma-text-35-l: 34%; + --bulma-text-40-l: 39%; + --bulma-text-45-l: 44%; + --bulma-text-50-l: 49%; + --bulma-text-55-l: 54%; + --bulma-text-60-l: 59%; + --bulma-text-65-l: 64%; + --bulma-text-70-l: 69%; + --bulma-text-75-l: 74%; + --bulma-text-80-l: 79%; + --bulma-text-85-l: 84%; + --bulma-text-90-l: 89%; + --bulma-text-95-l: 94%; + --bulma-text-100-l: 99%; + --bulma-text-00: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-00-l), 1); + --bulma-text-00-invert-l: var(--bulma-text-60-l); + --bulma-text-00-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-00-invert-l), 1); + --bulma-text-05: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-05-l), 1); + --bulma-text-05-invert-l: var(--bulma-text-60-l); + --bulma-text-05-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-05-invert-l), 1); + --bulma-text-10: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-10-l), 1); + --bulma-text-10-invert-l: var(--bulma-text-70-l); + --bulma-text-10-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-10-invert-l), 1); + --bulma-text-15: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-15-l), 1); + --bulma-text-15-invert-l: var(--bulma-text-75-l); + --bulma-text-15-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-15-invert-l), 1); + --bulma-text-20: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-20-l), 1); + --bulma-text-20-invert-l: var(--bulma-text-85-l); + --bulma-text-20-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-20-invert-l), 1); + --bulma-text-25: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-25-l), 1); + --bulma-text-25-invert-l: var(--bulma-text-95-l); + --bulma-text-25-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-25-invert-l), 1); + --bulma-text-30: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-30-l), 1); + --bulma-text-30-invert-l: var(--bulma-text-100-l); + --bulma-text-30-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-30-invert-l), 1); + --bulma-text-35: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-35-l), 1); + --bulma-text-35-invert-l: var(--bulma-text-100-l); + --bulma-text-35-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-35-invert-l), 1); + --bulma-text-40: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-40-l), 1); + --bulma-text-40-invert-l: var(--bulma-text-100-l); + --bulma-text-40-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-40-invert-l), 1); + --bulma-text-45: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-45-l), 1); + --bulma-text-45-invert-l: var(--bulma-text-100-l); + --bulma-text-45-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-45-invert-l), 1); + --bulma-text-50: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-50-l), 1); + --bulma-text-50-invert-l: var(--bulma-text-100-l); + --bulma-text-50-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-50-invert-l), 1); + --bulma-text-55: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-55-l), 1); + --bulma-text-55-invert-l: var(--bulma-text-100-l); + --bulma-text-55-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-55-invert-l), 1); + --bulma-text-60: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-60-l), 1); + --bulma-text-60-invert-l: var(--bulma-text-05-l); + --bulma-text-60-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-60-invert-l), 1); + --bulma-text-65: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-65-l), 1); + --bulma-text-65-invert-l: var(--bulma-text-05-l); + --bulma-text-65-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-65-invert-l), 1); + --bulma-text-70: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-70-l), 1); + --bulma-text-70-invert-l: var(--bulma-text-10-l); + --bulma-text-70-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-70-invert-l), 1); + --bulma-text-75: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-75-l), 1); + --bulma-text-75-invert-l: var(--bulma-text-15-l); + --bulma-text-75-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-75-invert-l), 1); + --bulma-text-80: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-80-l), 1); + --bulma-text-80-invert-l: var(--bulma-text-15-l); + --bulma-text-80-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-80-invert-l), 1); + --bulma-text-85: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-85-l), 1); + --bulma-text-85-invert-l: var(--bulma-text-20-l); + --bulma-text-85-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-85-invert-l), 1); + --bulma-text-90: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-90-l), 1); + --bulma-text-90-invert-l: var(--bulma-text-20-l); + --bulma-text-90-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-90-invert-l), 1); + --bulma-text-95: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-95-l), 1); + --bulma-text-95-invert-l: var(--bulma-text-25-l); + --bulma-text-95-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-95-invert-l), 1); + --bulma-text-100: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-100-l), 1); + --bulma-text-100-invert-l: var(--bulma-text-25-l); + --bulma-text-100-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-100-invert-l), 1); + --bulma-text-invert-l: var(--bulma-text-100-l); + --bulma-text-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-invert-l), 1); + --bulma-text-light-l: var(--bulma-text-90-l); + --bulma-text-light: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-light-l), 1); + --bulma-text-light-invert-l: var(--bulma-text-20-l); + --bulma-text-light-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-light-invert-l), 1); + --bulma-text-dark-l: var(--bulma-text-10-l); + --bulma-text-dark: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-dark-l), 1); + --bulma-text-dark-invert-l: var(--bulma-text-70-l); + --bulma-text-dark-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-dark-invert-l), 1); + --bulma-text-soft: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-soft-l), 1); + --bulma-text-bold: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-bold-l), 1); + --bulma-text-soft-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-soft-invert-l), 1); + --bulma-text-bold-invert: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-bold-invert-l), 1); + --bulma-text-on-scheme-l: 29%; + --bulma-text-on-scheme: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-on-scheme-l), 1); + --bulma-primary: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-l), 1); + --bulma-primary-base: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-l), 1); + --bulma-primary-rgb: 0, 209, 178; + --bulma-primary-h: 171deg; + --bulma-primary-s: 100%; + --bulma-primary-l: 41%; + --bulma-primary-00-l: 1%; + --bulma-primary-05-l: 6%; + --bulma-primary-10-l: 11%; + --bulma-primary-15-l: 16%; + --bulma-primary-20-l: 21%; + --bulma-primary-25-l: 26%; + --bulma-primary-30-l: 31%; + --bulma-primary-35-l: 36%; + --bulma-primary-40-l: 41%; + --bulma-primary-45-l: 46%; + --bulma-primary-50-l: 51%; + --bulma-primary-55-l: 56%; + --bulma-primary-60-l: 61%; + --bulma-primary-65-l: 66%; + --bulma-primary-70-l: 71%; + --bulma-primary-75-l: 76%; + --bulma-primary-80-l: 81%; + --bulma-primary-85-l: 86%; + --bulma-primary-90-l: 91%; + --bulma-primary-95-l: 96%; + --bulma-primary-100-l: 100%; + --bulma-primary-00: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-00-l), 1); + --bulma-primary-00-invert-l: var(--bulma-primary-30-l); + --bulma-primary-00-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-00-invert-l), 1); + --bulma-primary-05: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-05-l), 1); + --bulma-primary-05-invert-l: var(--bulma-primary-40-l); + --bulma-primary-05-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-05-invert-l), 1); + --bulma-primary-10: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-10-l), 1); + --bulma-primary-10-invert-l: var(--bulma-primary-50-l); + --bulma-primary-10-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-10-invert-l), 1); + --bulma-primary-15: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-15-l), 1); + --bulma-primary-15-invert-l: var(--bulma-primary-100-l); + --bulma-primary-15-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-15-invert-l), 1); + --bulma-primary-20: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-20-l), 1); + --bulma-primary-20-invert-l: var(--bulma-primary-100-l); + --bulma-primary-20-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-20-invert-l), 1); + --bulma-primary-25: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-25-l), 1); + --bulma-primary-25-invert-l: var(--bulma-primary-100-l); + --bulma-primary-25-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-25-invert-l), 1); + --bulma-primary-30: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-30-l), 1); + --bulma-primary-30-invert-l: var(--bulma-primary-00-l); + --bulma-primary-30-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-30-invert-l), 1); + --bulma-primary-35: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-35-l), 1); + --bulma-primary-35-invert-l: var(--bulma-primary-00-l); + --bulma-primary-35-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-35-invert-l), 1); + --bulma-primary-40: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-40-l), 1); + --bulma-primary-40-invert-l: var(--bulma-primary-05-l); + --bulma-primary-40-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-40-invert-l), 1); + --bulma-primary-45: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-45-l), 1); + --bulma-primary-45-invert-l: var(--bulma-primary-05-l); + --bulma-primary-45-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-45-invert-l), 1); + --bulma-primary-50: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-50-l), 1); + --bulma-primary-50-invert-l: var(--bulma-primary-10-l); + --bulma-primary-50-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-50-invert-l), 1); + --bulma-primary-55: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-55-l), 1); + --bulma-primary-55-invert-l: var(--bulma-primary-10-l); + --bulma-primary-55-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-55-invert-l), 1); + --bulma-primary-60: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-60-l), 1); + --bulma-primary-60-invert-l: var(--bulma-primary-10-l); + --bulma-primary-60-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-60-invert-l), 1); + --bulma-primary-65: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-65-l), 1); + --bulma-primary-65-invert-l: var(--bulma-primary-10-l); + --bulma-primary-65-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-65-invert-l), 1); + --bulma-primary-70: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-70-l), 1); + --bulma-primary-70-invert-l: var(--bulma-primary-10-l); + --bulma-primary-70-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-70-invert-l), 1); + --bulma-primary-75: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-75-l), 1); + --bulma-primary-75-invert-l: var(--bulma-primary-10-l); + --bulma-primary-75-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-75-invert-l), 1); + --bulma-primary-80: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-80-l), 1); + --bulma-primary-80-invert-l: var(--bulma-primary-10-l); + --bulma-primary-80-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-80-invert-l), 1); + --bulma-primary-85: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-85-l), 1); + --bulma-primary-85-invert-l: var(--bulma-primary-10-l); + --bulma-primary-85-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-85-invert-l), 1); + --bulma-primary-90: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-90-l), 1); + --bulma-primary-90-invert-l: var(--bulma-primary-10-l); + --bulma-primary-90-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-90-invert-l), 1); + --bulma-primary-95: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-95-l), 1); + --bulma-primary-95-invert-l: var(--bulma-primary-10-l); + --bulma-primary-95-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-95-invert-l), 1); + --bulma-primary-100: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-100-l), 1); + --bulma-primary-100-invert-l: var(--bulma-primary-15-l); + --bulma-primary-100-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-100-invert-l), 1); + --bulma-primary-invert-l: var(--bulma-primary-05-l); + --bulma-primary-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-invert-l), 1); + --bulma-primary-light-l: var(--bulma-primary-90-l); + --bulma-primary-light: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-light-l), 1); + --bulma-primary-light-invert-l: var(--bulma-primary-10-l); + --bulma-primary-light-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-light-invert-l), 1); + --bulma-primary-dark-l: var(--bulma-primary-10-l); + --bulma-primary-dark: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-dark-l), 1); + --bulma-primary-dark-invert-l: var(--bulma-primary-50-l); + --bulma-primary-dark-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-dark-invert-l), 1); + --bulma-primary-soft: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-soft-l), 1); + --bulma-primary-bold: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-bold-l), 1); + --bulma-primary-soft-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-soft-invert-l), 1); + --bulma-primary-bold-invert: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-bold-invert-l), 1); + --bulma-primary-on-scheme-l: 21%; + --bulma-primary-on-scheme: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-on-scheme-l), 1); + --bulma-link: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-l), 1); + --bulma-link-base: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-l), 1); + --bulma-link-rgb: 66, 88, 255; + --bulma-link-h: 233deg; + --bulma-link-s: 100%; + --bulma-link-l: 63%; + --bulma-link-00-l: 0%; + --bulma-link-05-l: 3%; + --bulma-link-10-l: 8%; + --bulma-link-15-l: 13%; + --bulma-link-20-l: 18%; + --bulma-link-25-l: 23%; + --bulma-link-30-l: 28%; + --bulma-link-35-l: 33%; + --bulma-link-40-l: 38%; + --bulma-link-45-l: 43%; + --bulma-link-50-l: 48%; + --bulma-link-55-l: 53%; + --bulma-link-60-l: 58%; + --bulma-link-65-l: 63%; + --bulma-link-70-l: 68%; + --bulma-link-75-l: 73%; + --bulma-link-80-l: 78%; + --bulma-link-85-l: 83%; + --bulma-link-90-l: 88%; + --bulma-link-95-l: 93%; + --bulma-link-100-l: 98%; + --bulma-link-00: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-00-l), 1); + --bulma-link-00-invert-l: var(--bulma-link-75-l); + --bulma-link-00-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-00-invert-l), 1); + --bulma-link-05: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-05-l), 1); + --bulma-link-05-invert-l: var(--bulma-link-75-l); + --bulma-link-05-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-05-invert-l), 1); + --bulma-link-10: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-10-l), 1); + --bulma-link-10-invert-l: var(--bulma-link-75-l); + --bulma-link-10-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-10-invert-l), 1); + --bulma-link-15: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-15-l), 1); + --bulma-link-15-invert-l: var(--bulma-link-80-l); + --bulma-link-15-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-15-invert-l), 1); + --bulma-link-20: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-20-l), 1); + --bulma-link-20-invert-l: var(--bulma-link-80-l); + --bulma-link-20-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-20-invert-l), 1); + --bulma-link-25: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-25-l), 1); + --bulma-link-25-invert-l: var(--bulma-link-85-l); + --bulma-link-25-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-25-invert-l), 1); + --bulma-link-30: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-30-l), 1); + --bulma-link-30-invert-l: var(--bulma-link-90-l); + --bulma-link-30-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-30-invert-l), 1); + --bulma-link-35: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-35-l), 1); + --bulma-link-35-invert-l: var(--bulma-link-90-l); + --bulma-link-35-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-35-invert-l), 1); + --bulma-link-40: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-40-l), 1); + --bulma-link-40-invert-l: var(--bulma-link-95-l); + --bulma-link-40-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-40-invert-l), 1); + --bulma-link-45: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-45-l), 1); + --bulma-link-45-invert-l: var(--bulma-link-100-l); + --bulma-link-45-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-45-invert-l), 1); + --bulma-link-50: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-50-l), 1); + --bulma-link-50-invert-l: var(--bulma-link-100-l); + --bulma-link-50-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-50-invert-l), 1); + --bulma-link-55: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-55-l), 1); + --bulma-link-55-invert-l: var(--bulma-link-100-l); + --bulma-link-55-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-55-invert-l), 1); + --bulma-link-60: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-60-l), 1); + --bulma-link-60-invert-l: var(--bulma-link-100-l); + --bulma-link-60-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-60-invert-l), 1); + --bulma-link-65: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-65-l), 1); + --bulma-link-65-invert-l: var(--bulma-link-100-l); + --bulma-link-65-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-65-invert-l), 1); + --bulma-link-70: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-70-l), 1); + --bulma-link-70-invert-l: var(--bulma-link-100-l); + --bulma-link-70-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-70-invert-l), 1); + --bulma-link-75: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-75-l), 1); + --bulma-link-75-invert-l: var(--bulma-link-10-l); + --bulma-link-75-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-75-invert-l), 1); + --bulma-link-80: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-80-l), 1); + --bulma-link-80-invert-l: var(--bulma-link-20-l); + --bulma-link-80-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-80-invert-l), 1); + --bulma-link-85: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-85-l), 1); + --bulma-link-85-invert-l: var(--bulma-link-25-l); + --bulma-link-85-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-85-invert-l), 1); + --bulma-link-90: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-90-l), 1); + --bulma-link-90-invert-l: var(--bulma-link-35-l); + --bulma-link-90-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-90-invert-l), 1); + --bulma-link-95: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-95-l), 1); + --bulma-link-95-invert-l: var(--bulma-link-40-l); + --bulma-link-95-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-95-invert-l), 1); + --bulma-link-100: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-100-l), 1); + --bulma-link-100-invert-l: var(--bulma-link-50-l); + --bulma-link-100-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-100-invert-l), 1); + --bulma-link-invert-l: var(--bulma-link-100-l); + --bulma-link-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-invert-l), 1); + --bulma-link-light-l: var(--bulma-link-90-l); + --bulma-link-light: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-light-l), 1); + --bulma-link-light-invert-l: var(--bulma-link-35-l); + --bulma-link-light-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-light-invert-l), 1); + --bulma-link-dark-l: var(--bulma-link-10-l); + --bulma-link-dark: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-dark-l), 1); + --bulma-link-dark-invert-l: var(--bulma-link-75-l); + --bulma-link-dark-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-dark-invert-l), 1); + --bulma-link-soft: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-soft-l), 1); + --bulma-link-bold: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-bold-l), 1); + --bulma-link-soft-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-soft-invert-l), 1); + --bulma-link-bold-invert: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-bold-invert-l), 1); + --bulma-link-on-scheme-l: 58%; + --bulma-link-on-scheme: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-on-scheme-l), 1); + --bulma-info: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-l), 1); + --bulma-info-base: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-l), 1); + --bulma-info-rgb: 102, 209, 255; + --bulma-info-h: 198deg; + --bulma-info-s: 100%; + --bulma-info-l: 70%; + --bulma-info-00-l: 0%; + --bulma-info-05-l: 5%; + --bulma-info-10-l: 10%; + --bulma-info-15-l: 15%; + --bulma-info-20-l: 20%; + --bulma-info-25-l: 25%; + --bulma-info-30-l: 30%; + --bulma-info-35-l: 35%; + --bulma-info-40-l: 40%; + --bulma-info-45-l: 45%; + --bulma-info-50-l: 50%; + --bulma-info-55-l: 55%; + --bulma-info-60-l: 60%; + --bulma-info-65-l: 65%; + --bulma-info-70-l: 70%; + --bulma-info-75-l: 75%; + --bulma-info-80-l: 80%; + --bulma-info-85-l: 85%; + --bulma-info-90-l: 90%; + --bulma-info-95-l: 95%; + --bulma-info-100-l: 100%; + --bulma-info-00: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-00-l), 1); + --bulma-info-00-invert-l: var(--bulma-info-45-l); + --bulma-info-00-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-00-invert-l), 1); + --bulma-info-05: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-05-l), 1); + --bulma-info-05-invert-l: var(--bulma-info-50-l); + --bulma-info-05-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-05-invert-l), 1); + --bulma-info-10: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-10-l), 1); + --bulma-info-10-invert-l: var(--bulma-info-60-l); + --bulma-info-10-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-10-invert-l), 1); + --bulma-info-15: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-15-l), 1); + --bulma-info-15-invert-l: var(--bulma-info-80-l); + --bulma-info-15-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-15-invert-l), 1); + --bulma-info-20: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-20-l), 1); + --bulma-info-20-invert-l: var(--bulma-info-95-l); + --bulma-info-20-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-20-invert-l), 1); + --bulma-info-25: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-25-l), 1); + --bulma-info-25-invert-l: var(--bulma-info-100-l); + --bulma-info-25-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-25-invert-l), 1); + --bulma-info-30: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-30-l), 1); + --bulma-info-30-invert-l: var(--bulma-info-100-l); + --bulma-info-30-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-30-invert-l), 1); + --bulma-info-35: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-35-l), 1); + --bulma-info-35-invert-l: var(--bulma-info-100-l); + --bulma-info-35-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-35-invert-l), 1); + --bulma-info-40: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-40-l), 1); + --bulma-info-40-invert-l: var(--bulma-info-100-l); + --bulma-info-40-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-40-invert-l), 1); + --bulma-info-45: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-45-l), 1); + --bulma-info-45-invert-l: var(--bulma-info-00-l); + --bulma-info-45-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-45-invert-l), 1); + --bulma-info-50: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-50-l), 1); + --bulma-info-50-invert-l: var(--bulma-info-05-l); + --bulma-info-50-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-50-invert-l), 1); + --bulma-info-55: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-55-l), 1); + --bulma-info-55-invert-l: var(--bulma-info-05-l); + --bulma-info-55-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-55-invert-l), 1); + --bulma-info-60: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-60-l), 1); + --bulma-info-60-invert-l: var(--bulma-info-10-l); + --bulma-info-60-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-60-invert-l), 1); + --bulma-info-65: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-65-l), 1); + --bulma-info-65-invert-l: var(--bulma-info-10-l); + --bulma-info-65-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-65-invert-l), 1); + --bulma-info-70: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-70-l), 1); + --bulma-info-70-invert-l: var(--bulma-info-10-l); + --bulma-info-70-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-70-invert-l), 1); + --bulma-info-75: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-75-l), 1); + --bulma-info-75-invert-l: var(--bulma-info-10-l); + --bulma-info-75-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-75-invert-l), 1); + --bulma-info-80: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-80-l), 1); + --bulma-info-80-invert-l: var(--bulma-info-15-l); + --bulma-info-80-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-80-invert-l), 1); + --bulma-info-85: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-85-l), 1); + --bulma-info-85-invert-l: var(--bulma-info-15-l); + --bulma-info-85-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-85-invert-l), 1); + --bulma-info-90: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-90-l), 1); + --bulma-info-90-invert-l: var(--bulma-info-15-l); + --bulma-info-90-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-90-invert-l), 1); + --bulma-info-95: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-95-l), 1); + --bulma-info-95-invert-l: var(--bulma-info-20-l); + --bulma-info-95-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-95-invert-l), 1); + --bulma-info-100: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-100-l), 1); + --bulma-info-100-invert-l: var(--bulma-info-20-l); + --bulma-info-100-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-100-invert-l), 1); + --bulma-info-invert-l: var(--bulma-info-10-l); + --bulma-info-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-invert-l), 1); + --bulma-info-light-l: var(--bulma-info-90-l); + --bulma-info-light: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-light-l), 1); + --bulma-info-light-invert-l: var(--bulma-info-15-l); + --bulma-info-light-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-light-invert-l), 1); + --bulma-info-dark-l: var(--bulma-info-10-l); + --bulma-info-dark: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-dark-l), 1); + --bulma-info-dark-invert-l: var(--bulma-info-60-l); + --bulma-info-dark-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-dark-invert-l), 1); + --bulma-info-soft: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-soft-l), 1); + --bulma-info-bold: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-bold-l), 1); + --bulma-info-soft-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-soft-invert-l), 1); + --bulma-info-bold-invert: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-bold-invert-l), 1); + --bulma-info-on-scheme-l: 25%; + --bulma-info-on-scheme: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-on-scheme-l), 1); + --bulma-success: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-l), 1); + --bulma-success-base: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-l), 1); + --bulma-success-rgb: 72, 199, 142; + --bulma-success-h: 153deg; + --bulma-success-s: 53%; + --bulma-success-l: 53%; + --bulma-success-00-l: 0%; + --bulma-success-05-l: 3%; + --bulma-success-10-l: 8%; + --bulma-success-15-l: 13%; + --bulma-success-20-l: 18%; + --bulma-success-25-l: 23%; + --bulma-success-30-l: 28%; + --bulma-success-35-l: 33%; + --bulma-success-40-l: 38%; + --bulma-success-45-l: 43%; + --bulma-success-50-l: 48%; + --bulma-success-55-l: 53%; + --bulma-success-60-l: 58%; + --bulma-success-65-l: 63%; + --bulma-success-70-l: 68%; + --bulma-success-75-l: 73%; + --bulma-success-80-l: 78%; + --bulma-success-85-l: 83%; + --bulma-success-90-l: 88%; + --bulma-success-95-l: 93%; + --bulma-success-100-l: 98%; + --bulma-success-00: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-00-l), 1); + --bulma-success-00-invert-l: var(--bulma-success-45-l); + --bulma-success-00-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-00-invert-l), 1); + --bulma-success-05: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-05-l), 1); + --bulma-success-05-invert-l: var(--bulma-success-45-l); + --bulma-success-05-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-05-invert-l), 1); + --bulma-success-10: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-10-l), 1); + --bulma-success-10-invert-l: var(--bulma-success-55-l); + --bulma-success-10-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-10-invert-l), 1); + --bulma-success-15: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-15-l), 1); + --bulma-success-15-invert-l: var(--bulma-success-75-l); + --bulma-success-15-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-15-invert-l), 1); + --bulma-success-20: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-20-l), 1); + --bulma-success-20-invert-l: var(--bulma-success-90-l); + --bulma-success-20-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-20-invert-l), 1); + --bulma-success-25: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-25-l), 1); + --bulma-success-25-invert-l: var(--bulma-success-100-l); + --bulma-success-25-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-25-invert-l), 1); + --bulma-success-30: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-30-l), 1); + --bulma-success-30-invert-l: var(--bulma-success-100-l); + --bulma-success-30-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-30-invert-l), 1); + --bulma-success-35: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-35-l), 1); + --bulma-success-35-invert-l: var(--bulma-success-100-l); + --bulma-success-35-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-35-invert-l), 1); + --bulma-success-40: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-40-l), 1); + --bulma-success-40-invert-l: var(--bulma-success-100-l); + --bulma-success-40-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-40-invert-l), 1); + --bulma-success-45: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-45-l), 1); + --bulma-success-45-invert-l: var(--bulma-success-05-l); + --bulma-success-45-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-45-invert-l), 1); + --bulma-success-50: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-50-l), 1); + --bulma-success-50-invert-l: var(--bulma-success-05-l); + --bulma-success-50-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-50-invert-l), 1); + --bulma-success-55: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-55-l), 1); + --bulma-success-55-invert-l: var(--bulma-success-10-l); + --bulma-success-55-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-55-invert-l), 1); + --bulma-success-60: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-60-l), 1); + --bulma-success-60-invert-l: var(--bulma-success-10-l); + --bulma-success-60-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-60-invert-l), 1); + --bulma-success-65: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-65-l), 1); + --bulma-success-65-invert-l: var(--bulma-success-10-l); + --bulma-success-65-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-65-invert-l), 1); + --bulma-success-70: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-70-l), 1); + --bulma-success-70-invert-l: var(--bulma-success-10-l); + --bulma-success-70-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-70-invert-l), 1); + --bulma-success-75: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-75-l), 1); + --bulma-success-75-invert-l: var(--bulma-success-15-l); + --bulma-success-75-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-75-invert-l), 1); + --bulma-success-80: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-80-l), 1); + --bulma-success-80-invert-l: var(--bulma-success-15-l); + --bulma-success-80-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-80-invert-l), 1); + --bulma-success-85: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-85-l), 1); + --bulma-success-85-invert-l: var(--bulma-success-15-l); + --bulma-success-85-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-85-invert-l), 1); + --bulma-success-90: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-90-l), 1); + --bulma-success-90-invert-l: var(--bulma-success-20-l); + --bulma-success-90-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-90-invert-l), 1); + --bulma-success-95: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-95-l), 1); + --bulma-success-95-invert-l: var(--bulma-success-20-l); + --bulma-success-95-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-95-invert-l), 1); + --bulma-success-100: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-100-l), 1); + --bulma-success-100-invert-l: var(--bulma-success-20-l); + --bulma-success-100-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-100-invert-l), 1); + --bulma-success-invert-l: var(--bulma-success-10-l); + --bulma-success-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-invert-l), 1); + --bulma-success-light-l: var(--bulma-success-90-l); + --bulma-success-light: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-light-l), 1); + --bulma-success-light-invert-l: var(--bulma-success-20-l); + --bulma-success-light-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-light-invert-l), 1); + --bulma-success-dark-l: var(--bulma-success-10-l); + --bulma-success-dark: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-dark-l), 1); + --bulma-success-dark-invert-l: var(--bulma-success-55-l); + --bulma-success-dark-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-dark-invert-l), 1); + --bulma-success-soft: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-soft-l), 1); + --bulma-success-bold: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-bold-l), 1); + --bulma-success-soft-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-soft-invert-l), 1); + --bulma-success-bold-invert: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-bold-invert-l), 1); + --bulma-success-on-scheme-l: 23%; + --bulma-success-on-scheme: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-on-scheme-l), 1); + --bulma-warning: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-l), 1); + --bulma-warning-base: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-l), 1); + --bulma-warning-rgb: 255, 183, 15; + --bulma-warning-h: 42deg; + --bulma-warning-s: 100%; + --bulma-warning-l: 53%; + --bulma-warning-00-l: 0%; + --bulma-warning-05-l: 3%; + --bulma-warning-10-l: 8%; + --bulma-warning-15-l: 13%; + --bulma-warning-20-l: 18%; + --bulma-warning-25-l: 23%; + --bulma-warning-30-l: 28%; + --bulma-warning-35-l: 33%; + --bulma-warning-40-l: 38%; + --bulma-warning-45-l: 43%; + --bulma-warning-50-l: 48%; + --bulma-warning-55-l: 53%; + --bulma-warning-60-l: 58%; + --bulma-warning-65-l: 63%; + --bulma-warning-70-l: 68%; + --bulma-warning-75-l: 73%; + --bulma-warning-80-l: 78%; + --bulma-warning-85-l: 83%; + --bulma-warning-90-l: 88%; + --bulma-warning-95-l: 93%; + --bulma-warning-100-l: 98%; + --bulma-warning-00: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-00-l), 1); + --bulma-warning-00-invert-l: var(--bulma-warning-40-l); + --bulma-warning-00-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-00-invert-l), 1); + --bulma-warning-05: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-05-l), 1); + --bulma-warning-05-invert-l: var(--bulma-warning-45-l); + --bulma-warning-05-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-05-invert-l), 1); + --bulma-warning-10: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-10-l), 1); + --bulma-warning-10-invert-l: var(--bulma-warning-50-l); + --bulma-warning-10-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-10-invert-l), 1); + --bulma-warning-15: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-15-l), 1); + --bulma-warning-15-invert-l: var(--bulma-warning-70-l); + --bulma-warning-15-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-15-invert-l), 1); + --bulma-warning-20: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-20-l), 1); + --bulma-warning-20-invert-l: var(--bulma-warning-100-l); + --bulma-warning-20-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-20-invert-l), 1); + --bulma-warning-25: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-25-l), 1); + --bulma-warning-25-invert-l: var(--bulma-warning-100-l); + --bulma-warning-25-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-25-invert-l), 1); + --bulma-warning-30: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-30-l), 1); + --bulma-warning-30-invert-l: var(--bulma-warning-100-l); + --bulma-warning-30-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-30-invert-l), 1); + --bulma-warning-35: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-35-l), 1); + --bulma-warning-35-invert-l: var(--bulma-warning-100-l); + --bulma-warning-35-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-35-invert-l), 1); + --bulma-warning-40: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-40-l), 1); + --bulma-warning-40-invert-l: var(--bulma-warning-00-l); + --bulma-warning-40-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-40-invert-l), 1); + --bulma-warning-45: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-45-l), 1); + --bulma-warning-45-invert-l: var(--bulma-warning-05-l); + --bulma-warning-45-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-45-invert-l), 1); + --bulma-warning-50: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-50-l), 1); + --bulma-warning-50-invert-l: var(--bulma-warning-10-l); + --bulma-warning-50-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-50-invert-l), 1); + --bulma-warning-55: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-55-l), 1); + --bulma-warning-55-invert-l: var(--bulma-warning-10-l); + --bulma-warning-55-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-55-invert-l), 1); + --bulma-warning-60: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-60-l), 1); + --bulma-warning-60-invert-l: var(--bulma-warning-10-l); + --bulma-warning-60-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-60-invert-l), 1); + --bulma-warning-65: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-65-l), 1); + --bulma-warning-65-invert-l: var(--bulma-warning-10-l); + --bulma-warning-65-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-65-invert-l), 1); + --bulma-warning-70: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-70-l), 1); + --bulma-warning-70-invert-l: var(--bulma-warning-15-l); + --bulma-warning-70-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-70-invert-l), 1); + --bulma-warning-75: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-75-l), 1); + --bulma-warning-75-invert-l: var(--bulma-warning-15-l); + --bulma-warning-75-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-75-invert-l), 1); + --bulma-warning-80: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-80-l), 1); + --bulma-warning-80-invert-l: var(--bulma-warning-15-l); + --bulma-warning-80-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-80-invert-l), 1); + --bulma-warning-85: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-85-l), 1); + --bulma-warning-85-invert-l: var(--bulma-warning-15-l); + --bulma-warning-85-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-85-invert-l), 1); + --bulma-warning-90: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-90-l), 1); + --bulma-warning-90-invert-l: var(--bulma-warning-15-l); + --bulma-warning-90-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-90-invert-l), 1); + --bulma-warning-95: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-95-l), 1); + --bulma-warning-95-invert-l: var(--bulma-warning-15-l); + --bulma-warning-95-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-95-invert-l), 1); + --bulma-warning-100: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-100-l), 1); + --bulma-warning-100-invert-l: var(--bulma-warning-20-l); + --bulma-warning-100-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-100-invert-l), 1); + --bulma-warning-invert-l: var(--bulma-warning-10-l); + --bulma-warning-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-invert-l), 1); + --bulma-warning-light-l: var(--bulma-warning-90-l); + --bulma-warning-light: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-light-l), 1); + --bulma-warning-light-invert-l: var(--bulma-warning-15-l); + --bulma-warning-light-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-light-invert-l), 1); + --bulma-warning-dark-l: var(--bulma-warning-10-l); + --bulma-warning-dark: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-dark-l), 1); + --bulma-warning-dark-invert-l: var(--bulma-warning-50-l); + --bulma-warning-dark-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-dark-invert-l), 1); + --bulma-warning-soft: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-soft-l), 1); + --bulma-warning-bold: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-bold-l), 1); + --bulma-warning-soft-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-soft-invert-l), 1); + --bulma-warning-bold-invert: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-bold-invert-l), 1); + --bulma-warning-on-scheme-l: 23%; + --bulma-warning-on-scheme: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-on-scheme-l), 1); + --bulma-danger: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-l), 1); + --bulma-danger-base: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-l), 1); + --bulma-danger-rgb: 255, 102, 133; + --bulma-danger-h: 348deg; + --bulma-danger-s: 100%; + --bulma-danger-l: 70%; + --bulma-danger-00-l: 0%; + --bulma-danger-05-l: 5%; + --bulma-danger-10-l: 10%; + --bulma-danger-15-l: 15%; + --bulma-danger-20-l: 20%; + --bulma-danger-25-l: 25%; + --bulma-danger-30-l: 30%; + --bulma-danger-35-l: 35%; + --bulma-danger-40-l: 40%; + --bulma-danger-45-l: 45%; + --bulma-danger-50-l: 50%; + --bulma-danger-55-l: 55%; + --bulma-danger-60-l: 60%; + --bulma-danger-65-l: 65%; + --bulma-danger-70-l: 70%; + --bulma-danger-75-l: 75%; + --bulma-danger-80-l: 80%; + --bulma-danger-85-l: 85%; + --bulma-danger-90-l: 90%; + --bulma-danger-95-l: 95%; + --bulma-danger-100-l: 100%; + --bulma-danger-00: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-00-l), 1); + --bulma-danger-00-invert-l: var(--bulma-danger-65-l); + --bulma-danger-00-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-00-invert-l), 1); + --bulma-danger-05: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-05-l), 1); + --bulma-danger-05-invert-l: var(--bulma-danger-70-l); + --bulma-danger-05-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-05-invert-l), 1); + --bulma-danger-10: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-10-l), 1); + --bulma-danger-10-invert-l: var(--bulma-danger-75-l); + --bulma-danger-10-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-10-invert-l), 1); + --bulma-danger-15: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-15-l), 1); + --bulma-danger-15-invert-l: var(--bulma-danger-80-l); + --bulma-danger-15-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-15-invert-l), 1); + --bulma-danger-20: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-20-l), 1); + --bulma-danger-20-invert-l: var(--bulma-danger-85-l); + --bulma-danger-20-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-20-invert-l), 1); + --bulma-danger-25: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-25-l), 1); + --bulma-danger-25-invert-l: var(--bulma-danger-90-l); + --bulma-danger-25-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-25-invert-l), 1); + --bulma-danger-30: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-30-l), 1); + --bulma-danger-30-invert-l: var(--bulma-danger-100-l); + --bulma-danger-30-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-30-invert-l), 1); + --bulma-danger-35: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-35-l), 1); + --bulma-danger-35-invert-l: var(--bulma-danger-100-l); + --bulma-danger-35-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-35-invert-l), 1); + --bulma-danger-40: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-40-l), 1); + --bulma-danger-40-invert-l: var(--bulma-danger-100-l); + --bulma-danger-40-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-40-invert-l), 1); + --bulma-danger-45: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-45-l), 1); + --bulma-danger-45-invert-l: var(--bulma-danger-100-l); + --bulma-danger-45-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-45-invert-l), 1); + --bulma-danger-50: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-50-l), 1); + --bulma-danger-50-invert-l: var(--bulma-danger-100-l); + --bulma-danger-50-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-50-invert-l), 1); + --bulma-danger-55: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-55-l), 1); + --bulma-danger-55-invert-l: var(--bulma-danger-100-l); + --bulma-danger-55-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-55-invert-l), 1); + --bulma-danger-60: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-60-l), 1); + --bulma-danger-60-invert-l: var(--bulma-danger-100-l); + --bulma-danger-60-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-60-invert-l), 1); + --bulma-danger-65: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-65-l), 1); + --bulma-danger-65-invert-l: var(--bulma-danger-00-l); + --bulma-danger-65-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-65-invert-l), 1); + --bulma-danger-70: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-70-l), 1); + --bulma-danger-70-invert-l: var(--bulma-danger-05-l); + --bulma-danger-70-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-70-invert-l), 1); + --bulma-danger-75: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-75-l), 1); + --bulma-danger-75-invert-l: var(--bulma-danger-10-l); + --bulma-danger-75-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-75-invert-l), 1); + --bulma-danger-80: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-80-l), 1); + --bulma-danger-80-invert-l: var(--bulma-danger-15-l); + --bulma-danger-80-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-80-invert-l), 1); + --bulma-danger-85: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-85-l), 1); + --bulma-danger-85-invert-l: var(--bulma-danger-20-l); + --bulma-danger-85-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-85-invert-l), 1); + --bulma-danger-90: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-90-l), 1); + --bulma-danger-90-invert-l: var(--bulma-danger-25-l); + --bulma-danger-90-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-90-invert-l), 1); + --bulma-danger-95: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-95-l), 1); + --bulma-danger-95-invert-l: var(--bulma-danger-25-l); + --bulma-danger-95-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-95-invert-l), 1); + --bulma-danger-100: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-100-l), 1); + --bulma-danger-100-invert-l: var(--bulma-danger-30-l); + --bulma-danger-100-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-100-invert-l), 1); + --bulma-danger-invert-l: var(--bulma-danger-05-l); + --bulma-danger-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-invert-l), 1); + --bulma-danger-light-l: var(--bulma-danger-90-l); + --bulma-danger-light: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-light-l), 1); + --bulma-danger-light-invert-l: var(--bulma-danger-25-l); + --bulma-danger-light-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-light-invert-l), 1); + --bulma-danger-dark-l: var(--bulma-danger-10-l); + --bulma-danger-dark: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-dark-l), 1); + --bulma-danger-dark-invert-l: var(--bulma-danger-75-l); + --bulma-danger-dark-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-dark-invert-l), 1); + --bulma-danger-soft: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-soft-l), 1); + --bulma-danger-bold: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-bold-l), 1); + --bulma-danger-soft-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-soft-invert-l), 1); + --bulma-danger-bold-invert: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-bold-invert-l), 1); + --bulma-danger-on-scheme-l: 40%; + --bulma-danger-on-scheme: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-on-scheme-l), 1); + --bulma-black-bis: hsl(221, 14%, 9%); + --bulma-black-ter: hsl(221, 14%, 14%); + --bulma-grey-darker: hsl(221, 14%, 21%); + --bulma-grey-dark: hsl(221, 14%, 29%); + --bulma-grey: hsl(221, 14%, 48%); + --bulma-grey-light: hsl(221, 14%, 71%); + --bulma-grey-lighter: hsl(221, 14%, 86%); + --bulma-white-ter: hsl(221, 14%, 96%); + --bulma-white-bis: hsl(221, 14%, 98%); + --bulma-shadow-h: 221deg; + --bulma-shadow-s: 14%; + --bulma-shadow-l: 4%; + --bulma-size-1: 3rem; + --bulma-size-2: 2.5rem; + --bulma-size-3: 2rem; + --bulma-size-4: 1.5rem; + --bulma-size-5: 1.25rem; + --bulma-size-6: 1rem; + --bulma-size-7: 0.75rem; + --bulma-scheme-main: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-main-l)); + --bulma-scheme-main-bis: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-main-bis-l)); + --bulma-scheme-main-ter: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-main-ter-l)); + --bulma-background: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-background-l)); + --bulma-background-hover: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), calc(var(--bulma-background-l) + var(--bulma-hover-background-l-delta))); + --bulma-background-active: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), calc(var(--bulma-background-l) + var(--bulma-active-background-l-delta))); + --bulma-border-weak: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-border-weak-l)); + --bulma-border: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-border-l)); + --bulma-border-hover: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), calc(var(--bulma-border-l) + var(--bulma-hover-border-l-delta))); + --bulma-border-active: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), calc(var(--bulma-border-l) + var(--bulma-active-border-l-delta))); + --bulma-text-weak: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-weak-l)); + --bulma-text: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-l)); + --bulma-text-strong: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-strong-l)); + --bulma-scheme-invert-ter: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-ter-l)); + --bulma-scheme-invert-bis: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-bis-l)); + --bulma-scheme-invert: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l)); + --bulma-link: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-l)); + --bulma-link-text: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-on-scheme-l)); + --bulma-link-text-hover: hsl(var(--bulma-link-h), var(--bulma-link-s), calc(var(--bulma-link-on-scheme-l) + var(--bulma-hover-color-l-delta))); + --bulma-link-text-active: hsl(var(--bulma-link-h), var(--bulma-link-s), calc(var(--bulma-link-on-scheme-l) + var(--bulma-active-color-l-delta))); + --bulma-focus-h: var(--bulma-link-h); + --bulma-focus-s: var(--bulma-link-s); + --bulma-focus-l: var(--bulma-link-l); + --bulma-focus-offset: 1px; + --bulma-focus-style: solid; + --bulma-focus-width: 2px; + --bulma-focus-shadow-size: 0 0 0 0.1875em; + --bulma-focus-shadow-alpha: 0.25; + --bulma-code: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-on-scheme-l)); + --bulma-code-background: var(--bulma-background); + --bulma-pre: var(--bulma-text); + --bulma-pre-background: var(--bulma-background); + --bulma-shadow: 0 0.5em 1em -0.125em hsla(var(--bulma-shadow-h), var(--bulma-shadow-s), var(--bulma-shadow-l), 0.1), 0 0px 0 1px hsla(var(--bulma-shadow-h), var(--bulma-shadow-s), var(--bulma-shadow-l), 0.02); +} + +[data-theme=dark], +.theme-dark { + --bulma-white-on-scheme-l: 100%; + --bulma-white-on-scheme: hsla(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-on-scheme-l), 1); + --bulma-black-on-scheme-l: 0%; + --bulma-black-on-scheme: hsla(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-on-scheme-l), 1); + --bulma-light-on-scheme-l: 96%; + --bulma-light-on-scheme: hsla(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-on-scheme-l), 1); + --bulma-dark-on-scheme-l: 56%; + --bulma-dark-on-scheme: hsla(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-on-scheme-l), 1); + --bulma-text-on-scheme-l: 54%; + --bulma-text-on-scheme: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-on-scheme-l), 1); + --bulma-primary-on-scheme-l: 41%; + --bulma-primary-on-scheme: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-on-scheme-l), 1); + --bulma-link-on-scheme-l: 73%; + --bulma-link-on-scheme: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-on-scheme-l), 1); + --bulma-info-on-scheme-l: 70%; + --bulma-info-on-scheme: hsla(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-on-scheme-l), 1); + --bulma-success-on-scheme-l: 53%; + --bulma-success-on-scheme: hsla(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-on-scheme-l), 1); + --bulma-warning-on-scheme-l: 53%; + --bulma-warning-on-scheme: hsla(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-on-scheme-l), 1); + --bulma-danger-on-scheme-l: 70%; + --bulma-danger-on-scheme: hsla(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-on-scheme-l), 1); + --bulma-scheme-brightness: dark; + --bulma-scheme-main-l: 9%; + --bulma-scheme-main-bis-l: 11%; + --bulma-scheme-main-ter-l: 13%; + --bulma-soft-l: 20%; + --bulma-bold-l: 90%; + --bulma-soft-invert-l: 90%; + --bulma-bold-invert-l: 20%; + --bulma-background-l: 14%; + --bulma-border-weak-l: 21%; + --bulma-border-l: 24%; + --bulma-text-weak-l: 53%; + --bulma-text-l: 71%; + --bulma-text-strong-l: 93%; + --bulma-text-title-l: 100%; + --bulma-hover-background-l-delta: 5%; + --bulma-active-background-l-delta: 10%; + --bulma-hover-border-l-delta: 10%; + --bulma-active-border-l-delta: 20%; + --bulma-hover-color-l-delta: 5%; + --bulma-active-color-l-delta: 10%; + --bulma-shadow-h: 0deg; + --bulma-shadow-s: 0%; + --bulma-shadow-l: 100%; + --bulma-scheme-main: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-main-l)); + --bulma-scheme-main-bis: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-main-bis-l)); + --bulma-scheme-main-ter: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-main-ter-l)); + --bulma-background: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-background-l)); + --bulma-background-hover: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), calc(var(--bulma-background-l) + var(--bulma-hover-background-l-delta))); + --bulma-background-active: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), calc(var(--bulma-background-l) + var(--bulma-active-background-l-delta))); + --bulma-border-weak: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-border-weak-l)); + --bulma-border: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-border-l)); + --bulma-border-hover: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), calc(var(--bulma-border-l) + var(--bulma-hover-border-l-delta))); + --bulma-border-active: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), calc(var(--bulma-border-l) + var(--bulma-active-border-l-delta))); + --bulma-text-weak: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-weak-l)); + --bulma-text: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-l)); + --bulma-text-strong: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-strong-l)); + --bulma-scheme-invert-ter: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-ter-l)); + --bulma-scheme-invert-bis: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-bis-l)); + --bulma-scheme-invert: hsl(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l)); + --bulma-link: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-l)); + --bulma-link-text: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-on-scheme-l)); + --bulma-link-text-hover: hsl(var(--bulma-link-h), var(--bulma-link-s), calc(var(--bulma-link-on-scheme-l) + var(--bulma-hover-color-l-delta))); + --bulma-link-text-active: hsl(var(--bulma-link-h), var(--bulma-link-s), calc(var(--bulma-link-on-scheme-l) + var(--bulma-active-color-l-delta))); + --bulma-focus-h: var(--bulma-link-h); + --bulma-focus-s: var(--bulma-link-s); + --bulma-focus-l: var(--bulma-link-l); + --bulma-focus-offset: 1px; + --bulma-focus-style: solid; + --bulma-focus-width: 2px; + --bulma-focus-shadow-size: 0 0 0 0.1875em; + --bulma-focus-shadow-alpha: 0.25; + --bulma-code: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-on-scheme-l)); + --bulma-code-background: var(--bulma-background); + --bulma-pre: var(--bulma-text); + --bulma-pre-background: var(--bulma-background); + --bulma-shadow: 0 0.5em 1em -0.125em hsla(var(--bulma-shadow-h), var(--bulma-shadow-s), var(--bulma-shadow-l), 0.1), 0 0px 0 1px hsla(var(--bulma-shadow-h), var(--bulma-shadow-s), var(--bulma-shadow-l), 0.02); +} + +/* Bulma Base */ +/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */ +html, +body, +p, +ol, +ul, +li, +dl, +dt, +dd, +blockquote, +figure, +fieldset, +legend, +textarea, +pre, +iframe, +hr, +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0; + padding: 0; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: 100%; + font-weight: normal; +} + +ul { + list-style: none; +} + +button, +input, +select, +textarea { + margin: 0; +} + +html { + box-sizing: border-box; +} + +*, *::before, *::after { + box-sizing: inherit; +} + +img, +video { + height: auto; + max-width: 100%; +} + +iframe { + border: 0; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} +td:not([align]), +th:not([align]) { + text-align: inherit; +} + +:root { + --bulma-body-background-color: var(--bulma-scheme-main); + --bulma-body-size: 1em; + --bulma-body-min-width: 300px; + --bulma-body-rendering: optimizeLegibility; + --bulma-body-family: var(--bulma-family-primary); + --bulma-body-overflow-x: hidden; + --bulma-body-overflow-y: scroll; + --bulma-body-color: var(--bulma-text); + --bulma-body-font-size: 1em; + --bulma-body-weight: var(--bulma-weight-normal); + --bulma-body-line-height: 1.5; + --bulma-code-family: var(--bulma-family-code); + --bulma-code-padding: 0.25em 0.5em 0.25em; + --bulma-code-weight: normal; + --bulma-code-size: 0.875em; + --bulma-small-font-size: 0.875em; + --bulma-hr-background-color: var(--bulma-background); + --bulma-hr-height: 2px; + --bulma-hr-margin: 1.5rem 0; + --bulma-strong-color: var(--bulma-text-strong); + --bulma-strong-weight: var(--bulma-weight-semibold); + --bulma-pre-font-size: 0.875em; + --bulma-pre-padding: 1.25rem 1.5rem; + --bulma-pre-code-font-size: 1em; +} + +html { + background-color: var(--bulma-body-background-color); + font-size: var(--bulma-body-size); + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + min-width: var(--bulma-body-min-width); + overflow-x: var(--bulma-body-overflow-x); + overflow-y: var(--bulma-body-overflow-y); + text-rendering: var(--bulma-body-rendering); + text-size-adjust: 100%; +} + +article, +aside, +figure, +footer, +header, +hgroup, +section { + display: block; +} + +body, +button, +input, +optgroup, +select, +textarea { + font-family: var(--bulma-body-family); +} + +code, +pre { + -moz-osx-font-smoothing: auto; + -webkit-font-smoothing: auto; + font-family: var(--bulma-code-family); +} + +body { + color: var(--bulma-body-color); + font-size: var(--bulma-body-font-size); + font-weight: var(--bulma-body-weight); + line-height: var(--bulma-body-line-height); +} + +a, +button { + cursor: pointer; +} +a:focus-visible, +button:focus-visible { + outline-color: hsl(var(--bulma-focus-h), var(--bulma-focus-s), var(--bulma-focus-l)); + outline-offset: var(--bulma-focus-offset); + outline-style: var(--bulma-focus-style); + outline-width: var(--bulma-focus-width); +} +a:focus-visible:active, +button:focus-visible:active { + outline-width: 1px; +} +a:active, +button:active { + outline-width: 1px; +} + +a { + color: var(--bulma-link-text); + cursor: pointer; + text-decoration: none; + transition-duration: var(--bulma-duration); + transition-property: background-color, border-color, color; +} +a strong { + color: currentColor; +} + +button { + appearance: none; + background: none; + border: none; + color: inherit; + font-family: inherit; + font-size: 1em; + margin: 0; + padding: 0; + transition-duration: var(--bulma-duration); + transition-property: background-color, border-color, color; +} + +code { + background-color: var(--bulma-code-background); + border-radius: 0.5em; + color: var(--bulma-code); + font-size: var(--bulma-code-size); + font-weight: var(--bulma-code-weight); + padding: var(--bulma-code-padding); +} + +hr { + background-color: var(--bulma-hr-background-color); + border: none; + display: block; + height: var(--bulma-hr-height); + margin: var(--bulma-hr-margin); +} + +img { + height: auto; + max-width: 100%; +} + +input[type=checkbox], +input[type=radio] { + vertical-align: baseline; +} + +small { + font-size: var(--bulma-small-font-size); +} + +span { + font-style: inherit; + font-weight: inherit; +} + +strong { + color: var(--bulma-strong-color); + font-weight: var(--bulma-strong-weight); +} + +svg { + height: auto; + width: auto; +} + +fieldset { + border: none; +} + +pre { + -webkit-overflow-scrolling: touch; + background-color: var(--bulma-pre-background); + color: var(--bulma-pre); + font-size: var(--bulma-pre-font-size); + overflow-x: auto; + padding: var(--bulma-pre-padding); + white-space: pre; + word-wrap: normal; +} +pre code { + background-color: transparent; + color: currentColor; + font-size: var(--bulma-pre-code-font-size); + padding: 0; +} + +table td, +table th { + vertical-align: top; +} +table td:not([align]), +table th:not([align]) { + text-align: inherit; +} +table th { + color: var(--bulma-text-strong); +} + +@keyframes spinAround { + from { + transform: rotate(0deg); + } + to { + transform: rotate(359deg); + } +} +@keyframes pulsate { + 50% { + opacity: 0.5; + } +} +/* Bulma Elements */ +.navbar-link:not(.is-arrowless)::after, .select:not(.is-multiple):not(.is-loading)::after { + border: 0.125em solid var(--bulma-arrow-color); + border-right: 0; + border-top: 0; + content: " "; + display: block; + height: 0.625em; + margin-top: -0.4375em; + pointer-events: none; + position: absolute; + top: 50%; + transform: rotate(-45deg); + transform-origin: center; + transition-duration: var(--bulma-duration); + transition-property: border-color; + width: 0.625em; +} + +.skeleton-block:not(:last-child), .media:not(:last-child), .level:not(:last-child), .fixed-grid:not(:last-child), .grid:not(:last-child), .tabs:not(:last-child), .pagination:not(:last-child), .message:not(:last-child), .card:not(:last-child), .breadcrumb:not(:last-child), .field:not(:last-child), .file:not(:last-child), .title:not(:last-child), +.subtitle:not(:last-child), .tags:not(:last-child), .table:not(:last-child), .table-container:not(:last-child), .progress:not(:last-child), .notification:not(:last-child), .content:not(:last-child), .buttons:not(:last-child), .box:not(:last-child), .block:not(:last-child) { + margin-bottom: var(--bulma-block-spacing); +} + +.pagination-previous, +.pagination-next, +.pagination-link, +.pagination-ellipsis, .file-cta, +.file-name, .select select, .input, .textarea, .button { + align-items: center; + appearance: none; + border-color: transparent; + border-style: solid; + border-width: var(--bulma-control-border-width); + border-radius: var(--bulma-control-radius); + box-shadow: none; + display: inline-flex; + font-size: var(--bulma-control-size); + height: var(--bulma-control-height); + justify-content: flex-start; + line-height: var(--bulma-control-line-height); + padding-bottom: var(--bulma-control-padding-vertical); + padding-left: var(--bulma-control-padding-horizontal); + padding-right: var(--bulma-control-padding-horizontal); + padding-top: var(--bulma-control-padding-vertical); + position: relative; + transition-duration: var(--bulma-duration); + transition-property: background-color, border-color, box-shadow, color; + vertical-align: top; +} +.pagination-previous:focus, +.pagination-next:focus, +.pagination-link:focus, +.pagination-ellipsis:focus, .file-cta:focus, +.file-name:focus, .select select:focus, .input:focus, .textarea:focus, .button:focus, .pagination-previous:focus-visible, +.pagination-next:focus-visible, +.pagination-link:focus-visible, +.pagination-ellipsis:focus-visible, .file-cta:focus-visible, +.file-name:focus-visible, .select select:focus-visible, .input:focus-visible, .textarea:focus-visible, .button:focus-visible, .pagination-previous:focus-within, +.pagination-next:focus-within, +.pagination-link:focus-within, +.pagination-ellipsis:focus-within, .file-cta:focus-within, +.file-name:focus-within, .select select:focus-within, .input:focus-within, .textarea:focus-within, .button:focus-within, .is-focused.pagination-previous, +.is-focused.pagination-next, +.is-focused.pagination-link, +.is-focused.pagination-ellipsis, .is-focused.file-cta, +.is-focused.file-name, .select select.is-focused, .is-focused.input, .is-focused.textarea, .is-focused.button, .pagination-previous:active, +.pagination-next:active, +.pagination-link:active, +.pagination-ellipsis:active, .file-cta:active, +.file-name:active, .select select:active, .input:active, .textarea:active, .button:active, .is-active.pagination-previous, +.is-active.pagination-next, +.is-active.pagination-link, +.is-active.pagination-ellipsis, .is-active.file-cta, +.is-active.file-name, .select select.is-active, .is-active.input, .is-active.textarea, .is-active.button { + outline: none; +} +[disabled].pagination-previous, +[disabled].pagination-next, +[disabled].pagination-link, +[disabled].pagination-ellipsis, [disabled].file-cta, +[disabled].file-name, .select select[disabled], [disabled].input, [disabled].textarea, [disabled].button, fieldset[disabled] .pagination-previous, +fieldset[disabled] .pagination-next, +fieldset[disabled] .pagination-link, +fieldset[disabled] .pagination-ellipsis, fieldset[disabled] .file-cta, +fieldset[disabled] .file-name, fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .input, fieldset[disabled] .textarea, fieldset[disabled] .button { + cursor: not-allowed; +} + +.modal-close { + --bulma-delete-dimensions: 1.25rem; + --bulma-delete-background-l: 0%; + --bulma-delete-background-alpha: 0.5; + --bulma-delete-color: var(--bulma-white); + appearance: none; + background-color: hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-delete-background-l), var(--bulma-delete-background-alpha)); + border: none; + border-radius: var(--bulma-radius-rounded); + cursor: pointer; + pointer-events: auto; + display: inline-flex; + flex-grow: 0; + flex-shrink: 0; + font-size: 1em; + height: var(--bulma-delete-dimensions); + max-height: var(--bulma-delete-dimensions); + max-width: var(--bulma-delete-dimensions); + min-height: var(--bulma-delete-dimensions); + min-width: var(--bulma-delete-dimensions); + outline: none; + position: relative; + vertical-align: top; + width: var(--bulma-delete-dimensions); +} +.modal-close::before, .modal-close::after { + background-color: var(--bulma-delete-color); + content: ""; + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + transform-origin: center center; +} +.modal-close::before { + height: 2px; + width: 50%; +} +.modal-close::after { + height: 50%; + width: 2px; +} +.modal-close:hover, .modal-close:focus { + --bulma-delete-background-alpha: 0.4; +} +.modal-close:active { + --bulma-delete-background-alpha: 0.5; +} +.is-small.modal-close { + --bulma-delete-dimensions: 1rem; +} +.is-medium.modal-close { + --bulma-delete-dimensions: 1.5rem; +} +.is-large.modal-close { + --bulma-delete-dimensions: 2rem; +} + +.control.is-loading::after, .select.is-loading::after, .button.is-loading::after { + animation: spinAround 500ms infinite linear; + border: 2px solid var(--bulma-loading-color); + border-radius: var(--bulma-radius-rounded); + border-right-color: transparent; + border-top-color: transparent; + content: ""; + display: block; + height: 1em; + position: relative; + width: 1em; +} + +.is-overlay, .hero-video, .modal, .modal-background { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; +} + +.navbar-burger, .menu-list a, +.menu-list button, +.menu-list .menu-item { + appearance: none; + background: none; + border: none; + color: inherit; + font-family: inherit; + font-size: 1em; + margin: 0; + padding: 0; +} + +.is-unselectable, .tabs, .pagination-previous, +.pagination-next, +.pagination-link, +.pagination-ellipsis, .breadcrumb, .file, .button { + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.box { + --bulma-box-background-color: var(--bulma-scheme-main); + --bulma-box-color: var(--bulma-text); + --bulma-box-radius: var(--bulma-radius-large); + --bulma-box-shadow: var(--bulma-shadow); + --bulma-box-padding: 1.25rem; + --bulma-box-link-hover-shadow: 0 0.5em 1em -0.125em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.1), 0 0 0 1px var(--bulma-link); + --bulma-box-link-active-shadow: inset 0 1px 2px hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.2), 0 0 0 1px var(--bulma-link); +} + +.box { + background-color: var(--bulma-box-background-color); + border-radius: var(--bulma-box-radius); + box-shadow: var(--bulma-box-shadow); + color: var(--bulma-box-color); + display: block; + padding: var(--bulma-box-padding); +} + +a.box:hover, a.box:focus { + box-shadow: var(--bulma-box-link-hover-shadow); +} +a.box:active { + box-shadow: var(--bulma-box-link-active-shadow); +} + +.button { + --bulma-button-family: false; + --bulma-button-weight: var(--bulma-weight-medium); + --bulma-button-border-color: var(--bulma-border); + --bulma-button-border-style: solid; + --bulma-button-border-width: var(--bulma-control-border-width); + --bulma-button-padding-vertical: 0.5em; + --bulma-button-padding-horizontal: 1em; + --bulma-button-focus-border-color: var(--bulma-link-focus-border); + --bulma-button-focus-box-shadow-size: 0 0 0 0.125em; + --bulma-button-focus-box-shadow-color: hsla(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-on-scheme-l), 0.25); + --bulma-button-active-color: var(--bulma-link-active); + --bulma-button-active-border-color: var(--bulma-link-active-border); + --bulma-button-text-color: var(--bulma-text); + --bulma-button-text-decoration: underline; + --bulma-button-text-hover-background-color: var(--bulma-background); + --bulma-button-text-hover-color: var(--bulma-text-strong); + --bulma-button-ghost-background: none; + --bulma-button-ghost-border-color: transparent; + --bulma-button-ghost-color: var(--bulma-link-text); + --bulma-button-ghost-decoration: none; + --bulma-button-ghost-hover-color: var(--bulma-link); + --bulma-button-ghost-hover-decoration: underline; + --bulma-button-disabled-background-color: var(--bulma-scheme-main); + --bulma-button-disabled-border-color: var(--bulma-border); + --bulma-button-disabled-shadow: none; + --bulma-button-disabled-opacity: 0.5; + --bulma-button-static-color: var(--bulma-text-weak); + --bulma-button-static-background-color: var(--bulma-scheme-main-ter); + --bulma-button-static-border-color: var(--bulma-border); +} + +.button { + --bulma-button-h: var(--bulma-scheme-h); + --bulma-button-s: var(--bulma-scheme-s); + --bulma-button-l: var(--bulma-scheme-main-l); + --bulma-button-background-l: var(--bulma-scheme-main-l); + --bulma-button-background-l-delta: 0%; + --bulma-button-hover-background-l-delta: var(--bulma-hover-background-l-delta); + --bulma-button-active-background-l-delta: var(--bulma-active-background-l-delta); + --bulma-button-color-l: var(--bulma-text-strong-l); + --bulma-button-border-l: var(--bulma-border-l); + --bulma-button-border-l-delta: 0%; + --bulma-button-hover-border-l-delta: var(--bulma-hover-border-l-delta); + --bulma-button-active-border-l-delta: var(--bulma-active-border-l-delta); + --bulma-button-focus-border-l-delta: var(--bulma-focus-border-l-delta); + --bulma-button-outer-shadow-h: 0; + --bulma-button-outer-shadow-s: 0%; + --bulma-button-outer-shadow-l: 20%; + --bulma-button-outer-shadow-a: 0.05; + --bulma-loading-color: hsl(var(--bulma-button-h), var(--bulma-button-s), var(--bulma-button-color-l)); + background-color: hsl(var(--bulma-button-h), var(--bulma-button-s), calc(var(--bulma-button-background-l) + var(--bulma-button-background-l-delta))); + border-color: hsl(var(--bulma-button-h), var(--bulma-button-s), calc(var(--bulma-button-border-l) + var(--bulma-button-border-l-delta))); + border-style: var(--bulma-button-border-style); + border-width: var(--bulma-button-border-width); + box-shadow: 0px 0.0625em 0.125em hsla(var(--bulma-button-outer-shadow-h), var(--bulma-button-outer-shadow-s), var(--bulma-button-outer-shadow-l), var(--bulma-button-outer-shadow-a)), 0px 0.125em 0.25em hsla(var(--bulma-button-outer-shadow-h), var(--bulma-button-outer-shadow-s), var(--bulma-button-outer-shadow-l), var(--bulma-button-outer-shadow-a)); + color: hsl(var(--bulma-button-h), var(--bulma-button-s), var(--bulma-button-color-l)); + cursor: pointer; + font-weight: var(--bulma-button-weight); + height: auto; + justify-content: center; + padding-bottom: calc(var(--bulma-button-padding-vertical) - var(--bulma-button-border-width)); + padding-left: calc(var(--bulma-button-padding-horizontal) - var(--bulma-button-border-width)); + padding-right: calc(var(--bulma-button-padding-horizontal) - var(--bulma-button-border-width)); + padding-top: calc(var(--bulma-button-padding-vertical) - var(--bulma-button-border-width)); + text-align: center; + white-space: nowrap; +} +.button strong { + color: inherit; +} +.button .icon, .button .icon.is-small, .button .icon.is-medium, .button .icon.is-large { + height: 1.5em; + width: 1.5em; +} +.button .icon:first-child:not(:last-child) { + margin-inline-start: calc(-0.5 * var(--bulma-button-padding-horizontal)); + margin-inline-end: calc(var(--bulma-button-padding-horizontal) * 0.25); +} +.button .icon:last-child:not(:first-child) { + margin-inline-start: calc(var(--bulma-button-padding-horizontal) * 0.25); + margin-inline-end: calc(-0.5 * var(--bulma-button-padding-horizontal)); +} +.button .icon:first-child:last-child { + margin-inline-start: calc(-0.5 * var(--bulma-button-padding-horizontal)); + margin-inline-end: calc(-0.5 * var(--bulma-button-padding-horizontal)); +} +.button:hover, .button.is-hovered { + --bulma-button-background-l-delta: var(--bulma-button-hover-background-l-delta); + --bulma-button-border-l-delta: var(--bulma-button-hover-border-l-delta); +} +.button:focus-visible, .button.is-focused { + --bulma-button-border-width: 1px; + border-color: hsl(var(--bulma-focus-h), var(--bulma-focus-s), var(--bulma-focus-l)); + box-shadow: var(--bulma-focus-shadow-size) hsla(var(--bulma-focus-h), var(--bulma-focus-s), var(--bulma-focus-l), var(--bulma-focus-shadow-alpha)); +} +.button:active, .button.is-active { + --bulma-button-background-l-delta: var(--bulma-button-active-background-l-delta); + --bulma-button-border-l-delta: var(--bulma-button-active-border-l-delta); + --bulma-button-outer-shadow-a: 0; +} +.button[disabled], fieldset[disabled] .button { + background-color: var(--bulma-button-disabled-background-color); + border-color: var(--bulma-button-disabled-border-color); + box-shadow: var(--bulma-button-disabled-shadow); + opacity: var(--bulma-button-disabled-opacity); +} +.button.is-white { + --bulma-button-h: var(--bulma-white-h); + --bulma-button-s: var(--bulma-white-s); + --bulma-button-l: var(--bulma-white-l); + --bulma-button-background-l: var(--bulma-white-l); + --bulma-button-border-l: var(--bulma-white-l); + --bulma-button-border-width: 0px; + --bulma-button-color-l: var(--bulma-white-invert-l); + --bulma-button-outer-shadow-a: 0; +} +.button.is-white:focus-visible, .button.is-white.is-focused { + --bulma-button-border-width: 1px; +} +.button.is-white.is-soft { + --bulma-button-background-l: var(--bulma-soft-l); + --bulma-button-color-l: var(--bulma-soft-invert-l); +} +.button.is-white.is-bold { + --bulma-button-background-l: var(--bulma-bold-l); + --bulma-button-color-l: var(--bulma-bold-invert-l); +} +.button.is-white[disabled], fieldset[disabled] .button.is-white { + background-color: var(--bulma-white); + border-color: var(--bulma-white); + box-shadow: none; +} +.button.is-black { + --bulma-button-h: var(--bulma-black-h); + --bulma-button-s: var(--bulma-black-s); + --bulma-button-l: var(--bulma-black-l); + --bulma-button-background-l: var(--bulma-black-l); + --bulma-button-border-l: var(--bulma-black-l); + --bulma-button-border-width: 0px; + --bulma-button-color-l: var(--bulma-black-invert-l); + --bulma-button-outer-shadow-a: 0; +} +.button.is-black:focus-visible, .button.is-black.is-focused { + --bulma-button-border-width: 1px; +} +.button.is-black.is-soft { + --bulma-button-background-l: var(--bulma-soft-l); + --bulma-button-color-l: var(--bulma-soft-invert-l); +} +.button.is-black.is-bold { + --bulma-button-background-l: var(--bulma-bold-l); + --bulma-button-color-l: var(--bulma-bold-invert-l); +} +.button.is-black[disabled], fieldset[disabled] .button.is-black { + background-color: var(--bulma-black); + border-color: var(--bulma-black); + box-shadow: none; +} +.button.is-light { + --bulma-button-h: var(--bulma-light-h); + --bulma-button-s: var(--bulma-light-s); + --bulma-button-l: var(--bulma-light-l); + --bulma-button-background-l: var(--bulma-light-l); + --bulma-button-border-l: var(--bulma-light-l); + --bulma-button-border-width: 0px; + --bulma-button-color-l: var(--bulma-light-invert-l); + --bulma-button-outer-shadow-a: 0; +} +.button.is-light:focus-visible, .button.is-light.is-focused { + --bulma-button-border-width: 1px; +} +.button.is-light.is-soft { + --bulma-button-background-l: var(--bulma-soft-l); + --bulma-button-color-l: var(--bulma-soft-invert-l); +} +.button.is-light.is-bold { + --bulma-button-background-l: var(--bulma-bold-l); + --bulma-button-color-l: var(--bulma-bold-invert-l); +} +.button.is-light[disabled], fieldset[disabled] .button.is-light { + background-color: var(--bulma-light); + border-color: var(--bulma-light); + box-shadow: none; +} +.button.is-dark { + --bulma-button-h: var(--bulma-dark-h); + --bulma-button-s: var(--bulma-dark-s); + --bulma-button-l: var(--bulma-dark-l); + --bulma-button-background-l: var(--bulma-dark-l); + --bulma-button-border-l: var(--bulma-dark-l); + --bulma-button-border-width: 0px; + --bulma-button-color-l: var(--bulma-dark-invert-l); + --bulma-button-outer-shadow-a: 0; +} +.button.is-dark:focus-visible, .button.is-dark.is-focused { + --bulma-button-border-width: 1px; +} +.button.is-dark.is-soft { + --bulma-button-background-l: var(--bulma-soft-l); + --bulma-button-color-l: var(--bulma-soft-invert-l); +} +.button.is-dark.is-bold { + --bulma-button-background-l: var(--bulma-bold-l); + --bulma-button-color-l: var(--bulma-bold-invert-l); +} +.button.is-dark[disabled], fieldset[disabled] .button.is-dark { + background-color: var(--bulma-dark); + border-color: var(--bulma-dark); + box-shadow: none; +} +.button.is-text { + --bulma-button-h: var(--bulma-text-h); + --bulma-button-s: var(--bulma-text-s); + --bulma-button-l: var(--bulma-text-l); + --bulma-button-background-l: var(--bulma-text-l); + --bulma-button-border-l: var(--bulma-text-l); + --bulma-button-border-width: 0px; + --bulma-button-color-l: var(--bulma-text-invert-l); + --bulma-button-outer-shadow-a: 0; +} +.button.is-text:focus-visible, .button.is-text.is-focused { + --bulma-button-border-width: 1px; +} +.button.is-text.is-light { + --bulma-button-background-l: var(--bulma-light-l); + --bulma-button-color-l: var(--bulma-text-light-invert-l); +} +.button.is-text.is-dark { + --bulma-button-background-l: var(--bulma-dark-l); + --bulma-button-color-l: var(--bulma-text-dark-invert-l); +} +.button.is-text.is-soft { + --bulma-button-background-l: var(--bulma-soft-l); + --bulma-button-color-l: var(--bulma-soft-invert-l); +} +.button.is-text.is-bold { + --bulma-button-background-l: var(--bulma-bold-l); + --bulma-button-color-l: var(--bulma-bold-invert-l); +} +.button.is-text[disabled], fieldset[disabled] .button.is-text { + background-color: var(--bulma-text); + border-color: var(--bulma-text); + box-shadow: none; +} +.button.is-primary { + --bulma-button-h: var(--bulma-primary-h); + --bulma-button-s: var(--bulma-primary-s); + --bulma-button-l: var(--bulma-primary-l); + --bulma-button-background-l: var(--bulma-primary-l); + --bulma-button-border-l: var(--bulma-primary-l); + --bulma-button-border-width: 0px; + --bulma-button-color-l: var(--bulma-primary-invert-l); + --bulma-button-outer-shadow-a: 0; +} +.button.is-primary:focus-visible, .button.is-primary.is-focused { + --bulma-button-border-width: 1px; +} +.button.is-primary.is-light { + --bulma-button-background-l: var(--bulma-light-l); + --bulma-button-color-l: var(--bulma-primary-light-invert-l); +} +.button.is-primary.is-dark { + --bulma-button-background-l: var(--bulma-dark-l); + --bulma-button-color-l: var(--bulma-primary-dark-invert-l); +} +.button.is-primary.is-soft { + --bulma-button-background-l: var(--bulma-soft-l); + --bulma-button-color-l: var(--bulma-soft-invert-l); +} +.button.is-primary.is-bold { + --bulma-button-background-l: var(--bulma-bold-l); + --bulma-button-color-l: var(--bulma-bold-invert-l); +} +.button.is-primary[disabled], fieldset[disabled] .button.is-primary { + background-color: var(--bulma-primary); + border-color: var(--bulma-primary); + box-shadow: none; +} +.button.is-link { + --bulma-button-h: var(--bulma-link-h); + --bulma-button-s: var(--bulma-link-s); + --bulma-button-l: var(--bulma-link-l); + --bulma-button-background-l: var(--bulma-link-l); + --bulma-button-border-l: var(--bulma-link-l); + --bulma-button-border-width: 0px; + --bulma-button-color-l: var(--bulma-link-invert-l); + --bulma-button-outer-shadow-a: 0; +} +.button.is-link:focus-visible, .button.is-link.is-focused { + --bulma-button-border-width: 1px; +} +.button.is-link.is-light { + --bulma-button-background-l: var(--bulma-light-l); + --bulma-button-color-l: var(--bulma-link-light-invert-l); +} +.button.is-link.is-dark { + --bulma-button-background-l: var(--bulma-dark-l); + --bulma-button-color-l: var(--bulma-link-dark-invert-l); +} +.button.is-link.is-soft { + --bulma-button-background-l: var(--bulma-soft-l); + --bulma-button-color-l: var(--bulma-soft-invert-l); +} +.button.is-link.is-bold { + --bulma-button-background-l: var(--bulma-bold-l); + --bulma-button-color-l: var(--bulma-bold-invert-l); +} +.button.is-link[disabled], fieldset[disabled] .button.is-link { + background-color: var(--bulma-link); + border-color: var(--bulma-link); + box-shadow: none; +} +.button.is-info { + --bulma-button-h: var(--bulma-info-h); + --bulma-button-s: var(--bulma-info-s); + --bulma-button-l: var(--bulma-info-l); + --bulma-button-background-l: var(--bulma-info-l); + --bulma-button-border-l: var(--bulma-info-l); + --bulma-button-border-width: 0px; + --bulma-button-color-l: var(--bulma-info-invert-l); + --bulma-button-outer-shadow-a: 0; +} +.button.is-info:focus-visible, .button.is-info.is-focused { + --bulma-button-border-width: 1px; +} +.button.is-info.is-light { + --bulma-button-background-l: var(--bulma-light-l); + --bulma-button-color-l: var(--bulma-info-light-invert-l); +} +.button.is-info.is-dark { + --bulma-button-background-l: var(--bulma-dark-l); + --bulma-button-color-l: var(--bulma-info-dark-invert-l); +} +.button.is-info.is-soft { + --bulma-button-background-l: var(--bulma-soft-l); + --bulma-button-color-l: var(--bulma-soft-invert-l); +} +.button.is-info.is-bold { + --bulma-button-background-l: var(--bulma-bold-l); + --bulma-button-color-l: var(--bulma-bold-invert-l); +} +.button.is-info[disabled], fieldset[disabled] .button.is-info { + background-color: var(--bulma-info); + border-color: var(--bulma-info); + box-shadow: none; +} +.button.is-success { + --bulma-button-h: var(--bulma-success-h); + --bulma-button-s: var(--bulma-success-s); + --bulma-button-l: var(--bulma-success-l); + --bulma-button-background-l: var(--bulma-success-l); + --bulma-button-border-l: var(--bulma-success-l); + --bulma-button-border-width: 0px; + --bulma-button-color-l: var(--bulma-success-invert-l); + --bulma-button-outer-shadow-a: 0; +} +.button.is-success:focus-visible, .button.is-success.is-focused { + --bulma-button-border-width: 1px; +} +.button.is-success.is-light { + --bulma-button-background-l: var(--bulma-light-l); + --bulma-button-color-l: var(--bulma-success-light-invert-l); +} +.button.is-success.is-dark { + --bulma-button-background-l: var(--bulma-dark-l); + --bulma-button-color-l: var(--bulma-success-dark-invert-l); +} +.button.is-success.is-soft { + --bulma-button-background-l: var(--bulma-soft-l); + --bulma-button-color-l: var(--bulma-soft-invert-l); +} +.button.is-success.is-bold { + --bulma-button-background-l: var(--bulma-bold-l); + --bulma-button-color-l: var(--bulma-bold-invert-l); +} +.button.is-success[disabled], fieldset[disabled] .button.is-success { + background-color: var(--bulma-success); + border-color: var(--bulma-success); + box-shadow: none; +} +.button.is-warning { + --bulma-button-h: var(--bulma-warning-h); + --bulma-button-s: var(--bulma-warning-s); + --bulma-button-l: var(--bulma-warning-l); + --bulma-button-background-l: var(--bulma-warning-l); + --bulma-button-border-l: var(--bulma-warning-l); + --bulma-button-border-width: 0px; + --bulma-button-color-l: var(--bulma-warning-invert-l); + --bulma-button-outer-shadow-a: 0; +} +.button.is-warning:focus-visible, .button.is-warning.is-focused { + --bulma-button-border-width: 1px; +} +.button.is-warning.is-light { + --bulma-button-background-l: var(--bulma-light-l); + --bulma-button-color-l: var(--bulma-warning-light-invert-l); +} +.button.is-warning.is-dark { + --bulma-button-background-l: var(--bulma-dark-l); + --bulma-button-color-l: var(--bulma-warning-dark-invert-l); +} +.button.is-warning.is-soft { + --bulma-button-background-l: var(--bulma-soft-l); + --bulma-button-color-l: var(--bulma-soft-invert-l); +} +.button.is-warning.is-bold { + --bulma-button-background-l: var(--bulma-bold-l); + --bulma-button-color-l: var(--bulma-bold-invert-l); +} +.button.is-warning[disabled], fieldset[disabled] .button.is-warning { + background-color: var(--bulma-warning); + border-color: var(--bulma-warning); + box-shadow: none; +} +.button.is-danger { + --bulma-button-h: var(--bulma-danger-h); + --bulma-button-s: var(--bulma-danger-s); + --bulma-button-l: var(--bulma-danger-l); + --bulma-button-background-l: var(--bulma-danger-l); + --bulma-button-border-l: var(--bulma-danger-l); + --bulma-button-border-width: 0px; + --bulma-button-color-l: var(--bulma-danger-invert-l); + --bulma-button-outer-shadow-a: 0; +} +.button.is-danger:focus-visible, .button.is-danger.is-focused { + --bulma-button-border-width: 1px; +} +.button.is-danger.is-light { + --bulma-button-background-l: var(--bulma-light-l); + --bulma-button-color-l: var(--bulma-danger-light-invert-l); +} +.button.is-danger.is-dark { + --bulma-button-background-l: var(--bulma-dark-l); + --bulma-button-color-l: var(--bulma-danger-dark-invert-l); +} +.button.is-danger.is-soft { + --bulma-button-background-l: var(--bulma-soft-l); + --bulma-button-color-l: var(--bulma-soft-invert-l); +} +.button.is-danger.is-bold { + --bulma-button-background-l: var(--bulma-bold-l); + --bulma-button-color-l: var(--bulma-bold-invert-l); +} +.button.is-danger[disabled], fieldset[disabled] .button.is-danger { + background-color: var(--bulma-danger); + border-color: var(--bulma-danger); + box-shadow: none; +} +.button.is-outlined { + --bulma-button-border-width: max(1px, 0.0625em); + background-color: transparent; + border-color: hsl(var(--bulma-button-h), var(--bulma-button-s), var(--bulma-button-l)); + color: hsl(var(--bulma-button-h), var(--bulma-button-s), var(--bulma-button-l)); +} +.button.is-outlined:hover { + --bulma-button-border-width: max(2px, 0.125em); + --bulma-button-outer-shadow-alpha: 1; +} +.button.is-inverted { + background-color: hsl(var(--bulma-button-h), var(--bulma-button-s), calc(var(--bulma-button-color-l) + var(--bulma-button-background-l-delta))); + color: hsl(var(--bulma-button-h), var(--bulma-button-s), var(--bulma-button-background-l)); +} +.button.is-text { + background-color: transparent; + border-color: transparent; + color: var(--bulma-button-text-color); + text-decoration: var(--bulma-button-text-decoration); +} +.button.is-text:hover, .button.is-text.is-hovered { + background-color: var(--bulma-button-text-hover-background-color); + color: var(--bulma-button-text-hover-color); +} +.button.is-text:active, .button.is-text.is-active { + color: var(--bulma-button-text-hover-color); +} +.button.is-text[disabled], fieldset[disabled] .button.is-text { + background-color: transparent; + border-color: transparent; + box-shadow: none; +} +.button.is-ghost { + background: var(--bulma-button-ghost-background); + border-color: var(--bulma-button-ghost-border-color); + box-shadow: none; + color: var(--bulma-button-ghost-color); + text-decoration: var(--bulma-button-ghost-decoration); +} +.button.is-ghost:hover, .button.is-ghost.is-hovered { + color: var(--bulma-button-ghost-hover-color); + text-decoration: var(--bulma-button-ghost-hover-decoration); +} +.button.is-small { + --bulma-control-size: var(--bulma-size-small); + --bulma-control-radius: var(--bulma-radius-small); +} +.button.is-normal { + --bulma-control-size: var(--bulma-size-normal); + --bulma-control-radius: var(--bulma-radius); +} +.button.is-medium { + --bulma-control-size: var(--bulma-size-medium); + --bulma-control-radius: var(--bulma-radius-medium); +} +.button.is-large { + --bulma-control-size: var(--bulma-size-large); + --bulma-control-radius: var(--bulma-radius-medium); +} +.button.is-fullwidth { + display: flex; + width: 100%; +} +.button.is-loading { + box-shadow: none; + color: transparent !important; + pointer-events: none; +} +.button.is-loading::after { + position: absolute; + left: calc(50% - 1em * 0.5); + top: calc(50% - 1em * 0.5); + position: absolute !important; +} +.button.is-static { + background-color: var(--bulma-button-static-background-color); + border-color: var(--bulma-button-static-border-color); + color: var(--bulma-button-static-color); + box-shadow: none; + pointer-events: none; +} +.button.is-rounded { + border-radius: var(--bulma-radius-rounded); + padding-left: calc(var(--bulma-button-padding-horizontal) + 0.25em - var(--bulma-button-border-width)); + padding-right: calc(var(--bulma-button-padding-horizontal) + 0.25em - var(--bulma-button-border-width)); +} + +.buttons { + align-items: center; + display: flex; + flex-wrap: wrap; + gap: 0.75rem; + justify-content: flex-start; +} +.buttons.are-small { + --bulma-control-size: var(--bulma-size-small); + --bulma-control-radius: var(--bulma-radius-small); +} +.buttons.are-medium { + --bulma-control-size: var(--bulma-size-medium); + --bulma-control-radius: var(--bulma-radius-medium); +} +.buttons.are-large { + --bulma-control-size: var(--bulma-size-large); + --bulma-control-radius: var(--bulma-radius-large); +} +.buttons.has-addons { + gap: 0; +} +.buttons.has-addons .button:not(:first-child) { + border-end-start-radius: 0; + border-start-start-radius: 0; +} +.buttons.has-addons .button:not(:last-child) { + border-end-end-radius: 0; + border-start-end-radius: 0; + margin-inline-end: -1px; +} +.buttons.has-addons .button:hover, .buttons.has-addons .button.is-hovered { + z-index: 2; +} +.buttons.has-addons .button:focus, .buttons.has-addons .button.is-focused, .buttons.has-addons .button:active, .buttons.has-addons .button.is-active, .buttons.has-addons .button.is-selected { + z-index: 3; +} +.buttons.has-addons .button:focus:hover, .buttons.has-addons .button.is-focused:hover, .buttons.has-addons .button:active:hover, .buttons.has-addons .button.is-active:hover, .buttons.has-addons .button.is-selected:hover { + z-index: 4; +} +.buttons.has-addons .button.is-expanded { + flex-grow: 1; + flex-shrink: 1; +} +.buttons.is-centered { + justify-content: center; +} +.buttons.is-right { + justify-content: flex-end; +} + +@media screen and (max-width: 768px) { + .button.is-responsive.is-small { + font-size: calc(var(--bulma-size-small) * 0.75); + } + .button.is-responsive, + .button.is-responsive.is-normal { + font-size: calc(var(--bulma-size-small) * 0.875); + } + .button.is-responsive.is-medium { + font-size: var(--bulma-size-small); + } + .button.is-responsive.is-large { + font-size: var(--bulma-size-normal); + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .button.is-responsive.is-small { + font-size: calc(var(--bulma-size-small) * 0.875); + } + .button.is-responsive, + .button.is-responsive.is-normal { + font-size: var(--bulma-size-small); + } + .button.is-responsive.is-medium { + font-size: var(--bulma-size-normal); + } + .button.is-responsive.is-large { + font-size: var(--bulma-size-medium); + } +} +.content { + --bulma-content-heading-color: var(--bulma-text-strong); + --bulma-content-heading-weight: var(--bulma-weight-extrabold); + --bulma-content-heading-line-height: 1.125; + --bulma-content-block-margin-bottom: 1em; + --bulma-content-blockquote-background-color: var(--bulma-background); + --bulma-content-blockquote-border-left: 5px solid var(--bulma-border); + --bulma-content-blockquote-padding: 1.25em 1.5em; + --bulma-content-pre-padding: 1.25em 1.5em; + --bulma-content-table-cell-border: 1px solid var(--bulma-border); + --bulma-content-table-cell-border-width: 0 0 1px; + --bulma-content-table-cell-padding: 0.5em 0.75em; + --bulma-content-table-cell-heading-color: var(--bulma-text-strong); + --bulma-content-table-head-cell-border-width: 0 0 2px; + --bulma-content-table-head-cell-color: var(--bulma-text-strong); + --bulma-content-table-body-last-row-cell-border-bottom-width: 0; + --bulma-content-table-foot-cell-border-width: 2px 0 0; + --bulma-content-table-foot-cell-color: var(--bulma-text-strong); +} + +.content li + li { + margin-top: 0.25em; +} +.content p:not(:last-child), +.content dl:not(:last-child), +.content ol:not(:last-child), +.content ul:not(:last-child), +.content blockquote:not(:last-child), +.content pre:not(:last-child), +.content table:not(:last-child) { + margin-bottom: var(--bulma-content-block-margin-bottom); +} +.content h1, +.content h2, +.content h3, +.content h4, +.content h5, +.content h6 { + color: var(--bulma-content-heading-color); + font-weight: var(--bulma-content-heading-weight); + line-height: var(--bulma-content-heading-line-height); +} +.content h1 { + font-size: 2em; + margin-bottom: 0.5em; +} +.content h1:not(:first-child) { + margin-top: 1em; +} +.content h2 { + font-size: 1.75em; + margin-bottom: 0.5714em; +} +.content h2:not(:first-child) { + margin-top: 1.1428em; +} +.content h3 { + font-size: 1.5em; + margin-bottom: 0.6666em; +} +.content h3:not(:first-child) { + margin-top: 1.3333em; +} +.content h4 { + font-size: 1.25em; + margin-bottom: 0.8em; +} +.content h5 { + font-size: 1.125em; + margin-bottom: 0.8888em; +} +.content h6 { + font-size: 1em; + margin-bottom: 1em; +} +.content blockquote { + background-color: var(--bulma-content-blockquote-background-color); + border-inline-start: var(--bulma-content-blockquote-border-left); + padding: var(--bulma-content-blockquote-padding); +} +.content ol { + list-style-position: outside; + margin-inline-start: 2em; +} +.content ol:not(:first-child) { + margin-top: 1em; +} +.content ol:not([type]) { + list-style-type: decimal; +} +.content ol:not([type]).is-lower-alpha { + list-style-type: lower-alpha; +} +.content ol:not([type]).is-lower-roman { + list-style-type: lower-roman; +} +.content ol:not([type]).is-upper-alpha { + list-style-type: upper-alpha; +} +.content ol:not([type]).is-upper-roman { + list-style-type: upper-roman; +} +.content ul { + list-style: disc outside; + margin-inline-start: 2em; +} +.content ul:not(:first-child) { + margin-top: 1em; +} +.content ul ul { + list-style-type: circle; + margin-bottom: 0.25em; + margin-top: 0.25em; +} +.content ul ul ul { + list-style-type: square; +} +.content dd { + margin-inline-start: 2em; +} +.content figure:not([class]) { + margin-left: 2em; + margin-right: 2em; + text-align: center; +} +.content figure:not([class]):not(:first-child) { + margin-top: 2em; +} +.content figure:not([class]):not(:last-child) { + margin-bottom: 2em; +} +.content figure:not([class]) img { + display: inline-block; +} +.content figure:not([class]) figcaption { + font-style: italic; +} +.content pre { + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding: var(--bulma-content-pre-padding); + white-space: pre; + word-wrap: normal; +} +.content sup, +.content sub { + font-size: 75%; +} +.content table td, +.content table th { + border: var(--bulma-content-table-cell-border); + border-width: var(--bulma-content-table-cell-border-width); + padding: var(--bulma-content-table-cell-padding); + vertical-align: top; +} +.content table th { + color: var(--bulma-content-table-cell-heading-color); +} +.content table th:not([align]) { + text-align: inherit; +} +.content table thead td, +.content table thead th { + border-width: var(--bulma-content-table-head-cell-border-width); + color: var(--bulma-content-table-head-cell-color); +} +.content table tfoot td, +.content table tfoot th { + border-width: var(--bulma-content-table-foot-cell-border-width); + color: var(--bulma-content-table-foot-cell-color); +} +.content table tbody tr:last-child td, +.content table tbody tr:last-child th { + border-bottom-width: var(--bulma-content-table-body-last-row-cell-border-bottom-width); +} +.content .tabs li + li { + margin-top: 0; +} +.content.is-small { + font-size: var(--bulma-size-small); +} +.content.is-normal { + font-size: var(--bulma-size-normal); +} +.content.is-medium { + font-size: var(--bulma-size-medium); +} +.content.is-large { + font-size: var(--bulma-size-large); +} + +.delete { + --bulma-delete-dimensions: 1.25rem; + --bulma-delete-background-l: 0%; + --bulma-delete-background-alpha: 0.5; + --bulma-delete-color: var(--bulma-white); + appearance: none; + background-color: hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-delete-background-l), var(--bulma-delete-background-alpha)); + border: none; + border-radius: var(--bulma-radius-rounded); + cursor: pointer; + pointer-events: auto; + display: inline-flex; + flex-grow: 0; + flex-shrink: 0; + font-size: 1em; + height: var(--bulma-delete-dimensions); + max-height: var(--bulma-delete-dimensions); + max-width: var(--bulma-delete-dimensions); + min-height: var(--bulma-delete-dimensions); + min-width: var(--bulma-delete-dimensions); + outline: none; + position: relative; + vertical-align: top; + width: var(--bulma-delete-dimensions); +} +.delete::before, .delete::after { + background-color: var(--bulma-delete-color); + content: ""; + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + transform-origin: center center; +} +.delete::before { + height: 2px; + width: 50%; +} +.delete::after { + height: 50%; + width: 2px; +} +.delete:hover, .delete:focus { + --bulma-delete-background-alpha: 0.4; +} +.delete:active { + --bulma-delete-background-alpha: 0.5; +} +.delete.is-small { + --bulma-delete-dimensions: 1rem; +} +.delete.is-medium { + --bulma-delete-dimensions: 1.5rem; +} +.delete.is-large { + --bulma-delete-dimensions: 2rem; +} + +.icon, +.icon-text { + --bulma-icon-dimensions: 1.5rem; + --bulma-icon-dimensions-small: 1rem; + --bulma-icon-dimensions-medium: 2rem; + --bulma-icon-dimensions-large: 3rem; + --bulma-icon-text-spacing: 0.25em; +} + +.icon { + align-items: center; + display: inline-flex; + flex-shrink: 0; + justify-content: center; + height: var(--bulma-icon-dimensions); + transition-duration: var(--bulma-duration); + transition-property: color; + width: var(--bulma-icon-dimensions); +} +.icon.is-small { + height: var(--bulma-icon-dimensions-small); + width: var(--bulma-icon-dimensions-small); +} +.icon.is-medium { + height: var(--bulma-icon-dimensions-medium); + width: var(--bulma-icon-dimensions-medium); +} +.icon.is-large { + height: var(--bulma-icon-dimensions-large); + width: var(--bulma-icon-dimensions-large); +} + +.icon-text { + align-items: flex-start; + color: inherit; + display: inline-flex; + flex-wrap: wrap; + gap: var(--bulma-icon-text-spacing); + line-height: var(--bulma-icon-dimensions); + vertical-align: top; +} +.icon-text .icon { + flex-grow: 0; + flex-shrink: 0; +} + +div.icon-text { + display: flex; +} + +.image { + display: block; + position: relative; +} +.image img { + display: block; + height: auto; + width: 100%; +} +.image img.is-rounded { + border-radius: var(--bulma-radius-rounded); +} +.image.is-fullwidth { + width: 100%; +} +.image.is-square img, +.image.is-square .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-square { + aspect-ratio: 1; +} +.image.is-1by1 { + aspect-ratio: 1/1; +} +.image.is-1by1 img, +.image.is-1by1 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-5by4 { + aspect-ratio: 5/4; +} +.image.is-5by4 img, +.image.is-5by4 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-4by3 { + aspect-ratio: 4/3; +} +.image.is-4by3 img, +.image.is-4by3 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-3by2 { + aspect-ratio: 3/2; +} +.image.is-3by2 img, +.image.is-3by2 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-5by3 { + aspect-ratio: 5/3; +} +.image.is-5by3 img, +.image.is-5by3 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-16by9 { + aspect-ratio: 16/9; +} +.image.is-16by9 img, +.image.is-16by9 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-2by1 { + aspect-ratio: 2/1; +} +.image.is-2by1 img, +.image.is-2by1 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-3by1 { + aspect-ratio: 3/1; +} +.image.is-3by1 img, +.image.is-3by1 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-4by5 { + aspect-ratio: 4/5; +} +.image.is-4by5 img, +.image.is-4by5 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-3by4 { + aspect-ratio: 3/4; +} +.image.is-3by4 img, +.image.is-3by4 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-2by3 { + aspect-ratio: 2/3; +} +.image.is-2by3 img, +.image.is-2by3 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-3by5 { + aspect-ratio: 3/5; +} +.image.is-3by5 img, +.image.is-3by5 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-9by16 { + aspect-ratio: 9/16; +} +.image.is-9by16 img, +.image.is-9by16 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-1by2 { + aspect-ratio: 1/2; +} +.image.is-1by2 img, +.image.is-1by2 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-1by3 { + aspect-ratio: 1/3; +} +.image.is-1by3 img, +.image.is-1by3 .has-ratio { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 100%; +} +.image.is-16x16 { + height: 16px; + width: 16px; +} +.image.is-24x24 { + height: 24px; + width: 24px; +} +.image.is-32x32 { + height: 32px; + width: 32px; +} +.image.is-48x48 { + height: 48px; + width: 48px; +} +.image.is-64x64 { + height: 64px; + width: 64px; +} +.image.is-96x96 { + height: 96px; + width: 96px; +} +.image.is-128x128 { + height: 128px; + width: 128px; +} + +.loader { + animation: spinAround 500ms infinite linear; + border: 2px solid var(--bulma-border); + border-radius: var(--bulma-radius-rounded); + border-right-color: transparent; + border-top-color: transparent; + content: ""; + display: block; + height: 1em; + position: relative; + width: 1em; +} + +.notification { + --bulma-notification-h: var(--bulma-scheme-h); + --bulma-notification-s: var(--bulma-scheme-s); + --bulma-notification-background-l: var(--bulma-background-l); + --bulma-notification-color-l: var(--bulma-text-strong-l); + --bulma-notification-code-background-color: var(--bulma-scheme-main); + --bulma-notification-radius: var(--bulma-radius); + --bulma-notification-padding: 1.375em 1.5em; +} + +.notification { + background-color: hsl(var(--bulma-notification-h), var(--bulma-notification-s), var(--bulma-notification-background-l)); + border-radius: var(--bulma-notification-radius); + color: hsl(var(--bulma-notification-h), var(--bulma-notification-s), var(--bulma-notification-color-l)); + padding: var(--bulma-notification-padding); + position: relative; +} +.notification a:not(.button):not(.dropdown-item) { + color: currentColor; + text-decoration: underline; +} +.notification strong { + color: currentColor; +} +.notification code, +.notification pre { + background: var(--bulma-notification-code-background-color); +} +.notification pre code { + background: transparent; +} +.notification > .delete { + position: absolute; + inset-inline-end: 1rem; + top: 1rem; +} +.notification .title, +.notification .subtitle, +.notification .content { + color: currentColor; +} +.notification.is-white { + --bulma-notification-h: var(--bulma-white-h); + --bulma-notification-s: var(--bulma-white-s); + --bulma-notification-background-l: var(--bulma-white-l); + --bulma-notification-color-l: var(--bulma-white-invert-l); +} +.notification.is-white.is-light { + --bulma-notification-background-l: 90%; + --bulma-notification-color-l: var(--bulma-white-light-invert-l); +} +.notification.is-white.is-dark { + --bulma-notification-background-l: 20%; + --bulma-notification-color-l: var(--bulma-white-dark-invert-l); +} +.notification.is-black { + --bulma-notification-h: var(--bulma-black-h); + --bulma-notification-s: var(--bulma-black-s); + --bulma-notification-background-l: var(--bulma-black-l); + --bulma-notification-color-l: var(--bulma-black-invert-l); +} +.notification.is-black.is-light { + --bulma-notification-background-l: 90%; + --bulma-notification-color-l: var(--bulma-black-light-invert-l); +} +.notification.is-black.is-dark { + --bulma-notification-background-l: 20%; + --bulma-notification-color-l: var(--bulma-black-dark-invert-l); +} +.notification.is-light { + --bulma-notification-h: var(--bulma-light-h); + --bulma-notification-s: var(--bulma-light-s); + --bulma-notification-background-l: var(--bulma-light-l); + --bulma-notification-color-l: var(--bulma-light-invert-l); +} +.notification.is-light.is-light { + --bulma-notification-background-l: 90%; + --bulma-notification-color-l: var(--bulma-light-light-invert-l); +} +.notification.is-light.is-dark { + --bulma-notification-background-l: 20%; + --bulma-notification-color-l: var(--bulma-light-dark-invert-l); +} +.notification.is-dark { + --bulma-notification-h: var(--bulma-dark-h); + --bulma-notification-s: var(--bulma-dark-s); + --bulma-notification-background-l: var(--bulma-dark-l); + --bulma-notification-color-l: var(--bulma-dark-invert-l); +} +.notification.is-dark.is-light { + --bulma-notification-background-l: 90%; + --bulma-notification-color-l: var(--bulma-dark-light-invert-l); +} +.notification.is-dark.is-dark { + --bulma-notification-background-l: 20%; + --bulma-notification-color-l: var(--bulma-dark-dark-invert-l); +} +.notification.is-text { + --bulma-notification-h: var(--bulma-text-h); + --bulma-notification-s: var(--bulma-text-s); + --bulma-notification-background-l: var(--bulma-text-l); + --bulma-notification-color-l: var(--bulma-text-invert-l); +} +.notification.is-text.is-light { + --bulma-notification-background-l: 90%; + --bulma-notification-color-l: var(--bulma-text-light-invert-l); +} +.notification.is-text.is-dark { + --bulma-notification-background-l: 20%; + --bulma-notification-color-l: var(--bulma-text-dark-invert-l); +} +.notification.is-primary { + --bulma-notification-h: var(--bulma-primary-h); + --bulma-notification-s: var(--bulma-primary-s); + --bulma-notification-background-l: var(--bulma-primary-l); + --bulma-notification-color-l: var(--bulma-primary-invert-l); +} +.notification.is-primary.is-light { + --bulma-notification-background-l: 90%; + --bulma-notification-color-l: var(--bulma-primary-light-invert-l); +} +.notification.is-primary.is-dark { + --bulma-notification-background-l: 20%; + --bulma-notification-color-l: var(--bulma-primary-dark-invert-l); +} +.notification.is-link { + --bulma-notification-h: var(--bulma-link-h); + --bulma-notification-s: var(--bulma-link-s); + --bulma-notification-background-l: var(--bulma-link-l); + --bulma-notification-color-l: var(--bulma-link-invert-l); +} +.notification.is-link.is-light { + --bulma-notification-background-l: 90%; + --bulma-notification-color-l: var(--bulma-link-light-invert-l); +} +.notification.is-link.is-dark { + --bulma-notification-background-l: 20%; + --bulma-notification-color-l: var(--bulma-link-dark-invert-l); +} +.notification.is-info { + --bulma-notification-h: var(--bulma-info-h); + --bulma-notification-s: var(--bulma-info-s); + --bulma-notification-background-l: var(--bulma-info-l); + --bulma-notification-color-l: var(--bulma-info-invert-l); +} +.notification.is-info.is-light { + --bulma-notification-background-l: 90%; + --bulma-notification-color-l: var(--bulma-info-light-invert-l); +} +.notification.is-info.is-dark { + --bulma-notification-background-l: 20%; + --bulma-notification-color-l: var(--bulma-info-dark-invert-l); +} +.notification.is-success { + --bulma-notification-h: var(--bulma-success-h); + --bulma-notification-s: var(--bulma-success-s); + --bulma-notification-background-l: var(--bulma-success-l); + --bulma-notification-color-l: var(--bulma-success-invert-l); +} +.notification.is-success.is-light { + --bulma-notification-background-l: 90%; + --bulma-notification-color-l: var(--bulma-success-light-invert-l); +} +.notification.is-success.is-dark { + --bulma-notification-background-l: 20%; + --bulma-notification-color-l: var(--bulma-success-dark-invert-l); +} +.notification.is-warning { + --bulma-notification-h: var(--bulma-warning-h); + --bulma-notification-s: var(--bulma-warning-s); + --bulma-notification-background-l: var(--bulma-warning-l); + --bulma-notification-color-l: var(--bulma-warning-invert-l); +} +.notification.is-warning.is-light { + --bulma-notification-background-l: 90%; + --bulma-notification-color-l: var(--bulma-warning-light-invert-l); +} +.notification.is-warning.is-dark { + --bulma-notification-background-l: 20%; + --bulma-notification-color-l: var(--bulma-warning-dark-invert-l); +} +.notification.is-danger { + --bulma-notification-h: var(--bulma-danger-h); + --bulma-notification-s: var(--bulma-danger-s); + --bulma-notification-background-l: var(--bulma-danger-l); + --bulma-notification-color-l: var(--bulma-danger-invert-l); +} +.notification.is-danger.is-light { + --bulma-notification-background-l: 90%; + --bulma-notification-color-l: var(--bulma-danger-light-invert-l); +} +.notification.is-danger.is-dark { + --bulma-notification-background-l: 20%; + --bulma-notification-color-l: var(--bulma-danger-dark-invert-l); +} + +.progress { + --bulma-progress-border-radius: var(--bulma-radius-rounded); + --bulma-progress-bar-background-color: var(--bulma-border-weak); + --bulma-progress-value-background-color: var(--bulma-text); + --bulma-progress-indeterminate-duration: 1.5s; +} + +.progress { + appearance: none; + border: none; + border-radius: var(--bulma-progress-border-radius); + display: block; + height: var(--bulma-size-normal); + overflow: hidden; + padding: 0; + width: 100%; +} +.progress::-webkit-progress-bar { + background-color: var(--bulma-progress-bar-background-color); +} +.progress::-webkit-progress-value { + background-color: var(--bulma-progress-value-background-color); +} +.progress::-moz-progress-bar { + background-color: var(--bulma-progress-value-background-color); +} +.progress::-ms-fill { + background-color: var(--bulma-progress-value-background-color); + border: none; +} +.progress.is-white { + --bulma-progress-value-background-color: var(--bulma-white); +} +.progress.is-black { + --bulma-progress-value-background-color: var(--bulma-black); +} +.progress.is-light { + --bulma-progress-value-background-color: var(--bulma-light); +} +.progress.is-dark { + --bulma-progress-value-background-color: var(--bulma-dark); +} +.progress.is-text { + --bulma-progress-value-background-color: var(--bulma-text); +} +.progress.is-primary { + --bulma-progress-value-background-color: var(--bulma-primary); +} +.progress.is-link { + --bulma-progress-value-background-color: var(--bulma-link); +} +.progress.is-info { + --bulma-progress-value-background-color: var(--bulma-info); +} +.progress.is-success { + --bulma-progress-value-background-color: var(--bulma-success); +} +.progress.is-warning { + --bulma-progress-value-background-color: var(--bulma-warning); +} +.progress.is-danger { + --bulma-progress-value-background-color: var(--bulma-danger); +} +.progress:indeterminate { + animation-duration: var(--bulma-progress-indeterminate-duration); + animation-iteration-count: infinite; + animation-name: moveIndeterminate; + animation-timing-function: linear; + background-color: var(--bulma-progress-bar-background-color); + background-image: linear-gradient(to right, var(--bulma-progress-value-background-color) 30%, var(--bulma-progress-bar-background-color) 30%); + background-position: top left; + background-repeat: no-repeat; + background-size: 150% 150%; +} +.progress:indeterminate::-webkit-progress-bar { + background-color: transparent; +} +.progress:indeterminate::-moz-progress-bar { + background-color: transparent; +} +.progress:indeterminate::-ms-fill { + animation-name: none; +} +.progress.is-small { + height: var(--bulma-size-small); +} +.progress.is-medium { + height: var(--bulma-size-medium); +} +.progress.is-large { + height: var(--bulma-size-large); +} + +@keyframes moveIndeterminate { + from { + background-position: 200% 0; + } + to { + background-position: -200% 0; + } +} +.table { + --bulma-table-color: var(--bulma-text-strong); + --bulma-table-background-color: var(--bulma-scheme-main); + --bulma-table-cell-border-color: var(--bulma-border); + --bulma-table-cell-border-style: solid; + --bulma-table-cell-border-width: 0 0 1px; + --bulma-table-cell-padding: 0.5em 0.75em; + --bulma-table-cell-heading-color: var(--bulma-text-strong); + --bulma-table-cell-text-align: left; + --bulma-table-head-cell-border-width: 0 0 2px; + --bulma-table-head-cell-color: var(--bulma-text-strong); + --bulma-table-foot-cell-border-width: 2px 0 0; + --bulma-table-foot-cell-color: var(--bulma-text-strong); + --bulma-table-head-background-color: transparent; + --bulma-table-body-background-color: transparent; + --bulma-table-foot-background-color: transparent; + --bulma-table-row-hover-background-color: var(--bulma-scheme-main-bis); + --bulma-table-row-active-background-color: var(--bulma-primary); + --bulma-table-row-active-color: var(--bulma-primary-invert); + --bulma-table-striped-row-even-background-color: var(--bulma-scheme-main-bis); + --bulma-table-striped-row-even-hover-background-color: var(--bulma-scheme-main-ter); +} + +.table { + background-color: var(--bulma-table-background-color); + color: var(--bulma-table-color); +} +.table td, +.table th { + background-color: var(--bulma-table-cell-background-color); + border-color: var(--bulma-table-cell-border-color); + border-style: var(--bulma-table-cell-border-style); + border-width: var(--bulma-table-cell-border-width); + color: var(--bulma-table-color); + padding: var(--bulma-table-cell-padding); + vertical-align: top; +} +.table td.is-white, +.table th.is-white { + --bulma-table-color: var(--bulma-white-invert); + --bulma-table-cell-heading-color: var(--bulma-white-invert); + --bulma-table-cell-background-color: var(--bulma-white); + --bulma-table-cell-border-color: var(--bulma-white); +} +.table td.is-black, +.table th.is-black { + --bulma-table-color: var(--bulma-black-invert); + --bulma-table-cell-heading-color: var(--bulma-black-invert); + --bulma-table-cell-background-color: var(--bulma-black); + --bulma-table-cell-border-color: var(--bulma-black); +} +.table td.is-light, +.table th.is-light { + --bulma-table-color: var(--bulma-light-invert); + --bulma-table-cell-heading-color: var(--bulma-light-invert); + --bulma-table-cell-background-color: var(--bulma-light); + --bulma-table-cell-border-color: var(--bulma-light); +} +.table td.is-dark, +.table th.is-dark { + --bulma-table-color: var(--bulma-dark-invert); + --bulma-table-cell-heading-color: var(--bulma-dark-invert); + --bulma-table-cell-background-color: var(--bulma-dark); + --bulma-table-cell-border-color: var(--bulma-dark); +} +.table td.is-text, +.table th.is-text { + --bulma-table-color: var(--bulma-text-invert); + --bulma-table-cell-heading-color: var(--bulma-text-invert); + --bulma-table-cell-background-color: var(--bulma-text); + --bulma-table-cell-border-color: var(--bulma-text); +} +.table td.is-primary, +.table th.is-primary { + --bulma-table-color: var(--bulma-primary-invert); + --bulma-table-cell-heading-color: var(--bulma-primary-invert); + --bulma-table-cell-background-color: var(--bulma-primary); + --bulma-table-cell-border-color: var(--bulma-primary); +} +.table td.is-link, +.table th.is-link { + --bulma-table-color: var(--bulma-link-invert); + --bulma-table-cell-heading-color: var(--bulma-link-invert); + --bulma-table-cell-background-color: var(--bulma-link); + --bulma-table-cell-border-color: var(--bulma-link); +} +.table td.is-info, +.table th.is-info { + --bulma-table-color: var(--bulma-info-invert); + --bulma-table-cell-heading-color: var(--bulma-info-invert); + --bulma-table-cell-background-color: var(--bulma-info); + --bulma-table-cell-border-color: var(--bulma-info); +} +.table td.is-success, +.table th.is-success { + --bulma-table-color: var(--bulma-success-invert); + --bulma-table-cell-heading-color: var(--bulma-success-invert); + --bulma-table-cell-background-color: var(--bulma-success); + --bulma-table-cell-border-color: var(--bulma-success); +} +.table td.is-warning, +.table th.is-warning { + --bulma-table-color: var(--bulma-warning-invert); + --bulma-table-cell-heading-color: var(--bulma-warning-invert); + --bulma-table-cell-background-color: var(--bulma-warning); + --bulma-table-cell-border-color: var(--bulma-warning); +} +.table td.is-danger, +.table th.is-danger { + --bulma-table-color: var(--bulma-danger-invert); + --bulma-table-cell-heading-color: var(--bulma-danger-invert); + --bulma-table-cell-background-color: var(--bulma-danger); + --bulma-table-cell-border-color: var(--bulma-danger); +} +.table td.is-narrow, +.table th.is-narrow { + white-space: nowrap; + width: 1%; +} +.table td.is-selected, +.table th.is-selected { + background-color: var(--bulma-table-row-active-background-color); + color: var(--bulma-table-row-active-color); +} +.table td.is-selected a, +.table td.is-selected strong, +.table th.is-selected a, +.table th.is-selected strong { + color: currentColor; +} +.table td.is-vcentered, +.table th.is-vcentered { + vertical-align: middle; +} +.table th { + color: var(--bulma-table-cell-heading-color); +} +.table th:not([align]) { + text-align: var(--bulma-table-cell-text-align); +} +.table tr.is-selected { + background-color: var(--bulma-table-row-active-background-color); + color: var(--bulma-table-row-active-color); +} +.table tr.is-selected a, +.table tr.is-selected strong { + color: currentColor; +} +.table tr.is-selected td, +.table tr.is-selected th { + border-color: var(--bulma-table-row-active-color); + color: currentColor; +} +.table tr.is-white { + --bulma-table-color: var(--bulma-white-invert); + --bulma-table-cell-heading-color: var(--bulma-white-invert); + --bulma-table-cell-background-color: var(--bulma-white); + --bulma-table-cell-border-color: var(--bulma-white); +} +.table tr.is-black { + --bulma-table-color: var(--bulma-black-invert); + --bulma-table-cell-heading-color: var(--bulma-black-invert); + --bulma-table-cell-background-color: var(--bulma-black); + --bulma-table-cell-border-color: var(--bulma-black); +} +.table tr.is-light { + --bulma-table-color: var(--bulma-light-invert); + --bulma-table-cell-heading-color: var(--bulma-light-invert); + --bulma-table-cell-background-color: var(--bulma-light); + --bulma-table-cell-border-color: var(--bulma-light); +} +.table tr.is-dark { + --bulma-table-color: var(--bulma-dark-invert); + --bulma-table-cell-heading-color: var(--bulma-dark-invert); + --bulma-table-cell-background-color: var(--bulma-dark); + --bulma-table-cell-border-color: var(--bulma-dark); +} +.table tr.is-text { + --bulma-table-color: var(--bulma-text-invert); + --bulma-table-cell-heading-color: var(--bulma-text-invert); + --bulma-table-cell-background-color: var(--bulma-text); + --bulma-table-cell-border-color: var(--bulma-text); +} +.table tr.is-primary { + --bulma-table-color: var(--bulma-primary-invert); + --bulma-table-cell-heading-color: var(--bulma-primary-invert); + --bulma-table-cell-background-color: var(--bulma-primary); + --bulma-table-cell-border-color: var(--bulma-primary); +} +.table tr.is-link { + --bulma-table-color: var(--bulma-link-invert); + --bulma-table-cell-heading-color: var(--bulma-link-invert); + --bulma-table-cell-background-color: var(--bulma-link); + --bulma-table-cell-border-color: var(--bulma-link); +} +.table tr.is-info { + --bulma-table-color: var(--bulma-info-invert); + --bulma-table-cell-heading-color: var(--bulma-info-invert); + --bulma-table-cell-background-color: var(--bulma-info); + --bulma-table-cell-border-color: var(--bulma-info); +} +.table tr.is-success { + --bulma-table-color: var(--bulma-success-invert); + --bulma-table-cell-heading-color: var(--bulma-success-invert); + --bulma-table-cell-background-color: var(--bulma-success); + --bulma-table-cell-border-color: var(--bulma-success); +} +.table tr.is-warning { + --bulma-table-color: var(--bulma-warning-invert); + --bulma-table-cell-heading-color: var(--bulma-warning-invert); + --bulma-table-cell-background-color: var(--bulma-warning); + --bulma-table-cell-border-color: var(--bulma-warning); +} +.table tr.is-danger { + --bulma-table-color: var(--bulma-danger-invert); + --bulma-table-cell-heading-color: var(--bulma-danger-invert); + --bulma-table-cell-background-color: var(--bulma-danger); + --bulma-table-cell-border-color: var(--bulma-danger); +} +.table thead { + background-color: var(--bulma-table-head-background-color); +} +.table thead td, +.table thead th { + border-width: var(--bulma-table-head-cell-border-width); + color: var(--bulma-table-head-cell-color); +} +.table tfoot { + background-color: var(--bulma-table-foot-background-color); +} +.table tfoot td, +.table tfoot th { + border-width: var(--bulma-table-foot-cell-border-width); + color: var(--bulma-table-foot-cell-color); +} +.table tbody { + background-color: var(--bulma-table-body-background-color); +} +.table tbody tr:last-child td, +.table tbody tr:last-child th { + border-bottom-width: 0; +} +.table.is-bordered td, +.table.is-bordered th { + border-width: 1px; +} +.table.is-bordered tr:last-child td, +.table.is-bordered tr:last-child th { + border-bottom-width: 1px; +} +.table.is-fullwidth { + width: 100%; +} +.table.is-hoverable tbody tr:not(.is-selected):hover { + background-color: var(--bulma-table-row-hover-background-color); +} +.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover { + background-color: var(--bulma-table-row-hover-background-color); +} +.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) { + background-color: var(--bulma-table-striped-row-even-hover-background-color); +} +.table.is-narrow td, +.table.is-narrow th { + padding: 0.25em 0.5em; +} +.table.is-striped tbody tr:not(.is-selected):nth-child(even) { + background-color: var(--bulma-table-striped-row-even-background-color); +} + +.table-container { + -webkit-overflow-scrolling: touch; + overflow: auto; + overflow-y: hidden; + max-width: 100%; +} + +.tags { + align-items: center; + color: hsl(var(--bulma-tag-h), var(--bulma-tag-s), var(--bulma-tag-color-l)); + display: flex; + flex-wrap: wrap; + gap: 0.5rem; + justify-content: flex-start; +} +.tags.are-medium .tag:not(.is-normal):not(.is-large) { + font-size: var(--bulma-size-normal); +} +.tags.are-large .tag:not(.is-normal):not(.is-medium) { + font-size: var(--bulma-size-medium); +} +.tags.is-centered { + gap: 0.25rem; + justify-content: center; +} +.tags.is-right { + justify-content: flex-end; +} +.tags.has-addons { + gap: 0; +} +.tags.has-addons .tag:not(:first-child) { + border-start-start-radius: 0; + border-end-start-radius: 0; +} +.tags.has-addons .tag:not(:last-child) { + border-start-end-radius: 0; + border-end-end-radius: 0; +} + +.tag { + --bulma-tag-h: var(--bulma-scheme-h); + --bulma-tag-s: var(--bulma-scheme-s); + --bulma-tag-background-l: var(--bulma-background-l); + --bulma-tag-background-l-delta: 0%; + --bulma-tag-hover-background-l-delta: var(--bulma-hover-background-l-delta); + --bulma-tag-active-background-l-delta: var(--bulma-active-background-l-delta); + --bulma-tag-color-l: var(--bulma-text-l); + --bulma-tag-radius: var(--bulma-radius); + --bulma-tag-delete-margin: 1px; + align-items: center; + background-color: hsl(var(--bulma-tag-h), var(--bulma-tag-s), calc(var(--bulma-tag-background-l) + var(--bulma-tag-background-l-delta))); + border-radius: var(--bulma-radius); + color: hsl(var(--bulma-tag-h), var(--bulma-tag-s), var(--bulma-tag-color-l)); + display: inline-flex; + font-size: var(--bulma-size-small); + height: 2em; + justify-content: center; + line-height: 1.5; + padding-left: 0.75em; + padding-right: 0.75em; + white-space: nowrap; +} +.tag .delete { + margin-inline-start: 0.25rem; + margin-inline-end: -0.375rem; +} +.tag.is-white { + --bulma-tag-h: var(--bulma-white-h); + --bulma-tag-s: var(--bulma-white-s); + --bulma-tag-background-l: var(--bulma-white-l); + --bulma-tag-color-l: var(--bulma-white-invert-l); +} +.tag.is-white.is-light { + --bulma-tag-background-l: var(--bulma-light-l); + --bulma-tag-color-l: var(--bulma-white-light-invert-l); +} +.tag.is-black { + --bulma-tag-h: var(--bulma-black-h); + --bulma-tag-s: var(--bulma-black-s); + --bulma-tag-background-l: var(--bulma-black-l); + --bulma-tag-color-l: var(--bulma-black-invert-l); +} +.tag.is-black.is-light { + --bulma-tag-background-l: var(--bulma-light-l); + --bulma-tag-color-l: var(--bulma-black-light-invert-l); +} +.tag.is-light { + --bulma-tag-h: var(--bulma-light-h); + --bulma-tag-s: var(--bulma-light-s); + --bulma-tag-background-l: var(--bulma-light-l); + --bulma-tag-color-l: var(--bulma-light-invert-l); +} +.tag.is-light.is-light { + --bulma-tag-background-l: var(--bulma-light-l); + --bulma-tag-color-l: var(--bulma-light-light-invert-l); +} +.tag.is-dark { + --bulma-tag-h: var(--bulma-dark-h); + --bulma-tag-s: var(--bulma-dark-s); + --bulma-tag-background-l: var(--bulma-dark-l); + --bulma-tag-color-l: var(--bulma-dark-invert-l); +} +.tag.is-dark.is-light { + --bulma-tag-background-l: var(--bulma-light-l); + --bulma-tag-color-l: var(--bulma-dark-light-invert-l); +} +.tag.is-text { + --bulma-tag-h: var(--bulma-text-h); + --bulma-tag-s: var(--bulma-text-s); + --bulma-tag-background-l: var(--bulma-text-l); + --bulma-tag-color-l: var(--bulma-text-invert-l); +} +.tag.is-text.is-light { + --bulma-tag-background-l: var(--bulma-light-l); + --bulma-tag-color-l: var(--bulma-text-light-invert-l); +} +.tag.is-primary { + --bulma-tag-h: var(--bulma-primary-h); + --bulma-tag-s: var(--bulma-primary-s); + --bulma-tag-background-l: var(--bulma-primary-l); + --bulma-tag-color-l: var(--bulma-primary-invert-l); +} +.tag.is-primary.is-light { + --bulma-tag-background-l: var(--bulma-light-l); + --bulma-tag-color-l: var(--bulma-primary-light-invert-l); +} +.tag.is-link { + --bulma-tag-h: var(--bulma-link-h); + --bulma-tag-s: var(--bulma-link-s); + --bulma-tag-background-l: var(--bulma-link-l); + --bulma-tag-color-l: var(--bulma-link-invert-l); +} +.tag.is-link.is-light { + --bulma-tag-background-l: var(--bulma-light-l); + --bulma-tag-color-l: var(--bulma-link-light-invert-l); +} +.tag.is-info { + --bulma-tag-h: var(--bulma-info-h); + --bulma-tag-s: var(--bulma-info-s); + --bulma-tag-background-l: var(--bulma-info-l); + --bulma-tag-color-l: var(--bulma-info-invert-l); +} +.tag.is-info.is-light { + --bulma-tag-background-l: var(--bulma-light-l); + --bulma-tag-color-l: var(--bulma-info-light-invert-l); +} +.tag.is-success { + --bulma-tag-h: var(--bulma-success-h); + --bulma-tag-s: var(--bulma-success-s); + --bulma-tag-background-l: var(--bulma-success-l); + --bulma-tag-color-l: var(--bulma-success-invert-l); +} +.tag.is-success.is-light { + --bulma-tag-background-l: var(--bulma-light-l); + --bulma-tag-color-l: var(--bulma-success-light-invert-l); +} +.tag.is-warning { + --bulma-tag-h: var(--bulma-warning-h); + --bulma-tag-s: var(--bulma-warning-s); + --bulma-tag-background-l: var(--bulma-warning-l); + --bulma-tag-color-l: var(--bulma-warning-invert-l); +} +.tag.is-warning.is-light { + --bulma-tag-background-l: var(--bulma-light-l); + --bulma-tag-color-l: var(--bulma-warning-light-invert-l); +} +.tag.is-danger { + --bulma-tag-h: var(--bulma-danger-h); + --bulma-tag-s: var(--bulma-danger-s); + --bulma-tag-background-l: var(--bulma-danger-l); + --bulma-tag-color-l: var(--bulma-danger-invert-l); +} +.tag.is-danger.is-light { + --bulma-tag-background-l: var(--bulma-light-l); + --bulma-tag-color-l: var(--bulma-danger-light-invert-l); +} +.tag.is-normal { + font-size: var(--bulma-size-small); +} +.tag.is-medium { + font-size: var(--bulma-size-normal); +} +.tag.is-large { + font-size: var(--bulma-size-medium); +} +.tag .icon:first-child:not(:last-child) { + margin-inline-start: -0.375em; + margin-inline-end: 0.1875em; +} +.tag .icon:last-child:not(:first-child) { + margin-inline-start: 0.1875em; + margin-inline-end: -0.375em; +} +.tag .icon:first-child:last-child { + margin-inline-start: -0.375em; + margin-inline-end: -0.375em; +} +.tag.is-delete { + margin-inline-start: var(--bulma-tag-delete-margin); + padding: 0; + position: relative; + width: 2em; +} +.tag.is-delete::before, .tag.is-delete::after { + background-color: currentColor; + content: ""; + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + transform-origin: center center; +} +.tag.is-delete::before { + height: 1px; + width: 50%; +} +.tag.is-delete::after { + height: 50%; + width: 1px; +} +.tag.is-rounded { + border-radius: var(--bulma-radius-rounded); +} + +a.tag, +button.tag, +.tag.is-hoverable { + cursor: pointer; +} +a.tag:hover, +button.tag:hover, +.tag.is-hoverable:hover { + --bulma-tag-background-l-delta: var(--bulma-tag-hover-background-l-delta); +} +a.tag:active, +button.tag:active, +.tag.is-hoverable:active { + --bulma-tag-background-l-delta: var(--bulma-tag-active-background-l-delta); +} + +.title, +.subtitle { + --bulma-title-color: var(--bulma-text-strong); + --bulma-title-family: false; + --bulma-title-size: var(--bulma-size-3); + --bulma-title-weight: var(--bulma-weight-extrabold); + --bulma-title-line-height: 1.125; + --bulma-title-strong-color: inherit; + --bulma-title-strong-weight: inherit; + --bulma-title-sub-size: 0.75em; + --bulma-title-sup-size: 0.75em; + --bulma-subtitle-color: var(--bulma-text); + --bulma-subtitle-family: false; + --bulma-subtitle-size: var(--bulma-size-5); + --bulma-subtitle-weight: var(--bulma-weight-normal); + --bulma-subtitle-line-height: 1.25; + --bulma-subtitle-strong-color: var(--bulma-text-strong); + --bulma-subtitle-strong-weight: var(--bulma-weight-semibold); +} + +.title, +.subtitle { + word-break: break-word; +} +.title em, +.title span, +.subtitle em, +.subtitle span { + font-weight: inherit; +} +.title sub, +.subtitle sub { + font-size: var(--bulma-title-sub-size); +} +.title sup, +.subtitle sup { + font-size: var(--bulma-title-sup-size); +} +.title .tag, +.subtitle .tag { + vertical-align: middle; +} + +.title { + color: var(--bulma-title-color); + font-size: var(--bulma-title-size); + font-weight: var(--bulma-title-weight); + line-height: var(--bulma-title-line-height); +} +.title strong { + color: var(--bulma-title-strong-color); + font-weight: var(--bulma-title-strong-weight); +} +.title:not(.is-spaced):has(+ .subtitle) { + margin-bottom: 0; +} +.title.is-1 { + font-size: 3rem; +} +.title.is-2 { + font-size: 2.5rem; +} +.title.is-3 { + font-size: 2rem; +} +.title.is-4 { + font-size: 1.5rem; +} +.title.is-5 { + font-size: 1.25rem; +} +.title.is-6 { + font-size: 1rem; +} +.title.is-7 { + font-size: 0.75rem; +} + +.subtitle { + color: var(--bulma-subtitle-color); + font-size: var(--bulma-subtitle-size); + font-weight: var(--bulma-subtitle-weight); + line-height: var(--bulma-subtitle-line-height); +} +.subtitle strong { + color: var(--bulma-subtitle-strong-color); + font-weight: var(--bulma-subtitle-strong-weight); +} +.subtitle:not(.is-spaced):has(+ .title) { + margin-bottom: 0; +} +.subtitle.is-1 { + font-size: 3rem; +} +.subtitle.is-2 { + font-size: 2.5rem; +} +.subtitle.is-3 { + font-size: 2rem; +} +.subtitle.is-4 { + font-size: 1.5rem; +} +.subtitle.is-5 { + font-size: 1.25rem; +} +.subtitle.is-6 { + font-size: 1rem; +} +.subtitle.is-7 { + font-size: 0.75rem; +} + +/* Bulma Form */ +.control, +.input, +.textarea, +.select { + --bulma-input-h: var(--bulma-scheme-h); + --bulma-input-s: var(--bulma-scheme-s); + --bulma-input-l: var(--bulma-scheme-main-l); + --bulma-input-border-style: solid; + --bulma-input-border-width: var(--bulma-control-border-width); + --bulma-input-border-l: var(--bulma-border-l); + --bulma-input-border-l-delta: 0%; + --bulma-input-hover-border-l-delta: var(--bulma-hover-border-l-delta); + --bulma-input-active-border-l-delta: var(--bulma-active-border-l-delta); + --bulma-input-focus-h: var(--bulma-focus-h); + --bulma-input-focus-s: var(--bulma-focus-s); + --bulma-input-focus-l: var(--bulma-focus-l); + --bulma-input-focus-shadow-size: var(--bulma-focus-shadow-size); + --bulma-input-focus-shadow-alpha: var(--bulma-focus-shadow-alpha); + --bulma-input-color-l: var(--bulma-text-strong-l); + --bulma-input-background-l: var(--bulma-scheme-main-l); + --bulma-input-background-l-delta: 0%; + --bulma-input-height: var(--bulma-control-height); + --bulma-input-shadow: inset 0 0.0625em 0.125em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.05); + --bulma-input-placeholder-color: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-strong-l), 0.3); + --bulma-input-disabled-color: var(--bulma-text-weak); + --bulma-input-disabled-background-color: var(--bulma-background); + --bulma-input-disabled-border-color: var(--bulma-background); + --bulma-input-disabled-placeholder-color: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-weak-l), 0.3); + --bulma-input-arrow: var(--bulma-link); + --bulma-input-icon-color: var(--bulma-text-light); + --bulma-input-icon-hover-color: var(--bulma-text-weak); + --bulma-input-icon-focus-color: var(--bulma-link); + --bulma-input-radius: var(--bulma-radius); +} + +.select select, .input, .textarea { + background-color: hsl(var(--bulma-input-h), var(--bulma-input-s), calc(var(--bulma-input-background-l) + var(--bulma-input-background-l-delta))); + border-color: hsl(var(--bulma-input-h), var(--bulma-input-s), calc(var(--bulma-input-border-l) + var(--bulma-input-border-l-delta))); + border-radius: var(--bulma-input-radius); + color: hsl(var(--bulma-input-h), var(--bulma-input-s), var(--bulma-input-color-l)); +} +.select select::-moz-placeholder, .input::-moz-placeholder, .textarea::-moz-placeholder { + color: var(--bulma-input-placeholder-color); +} +.select select::-webkit-input-placeholder, .input::-webkit-input-placeholder, .textarea::-webkit-input-placeholder { + color: var(--bulma-input-placeholder-color); +} +.select select:-moz-placeholder, .input:-moz-placeholder, .textarea:-moz-placeholder { + color: var(--bulma-input-placeholder-color); +} +.select select:-ms-input-placeholder, .input:-ms-input-placeholder, .textarea:-ms-input-placeholder { + color: var(--bulma-input-placeholder-color); +} +.select select:hover, .input:hover, .textarea:hover, .select select.is-hovered, .is-hovered.input, .is-hovered.textarea { + --bulma-input-border-l-delta: var(--bulma-input-hover-border-l-delta); +} +.select select:active, .input:active, .textarea:active, .select select.is-active, .is-active.input, .is-active.textarea { + --bulma-input-border-l-delta: var(--bulma-input-active-border-l-delta); +} +.select select:focus, .input:focus, .textarea:focus, .select select:focus-within, .input:focus-within, .textarea:focus-within, .select select.is-focused, .is-focused.input, .is-focused.textarea { + border-color: hsl(var(--bulma-input-focus-h), var(--bulma-input-focus-s), var(--bulma-input-focus-l)); + box-shadow: var(--bulma-input-focus-shadow-size) hsla(var(--bulma-input-focus-h), var(--bulma-input-focus-s), var(--bulma-input-focus-l), var(--bulma-input-focus-shadow-alpha)); +} +.select select[disabled], [disabled].input, [disabled].textarea, fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .input, fieldset[disabled] .textarea { + background-color: var(--bulma-input-disabled-background-color); + border-color: var(--bulma-input-disabled-border-color); + box-shadow: none; + color: var(--bulma-input-disabled-color); +} +.select select[disabled]::-moz-placeholder, [disabled].input::-moz-placeholder, [disabled].textarea::-moz-placeholder, fieldset[disabled] .select select::-moz-placeholder, .select fieldset[disabled] select::-moz-placeholder, fieldset[disabled] .input::-moz-placeholder, fieldset[disabled] .textarea::-moz-placeholder { + color: var(--bulma-input-disabled-placeholder-color); +} +.select select[disabled]::-webkit-input-placeholder, [disabled].input::-webkit-input-placeholder, [disabled].textarea::-webkit-input-placeholder, fieldset[disabled] .select select::-webkit-input-placeholder, .select fieldset[disabled] select::-webkit-input-placeholder, fieldset[disabled] .input::-webkit-input-placeholder, fieldset[disabled] .textarea::-webkit-input-placeholder { + color: var(--bulma-input-disabled-placeholder-color); +} +.select select[disabled]:-moz-placeholder, [disabled].input:-moz-placeholder, [disabled].textarea:-moz-placeholder, fieldset[disabled] .select select:-moz-placeholder, .select fieldset[disabled] select:-moz-placeholder, fieldset[disabled] .input:-moz-placeholder, fieldset[disabled] .textarea:-moz-placeholder { + color: var(--bulma-input-disabled-placeholder-color); +} +.select select[disabled]:-ms-input-placeholder, [disabled].input:-ms-input-placeholder, [disabled].textarea:-ms-input-placeholder, fieldset[disabled] .select select:-ms-input-placeholder, .select fieldset[disabled] select:-ms-input-placeholder, fieldset[disabled] .input:-ms-input-placeholder, fieldset[disabled] .textarea:-ms-input-placeholder { + color: var(--bulma-input-disabled-placeholder-color); +} + +/* Bulma Form */ +.textarea, .input { + box-shadow: inset 0 0.0625em 0.125em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.05); + max-width: 100%; + width: 100%; +} +[readonly].textarea, [readonly].input { + box-shadow: none; +} +.is-white.textarea, .is-white.input { + --bulma-input-h: var(--bulma-white-h); + --bulma-input-s: var(--bulma-white-s); + --bulma-input-l: var(--bulma-white-l); + --bulma-input-focus-h: var(--bulma-white-h); + --bulma-input-focus-s: var(--bulma-white-s); + --bulma-input-focus-l: var(--bulma-white-l); + --bulma-input-border-l: var(--bulma-white-l); +} +.is-black.textarea, .is-black.input { + --bulma-input-h: var(--bulma-black-h); + --bulma-input-s: var(--bulma-black-s); + --bulma-input-l: var(--bulma-black-l); + --bulma-input-focus-h: var(--bulma-black-h); + --bulma-input-focus-s: var(--bulma-black-s); + --bulma-input-focus-l: var(--bulma-black-l); + --bulma-input-border-l: var(--bulma-black-l); +} +.is-light.textarea, .is-light.input { + --bulma-input-h: var(--bulma-light-h); + --bulma-input-s: var(--bulma-light-s); + --bulma-input-l: var(--bulma-light-l); + --bulma-input-focus-h: var(--bulma-light-h); + --bulma-input-focus-s: var(--bulma-light-s); + --bulma-input-focus-l: var(--bulma-light-l); + --bulma-input-border-l: var(--bulma-light-l); +} +.is-dark.textarea, .is-dark.input { + --bulma-input-h: var(--bulma-dark-h); + --bulma-input-s: var(--bulma-dark-s); + --bulma-input-l: var(--bulma-dark-l); + --bulma-input-focus-h: var(--bulma-dark-h); + --bulma-input-focus-s: var(--bulma-dark-s); + --bulma-input-focus-l: var(--bulma-dark-l); + --bulma-input-border-l: var(--bulma-dark-l); +} +.is-text.textarea, .is-text.input { + --bulma-input-h: var(--bulma-text-h); + --bulma-input-s: var(--bulma-text-s); + --bulma-input-l: var(--bulma-text-l); + --bulma-input-focus-h: var(--bulma-text-h); + --bulma-input-focus-s: var(--bulma-text-s); + --bulma-input-focus-l: var(--bulma-text-l); + --bulma-input-border-l: var(--bulma-text-l); +} +.is-primary.textarea, .is-primary.input { + --bulma-input-h: var(--bulma-primary-h); + --bulma-input-s: var(--bulma-primary-s); + --bulma-input-l: var(--bulma-primary-l); + --bulma-input-focus-h: var(--bulma-primary-h); + --bulma-input-focus-s: var(--bulma-primary-s); + --bulma-input-focus-l: var(--bulma-primary-l); + --bulma-input-border-l: var(--bulma-primary-l); +} +.is-link.textarea, .is-link.input { + --bulma-input-h: var(--bulma-link-h); + --bulma-input-s: var(--bulma-link-s); + --bulma-input-l: var(--bulma-link-l); + --bulma-input-focus-h: var(--bulma-link-h); + --bulma-input-focus-s: var(--bulma-link-s); + --bulma-input-focus-l: var(--bulma-link-l); + --bulma-input-border-l: var(--bulma-link-l); +} +.is-info.textarea, .is-info.input { + --bulma-input-h: var(--bulma-info-h); + --bulma-input-s: var(--bulma-info-s); + --bulma-input-l: var(--bulma-info-l); + --bulma-input-focus-h: var(--bulma-info-h); + --bulma-input-focus-s: var(--bulma-info-s); + --bulma-input-focus-l: var(--bulma-info-l); + --bulma-input-border-l: var(--bulma-info-l); +} +.is-success.textarea, .is-success.input { + --bulma-input-h: var(--bulma-success-h); + --bulma-input-s: var(--bulma-success-s); + --bulma-input-l: var(--bulma-success-l); + --bulma-input-focus-h: var(--bulma-success-h); + --bulma-input-focus-s: var(--bulma-success-s); + --bulma-input-focus-l: var(--bulma-success-l); + --bulma-input-border-l: var(--bulma-success-l); +} +.is-warning.textarea, .is-warning.input { + --bulma-input-h: var(--bulma-warning-h); + --bulma-input-s: var(--bulma-warning-s); + --bulma-input-l: var(--bulma-warning-l); + --bulma-input-focus-h: var(--bulma-warning-h); + --bulma-input-focus-s: var(--bulma-warning-s); + --bulma-input-focus-l: var(--bulma-warning-l); + --bulma-input-border-l: var(--bulma-warning-l); +} +.is-danger.textarea, .is-danger.input { + --bulma-input-h: var(--bulma-danger-h); + --bulma-input-s: var(--bulma-danger-s); + --bulma-input-l: var(--bulma-danger-l); + --bulma-input-focus-h: var(--bulma-danger-h); + --bulma-input-focus-s: var(--bulma-danger-s); + --bulma-input-focus-l: var(--bulma-danger-l); + --bulma-input-border-l: var(--bulma-danger-l); +} +.is-small.textarea, .is-small.input { + border-radius: var(--bulma-radius-small); + font-size: var(--bulma-size-small); +} +.is-medium.textarea, .is-medium.input { + font-size: var(--bulma-size-medium); +} +.is-large.textarea, .is-large.input { + font-size: var(--bulma-size-large); +} +.is-fullwidth.textarea, .is-fullwidth.input { + display: block; + width: 100%; +} +.is-inline.textarea, .is-inline.input { + display: inline; + width: auto; +} + +.input.is-rounded { + border-radius: var(--bulma-radius-rounded); + padding-left: calc(calc(0.75em - 1px) + 0.375em); + padding-right: calc(calc(0.75em - 1px) + 0.375em); +} +.input.is-static { + background-color: transparent; + border-color: transparent; + box-shadow: none; + padding-left: 0; + padding-right: 0; +} + +.textarea { + --bulma-textarea-padding: var(--bulma-control-padding-horizontal); + --bulma-textarea-max-height: 40em; + --bulma-textarea-min-height: 8em; + display: block; + max-width: 100%; + min-width: 100%; + padding: var(--bulma-textarea-padding); + resize: vertical; +} +.textarea:not([rows]) { + max-height: var(--bulma-textarea-max-height); + min-height: var(--bulma-textarea-min-height); +} +.textarea[rows] { + height: initial; +} +.textarea.has-fixed-size { + resize: none; +} + +/* Bulma Form */ +.radio, .checkbox { + cursor: pointer; + display: inline-block; + line-height: 1.25; + position: relative; +} +.radio input, .checkbox input { + cursor: pointer; +} +[disabled].radio, [disabled].checkbox, fieldset[disabled] .radio, fieldset[disabled] .checkbox, +.radio input[disabled], +.checkbox input[disabled] { + color: var(--bulma-text-weak); + cursor: not-allowed; +} + +.checkboxes, +.radios { + display: flex; + flex-wrap: wrap; + column-gap: 1em; + row-gap: 0.5em; +} + +/* Bulma Form */ +.select { + --bulma-input-h: var(--bulma-scheme-h); + --bulma-input-s: var(--bulma-scheme-s); + --bulma-input-border-style: solid; + --bulma-input-border-width: 1px; + --bulma-input-border-l: var(--bulma-border-l); + display: inline-block; + max-width: 100%; + position: relative; + vertical-align: top; +} +.select:not(.is-multiple) { + height: var(--bulma-control-height); +} +.select:not(.is-multiple):not(.is-loading)::after { + inset-inline-end: 1.125em; + z-index: 4; +} +.select.is-rounded select { + border-radius: var(--bulma-radius-rounded); + padding-inline-start: 1em; +} +.select select { + cursor: pointer; + display: block; + font-size: 1em; + max-width: 100%; + outline: none; +} +.select select::-ms-expand { + display: none; +} +.select select[disabled]:hover, fieldset[disabled] .select select:hover { + border-color: var(--bulma-background); +} +.select select:not([multiple]) { + padding-inline-end: 2.5em; +} +.select select[multiple] { + height: auto; + padding: 0; +} +.select select[multiple] option { + padding: 0.5em 1em; +} +.select.is-white { + --bulma-input-h: var(--bulma-white-h); + --bulma-input-s: var(--bulma-white-s); + --bulma-input-l: var(--bulma-white-l); + --bulma-input-focus-h: var(--bulma-white-h); + --bulma-input-focus-s: var(--bulma-white-s); + --bulma-input-focus-l: var(--bulma-white-l); + --bulma-input-border-l: var(--bulma-white-l); + --bulma-arrow-color: var(--bulma-white); +} +.select.is-black { + --bulma-input-h: var(--bulma-black-h); + --bulma-input-s: var(--bulma-black-s); + --bulma-input-l: var(--bulma-black-l); + --bulma-input-focus-h: var(--bulma-black-h); + --bulma-input-focus-s: var(--bulma-black-s); + --bulma-input-focus-l: var(--bulma-black-l); + --bulma-input-border-l: var(--bulma-black-l); + --bulma-arrow-color: var(--bulma-black); +} +.select.is-light { + --bulma-input-h: var(--bulma-light-h); + --bulma-input-s: var(--bulma-light-s); + --bulma-input-l: var(--bulma-light-l); + --bulma-input-focus-h: var(--bulma-light-h); + --bulma-input-focus-s: var(--bulma-light-s); + --bulma-input-focus-l: var(--bulma-light-l); + --bulma-input-border-l: var(--bulma-light-l); + --bulma-arrow-color: var(--bulma-light); +} +.select.is-dark { + --bulma-input-h: var(--bulma-dark-h); + --bulma-input-s: var(--bulma-dark-s); + --bulma-input-l: var(--bulma-dark-l); + --bulma-input-focus-h: var(--bulma-dark-h); + --bulma-input-focus-s: var(--bulma-dark-s); + --bulma-input-focus-l: var(--bulma-dark-l); + --bulma-input-border-l: var(--bulma-dark-l); + --bulma-arrow-color: var(--bulma-dark); +} +.select.is-text { + --bulma-input-h: var(--bulma-text-h); + --bulma-input-s: var(--bulma-text-s); + --bulma-input-l: var(--bulma-text-l); + --bulma-input-focus-h: var(--bulma-text-h); + --bulma-input-focus-s: var(--bulma-text-s); + --bulma-input-focus-l: var(--bulma-text-l); + --bulma-input-border-l: var(--bulma-text-l); + --bulma-arrow-color: var(--bulma-text); +} +.select.is-primary { + --bulma-input-h: var(--bulma-primary-h); + --bulma-input-s: var(--bulma-primary-s); + --bulma-input-l: var(--bulma-primary-l); + --bulma-input-focus-h: var(--bulma-primary-h); + --bulma-input-focus-s: var(--bulma-primary-s); + --bulma-input-focus-l: var(--bulma-primary-l); + --bulma-input-border-l: var(--bulma-primary-l); + --bulma-arrow-color: var(--bulma-primary); +} +.select.is-link { + --bulma-input-h: var(--bulma-link-h); + --bulma-input-s: var(--bulma-link-s); + --bulma-input-l: var(--bulma-link-l); + --bulma-input-focus-h: var(--bulma-link-h); + --bulma-input-focus-s: var(--bulma-link-s); + --bulma-input-focus-l: var(--bulma-link-l); + --bulma-input-border-l: var(--bulma-link-l); + --bulma-arrow-color: var(--bulma-link); +} +.select.is-info { + --bulma-input-h: var(--bulma-info-h); + --bulma-input-s: var(--bulma-info-s); + --bulma-input-l: var(--bulma-info-l); + --bulma-input-focus-h: var(--bulma-info-h); + --bulma-input-focus-s: var(--bulma-info-s); + --bulma-input-focus-l: var(--bulma-info-l); + --bulma-input-border-l: var(--bulma-info-l); + --bulma-arrow-color: var(--bulma-info); +} +.select.is-success { + --bulma-input-h: var(--bulma-success-h); + --bulma-input-s: var(--bulma-success-s); + --bulma-input-l: var(--bulma-success-l); + --bulma-input-focus-h: var(--bulma-success-h); + --bulma-input-focus-s: var(--bulma-success-s); + --bulma-input-focus-l: var(--bulma-success-l); + --bulma-input-border-l: var(--bulma-success-l); + --bulma-arrow-color: var(--bulma-success); +} +.select.is-warning { + --bulma-input-h: var(--bulma-warning-h); + --bulma-input-s: var(--bulma-warning-s); + --bulma-input-l: var(--bulma-warning-l); + --bulma-input-focus-h: var(--bulma-warning-h); + --bulma-input-focus-s: var(--bulma-warning-s); + --bulma-input-focus-l: var(--bulma-warning-l); + --bulma-input-border-l: var(--bulma-warning-l); + --bulma-arrow-color: var(--bulma-warning); +} +.select.is-danger { + --bulma-input-h: var(--bulma-danger-h); + --bulma-input-s: var(--bulma-danger-s); + --bulma-input-l: var(--bulma-danger-l); + --bulma-input-focus-h: var(--bulma-danger-h); + --bulma-input-focus-s: var(--bulma-danger-s); + --bulma-input-focus-l: var(--bulma-danger-l); + --bulma-input-border-l: var(--bulma-danger-l); + --bulma-arrow-color: var(--bulma-danger); +} +.select.is-small { + border-radius: var(--bulma-radius-small); + font-size: var(--bulma-size-small); +} +.select.is-medium { + font-size: var(--bulma-size-medium); +} +.select.is-large { + font-size: var(--bulma-size-large); +} +.select.is-disabled::after { + border-color: var(--bulma-text-weak) !important; + opacity: 0.5; +} +.select.is-fullwidth { + width: 100%; +} +.select.is-fullwidth select { + width: 100%; +} +.select.is-loading::after { + inset-inline-end: 0.625em; + margin-top: 0; + position: absolute; + top: 0.625em; + transform: none; +} +.select.is-loading.is-small:after { + font-size: var(--bulma-size-small); +} +.select.is-loading.is-medium:after { + font-size: var(--bulma-size-medium); +} +.select.is-loading.is-large:after { + font-size: var(--bulma-size-large); +} + +/* Bulma Form */ +.file { + --bulma-file-radius: var(--bulma-radius); + --bulma-file-name-border-color: var(--bulma-border); + --bulma-file-name-border-style: solid; + --bulma-file-name-border-width: 1px 1px 1px 0; + --bulma-file-name-max-width: 16em; + --bulma-file-h: var(--bulma-scheme-h); + --bulma-file-s: var(--bulma-scheme-s); + --bulma-file-background-l: var(--bulma-scheme-main-ter-l); + --bulma-file-background-l-delta: 0%; + --bulma-file-hover-background-l-delta: -5%; + --bulma-file-active-background-l-delta: -10%; + --bulma-file-border-l: var(--bulma-border-l); + --bulma-file-border-l-delta: 0%; + --bulma-file-hover-border-l-delta: -10%; + --bulma-file-active-border-l-delta: -20%; + --bulma-file-cta-color-l: var(--bulma-text-strong-l); + --bulma-file-name-color-l: var(--bulma-text-strong-l); + --bulma-file-color-l-delta: 0%; + --bulma-file-hover-color-l-delta: -5%; + --bulma-file-active-color-l-delta: -10%; + align-items: stretch; + display: flex; + justify-content: flex-start; + position: relative; +} +.file.is-white { + --bulma-file-h: var(--bulma-white-h); + --bulma-file-s: var(--bulma-white-s); + --bulma-file-background-l: var(--bulma-white-l); + --bulma-file-border-l: var(--bulma-white-l); + --bulma-file-cta-color-l: var(--bulma-white-invert-l); + --bulma-file-name-color-l: var(--bulma-white-on-scheme-l); +} +.file.is-black { + --bulma-file-h: var(--bulma-black-h); + --bulma-file-s: var(--bulma-black-s); + --bulma-file-background-l: var(--bulma-black-l); + --bulma-file-border-l: var(--bulma-black-l); + --bulma-file-cta-color-l: var(--bulma-black-invert-l); + --bulma-file-name-color-l: var(--bulma-black-on-scheme-l); +} +.file.is-light { + --bulma-file-h: var(--bulma-light-h); + --bulma-file-s: var(--bulma-light-s); + --bulma-file-background-l: var(--bulma-light-l); + --bulma-file-border-l: var(--bulma-light-l); + --bulma-file-cta-color-l: var(--bulma-light-invert-l); + --bulma-file-name-color-l: var(--bulma-light-on-scheme-l); +} +.file.is-dark { + --bulma-file-h: var(--bulma-dark-h); + --bulma-file-s: var(--bulma-dark-s); + --bulma-file-background-l: var(--bulma-dark-l); + --bulma-file-border-l: var(--bulma-dark-l); + --bulma-file-cta-color-l: var(--bulma-dark-invert-l); + --bulma-file-name-color-l: var(--bulma-dark-on-scheme-l); +} +.file.is-text { + --bulma-file-h: var(--bulma-text-h); + --bulma-file-s: var(--bulma-text-s); + --bulma-file-background-l: var(--bulma-text-l); + --bulma-file-border-l: var(--bulma-text-l); + --bulma-file-cta-color-l: var(--bulma-text-invert-l); + --bulma-file-name-color-l: var(--bulma-text-on-scheme-l); +} +.file.is-primary { + --bulma-file-h: var(--bulma-primary-h); + --bulma-file-s: var(--bulma-primary-s); + --bulma-file-background-l: var(--bulma-primary-l); + --bulma-file-border-l: var(--bulma-primary-l); + --bulma-file-cta-color-l: var(--bulma-primary-invert-l); + --bulma-file-name-color-l: var(--bulma-primary-on-scheme-l); +} +.file.is-link { + --bulma-file-h: var(--bulma-link-h); + --bulma-file-s: var(--bulma-link-s); + --bulma-file-background-l: var(--bulma-link-l); + --bulma-file-border-l: var(--bulma-link-l); + --bulma-file-cta-color-l: var(--bulma-link-invert-l); + --bulma-file-name-color-l: var(--bulma-link-on-scheme-l); +} +.file.is-info { + --bulma-file-h: var(--bulma-info-h); + --bulma-file-s: var(--bulma-info-s); + --bulma-file-background-l: var(--bulma-info-l); + --bulma-file-border-l: var(--bulma-info-l); + --bulma-file-cta-color-l: var(--bulma-info-invert-l); + --bulma-file-name-color-l: var(--bulma-info-on-scheme-l); +} +.file.is-success { + --bulma-file-h: var(--bulma-success-h); + --bulma-file-s: var(--bulma-success-s); + --bulma-file-background-l: var(--bulma-success-l); + --bulma-file-border-l: var(--bulma-success-l); + --bulma-file-cta-color-l: var(--bulma-success-invert-l); + --bulma-file-name-color-l: var(--bulma-success-on-scheme-l); +} +.file.is-warning { + --bulma-file-h: var(--bulma-warning-h); + --bulma-file-s: var(--bulma-warning-s); + --bulma-file-background-l: var(--bulma-warning-l); + --bulma-file-border-l: var(--bulma-warning-l); + --bulma-file-cta-color-l: var(--bulma-warning-invert-l); + --bulma-file-name-color-l: var(--bulma-warning-on-scheme-l); +} +.file.is-danger { + --bulma-file-h: var(--bulma-danger-h); + --bulma-file-s: var(--bulma-danger-s); + --bulma-file-background-l: var(--bulma-danger-l); + --bulma-file-border-l: var(--bulma-danger-l); + --bulma-file-cta-color-l: var(--bulma-danger-invert-l); + --bulma-file-name-color-l: var(--bulma-danger-on-scheme-l); +} +.file.is-small { + font-size: var(--bulma-size-small); +} +.file.is-normal { + font-size: var(--bulma-size-normal); +} +.file.is-medium { + font-size: var(--bulma-size-medium); +} +.file.is-medium .file-icon .fa { + font-size: 1.5rem; +} +.file.is-large { + font-size: var(--bulma-size-large); +} +.file.is-large .file-icon .fa { + font-size: 2rem; +} +.file.has-name .file-cta { + border-end-end-radius: 0; + border-start-end-radius: 0; +} +.file.has-name .file-name { + border-end-start-radius: 0; + border-start-start-radius: 0; +} +.file.has-name.is-empty .file-cta { + border-radius: var(--bulma-file-radius); +} +.file.has-name.is-empty .file-name { + display: none; +} +.file.is-boxed .file-label { + flex-direction: column; +} +.file.is-boxed .file-cta { + flex-direction: column; + height: auto; + padding: 1em 3em; +} +.file.is-boxed .file-name { + border-width: 0 1px 1px; +} +.file.is-boxed .file-icon { + height: 1.5em; + width: 1.5em; +} +.file.is-boxed .file-icon .fa { + font-size: 1.5rem; +} +.file.is-boxed.is-small .file-icon .fa { + font-size: 1rem; +} +.file.is-boxed.is-medium .file-icon .fa { + font-size: 2rem; +} +.file.is-boxed.is-large .file-icon .fa { + font-size: 2.5rem; +} +.file.is-boxed.has-name .file-cta { + border-end-end-radius: 0; + border-end-start-radius: 0; + border-start-end-radius: var(--bulma-file-radius); + border-start-start-radius: var(--bulma-file-radius); +} +.file.is-boxed.has-name .file-name { + border-end-end-radius: var(--bulma-file-radius); + border-end-start-radius: var(--bulma-file-radius); + border-start-end-radius: 0; + border-start-start-radius: 0; + border-width: 0 1px 1px; +} +.file.is-centered { + justify-content: center; +} +.file.is-fullwidth .file-label { + width: 100%; +} +.file.is-fullwidth .file-name { + flex-grow: 1; + max-width: none; +} +.file.is-right { + justify-content: flex-end; +} +.file.is-right .file-cta { + border-radius: 0 var(--bulma-file-radius) var(--bulma-file-radius) 0; +} +.file.is-right .file-name { + border-radius: var(--bulma-file-radius) 0 0 var(--bulma-file-radius); + border-width: 1px 0 1px 1px; + order: -1; +} + +.file-label { + align-items: stretch; + display: flex; + cursor: pointer; + justify-content: flex-start; + overflow: hidden; + position: relative; +} +.file-label:hover { + --bulma-file-background-l-delta: var(--bulma-file-hover-background-l-delta); + --bulma-file-border-l-delta: var(--bulma-file-hover-border-l-delta); + --bulma-file-color-l-delta: var(--bulma-file-hover-color-l-delta); +} +.file-label:active { + --bulma-file-background-l-delta: var(--bulma-file-active-background-l-delta); + --bulma-file-border-l-delta: var(--bulma-file-active-border-l-delta); + --bulma-file-color-l-delta: var(--bulma-file-active-color-l-delta); +} + +.file-input { + height: 100%; + left: 0; + opacity: 0; + outline: none; + position: absolute; + top: 0; + width: 100%; +} + +.file-cta, +.file-name { + border-color: hsl(var(--bulma-file-h), var(--bulma-file-s), calc(var(--bulma-file-border-l) + var(--bulma-file-border-l-delta))); + border-radius: var(--bulma-file-radius); + font-size: 1em; + padding-left: 1em; + padding-right: 1em; + white-space: nowrap; +} + +.file-cta { + background-color: hsl(var(--bulma-file-h), var(--bulma-file-s), calc(var(--bulma-file-background-l) + var(--bulma-file-background-l-delta))); + color: hsl(var(--bulma-file-h), var(--bulma-file-s), calc(var(--bulma-file-cta-color-l) + var(--bulma-file-color-l-delta))); +} + +.file-name { + border-color: hsl(var(--bulma-file-h), var(--bulma-file-s), calc(var(--bulma-file-border-l) + var(--bulma-file-color-l-delta))); + border-style: var(--bulma-file-name-border-style); + border-width: var(--bulma-file-name-border-width); + color: hsl(var(--bulma-file-h), var(--bulma-file-s), calc(var(--bulma-file-name-color-l) + var(--bulma-file-color-l-delta))); + display: block; + max-width: var(--bulma-file-name-max-width); + overflow: hidden; + text-align: inherit; + text-overflow: ellipsis; +} + +.file-icon { + align-items: center; + display: flex; + height: 1em; + justify-content: center; + margin-inline-end: 0.5em; + width: 1em; +} +.file-icon .fa { + font-size: 1rem; +} + +/* Bulma Form */ +:root { + --bulma-label-color: var(--bulma-text-strong); + --bulma-label-spacing: 0.5em; + --bulma-label-weight: var(--bulma-weight-semibold); + --bulma-help-size: var(--bulma-size-small); + --bulma-field-block-spacing: 0.75rem; +} + +.label { + color: var(--bulma-label-color); + display: block; + font-size: var(--bulma-size-normal); + font-weight: var(--bulma-weight-semibold); +} +.label:not(:last-child) { + margin-bottom: var(--bulma-label-spacing); +} +.label.is-small { + font-size: var(--bulma-size-small); +} +.label.is-medium { + font-size: var(--bulma-size-medium); +} +.label.is-large { + font-size: var(--bulma-size-large); +} + +.help { + display: block; + font-size: var(--bulma-help-size); + margin-top: 0.25rem; +} +.help.is-white { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-on-scheme-l)); +} +.help.is-black { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-on-scheme-l)); +} +.help.is-light { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-on-scheme-l)); +} +.help.is-dark { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-on-scheme-l)); +} +.help.is-text { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-on-scheme-l)); +} +.help.is-primary { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-on-scheme-l)); +} +.help.is-link { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-on-scheme-l)); +} +.help.is-info { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-on-scheme-l)); +} +.help.is-success { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-on-scheme-l)); +} +.help.is-warning { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-on-scheme-l)); +} +.help.is-danger { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-on-scheme-l)); +} + +.field { + --bulma-block-spacing: var(--bulma-field-block-spacing); +} +.field.has-addons { + display: flex; + justify-content: flex-start; +} +.field.has-addons .control:not(:last-child) { + margin-inline-end: -1px; +} +.field.has-addons .control:not(:first-child):not(:last-child) .button, +.field.has-addons .control:not(:first-child):not(:last-child) .input, +.field.has-addons .control:not(:first-child):not(:last-child) .select select { + border-radius: 0; +} +.field.has-addons .control:first-child:not(:only-child) .button, +.field.has-addons .control:first-child:not(:only-child) .input, +.field.has-addons .control:first-child:not(:only-child) .select select { + border-start-end-radius: 0; + border-end-end-radius: 0; +} +.field.has-addons .control:last-child:not(:only-child) .button, +.field.has-addons .control:last-child:not(:only-child) .input, +.field.has-addons .control:last-child:not(:only-child) .select select { + border-start-start-radius: 0; + border-end-start-radius: 0; +} +.field.has-addons .control .button:not([disabled]):hover, .field.has-addons .control .button:not([disabled]).is-hovered, +.field.has-addons .control .input:not([disabled]):hover, +.field.has-addons .control .input:not([disabled]).is-hovered, +.field.has-addons .control .select select:not([disabled]):hover, +.field.has-addons .control .select select:not([disabled]).is-hovered { + z-index: 2; +} +.field.has-addons .control .button:not([disabled]):focus, .field.has-addons .control .button:not([disabled]).is-focused, .field.has-addons .control .button:not([disabled]):active, .field.has-addons .control .button:not([disabled]).is-active, +.field.has-addons .control .input:not([disabled]):focus, +.field.has-addons .control .input:not([disabled]).is-focused, +.field.has-addons .control .input:not([disabled]):active, +.field.has-addons .control .input:not([disabled]).is-active, +.field.has-addons .control .select select:not([disabled]):focus, +.field.has-addons .control .select select:not([disabled]).is-focused, +.field.has-addons .control .select select:not([disabled]):active, +.field.has-addons .control .select select:not([disabled]).is-active { + z-index: 3; +} +.field.has-addons .control .button:not([disabled]):focus:hover, .field.has-addons .control .button:not([disabled]).is-focused:hover, .field.has-addons .control .button:not([disabled]):active:hover, .field.has-addons .control .button:not([disabled]).is-active:hover, +.field.has-addons .control .input:not([disabled]):focus:hover, +.field.has-addons .control .input:not([disabled]).is-focused:hover, +.field.has-addons .control .input:not([disabled]):active:hover, +.field.has-addons .control .input:not([disabled]).is-active:hover, +.field.has-addons .control .select select:not([disabled]):focus:hover, +.field.has-addons .control .select select:not([disabled]).is-focused:hover, +.field.has-addons .control .select select:not([disabled]):active:hover, +.field.has-addons .control .select select:not([disabled]).is-active:hover { + z-index: 4; +} +.field.has-addons .control.is-expanded { + flex-grow: 1; + flex-shrink: 1; +} +.field.has-addons.has-addons-centered { + justify-content: center; +} +.field.has-addons.has-addons-right { + justify-content: flex-end; +} +.field.has-addons.has-addons-fullwidth .control { + flex-grow: 1; + flex-shrink: 0; +} +.field.is-grouped { + display: flex; + gap: 0.75rem; + justify-content: flex-start; +} +.field.is-grouped > .control { + flex-shrink: 0; +} +.field.is-grouped > .control.is-expanded { + flex-grow: 1; + flex-shrink: 1; +} +.field.is-grouped.is-grouped-centered { + justify-content: center; +} +.field.is-grouped.is-grouped-right { + justify-content: flex-end; +} +.field.is-grouped.is-grouped-multiline { + flex-wrap: wrap; +} +@media screen and (min-width: 769px), print { + .field.is-horizontal { + display: flex; + } +} + +.field-label .label { + font-size: inherit; +} +@media screen and (max-width: 768px) { + .field-label { + margin-bottom: 0.5rem; + } +} +@media screen and (min-width: 769px), print { + .field-label { + flex-basis: 0; + flex-grow: 1; + flex-shrink: 0; + margin-inline-end: 1.5rem; + text-align: right; + } + .field-label.is-small { + font-size: var(--bulma-size-small); + padding-top: 0.375em; + } + .field-label.is-normal { + padding-top: 0.375em; + } + .field-label.is-medium { + font-size: var(--bulma-size-medium); + padding-top: 0.375em; + } + .field-label.is-large { + font-size: var(--bulma-size-large); + padding-top: 0.375em; + } +} + +.field-body .field .field { + margin-bottom: 0; +} +@media screen and (min-width: 769px), print { + .field-body { + display: flex; + flex-basis: 0; + flex-grow: 5; + flex-shrink: 1; + } + .field-body .field { + margin-bottom: 0; + } + .field-body > .field { + flex-shrink: 1; + } + .field-body > .field:not(.is-narrow) { + flex-grow: 1; + } + .field-body > .field:not(:last-child) { + margin-inline-end: 0.75rem; + } +} + +.control { + box-sizing: border-box; + clear: both; + font-size: var(--bulma-size-normal); + position: relative; + text-align: inherit; +} +.control.has-icons-left .input:hover ~ .icon, +.control.has-icons-left .select:hover ~ .icon, .control.has-icons-right .input:hover ~ .icon, +.control.has-icons-right .select:hover ~ .icon { + color: var(--bulma-input-icon-hover-color); +} +.control.has-icons-left .input:focus ~ .icon, +.control.has-icons-left .select:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon, +.control.has-icons-right .select:focus ~ .icon { + color: var(--bulma-input-icon-focus-color); +} +.control.has-icons-left .input.is-small ~ .icon, +.control.has-icons-left .select.is-small ~ .icon, .control.has-icons-right .input.is-small ~ .icon, +.control.has-icons-right .select.is-small ~ .icon { + font-size: var(--bulma-size-small); +} +.control.has-icons-left .input.is-medium ~ .icon, +.control.has-icons-left .select.is-medium ~ .icon, .control.has-icons-right .input.is-medium ~ .icon, +.control.has-icons-right .select.is-medium ~ .icon { + font-size: var(--bulma-size-medium); +} +.control.has-icons-left .input.is-large ~ .icon, +.control.has-icons-left .select.is-large ~ .icon, .control.has-icons-right .input.is-large ~ .icon, +.control.has-icons-right .select.is-large ~ .icon { + font-size: var(--bulma-size-large); +} +.control.has-icons-left .icon, .control.has-icons-right .icon { + color: var(--bulma-input-icon-color); + height: var(--bulma-input-height); + pointer-events: none; + position: absolute; + top: 0; + width: var(--bulma-input-height); + z-index: 4; +} +.control.has-icons-left .input, +.control.has-icons-left .select select { + padding-left: var(--bulma-input-height); +} +.control.has-icons-left .icon.is-left { + left: 0; +} +.control.has-icons-right .input, +.control.has-icons-right .select select { + padding-right: var(--bulma-input-height); +} +.control.has-icons-right .icon.is-right { + right: 0; +} +.control.is-loading::after { + inset-inline-end: 0.75em; + position: absolute !important; + top: 0.75em; + z-index: 4; +} +.control.is-loading.is-small:after { + font-size: var(--bulma-size-small); +} +.control.is-loading.is-medium:after { + font-size: var(--bulma-size-medium); +} +.control.is-loading.is-large:after { + font-size: var(--bulma-size-large); +} + +/* Bulma Components */ +.breadcrumb { + --bulma-breadcrumb-item-color: var(--bulma-link-text); + --bulma-breadcrumb-item-hover-color: var(--bulma-link-text-hover); + --bulma-breadcrumb-item-active-color: var(--bulma-link-text-active); + --bulma-breadcrumb-item-padding-vertical: 0; + --bulma-breadcrumb-item-padding-horizontal: 0.75em; + --bulma-breadcrumb-item-separator-color: var(--bulma-border); +} + +.breadcrumb { + font-size: var(--bulma-size-normal); + white-space: nowrap; +} +.breadcrumb a { + align-items: center; + color: var(--bulma-breadcrumb-item-color); + display: flex; + justify-content: center; + padding: var(--bulma-breadcrumb-item-padding-vertical) var(--bulma-breadcrumb-item-padding-horizontal); +} +.breadcrumb a:hover { + color: var(--bulma-breadcrumb-item-hover-color); +} +.breadcrumb li { + align-items: center; + display: flex; +} +.breadcrumb li:first-child a { + padding-inline-start: 0; +} +.breadcrumb li.is-active a { + color: var(--bulma-breadcrumb-item-active-color); + cursor: default; + pointer-events: none; +} +.breadcrumb li + li::before { + color: var(--bulma-breadcrumb-item-separator-color); + content: "/"; +} +.breadcrumb ul, +.breadcrumb ol { + align-items: flex-start; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.breadcrumb .icon:first-child { + margin-inline-end: 0.5em; +} +.breadcrumb .icon:last-child { + margin-inline-start: 0.5em; +} +.breadcrumb.is-centered ol, +.breadcrumb.is-centered ul { + justify-content: center; +} +.breadcrumb.is-right ol, +.breadcrumb.is-right ul { + justify-content: flex-end; +} +.breadcrumb.is-small { + font-size: var(--bulma-size-small); +} +.breadcrumb.is-medium { + font-size: var(--bulma-size-medium); +} +.breadcrumb.is-large { + font-size: var(--bulma-size-large); +} +.breadcrumb.has-arrow-separator li + li::before { + content: "→"; +} +.breadcrumb.has-bullet-separator li + li::before { + content: "•"; +} +.breadcrumb.has-dot-separator li + li::before { + content: "·"; +} +.breadcrumb.has-succeeds-separator li + li::before { + content: "≻"; +} + +.card { + --bulma-card-color: var(--bulma-text); + --bulma-card-background-color: var(--bulma-scheme-main); + --bulma-card-shadow: var(--bulma-shadow); + --bulma-card-radius: 0.75rem; + --bulma-card-header-background-color: transparent; + --bulma-card-header-color: var(--bulma-text-strong); + --bulma-card-header-padding: 0.75rem 1rem; + --bulma-card-header-shadow: 0 0.125em 0.25em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.1); + --bulma-card-header-weight: var(--bulma-weight-bold); + --bulma-card-content-background-color: transparent; + --bulma-card-content-padding: 1.5rem; + --bulma-card-footer-background-color: transparent; + --bulma-card-footer-border-top: 1px solid var(--bulma-border-weak); + --bulma-card-footer-padding: 0.75rem; + --bulma-card-media-margin: var(--bulma-block-spacing); +} + +.card { + background-color: var(--bulma-card-background-color); + border-radius: var(--bulma-card-radius); + box-shadow: var(--bulma-card-shadow); + color: var(--bulma-card-color); + max-width: 100%; + position: relative; +} + +.card-footer:first-child, .card-content:first-child, .card-header:first-child { + border-start-start-radius: var(--bulma-card-radius); + border-start-end-radius: var(--bulma-card-radius); +} +.card-footer:last-child, .card-content:last-child, .card-header:last-child { + border-end-start-radius: var(--bulma-card-radius); + border-end-end-radius: var(--bulma-card-radius); +} + +.card-header { + background-color: var(--bulma-card-header-background-color); + align-items: stretch; + box-shadow: var(--bulma-card-header-shadow); + display: flex; +} + +.card-header-title { + align-items: center; + color: var(--bulma-card-header-color); + display: flex; + flex-grow: 1; + font-weight: var(--bulma-card-header-weight); + padding: var(--bulma-card-header-padding); +} +.card-header-title.is-centered { + justify-content: center; +} + +.card-header-icon { + appearance: none; + background: none; + border: none; + color: inherit; + font-family: inherit; + font-size: 1em; + margin: 0; + padding: 0; + align-items: center; + cursor: pointer; + display: flex; + justify-content: center; + padding: var(--bulma-card-header-padding); +} + +.card-image { + display: block; + position: relative; +} +.card-image:first-child img { + border-start-start-radius: var(--bulma-card-radius); + border-start-end-radius: var(--bulma-card-radius); +} +.card-image:last-child img { + border-end-start-radius: var(--bulma-card-radius); + border-end-end-radius: var(--bulma-card-radius); +} + +.card-content { + background-color: var(--bulma-card-content-background-color); + padding: var(--bulma-card-content-padding); +} + +.card-footer { + background-color: var(--bulma-card-footer-background-color); + border-top: var(--bulma-card-footer-border-top); + align-items: stretch; + display: flex; +} + +.card-footer-item { + align-items: center; + display: flex; + flex-basis: 0; + flex-grow: 1; + flex-shrink: 0; + justify-content: center; + padding: var(--bulma-card-footer-padding); +} +.card-footer-item:not(:last-child) { + border-inline-end: var(--bulma-card-footer-border-top); +} + +.card .media:not(:last-child) { + margin-bottom: var(--bulma-card-media-margin); +} + +.dropdown { + --bulma-dropdown-menu-min-width: 12rem; + --bulma-dropdown-content-background-color: var(--bulma-scheme-main); + --bulma-dropdown-content-offset: 0.25rem; + --bulma-dropdown-content-padding-bottom: 0.5rem; + --bulma-dropdown-content-padding-top: 0.5rem; + --bulma-dropdown-content-radius: var(--bulma-radius); + --bulma-dropdown-content-shadow: var(--bulma-shadow); + --bulma-dropdown-content-z: 20; + --bulma-dropdown-item-h: var(--bulma-scheme-h); + --bulma-dropdown-item-s: var(--bulma-scheme-s); + --bulma-dropdown-item-l: var(--bulma-scheme-main-l); + --bulma-dropdown-item-background-l: var(--bulma-scheme-main-l); + --bulma-dropdown-item-background-l-delta: 0%; + --bulma-dropdown-item-hover-background-l-delta: var(--bulma-hover-background-l-delta); + --bulma-dropdown-item-active-background-l-delta: var(--bulma-active-background-l-delta); + --bulma-dropdown-item-color-l: var(--bulma-text-strong-l); + --bulma-dropdown-item-selected-h: var(--bulma-link-h); + --bulma-dropdown-item-selected-s: var(--bulma-link-s); + --bulma-dropdown-item-selected-l: var(--bulma-link-l); + --bulma-dropdown-item-selected-background-l: var(--bulma-link-l); + --bulma-dropdown-item-selected-color-l: var(--bulma-link-invert-l); + --bulma-dropdown-divider-background-color: var(--bulma-border-weak); +} + +.dropdown { + display: inline-flex; + position: relative; + vertical-align: top; +} +.dropdown.is-active .dropdown-menu, .dropdown.is-hoverable:hover .dropdown-menu { + display: block; +} +.dropdown.is-right .dropdown-menu { + left: auto; + right: 0; +} +.dropdown.is-up .dropdown-menu { + bottom: 100%; + padding-bottom: var(--bulma-dropdown-content-offset); + padding-top: initial; + top: auto; +} + +.dropdown-menu { + display: none; + left: 0; + min-width: var(--bulma-dropdown-menu-min-width); + padding-top: var(--bulma-dropdown-content-offset); + position: absolute; + top: 100%; + z-index: var(--bulma-dropdown-content-z); +} + +.dropdown-content { + background-color: var(--bulma-dropdown-content-background-color); + border-radius: var(--bulma-dropdown-content-radius); + box-shadow: var(--bulma-dropdown-content-shadow); + padding-bottom: var(--bulma-dropdown-content-padding-bottom); + padding-top: var(--bulma-dropdown-content-padding-top); +} + +.dropdown-item { + color: hsl(var(--bulma-dropdown-item-h), var(--bulma-dropdown-item-s), var(--bulma-dropdown-item-color-l)); + display: block; + font-size: 0.875rem; + line-height: 1.5; + padding: 0.375rem 1rem; +} + +a.dropdown-item, +button.dropdown-item { + background-color: hsl(var(--bulma-dropdown-item-h), var(--bulma-dropdown-item-s), calc(var(--bulma-dropdown-item-background-l) + var(--bulma-dropdown-item-background-l-delta))); + padding-inline-end: 3rem; + text-align: inherit; + white-space: nowrap; + width: 100%; +} +a.dropdown-item:hover, +button.dropdown-item:hover { + --bulma-dropdown-item-background-l-delta: var(--bulma-dropdown-item-hover-background-l-delta); + --bulma-dropdown-item-border-l-delta: var(--bulma-dropdown-item-hover-border-l-delta); +} +a.dropdown-item:active, +button.dropdown-item:active { + --bulma-dropdown-item-background-l-delta: var(--bulma-dropdown-item-active-background-l-delta); + --bulma-dropdown-item-border-l-delta: var(--bulma-dropdown-item-active-border-l-delta); +} +a.dropdown-item.is-active, a.dropdown-item.is-selected, +button.dropdown-item.is-active, +button.dropdown-item.is-selected { + --bulma-dropdown-item-h: var(--bulma-dropdown-item-selected-h); + --bulma-dropdown-item-s: var(--bulma-dropdown-item-selected-s); + --bulma-dropdown-item-l: var(--bulma-dropdown-item-selected-l); + --bulma-dropdown-item-background-l: var(--bulma-dropdown-item-selected-background-l); + --bulma-dropdown-item-color-l: var(--bulma-dropdown-item-selected-color-l); +} + +.dropdown-divider { + background-color: var(--bulma-dropdown-divider-background-color); + border: none; + display: block; + height: 1px; + margin: 0.5rem 0; +} + +.menu { + --bulma-menu-item-h: var(--bulma-scheme-h); + --bulma-menu-item-s: var(--bulma-scheme-s); + --bulma-menu-item-l: var(--bulma-scheme-main-l); + --bulma-menu-item-background-l: var(--bulma-scheme-main-l); + --bulma-menu-item-background-l-delta: 0%; + --bulma-menu-item-hover-background-l-delta: var(--bulma-hover-background-l-delta); + --bulma-menu-item-active-background-l-delta: var(--bulma-active-background-l-delta); + --bulma-menu-item-color-l: var(--bulma-text-l); + --bulma-menu-item-radius: var(--bulma-radius-small); + --bulma-menu-item-selected-h: var(--bulma-link-h); + --bulma-menu-item-selected-s: var(--bulma-link-s); + --bulma-menu-item-selected-l: var(--bulma-link-l); + --bulma-menu-item-selected-background-l: var(--bulma-link-l); + --bulma-menu-item-selected-color-l: var(--bulma-link-invert-l); + --bulma-menu-list-border-left: 1px solid var(--bulma-border); + --bulma-menu-list-line-height: 1.25; + --bulma-menu-list-link-padding: 0.5em 0.75em; + --bulma-menu-nested-list-margin: 0.75em; + --bulma-menu-nested-list-padding-left: 0.75em; + --bulma-menu-label-color: var(--bulma-text-weak); + --bulma-menu-label-font-size: 0.75em; + --bulma-menu-label-letter-spacing: 0.1em; + --bulma-menu-label-spacing: 1em; +} + +.menu { + font-size: var(--bulma-size-normal); +} +.menu.is-small { + font-size: var(--bulma-size-small); +} +.menu.is-medium { + font-size: var(--bulma-size-medium); +} +.menu.is-large { + font-size: var(--bulma-size-large); +} + +.menu-list { + line-height: var(--bulma-menu-list-line-height); +} +.menu-list a, +.menu-list button, +.menu-list .menu-item { + background-color: hsl(var(--bulma-menu-item-h), var(--bulma-menu-item-s), calc(var(--bulma-menu-item-background-l) + var(--bulma-menu-item-background-l-delta))); + border-radius: var(--bulma-menu-item-radius); + color: hsl(var(--bulma-menu-item-h), var(--bulma-menu-item-s), var(--bulma-menu-item-color-l)); + display: block; + padding: var(--bulma-menu-list-link-padding); + text-align: left; + width: 100%; +} +.menu-list a:hover, +.menu-list button:hover, +.menu-list .menu-item:hover { + --bulma-menu-item-background-l-delta: var(--bulma-menu-item-hover-background-l-delta); +} +.menu-list a:active, +.menu-list button:active, +.menu-list .menu-item:active { + --bulma-menu-item-background-l-delta: var(--bulma-menu-item-active-background-l-delta); +} +.menu-list a.is-active, .menu-list a.is-selected, +.menu-list button.is-active, +.menu-list button.is-selected, +.menu-list .menu-item.is-active, +.menu-list .menu-item.is-selected { + --bulma-menu-item-h: var(--bulma-menu-item-selected-h); + --bulma-menu-item-s: var(--bulma-menu-item-selected-s); + --bulma-menu-item-l: var(--bulma-menu-item-selected-l); + --bulma-menu-item-background-l: var(--bulma-menu-item-selected-background-l); + --bulma-menu-item-color-l: var(--bulma-menu-item-selected-color-l); +} +.menu-list li ul { + border-inline-start: var(--bulma-menu-list-border-left); + margin: var(--bulma-menu-nested-list-margin); + padding-inline-start: var(--bulma-menu-nested-list-padding-left); +} + +.menu-label { + color: var(--bulma-menu-label-color); + font-size: var(--bulma-menu-label-font-size); + letter-spacing: var(--bulma-menu-label-letter-spacing); + text-transform: uppercase; +} +.menu-label:not(:first-child) { + margin-top: var(--bulma-menu-label-spacing); +} +.menu-label:not(:last-child) { + margin-bottom: var(--bulma-menu-label-spacing); +} + +.message { + --bulma-message-border-l-delta: -20%; + --bulma-message-radius: var(--bulma-radius); + --bulma-message-header-weight: var(--bulma-weight-semibold); + --bulma-message-header-padding: 1em 1.25em; + --bulma-message-header-radius: var(--bulma-radius); + --bulma-message-body-border-width: 0 0 0 4px; + --bulma-message-body-color: var(--bulma-text); + --bulma-message-body-padding: 1.25em 1.5em; + --bulma-message-body-radius: var(--bulma-radius-small); + --bulma-message-body-pre-code-background-color: transparent; + --bulma-message-header-body-border-width: 0; + --bulma-message-h: var(--bulma-scheme-h); + --bulma-message-s: var(--bulma-scheme-s); + --bulma-message-background-l: var(--bulma-background-l); + --bulma-message-border-l: var(--bulma-border-l); + --bulma-message-border-style: solid; + --bulma-message-border-width: 0.25em; + --bulma-message-color-l: var(--bulma-text-l); + --bulma-message-header-background-l: var(--bulma-dark-l); + --bulma-message-header-color-l: var(--bulma-text-dark-invert-l); +} + +.message { + border-radius: var(--bulma-message-radius); + color: hsl(var(--bulma-message-h), var(--bulma-message-s), var(--bulma-message-color-l)); + font-size: var(--bulma-size-normal); +} +.message strong { + color: currentColor; +} +.message a:not(.button):not(.tag):not(.dropdown-item) { + color: currentColor; + text-decoration: underline; +} +.message.is-small { + font-size: var(--bulma-size-small); +} +.message.is-medium { + font-size: var(--bulma-size-medium); +} +.message.is-large { + font-size: var(--bulma-size-large); +} +.message.is-white { + --bulma-message-h: var(--bulma-white-h); + --bulma-message-s: var(--bulma-white-s); + --bulma-message-border-l: calc(var(--bulma-white-l) + var(--bulma-message-border-l-delta)); + --bulma-message-color-l: var(--bulma-white-on-scheme-l); + --bulma-message-header-background-l: var(--bulma-white-l); + --bulma-message-header-color-l: var(--bulma-white-invert-l); +} +.message.is-black { + --bulma-message-h: var(--bulma-black-h); + --bulma-message-s: var(--bulma-black-s); + --bulma-message-border-l: calc(var(--bulma-black-l) + var(--bulma-message-border-l-delta)); + --bulma-message-color-l: var(--bulma-black-on-scheme-l); + --bulma-message-header-background-l: var(--bulma-black-l); + --bulma-message-header-color-l: var(--bulma-black-invert-l); +} +.message.is-light { + --bulma-message-h: var(--bulma-light-h); + --bulma-message-s: var(--bulma-light-s); + --bulma-message-border-l: calc(var(--bulma-light-l) + var(--bulma-message-border-l-delta)); + --bulma-message-color-l: var(--bulma-light-on-scheme-l); + --bulma-message-header-background-l: var(--bulma-light-l); + --bulma-message-header-color-l: var(--bulma-light-invert-l); +} +.message.is-dark { + --bulma-message-h: var(--bulma-dark-h); + --bulma-message-s: var(--bulma-dark-s); + --bulma-message-border-l: calc(var(--bulma-dark-l) + var(--bulma-message-border-l-delta)); + --bulma-message-color-l: var(--bulma-dark-on-scheme-l); + --bulma-message-header-background-l: var(--bulma-dark-l); + --bulma-message-header-color-l: var(--bulma-dark-invert-l); +} +.message.is-text { + --bulma-message-h: var(--bulma-text-h); + --bulma-message-s: var(--bulma-text-s); + --bulma-message-border-l: calc(var(--bulma-text-l) + var(--bulma-message-border-l-delta)); + --bulma-message-color-l: var(--bulma-text-on-scheme-l); + --bulma-message-header-background-l: var(--bulma-text-l); + --bulma-message-header-color-l: var(--bulma-text-invert-l); +} +.message.is-primary { + --bulma-message-h: var(--bulma-primary-h); + --bulma-message-s: var(--bulma-primary-s); + --bulma-message-border-l: calc(var(--bulma-primary-l) + var(--bulma-message-border-l-delta)); + --bulma-message-color-l: var(--bulma-primary-on-scheme-l); + --bulma-message-header-background-l: var(--bulma-primary-l); + --bulma-message-header-color-l: var(--bulma-primary-invert-l); +} +.message.is-link { + --bulma-message-h: var(--bulma-link-h); + --bulma-message-s: var(--bulma-link-s); + --bulma-message-border-l: calc(var(--bulma-link-l) + var(--bulma-message-border-l-delta)); + --bulma-message-color-l: var(--bulma-link-on-scheme-l); + --bulma-message-header-background-l: var(--bulma-link-l); + --bulma-message-header-color-l: var(--bulma-link-invert-l); +} +.message.is-info { + --bulma-message-h: var(--bulma-info-h); + --bulma-message-s: var(--bulma-info-s); + --bulma-message-border-l: calc(var(--bulma-info-l) + var(--bulma-message-border-l-delta)); + --bulma-message-color-l: var(--bulma-info-on-scheme-l); + --bulma-message-header-background-l: var(--bulma-info-l); + --bulma-message-header-color-l: var(--bulma-info-invert-l); +} +.message.is-success { + --bulma-message-h: var(--bulma-success-h); + --bulma-message-s: var(--bulma-success-s); + --bulma-message-border-l: calc(var(--bulma-success-l) + var(--bulma-message-border-l-delta)); + --bulma-message-color-l: var(--bulma-success-on-scheme-l); + --bulma-message-header-background-l: var(--bulma-success-l); + --bulma-message-header-color-l: var(--bulma-success-invert-l); +} +.message.is-warning { + --bulma-message-h: var(--bulma-warning-h); + --bulma-message-s: var(--bulma-warning-s); + --bulma-message-border-l: calc(var(--bulma-warning-l) + var(--bulma-message-border-l-delta)); + --bulma-message-color-l: var(--bulma-warning-on-scheme-l); + --bulma-message-header-background-l: var(--bulma-warning-l); + --bulma-message-header-color-l: var(--bulma-warning-invert-l); +} +.message.is-danger { + --bulma-message-h: var(--bulma-danger-h); + --bulma-message-s: var(--bulma-danger-s); + --bulma-message-border-l: calc(var(--bulma-danger-l) + var(--bulma-message-border-l-delta)); + --bulma-message-color-l: var(--bulma-danger-on-scheme-l); + --bulma-message-header-background-l: var(--bulma-danger-l); + --bulma-message-header-color-l: var(--bulma-danger-invert-l); +} + +.message-header { + align-items: center; + background-color: hsl(var(--bulma-message-h), var(--bulma-message-s), var(--bulma-message-header-background-l)); + border-start-start-radius: var(--bulma-message-header-radius); + border-start-end-radius: var(--bulma-message-header-radius); + color: hsl(var(--bulma-message-h), var(--bulma-message-s), var(--bulma-message-header-color-l)); + display: flex; + font-weight: var(--bulma-message-header-weight); + justify-content: space-between; + line-height: 1.25; + padding: var(--bulma-message-header-padding); + position: relative; +} +.message-header .delete { + flex-grow: 0; + flex-shrink: 0; + margin-inline-start: 0.75em; +} +.message-header + .message-body { + border-width: var(--bulma-message-header-body-border-width); + border-start-start-radius: 0; + border-start-end-radius: 0; +} + +.message-body { + background-color: hsl(var(--bulma-message-h), var(--bulma-message-s), var(--bulma-message-background-l)); + border-inline-start-color: hsl(var(--bulma-message-h), var(--bulma-message-s), var(--bulma-message-border-l)); + border-inline-start-style: var(--bulma-message-border-style); + border-inline-start-width: var(--bulma-message-border-width); + border-radius: var(--bulma-message-body-radius); + padding: var(--bulma-message-body-padding); +} +.message-body code, +.message-body pre { + background-color: hsl(var(--bulma-message-h), var(--bulma-message-s), var(--bulma-message-header-color-l)); + color: hsl(var(--bulma-message-h), var(--bulma-message-s), var(--bulma-message-header-background-l)); +} +.message-body pre code { + background-color: var(--bulma-message-body-pre-code-background-color); +} + +.modal { + --bulma-modal-z: 40; + --bulma-modal-background-background-color: hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.86); + --bulma-modal-content-width: 40rem; + --bulma-modal-content-margin-mobile: 1.25rem; + --bulma-modal-content-spacing-mobile: 10rem; + --bulma-modal-content-spacing-tablet: 2.5rem; + --bulma-modal-close-dimensions: 2.5rem; + --bulma-modal-close-right: 1.25rem; + --bulma-modal-close-top: 1.25rem; + --bulma-modal-card-spacing: 2.5rem; + --bulma-modal-card-head-background-color: var(--bulma-scheme-main); + --bulma-modal-card-head-padding: 2rem; + --bulma-modal-card-head-radius: var(--bulma-radius-large); + --bulma-modal-card-title-color: var(--bulma-text-strong); + --bulma-modal-card-title-line-height: 1; + --bulma-modal-card-title-size: var(--bulma-size-4); + --bulma-modal-card-foot-background-color: var(--bulma-scheme-main-bis); + --bulma-modal-card-foot-radius: var(--bulma-radius-large); + --bulma-modal-card-body-background-color: var(--bulma-scheme-main); + --bulma-modal-card-body-padding: 2rem; +} + +.modal { + align-items: center; + display: none; + flex-direction: column; + justify-content: center; + overflow: hidden; + position: fixed; + z-index: var(--bulma-modal-z); +} +.modal.is-active { + display: flex; +} + +.modal-background { + background-color: var(--bulma-modal-background-background-color); +} + +.modal-content, +.modal-card { + margin: 0 var(--bulma-modal-content-margin-mobile); + max-height: calc(100vh - var(--bulma-modal-content-spacing-mobile)); + overflow: auto; + position: relative; + width: 100%; +} +@media screen and (min-width: 769px) { + .modal-content, + .modal-card { + margin: 0 auto; + max-height: calc(100vh - var(--bulma-modal-content-spacing-tablet)); + width: var(--bulma-modal-content-width); + } +} + +.modal-close { + background: none; + height: var(--bulma-modal-close-dimensions); + inset-inline-end: var(--bulma-modal-close-right); + position: fixed; + top: var(--bulma-modal-close-top); + width: var(--bulma-modal-close-dimensions); +} + +.modal-card { + display: flex; + flex-direction: column; + max-height: calc(100vh - var(--bulma-modal-card-spacing)); + overflow: hidden; + overflow-y: visible; +} + +.modal-card-head, +.modal-card-foot { + align-items: center; + display: flex; + flex-shrink: 0; + justify-content: flex-start; + padding: var(--bulma-modal-card-head-padding); + position: relative; +} + +.modal-card-head { + background-color: var(--bulma-modal-card-head-background-color); + border-start-start-radius: var(--bulma-modal-card-head-radius); + border-start-end-radius: var(--bulma-modal-card-head-radius); + box-shadow: var(--bulma-shadow); +} + +.modal-card-title { + color: var(--bulma-modal-card-title-color); + flex-grow: 1; + flex-shrink: 0; + font-size: var(--bulma-modal-card-title-size); + line-height: var(--bulma-modal-card-title-line-height); +} + +.modal-card-foot { + background-color: var(--bulma-modal-card-foot-background-color); + border-end-start-radius: var(--bulma-modal-card-foot-radius); + border-end-end-radius: var(--bulma-modal-card-foot-radius); +} + +.modal-card-body { + -webkit-overflow-scrolling: touch; + background-color: var(--bulma-modal-card-body-background-color); + flex-grow: 1; + flex-shrink: 1; + overflow: auto; + padding: var(--bulma-modal-card-body-padding); +} + +:root { + --bulma-navbar-height: 3.25rem; +} + +.navbar { + --bulma-navbar-h: var(--bulma-scheme-h); + --bulma-navbar-s: var(--bulma-scheme-s); + --bulma-navbar-l: var(--bulma-scheme-main-l); + --bulma-navbar-background-color: var(--bulma-scheme-main); + --bulma-navbar-box-shadow-size: 0 0.125em 0 0; + --bulma-navbar-box-shadow-color: var(--bulma-background); + --bulma-navbar-padding-vertical: 1rem; + --bulma-navbar-padding-horizontal: 2rem; + --bulma-navbar-z: 30; + --bulma-navbar-fixed-z: 30; + --bulma-navbar-item-background-a: 0; + --bulma-navbar-item-background-l: var(--bulma-scheme-main-l); + --bulma-navbar-item-background-l-delta: 0%; + --bulma-navbar-item-hover-background-l-delta: var(--bulma-hover-background-l-delta); + --bulma-navbar-item-active-background-l-delta: var(--bulma-active-background-l-delta); + --bulma-navbar-item-color-l: var(--bulma-text-l); + --bulma-navbar-item-color: hsl(var(--bulma-navbar-h), var(--bulma-navbar-s), var(--bulma-navbar-item-color-l)); + --bulma-navbar-item-selected-h: var(--bulma-link-h); + --bulma-navbar-item-selected-s: var(--bulma-link-s); + --bulma-navbar-item-selected-l: var(--bulma-link-l); + --bulma-navbar-item-selected-background-l: var(--bulma-link-l); + --bulma-navbar-item-selected-color-l: var(--bulma-link-invert-l); + --bulma-navbar-item-img-max-height: 1.75rem; + --bulma-navbar-burger-color: var(--bulma-link); + --bulma-navbar-tab-hover-background-color: transparent; + --bulma-navbar-tab-hover-border-bottom-color: var(--bulma-link); + --bulma-navbar-tab-active-color: var(--bulma-link); + --bulma-navbar-tab-active-background-color: transparent; + --bulma-navbar-tab-active-border-bottom-color: var(--bulma-link); + --bulma-navbar-tab-active-border-bottom-style: solid; + --bulma-navbar-tab-active-border-bottom-width: 0.1875em; + --bulma-navbar-dropdown-background-color: var(--bulma-scheme-main); + --bulma-navbar-dropdown-border-l: var(--bulma-border-l); + --bulma-navbar-dropdown-border-color: hsl(var(--bulma-navbar-h), var(--bulma-navbar-s), var(--bulma-navbar-dropdown-border-l)); + --bulma-navbar-dropdown-border-style: solid; + --bulma-navbar-dropdown-border-width: 0.125em; + --bulma-navbar-dropdown-offset: -0.25em; + --bulma-navbar-dropdown-arrow: var(--bulma-link); + --bulma-navbar-dropdown-radius: var(--bulma-radius-large); + --bulma-navbar-dropdown-z: 20; + --bulma-navbar-dropdown-boxed-radius: var(--bulma-radius-large); + --bulma-navbar-dropdown-boxed-shadow: 0 0.5em 0.5em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.1), 0 0 0 1px hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.1); + --bulma-navbar-dropdown-item-h: var(--bulma-scheme-h); + --bulma-navbar-dropdown-item-s: var(--bulma-scheme-s); + --bulma-navbar-dropdown-item-l: var(--bulma-scheme-main-l); + --bulma-navbar-dropdown-item-background-l: var(--bulma-scheme-main-l); + --bulma-navbar-dropdown-item-color-l: var(--bulma-text-l); + --bulma-navbar-divider-background-l: var(--bulma-background-l); + --bulma-navbar-divider-height: 0.125em; + --bulma-navbar-bottom-box-shadow-size: 0 -0.125em 0 0; +} + +.navbar { + background-color: var(--bulma-navbar-background-color); + min-height: var(--bulma-navbar-height); + position: relative; + z-index: var(--bulma-navbar-z); +} +.navbar.is-white { + --bulma-navbar-h: var(--bulma-white-h); + --bulma-navbar-s: var(--bulma-white-s); + --bulma-navbar-l: var(--bulma-white-l); + --bulma-burger-h: var(--bulma-white-h); + --bulma-burger-s: var(--bulma-white-s); + --bulma-burger-l: var(--bulma-white-invert-l); + --bulma-navbar-background-color: var(--bulma-white); + --bulma-navbar-item-background-l: var(--bulma-white-l); + --bulma-navbar-item-color-l: var(--bulma-white-invert-l); + --bulma-navbar-item-selected-h: var(--bulma-white-h); + --bulma-navbar-item-selected-s: var(--bulma-white-s); + --bulma-navbar-item-selected-l: var(--bulma-white-l); + --bulma-navbar-item-selected-background-l: var(--bulma-white-l); + --bulma-navbar-item-selected-color-l: var(--bulma-white-invert-l); + --bulma-navbar-dropdown-arrow: var(--bulma-white-invert-l); + --bulma-navbar-dropdown-background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-navbar-dropdown-item-background-l)); + --bulma-navbar-dropdown-item-h: var(--bulma-white-h); + --bulma-navbar-dropdown-item-s: var(--bulma-white-s); +} +.navbar.is-black { + --bulma-navbar-h: var(--bulma-black-h); + --bulma-navbar-s: var(--bulma-black-s); + --bulma-navbar-l: var(--bulma-black-l); + --bulma-burger-h: var(--bulma-black-h); + --bulma-burger-s: var(--bulma-black-s); + --bulma-burger-l: var(--bulma-black-invert-l); + --bulma-navbar-background-color: var(--bulma-black); + --bulma-navbar-item-background-l: var(--bulma-black-l); + --bulma-navbar-item-color-l: var(--bulma-black-invert-l); + --bulma-navbar-item-selected-h: var(--bulma-black-h); + --bulma-navbar-item-selected-s: var(--bulma-black-s); + --bulma-navbar-item-selected-l: var(--bulma-black-l); + --bulma-navbar-item-selected-background-l: var(--bulma-black-l); + --bulma-navbar-item-selected-color-l: var(--bulma-black-invert-l); + --bulma-navbar-dropdown-arrow: var(--bulma-black-invert-l); + --bulma-navbar-dropdown-background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-navbar-dropdown-item-background-l)); + --bulma-navbar-dropdown-item-h: var(--bulma-black-h); + --bulma-navbar-dropdown-item-s: var(--bulma-black-s); +} +.navbar.is-light { + --bulma-navbar-h: var(--bulma-light-h); + --bulma-navbar-s: var(--bulma-light-s); + --bulma-navbar-l: var(--bulma-light-l); + --bulma-burger-h: var(--bulma-light-h); + --bulma-burger-s: var(--bulma-light-s); + --bulma-burger-l: var(--bulma-light-invert-l); + --bulma-navbar-background-color: var(--bulma-light); + --bulma-navbar-item-background-l: var(--bulma-light-l); + --bulma-navbar-item-color-l: var(--bulma-light-invert-l); + --bulma-navbar-item-selected-h: var(--bulma-light-h); + --bulma-navbar-item-selected-s: var(--bulma-light-s); + --bulma-navbar-item-selected-l: var(--bulma-light-l); + --bulma-navbar-item-selected-background-l: var(--bulma-light-l); + --bulma-navbar-item-selected-color-l: var(--bulma-light-invert-l); + --bulma-navbar-dropdown-arrow: var(--bulma-light-invert-l); + --bulma-navbar-dropdown-background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-navbar-dropdown-item-background-l)); + --bulma-navbar-dropdown-item-h: var(--bulma-light-h); + --bulma-navbar-dropdown-item-s: var(--bulma-light-s); +} +.navbar.is-dark { + --bulma-navbar-h: var(--bulma-dark-h); + --bulma-navbar-s: var(--bulma-dark-s); + --bulma-navbar-l: var(--bulma-dark-l); + --bulma-burger-h: var(--bulma-dark-h); + --bulma-burger-s: var(--bulma-dark-s); + --bulma-burger-l: var(--bulma-dark-invert-l); + --bulma-navbar-background-color: var(--bulma-dark); + --bulma-navbar-item-background-l: var(--bulma-dark-l); + --bulma-navbar-item-color-l: var(--bulma-dark-invert-l); + --bulma-navbar-item-selected-h: var(--bulma-dark-h); + --bulma-navbar-item-selected-s: var(--bulma-dark-s); + --bulma-navbar-item-selected-l: var(--bulma-dark-l); + --bulma-navbar-item-selected-background-l: var(--bulma-dark-l); + --bulma-navbar-item-selected-color-l: var(--bulma-dark-invert-l); + --bulma-navbar-dropdown-arrow: var(--bulma-dark-invert-l); + --bulma-navbar-dropdown-background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-navbar-dropdown-item-background-l)); + --bulma-navbar-dropdown-item-h: var(--bulma-dark-h); + --bulma-navbar-dropdown-item-s: var(--bulma-dark-s); +} +.navbar.is-text { + --bulma-navbar-h: var(--bulma-text-h); + --bulma-navbar-s: var(--bulma-text-s); + --bulma-navbar-l: var(--bulma-text-l); + --bulma-burger-h: var(--bulma-text-h); + --bulma-burger-s: var(--bulma-text-s); + --bulma-burger-l: var(--bulma-text-invert-l); + --bulma-navbar-background-color: var(--bulma-text); + --bulma-navbar-item-background-l: var(--bulma-text-l); + --bulma-navbar-item-color-l: var(--bulma-text-invert-l); + --bulma-navbar-item-selected-h: var(--bulma-text-h); + --bulma-navbar-item-selected-s: var(--bulma-text-s); + --bulma-navbar-item-selected-l: var(--bulma-text-l); + --bulma-navbar-item-selected-background-l: var(--bulma-text-l); + --bulma-navbar-item-selected-color-l: var(--bulma-text-invert-l); + --bulma-navbar-dropdown-arrow: var(--bulma-text-invert-l); + --bulma-navbar-dropdown-background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-navbar-dropdown-item-background-l)); + --bulma-navbar-dropdown-item-h: var(--bulma-text-h); + --bulma-navbar-dropdown-item-s: var(--bulma-text-s); +} +.navbar.is-primary { + --bulma-navbar-h: var(--bulma-primary-h); + --bulma-navbar-s: var(--bulma-primary-s); + --bulma-navbar-l: var(--bulma-primary-l); + --bulma-burger-h: var(--bulma-primary-h); + --bulma-burger-s: var(--bulma-primary-s); + --bulma-burger-l: var(--bulma-primary-invert-l); + --bulma-navbar-background-color: var(--bulma-primary); + --bulma-navbar-item-background-l: var(--bulma-primary-l); + --bulma-navbar-item-color-l: var(--bulma-primary-invert-l); + --bulma-navbar-item-selected-h: var(--bulma-primary-h); + --bulma-navbar-item-selected-s: var(--bulma-primary-s); + --bulma-navbar-item-selected-l: var(--bulma-primary-l); + --bulma-navbar-item-selected-background-l: var(--bulma-primary-l); + --bulma-navbar-item-selected-color-l: var(--bulma-primary-invert-l); + --bulma-navbar-dropdown-arrow: var(--bulma-primary-invert-l); + --bulma-navbar-dropdown-background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-navbar-dropdown-item-background-l)); + --bulma-navbar-dropdown-item-h: var(--bulma-primary-h); + --bulma-navbar-dropdown-item-s: var(--bulma-primary-s); +} +.navbar.is-link { + --bulma-navbar-h: var(--bulma-link-h); + --bulma-navbar-s: var(--bulma-link-s); + --bulma-navbar-l: var(--bulma-link-l); + --bulma-burger-h: var(--bulma-link-h); + --bulma-burger-s: var(--bulma-link-s); + --bulma-burger-l: var(--bulma-link-invert-l); + --bulma-navbar-background-color: var(--bulma-link); + --bulma-navbar-item-background-l: var(--bulma-link-l); + --bulma-navbar-item-color-l: var(--bulma-link-invert-l); + --bulma-navbar-item-selected-h: var(--bulma-link-h); + --bulma-navbar-item-selected-s: var(--bulma-link-s); + --bulma-navbar-item-selected-l: var(--bulma-link-l); + --bulma-navbar-item-selected-background-l: var(--bulma-link-l); + --bulma-navbar-item-selected-color-l: var(--bulma-link-invert-l); + --bulma-navbar-dropdown-arrow: var(--bulma-link-invert-l); + --bulma-navbar-dropdown-background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-navbar-dropdown-item-background-l)); + --bulma-navbar-dropdown-item-h: var(--bulma-link-h); + --bulma-navbar-dropdown-item-s: var(--bulma-link-s); +} +.navbar.is-info { + --bulma-navbar-h: var(--bulma-info-h); + --bulma-navbar-s: var(--bulma-info-s); + --bulma-navbar-l: var(--bulma-info-l); + --bulma-burger-h: var(--bulma-info-h); + --bulma-burger-s: var(--bulma-info-s); + --bulma-burger-l: var(--bulma-info-invert-l); + --bulma-navbar-background-color: var(--bulma-info); + --bulma-navbar-item-background-l: var(--bulma-info-l); + --bulma-navbar-item-color-l: var(--bulma-info-invert-l); + --bulma-navbar-item-selected-h: var(--bulma-info-h); + --bulma-navbar-item-selected-s: var(--bulma-info-s); + --bulma-navbar-item-selected-l: var(--bulma-info-l); + --bulma-navbar-item-selected-background-l: var(--bulma-info-l); + --bulma-navbar-item-selected-color-l: var(--bulma-info-invert-l); + --bulma-navbar-dropdown-arrow: var(--bulma-info-invert-l); + --bulma-navbar-dropdown-background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-navbar-dropdown-item-background-l)); + --bulma-navbar-dropdown-item-h: var(--bulma-info-h); + --bulma-navbar-dropdown-item-s: var(--bulma-info-s); +} +.navbar.is-success { + --bulma-navbar-h: var(--bulma-success-h); + --bulma-navbar-s: var(--bulma-success-s); + --bulma-navbar-l: var(--bulma-success-l); + --bulma-burger-h: var(--bulma-success-h); + --bulma-burger-s: var(--bulma-success-s); + --bulma-burger-l: var(--bulma-success-invert-l); + --bulma-navbar-background-color: var(--bulma-success); + --bulma-navbar-item-background-l: var(--bulma-success-l); + --bulma-navbar-item-color-l: var(--bulma-success-invert-l); + --bulma-navbar-item-selected-h: var(--bulma-success-h); + --bulma-navbar-item-selected-s: var(--bulma-success-s); + --bulma-navbar-item-selected-l: var(--bulma-success-l); + --bulma-navbar-item-selected-background-l: var(--bulma-success-l); + --bulma-navbar-item-selected-color-l: var(--bulma-success-invert-l); + --bulma-navbar-dropdown-arrow: var(--bulma-success-invert-l); + --bulma-navbar-dropdown-background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-navbar-dropdown-item-background-l)); + --bulma-navbar-dropdown-item-h: var(--bulma-success-h); + --bulma-navbar-dropdown-item-s: var(--bulma-success-s); +} +.navbar.is-warning { + --bulma-navbar-h: var(--bulma-warning-h); + --bulma-navbar-s: var(--bulma-warning-s); + --bulma-navbar-l: var(--bulma-warning-l); + --bulma-burger-h: var(--bulma-warning-h); + --bulma-burger-s: var(--bulma-warning-s); + --bulma-burger-l: var(--bulma-warning-invert-l); + --bulma-navbar-background-color: var(--bulma-warning); + --bulma-navbar-item-background-l: var(--bulma-warning-l); + --bulma-navbar-item-color-l: var(--bulma-warning-invert-l); + --bulma-navbar-item-selected-h: var(--bulma-warning-h); + --bulma-navbar-item-selected-s: var(--bulma-warning-s); + --bulma-navbar-item-selected-l: var(--bulma-warning-l); + --bulma-navbar-item-selected-background-l: var(--bulma-warning-l); + --bulma-navbar-item-selected-color-l: var(--bulma-warning-invert-l); + --bulma-navbar-dropdown-arrow: var(--bulma-warning-invert-l); + --bulma-navbar-dropdown-background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-navbar-dropdown-item-background-l)); + --bulma-navbar-dropdown-item-h: var(--bulma-warning-h); + --bulma-navbar-dropdown-item-s: var(--bulma-warning-s); +} +.navbar.is-danger { + --bulma-navbar-h: var(--bulma-danger-h); + --bulma-navbar-s: var(--bulma-danger-s); + --bulma-navbar-l: var(--bulma-danger-l); + --bulma-burger-h: var(--bulma-danger-h); + --bulma-burger-s: var(--bulma-danger-s); + --bulma-burger-l: var(--bulma-danger-invert-l); + --bulma-navbar-background-color: var(--bulma-danger); + --bulma-navbar-item-background-l: var(--bulma-danger-l); + --bulma-navbar-item-color-l: var(--bulma-danger-invert-l); + --bulma-navbar-item-selected-h: var(--bulma-danger-h); + --bulma-navbar-item-selected-s: var(--bulma-danger-s); + --bulma-navbar-item-selected-l: var(--bulma-danger-l); + --bulma-navbar-item-selected-background-l: var(--bulma-danger-l); + --bulma-navbar-item-selected-color-l: var(--bulma-danger-invert-l); + --bulma-navbar-dropdown-arrow: var(--bulma-danger-invert-l); + --bulma-navbar-dropdown-background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-navbar-dropdown-item-background-l)); + --bulma-navbar-dropdown-item-h: var(--bulma-danger-h); + --bulma-navbar-dropdown-item-s: var(--bulma-danger-s); +} +.navbar > .container { + align-items: stretch; + display: flex; + min-height: var(--bulma-navbar-height); + width: 100%; +} +.navbar.has-shadow { + box-shadow: var(--bulma-navbar-box-shadow-size) var(--bulma-navbar-box-shadow-color); +} +.navbar.is-fixed-bottom, .navbar.is-fixed-top { + left: 0; + position: fixed; + right: 0; + z-index: var(--bulma-navbar-fixed-z); +} +.navbar.is-fixed-bottom { + bottom: 0; +} +.navbar.is-fixed-bottom.has-shadow { + box-shadow: var(--bulma-navbar-bottom-box-shadow-size) var(--bulma-navbar-box-shadow-color); +} +.navbar.is-fixed-top { + top: 0; +} + +html.has-navbar-fixed-top, +body.has-navbar-fixed-top { + padding-top: var(--bulma-navbar-height); +} +html.has-navbar-fixed-bottom, +body.has-navbar-fixed-bottom { + padding-bottom: var(--bulma-navbar-height); +} + +.navbar-brand, +.navbar-tabs { + align-items: stretch; + display: flex; + flex-shrink: 0; + min-height: var(--bulma-navbar-height); +} + +.navbar-tabs { + -webkit-overflow-scrolling: touch; + max-width: 100vw; + overflow-x: auto; + overflow-y: hidden; +} + +.navbar-burger { + align-items: center; + appearance: none; + background: none; + border: none; + border-radius: var(--bulma-burger-border-radius); + color: hsl(var(--bulma-burger-h), var(--bulma-burger-s), var(--bulma-burger-l)); + cursor: pointer; + display: inline-flex; + flex-direction: column; + flex-shrink: 0; + height: 2.5rem; + justify-content: center; + position: relative; + vertical-align: top; + width: 2.5rem; +} +.navbar-burger span { + background-color: currentColor; + display: block; + height: var(--bulma-burger-item-height); + left: calc(50% - (var(--bulma-burger-item-width)) / 2); + position: absolute; + transform-origin: center; + transition-duration: var(--bulma-duration); + transition-property: background-color, color, opacity, transform; + transition-timing-function: var(--bulma-easing); + width: var(--bulma-burger-item-width); +} +.navbar-burger span:nth-child(1), .navbar-burger span:nth-child(2) { + top: calc(50% - (var(--bulma-burger-item-height)) / 2); +} +.navbar-burger span:nth-child(3) { + bottom: calc(50% + var(--bulma-burger-gap)); +} +.navbar-burger span:nth-child(4) { + top: calc(50% + var(--bulma-burger-gap)); +} +.navbar-burger:hover { + background-color: hsla(var(--bulma-burger-h), var(--bulma-burger-s), var(--bulma-burger-l), 0.1); +} +.navbar-burger:active { + background-color: hsla(var(--bulma-burger-h), var(--bulma-burger-s), var(--bulma-burger-l), 0.2); +} +.navbar-burger.is-active span:nth-child(1) { + transform: rotate(-45deg); +} +.navbar-burger.is-active span:nth-child(2) { + transform: rotate(45deg); +} +.navbar-burger.is-active span:nth-child(3), .navbar-burger.is-active span:nth-child(4) { + opacity: 0; +} +.navbar-burger { + align-self: center; + color: var(--bulma-navbar-burger-color); + margin-inline-start: auto; + margin-inline-end: 0.375rem; +} + +.navbar-menu { + display: none; +} + +.navbar-item, +.navbar-link { + color: var(--bulma-navbar-item-color); + display: block; + gap: 0.75rem; + line-height: 1.5; + padding: 0.5rem 0.75rem; + position: relative; +} +.navbar-item .icon:only-child, +.navbar-link .icon:only-child { + margin-left: -0.25rem; + margin-right: -0.25rem; +} + +a.navbar-item, +.navbar-link { + background-color: hsla(var(--bulma-navbar-h), var(--bulma-navbar-s), calc(var(--bulma-navbar-item-background-l) + var(--bulma-navbar-item-background-l-delta)), var(--bulma-navbar-item-background-a)); + cursor: pointer; +} +a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, +.navbar-link:focus, +.navbar-link:focus-within, +.navbar-link:hover { + --bulma-navbar-item-background-l-delta: var(--bulma-navbar-item-hover-background-l-delta); + --bulma-navbar-item-background-a: 1; +} +a.navbar-item:active, +.navbar-link:active { + --bulma-navbar-item-background-l-delta: var(--bulma-navbar-item-active-background-l-delta); + --bulma-navbar-item-background-a: 1; +} +a.navbar-item.is-active, a.navbar-item.is-selected, +.navbar-link.is-active, +.navbar-link.is-selected { + --bulma-navbar-h: var(--bulma-navbar-item-selected-h); + --bulma-navbar-s: var(--bulma-navbar-item-selected-s); + --bulma-navbar-l: var(--bulma-navbar-item-selected-l); + --bulma-navbar-item-background-l: var(--bulma-navbar-item-selected-background-l); + --bulma-navbar-item-background-a: 1; + --bulma-navbar-item-color-l: var(--bulma-navbar-item-selected-color-l); +} + +.navbar-item { + flex-grow: 0; + flex-shrink: 0; +} +.navbar-item img, +.navbar-item svg { + max-height: var(--bulma-navbar-item-img-max-height); +} +.navbar-item.has-dropdown { + padding: 0; +} +.navbar-item.is-expanded { + flex-grow: 1; + flex-shrink: 1; +} +.navbar-item.is-tab { + border-bottom: 1px solid transparent; + min-height: var(--bulma-navbar-height); + padding-bottom: calc(0.5rem - 1px); +} +.navbar-item.is-tab:focus, .navbar-item.is-tab:hover { + background-color: var(--bulma-navbar-tab-hover-background-color); + border-bottom-color: var(--bulma-navbar-tab-hover-border-bottom-color); +} +.navbar-item.is-tab.is-active { + background-color: var(--bulma-navbar-tab-active-background-color); + border-bottom-color: var(--bulma-navbar-tab-active-border-bottom-color); + border-bottom-style: var(--bulma-navbar-tab-active-border-bottom-style); + border-bottom-width: var(--bulma-navbar-tab-active-border-bottom-width); + color: var(--bulma-navbar-tab-active-color); + padding-bottom: calc(0.5rem - var(--bulma-navbar-tab-active-border-bottom-width)); +} + +.navbar-content { + flex-grow: 1; + flex-shrink: 1; +} + +.navbar-link:not(.is-arrowless) { + padding-inline-end: 2.5em; +} +.navbar-link:not(.is-arrowless)::after { + border-color: var(--bulma-navbar-dropdown-arrow); + margin-top: -0.375em; + inset-inline-end: 1.125em; +} + +.navbar-dropdown { + font-size: 0.875rem; + padding-bottom: 0.75rem; + padding-top: 0.5rem; +} +.navbar-dropdown .navbar-item { + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.navbar-dropdown .navbar-item:not(.is-active, .is-selected) { + background-color: hsl(var(--bulma-navbar-dropdown-item-h), var(--bulma-navbar-dropdown-item-s), calc(var(--bulma-navbar-dropdown-item-background-l) + var(--bulma-navbar-item-background-l-delta))); + color: hsl(var(--bulma-navbar-dropdown-item-h), var(--bulma-navbar-dropdown-item-s), var(--bulma-navbar-dropdown-item-color-l)); +} + +.navbar-divider { + background-color: hsl(var(--bulma-navbar-h), var(--bulma-navbar-s), var(--bulma-navbar-divider-background-l)); + border: none; + display: none; + height: var(--bulma-navbar-divider-height); + margin: 0.5rem 0; +} + +@media screen and (max-width: 1023px) { + .navbar > .container { + display: block; + } + .navbar-brand .navbar-item, + .navbar-tabs .navbar-item { + align-items: center; + display: flex; + } + .navbar-link::after { + display: none; + } + .navbar-menu { + background-color: var(--bulma-navbar-background-color); + box-shadow: 0 0.5em 1em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.1); + padding: 0.5rem 0; + } + .navbar-menu.is-active { + display: block; + } + .navbar.is-fixed-bottom-touch, .navbar.is-fixed-top-touch { + left: 0; + position: fixed; + right: 0; + z-index: var(--bulma-navbar-fixed-z); + } + .navbar.is-fixed-bottom-touch { + bottom: 0; + } + .navbar.is-fixed-bottom-touch.has-shadow { + box-shadow: 0 -0.125em 0.1875em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.1); + } + .navbar.is-fixed-top-touch { + top: 0; + } + .navbar.is-fixed-top .navbar-menu, .navbar.is-fixed-top-touch .navbar-menu { + -webkit-overflow-scrolling: touch; + max-height: calc(100vh - var(--bulma-navbar-height)); + overflow: auto; + } + html.has-navbar-fixed-top-touch, + body.has-navbar-fixed-top-touch { + padding-top: var(--bulma-navbar-height); + } + html.has-navbar-fixed-bottom-touch, + body.has-navbar-fixed-bottom-touch { + padding-bottom: var(--bulma-navbar-height); + } +} +@media screen and (min-width: 1024px) { + .navbar, + .navbar-menu, + .navbar-start, + .navbar-end { + align-items: stretch; + display: flex; + } + .navbar { + min-height: var(--bulma-navbar-height); + } + .navbar.is-spaced { + padding: var(--bulma-navbar-padding-vertical) var(--bulma-navbar-padding-horizontal); + } + .navbar.is-spaced .navbar-start, + .navbar.is-spaced .navbar-end { + align-items: center; + } + .navbar.is-spaced a.navbar-item, + .navbar.is-spaced .navbar-link { + border-radius: var(--bulma-radius); + } + .navbar.is-transparent { + --bulma-navbar-item-background-a: 0; + } + .navbar.is-transparent .navbar-dropdown a.navbar-item { + background-color: hsl(var(--bulma-navbar-h), var(--bulma-navbar-s), calc(var(--bulma-navbar-item-background-l) + var(--bulma-navbar-item-background-l-delta))); + } + .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active, .navbar.is-transparent .navbar-dropdown a.navbar-item.is-selected { + --bulma-navbar-h: var(--bulma-navbar-item-selected-h); + --bulma-navbar-s: var(--bulma-navbar-item-selected-s); + --bulma-navbar-l: var(--bulma-navbar-item-selected-l); + --bulma-navbar-item-background-l: var(--bulma-navbar-item-selected-background-l); + --bulma-navbar-item-color-l: var(--bulma-navbar-item-selected-color-l); + } + .navbar-burger { + display: none; + } + .navbar-item, + .navbar-link { + align-items: center; + display: flex; + } + .navbar-item.has-dropdown { + align-items: stretch; + } + .navbar-item.has-dropdown-up .navbar-link::after { + transform: rotate(135deg) translate(0.25em, -0.25em); + } + .navbar-item.has-dropdown-up .navbar-dropdown { + border-bottom-color: var(--bulma-navbar-dropdown-border-color); + border-bottom-style: var(--bulma-navbar-dropdown-border-style); + border-bottom-width: var(--bulma-navbar-dropdown-border-width); + border-radius: var(--bulma-navbar-dropdown-radius) var(--bulma-navbar-dropdown-radius) 0 0; + border-top: none; + bottom: 100%; + box-shadow: 0 -0.5em 0.5em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.1); + top: auto; + } + .navbar-item.is-active .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown { + display: block; + } + .navbar.is-spaced .navbar-item.is-active .navbar-dropdown, .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed { + opacity: 1; + pointer-events: auto; + transform: translateY(0); + } + .navbar-menu { + flex-grow: 1; + flex-shrink: 0; + } + .navbar-start { + justify-content: flex-start; + margin-inline-end: auto; + } + .navbar-end { + justify-content: flex-end; + margin-inline-start: auto; + } + .navbar-dropdown { + background-color: var(--bulma-navbar-dropdown-background-color); + border-end-start-radius: var(--bulma-navbar-dropdown-radius); + border-end-end-radius: var(--bulma-navbar-dropdown-radius); + border-top-color: var(--bulma-navbar-dropdown-border-color); + border-top-style: var(--bulma-navbar-dropdown-border-style); + border-top-width: var(--bulma-navbar-dropdown-border-width); + box-shadow: 0 0.5em 0.5em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.1); + display: none; + font-size: 0.875rem; + inset-inline-start: 0; + min-width: 100%; + position: absolute; + top: 100%; + z-index: var(--bulma-navbar-dropdown-z); + } + .navbar-dropdown .navbar-item { + padding: 0.375rem 1rem; + white-space: nowrap; + } + .navbar-dropdown a.navbar-item { + padding-inline-end: 3rem; + } + .navbar-dropdown a.navbar-item:not(.is-active, .is-selected) { + background-color: hsl(var(--bulma-navbar-dropdown-item-h), var(--bulma-navbar-dropdown-item-s), calc(var(--bulma-navbar-dropdown-item-background-l) + var(--bulma-navbar-item-background-l-delta))); + color: hsl(var(--bulma-navbar-dropdown-item-h), var(--bulma-navbar-dropdown-item-s), var(--bulma-navbar-dropdown-item-color-l)); + } + .navbar.is-spaced .navbar-dropdown, .navbar-dropdown.is-boxed { + border-radius: var(--bulma-navbar-dropdown-boxed-radius); + border-top: none; + box-shadow: var(--bulma-navbar-dropdown-boxed-shadow); + display: block; + opacity: 0; + pointer-events: none; + top: calc(100% + (var(--bulma-navbar-dropdown-offset))); + transform: translateY(-5px); + transition-duration: var(--bulma-duration); + transition-property: opacity, transform; + } + .navbar-dropdown.is-right { + left: auto; + right: 0; + } + .navbar-divider { + display: block; + } + .navbar > .container .navbar-brand, + .container > .navbar .navbar-brand { + margin-inline-start: -0.75rem; + } + .navbar > .container .navbar-menu, + .container > .navbar .navbar-menu { + margin-inline-end: -0.75rem; + } + .navbar.is-fixed-bottom-desktop, .navbar.is-fixed-top-desktop { + left: 0; + position: fixed; + right: 0; + z-index: var(--bulma-navbar-fixed-z); + } + .navbar.is-fixed-bottom-desktop { + bottom: 0; + } + .navbar.is-fixed-bottom-desktop.has-shadow { + box-shadow: 0 -0.125em 0.1875em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.1); + } + .navbar.is-fixed-top-desktop { + top: 0; + } + html.has-navbar-fixed-top-desktop, + body.has-navbar-fixed-top-desktop { + padding-top: var(--bulma-navbar-height); + } + html.has-navbar-fixed-bottom-desktop, + body.has-navbar-fixed-bottom-desktop { + padding-bottom: var(--bulma-navbar-height); + } + html.has-spaced-navbar-fixed-top, + body.has-spaced-navbar-fixed-top { + padding-top: calc(var(--bulma-navbar-height) + var(--bulma-navbar-padding-vertical) * 2); + } + html.has-spaced-navbar-fixed-bottom, + body.has-spaced-navbar-fixed-bottom { + padding-bottom: calc(var(--bulma-navbar-height) + var(--bulma-navbar-padding-vertical) * 2); + } +} +.hero.is-fullheight-with-navbar { + min-height: calc(100vh - var(--bulma-navbar-height)); +} + +.pagination { + --bulma-pagination-margin: -0.25rem; + --bulma-pagination-min-width: var(--bulma-control-height); + --bulma-pagination-item-h: var(--bulma-scheme-h); + --bulma-pagination-item-s: var(--bulma-scheme-s); + --bulma-pagination-item-l: var(--bulma-scheme-main-l); + --bulma-pagination-item-background-l-delta: 0%; + --bulma-pagination-item-hover-background-l-delta: var(--bulma-hover-background-l-delta); + --bulma-pagination-item-active-background-l-delta: var(--bulma-active-background-l-delta); + --bulma-pagination-item-border-style: solid; + --bulma-pagination-item-border-width: var(--bulma-control-border-width); + --bulma-pagination-item-border-l: var(--bulma-border-l); + --bulma-pagination-item-border-l-delta: 0%; + --bulma-pagination-item-hover-border-l-delta: var(--bulma-hover-border-l-delta); + --bulma-pagination-item-active-border-l-delta: var(--bulma-active-border-l-delta); + --bulma-pagination-item-focus-border-l-delta: var(--bulma-focus-border-l-delta); + --bulma-pagination-item-color-l: var(--bulma-text-strong-l); + --bulma-pagination-item-font-size: 1em; + --bulma-pagination-item-margin: 0.25rem; + --bulma-pagination-item-padding-left: 0.5em; + --bulma-pagination-item-padding-right: 0.5em; + --bulma-pagination-item-outer-shadow-h: 0; + --bulma-pagination-item-outer-shadow-s: 0%; + --bulma-pagination-item-outer-shadow-l: 20%; + --bulma-pagination-item-outer-shadow-a: 0.05; + --bulma-pagination-nav-padding-left: 0.75em; + --bulma-pagination-nav-padding-right: 0.75em; + --bulma-pagination-disabled-color: var(--bulma-text-weak); + --bulma-pagination-disabled-background-color: var(--bulma-border); + --bulma-pagination-disabled-border-color: var(--bulma-border); + --bulma-pagination-current-color: var(--bulma-link-invert); + --bulma-pagination-current-background-color: var(--bulma-link); + --bulma-pagination-current-border-color: var(--bulma-link); + --bulma-pagination-ellipsis-color: var(--bulma-text-weak); + --bulma-pagination-shadow-inset: inset 0 0.0625em 0.125em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.2); + --bulma-pagination-selected-item-h: var(--bulma-link-h); + --bulma-pagination-selected-item-s: var(--bulma-link-s); + --bulma-pagination-selected-item-l: var(--bulma-link-l); + --bulma-pagination-selected-item-background-l: var(--bulma-link-l); + --bulma-pagination-selected-item-border-l: var(--bulma-link-l); + --bulma-pagination-selected-item-color-l: var(--bulma-link-invert-l); +} + +.pagination { + font-size: var(--bulma-size-normal); + margin: var(--bulma-pagination-margin); +} +.pagination.is-small { + font-size: var(--bulma-size-small); +} +.pagination.is-medium { + font-size: var(--bulma-size-medium); +} +.pagination.is-large { + font-size: var(--bulma-size-large); +} +.pagination.is-rounded .pagination-previous, +.pagination.is-rounded .pagination-next { + padding-left: 1em; + padding-right: 1em; + border-radius: var(--bulma-radius-rounded); +} +.pagination.is-rounded .pagination-link { + border-radius: var(--bulma-radius-rounded); +} + +.pagination, +.pagination-list { + align-items: center; + display: flex; + justify-content: center; + text-align: center; +} + +.pagination-previous, +.pagination-next, +.pagination-link, +.pagination-ellipsis { + color: hsl(var(--bulma-pagination-item-h), var(--bulma-pagination-item-s), var(--bulma-pagination-item-color-l)); + font-size: var(--bulma-pagination-item-font-size); + justify-content: center; + margin: var(--bulma-pagination-item-margin); + padding-left: var(--bulma-pagination-item-padding-left); + padding-right: var(--bulma-pagination-item-padding-right); + text-align: center; +} + +.pagination-previous, +.pagination-next, +.pagination-link { + background-color: hsl(var(--bulma-pagination-item-h), var(--bulma-pagination-item-s), calc(var(--bulma-pagination-item-background-l) + var(--bulma-pagination-item-background-l-delta))); + border-color: hsl(var(--bulma-pagination-item-h), var(--bulma-pagination-item-s), calc(var(--bulma-pagination-item-border-l) + var(--bulma-pagination-item-border-l-delta))); + border-style: var(--bulma-pagination-item-border-style); + border-width: var(--bulma-pagination-item-border-width); + box-shadow: 0px 0.0625em 0.125em hsla(var(--bulma-pagination-item-outer-shadow-h), var(--bulma-pagination-item-outer-shadow-s), var(--bulma-pagination-item-outer-shadow-l), var(--bulma-pagination-item-outer-shadow-a)), 0px 0.125em 0.25em hsla(var(--bulma-pagination-item-outer-shadow-h), var(--bulma-pagination-item-outer-shadow-s), var(--bulma-pagination-item-outer-shadow-l), var(--bulma-pagination-item-outer-shadow-a)); + color: hsl(var(--bulma-pagination-item-h), var(--bulma-pagination-item-s), var(--bulma-pagination-item-color-l)); + min-width: var(--bulma-pagination-min-width); + transition-duration: var(--bulma-duration); + transition-property: background-color, border-color, box-shadow, color; +} +.pagination-previous:hover, +.pagination-next:hover, +.pagination-link:hover { + --bulma-pagination-item-background-l-delta: var(--bulma-pagination-item-hover-background-l-delta); + --bulma-pagination-item-border-l-delta: var(--bulma-pagination-item-hover-border-l-delta); +} +.pagination-previous:focus, +.pagination-next:focus, +.pagination-link:focus { + --bulma-pagination-item-background-l-delta: var(--bulma-pagination-item-hover-background-l-delta); + --bulma-pagination-item-border-l-delta: var(--bulma-pagination-item-hover-border-l-delta); +} +.pagination-previous:active, +.pagination-next:active, +.pagination-link:active { + box-shadow: var(--bulma-pagination-shadow-inset); +} +.pagination-previous[disabled], .pagination-previous.is-disabled, +.pagination-next[disabled], +.pagination-next.is-disabled, +.pagination-link[disabled], +.pagination-link.is-disabled { + background-color: var(--bulma-pagination-disabled-background-color); + border-color: var(--bulma-pagination-disabled-border-color); + box-shadow: none; + color: var(--bulma-pagination-disabled-color); + opacity: 0.5; +} + +.pagination-previous, +.pagination-next { + padding-left: var(--bulma-pagination-nav-padding-left); + padding-right: var(--bulma-pagination-nav-padding-right); + white-space: nowrap; +} + +.pagination-link.is-current, .pagination-link.is-selected { + --bulma-pagination-item-h: var(--bulma-pagination-selected-item-h); + --bulma-pagination-item-s: var(--bulma-pagination-selected-item-s); + --bulma-pagination-item-l: var(--bulma-pagination-selected-item-l); + --bulma-pagination-item-background-l: var(--bulma-pagination-selected-item-background-l); + --bulma-pagination-item-border-l: var(--bulma-pagination-selected-item-border-l); + --bulma-pagination-item-color-l: var(--bulma-pagination-selected-item-color-l); +} + +.pagination-ellipsis { + color: var(--bulma-pagination-ellipsis-color); + pointer-events: none; +} + +.pagination-list { + flex-wrap: wrap; +} +.pagination-list li { + list-style: none; +} + +@media screen and (max-width: 768px) { + .pagination { + flex-wrap: wrap; + } + .pagination-previous, + .pagination-next { + flex-grow: 1; + flex-shrink: 1; + } + .pagination-list li { + flex-grow: 1; + flex-shrink: 1; + } +} +@media screen and (min-width: 769px), print { + .pagination-list { + flex-grow: 1; + flex-shrink: 1; + justify-content: flex-start; + order: 1; + } + .pagination-previous, + .pagination-next, + .pagination-link, + .pagination-ellipsis { + margin-bottom: 0; + margin-top: 0; + } + .pagination-previous { + order: 2; + } + .pagination-next { + order: 3; + } + .pagination { + justify-content: space-between; + margin-bottom: 0; + margin-top: 0; + } + .pagination.is-centered .pagination-previous { + order: 1; + } + .pagination.is-centered .pagination-list { + justify-content: center; + order: 2; + } + .pagination.is-centered .pagination-next { + order: 3; + } + .pagination.is-right .pagination-previous { + order: 1; + } + .pagination.is-right .pagination-next { + order: 2; + } + .pagination.is-right .pagination-list { + justify-content: flex-end; + order: 3; + } +} +.panel { + --bulma-panel-margin: var(--bulma-block-spacing); + --bulma-panel-item-border: 1px solid var(--bulma-border-weak); + --bulma-panel-radius: var(--bulma-radius-large); + --bulma-panel-shadow: var(--bulma-shadow); + --bulma-panel-heading-line-height: 1.25; + --bulma-panel-heading-padding: 1em 1.25em; + --bulma-panel-heading-radius: var(--bulma-radius); + --bulma-panel-heading-size: 1.25em; + --bulma-panel-heading-weight: var(--bulma-weight-bold); + --bulma-panel-tabs-font-size: 1em; + --bulma-panel-tab-border-bottom-color: var(--bulma-border); + --bulma-panel-tab-border-bottom-style: solid; + --bulma-panel-tab-border-bottom-width: 1px; + --bulma-panel-tab-active-color: var(--bulma-link-active); + --bulma-panel-list-item-color: var(--bulma-text); + --bulma-panel-list-item-hover-color: var(--bulma-link); + --bulma-panel-block-color: var(--bulma-text-strong); + --bulma-panel-block-hover-background-color: var(--bulma-background); + --bulma-panel-block-active-border-left-color: var(--bulma-link); + --bulma-panel-block-active-color: var(--bulma-link-active); + --bulma-panel-block-active-icon-color: var(--bulma-link); + --bulma-panel-icon-color: var(--bulma-text-weak); +} + +.panel { + --bulma-panel-h: var(--bulma-scheme-h); + --bulma-panel-s: var(--bulma-scheme-s); + --bulma-panel-color-l: var(--bulma-text-l); + --bulma-panel-heading-background-l: var(--bulma-text-l); + --bulma-panel-heading-color-l: var(--bulma-text-invert-l); + border-radius: var(--bulma-panel-radius); + box-shadow: var(--bulma-panel-shadow); + font-size: var(--bulma-size-normal); +} +.panel:not(:last-child) { + margin-bottom: var(--bulma-panel-margin); +} +.panel.is-white { + --bulma-panel-h: var(--bulma-white-h); + --bulma-panel-s: var(--bulma-white-s); + --bulma-panel-color-l: var(--bulma-white-l); + --bulma-panel-heading-background-l: var(--bulma-white-l); + --bulma-panel-heading-color-l: var(--bulma-white-invert-l); +} +.panel.is-black { + --bulma-panel-h: var(--bulma-black-h); + --bulma-panel-s: var(--bulma-black-s); + --bulma-panel-color-l: var(--bulma-black-l); + --bulma-panel-heading-background-l: var(--bulma-black-l); + --bulma-panel-heading-color-l: var(--bulma-black-invert-l); +} +.panel.is-light { + --bulma-panel-h: var(--bulma-light-h); + --bulma-panel-s: var(--bulma-light-s); + --bulma-panel-color-l: var(--bulma-light-l); + --bulma-panel-heading-background-l: var(--bulma-light-l); + --bulma-panel-heading-color-l: var(--bulma-light-invert-l); +} +.panel.is-dark { + --bulma-panel-h: var(--bulma-dark-h); + --bulma-panel-s: var(--bulma-dark-s); + --bulma-panel-color-l: var(--bulma-dark-l); + --bulma-panel-heading-background-l: var(--bulma-dark-l); + --bulma-panel-heading-color-l: var(--bulma-dark-invert-l); +} +.panel.is-text { + --bulma-panel-h: var(--bulma-text-h); + --bulma-panel-s: var(--bulma-text-s); + --bulma-panel-color-l: var(--bulma-text-l); + --bulma-panel-heading-background-l: var(--bulma-text-l); + --bulma-panel-heading-color-l: var(--bulma-text-invert-l); +} +.panel.is-primary { + --bulma-panel-h: var(--bulma-primary-h); + --bulma-panel-s: var(--bulma-primary-s); + --bulma-panel-color-l: var(--bulma-primary-l); + --bulma-panel-heading-background-l: var(--bulma-primary-l); + --bulma-panel-heading-color-l: var(--bulma-primary-invert-l); +} +.panel.is-link { + --bulma-panel-h: var(--bulma-link-h); + --bulma-panel-s: var(--bulma-link-s); + --bulma-panel-color-l: var(--bulma-link-l); + --bulma-panel-heading-background-l: var(--bulma-link-l); + --bulma-panel-heading-color-l: var(--bulma-link-invert-l); +} +.panel.is-info { + --bulma-panel-h: var(--bulma-info-h); + --bulma-panel-s: var(--bulma-info-s); + --bulma-panel-color-l: var(--bulma-info-l); + --bulma-panel-heading-background-l: var(--bulma-info-l); + --bulma-panel-heading-color-l: var(--bulma-info-invert-l); +} +.panel.is-success { + --bulma-panel-h: var(--bulma-success-h); + --bulma-panel-s: var(--bulma-success-s); + --bulma-panel-color-l: var(--bulma-success-l); + --bulma-panel-heading-background-l: var(--bulma-success-l); + --bulma-panel-heading-color-l: var(--bulma-success-invert-l); +} +.panel.is-warning { + --bulma-panel-h: var(--bulma-warning-h); + --bulma-panel-s: var(--bulma-warning-s); + --bulma-panel-color-l: var(--bulma-warning-l); + --bulma-panel-heading-background-l: var(--bulma-warning-l); + --bulma-panel-heading-color-l: var(--bulma-warning-invert-l); +} +.panel.is-danger { + --bulma-panel-h: var(--bulma-danger-h); + --bulma-panel-s: var(--bulma-danger-s); + --bulma-panel-color-l: var(--bulma-danger-l); + --bulma-panel-heading-background-l: var(--bulma-danger-l); + --bulma-panel-heading-color-l: var(--bulma-danger-invert-l); +} + +.panel-tabs:not(:last-child), +.panel-block:not(:last-child) { + border-bottom: var(--bulma-panel-item-border); +} + +.panel-heading { + background-color: hsl(var(--bulma-panel-h), var(--bulma-panel-s), var(--bulma-panel-heading-background-l)); + border-radius: var(--bulma-panel-radius) var(--bulma-panel-radius) 0 0; + color: hsl(var(--bulma-panel-h), var(--bulma-panel-s), var(--bulma-panel-heading-color-l)); + font-size: var(--bulma-panel-heading-size); + font-weight: var(--bulma-panel-heading-weight); + line-height: var(--bulma-panel-heading-line-height); + padding: var(--bulma-panel-heading-padding); +} + +.panel-tabs { + align-items: flex-end; + display: flex; + font-size: var(--bulma-panel-tabs-font-size); + justify-content: center; +} +.panel-tabs a { + border-bottom-color: var(--bulma-panel-tab-border-bottom-color); + border-bottom-style: var(--bulma-panel-tab-border-bottom-style); + border-bottom-width: var(--bulma-panel-tab-border-bottom-width); + margin-bottom: calc(-1 * 1px); + padding: 0.75em; +} +.panel-tabs a.is-active { + border-bottom-color: hsl(var(--bulma-panel-h), var(--bulma-panel-s), var(--bulma-panel-color-l)); + color: var(--bulma-panel-tab-active-color); +} + +.panel-list a { + color: var(--bulma-panel-list-item-color); +} +.panel-list a:hover { + color: var(--bulma-panel-list-item-hover-color); +} + +.panel-block { + align-items: center; + color: var(--bulma-panel-block-color); + display: flex; + justify-content: flex-start; + padding: 0.75em 1em; +} +.panel-block input[type=checkbox] { + margin-inline-end: 0.75em; +} +.panel-block > .control { + flex-grow: 1; + flex-shrink: 1; + width: 100%; +} +.panel-block.is-wrapped { + flex-wrap: wrap; +} +.panel-block.is-active { + border-left-color: var(--bulma-panel-block-active-border-left-color); + color: var(--bulma-panel-block-active-color); +} +.panel-block.is-active .panel-icon { + color: hsl(var(--bulma-panel-h), var(--bulma-panel-s), var(--bulma-panel-color-l)); +} +.panel-block:last-child { + border-end-start-radius: var(--bulma-panel-radius); + border-end-end-radius: var(--bulma-panel-radius); +} + +a.panel-block, +label.panel-block { + cursor: pointer; +} +a.panel-block:hover, +label.panel-block:hover { + background-color: var(--bulma-panel-block-hover-background-color); +} + +.panel-icon { + display: inline-block; + font-size: 1em; + height: 1em; + line-height: 1em; + text-align: center; + vertical-align: top; + width: 1em; + color: var(--bulma-panel-icon-color); + margin-inline-end: 0.75em; +} +.panel-icon .fa { + font-size: inherit; + line-height: inherit; +} + +.tabs { + --bulma-tabs-border-bottom-color: var(--bulma-border); + --bulma-tabs-border-bottom-style: solid; + --bulma-tabs-border-bottom-width: 1px; + --bulma-tabs-link-color: var(--bulma-text); + --bulma-tabs-link-hover-border-bottom-color: var(--bulma-text-strong); + --bulma-tabs-link-hover-color: var(--bulma-text-strong); + --bulma-tabs-link-active-border-bottom-color: var(--bulma-link-text); + --bulma-tabs-link-active-color: var(--bulma-link-text); + --bulma-tabs-link-padding: 0.5em 1em; + --bulma-tabs-boxed-link-radius: var(--bulma-radius); + --bulma-tabs-boxed-link-hover-background-color: var(--bulma-background); + --bulma-tabs-boxed-link-hover-border-bottom-color: var(--bulma-border); + --bulma-tabs-boxed-link-active-background-color: var(--bulma-scheme-main); + --bulma-tabs-boxed-link-active-border-color: var(--bulma-border); + --bulma-tabs-boxed-link-active-border-bottom-color: transparent; + --bulma-tabs-toggle-link-border-color: var(--bulma-border); + --bulma-tabs-toggle-link-border-style: solid; + --bulma-tabs-toggle-link-border-width: 1px; + --bulma-tabs-toggle-link-hover-background-color: var(--bulma-background); + --bulma-tabs-toggle-link-hover-border-color: var(--bulma-border-hover); + --bulma-tabs-toggle-link-radius: var(--bulma-radius); + --bulma-tabs-toggle-link-active-background-color: var(--bulma-link); + --bulma-tabs-toggle-link-active-border-color: var(--bulma-link); + --bulma-tabs-toggle-link-active-color: var(--bulma-link-invert); +} + +.tabs { + -webkit-overflow-scrolling: touch; + align-items: stretch; + display: flex; + font-size: var(--bulma-size-normal); + justify-content: space-between; + overflow: hidden; + overflow-x: auto; + white-space: nowrap; +} +.tabs a { + align-items: center; + border-bottom-color: var(--bulma-tabs-border-bottom-color); + border-bottom-style: var(--bulma-tabs-border-bottom-style); + border-bottom-width: var(--bulma-tabs-border-bottom-width); + color: var(--bulma-tabs-link-color); + display: flex; + justify-content: center; + margin-bottom: calc(-1 * var(--bulma-tabs-border-bottom-width)); + padding: var(--bulma-tabs-link-padding); + transition-duration: var(--bulma-duration); + transition-property: background-color, border-color, color; + vertical-align: top; +} +.tabs a:hover { + border-bottom-color: var(--bulma-tabs-link-hover-border-bottom-color); + color: var(--bulma-tabs-link-hover-color); +} +.tabs li { + display: block; +} +.tabs li.is-active a { + border-bottom-color: var(--bulma-tabs-link-active-border-bottom-color); + color: var(--bulma-tabs-link-active-color); +} +.tabs ul { + align-items: center; + border-bottom-color: var(--bulma-tabs-border-bottom-color); + border-bottom-style: var(--bulma-tabs-border-bottom-style); + border-bottom-width: var(--bulma-tabs-border-bottom-width); + display: flex; + flex-grow: 1; + flex-shrink: 0; + justify-content: flex-start; +} +.tabs ul.is-left { + padding-right: 0.75em; +} +.tabs ul.is-center { + flex: none; + justify-content: center; + padding-left: 0.75em; + padding-right: 0.75em; +} +.tabs ul.is-right { + justify-content: flex-end; + padding-left: 0.75em; +} +.tabs .icon:first-child { + margin-inline-end: 0.5em; +} +.tabs .icon:last-child { + margin-inline-start: 0.5em; +} +.tabs.is-centered ul { + justify-content: center; +} +.tabs.is-right ul { + justify-content: flex-end; +} +.tabs.is-boxed a { + border: 1px solid transparent; + border-start-start-radius: var(--bulma-tabs-boxed-link-radius); + border-start-end-radius: var(--bulma-tabs-boxed-link-radius); +} +.tabs.is-boxed a:hover { + background-color: var(--bulma-tabs-boxed-link-hover-background-color); + border-bottom-color: var(--bulma-tabs-boxed-link-hover-border-bottom-color); +} +.tabs.is-boxed li.is-active a { + background-color: var(--bulma-tabs-boxed-link-active-background-color); + border-color: var(--bulma-tabs-boxed-link-active-border-color); + border-bottom-color: var(--bulma-tabs-boxed-link-active-border-bottom-color) !important; +} +.tabs.is-fullwidth li { + flex-grow: 1; + flex-shrink: 0; +} +.tabs.is-toggle a { + border-color: var(--bulma-tabs-toggle-link-border-color); + border-style: var(--bulma-tabs-toggle-link-border-style); + border-width: var(--bulma-tabs-toggle-link-border-width); + margin-bottom: 0; + position: relative; +} +.tabs.is-toggle a:hover { + background-color: var(--bulma-tabs-toggle-link-hover-background-color); + border-color: var(--bulma-tabs-toggle-link-hover-border-color); + z-index: 2; +} +.tabs.is-toggle li + li { + margin-inline-start: calc(-1 * var(--bulma-tabs-toggle-link-border-width)); +} +.tabs.is-toggle li:first-child a { + border-start-start-radius: var(--bulma-tabs-toggle-link-radius); + border-end-start-radius: var(--bulma-tabs-toggle-link-radius); +} +.tabs.is-toggle li:last-child a { + border-start-end-radius: var(--bulma-tabs-toggle-link-radius); + border-end-end-radius: var(--bulma-tabs-toggle-link-radius); +} +.tabs.is-toggle li.is-active a { + background-color: var(--bulma-tabs-toggle-link-active-background-color); + border-color: var(--bulma-tabs-toggle-link-active-border-color); + color: var(--bulma-tabs-toggle-link-active-color); + z-index: 1; +} +.tabs.is-toggle ul { + border-bottom: none; +} +.tabs.is-toggle.is-toggle-rounded li:first-child a { + border-start-start-radius: var(--bulma-radius-rounded); + border-end-start-radius: var(--bulma-radius-rounded); + padding-inline-start: 1.25em; +} +.tabs.is-toggle.is-toggle-rounded li:last-child a { + border-start-end-radius: var(--bulma-radius-rounded); + border-end-end-radius: var(--bulma-radius-rounded); + padding-inline-end: 1.25em; +} +.tabs.is-small { + font-size: var(--bulma-size-small); +} +.tabs.is-medium { + font-size: var(--bulma-size-medium); +} +.tabs.is-large { + font-size: var(--bulma-size-large); +} + +/* Bulma Grid */ +:root { + --bulma-column-gap: 0.75rem; +} + +.column { + display: block; + flex-basis: 0; + flex-grow: 1; + flex-shrink: 1; + padding: var(--bulma-column-gap); +} +.columns.is-mobile > .column.is-narrow { + flex: none; + width: unset; +} +.columns.is-mobile > .column.is-full { + flex: none; + width: 100%; +} +.columns.is-mobile > .column.is-three-quarters { + flex: none; + width: 75%; +} +.columns.is-mobile > .column.is-two-thirds { + flex: none; + width: 66.6666%; +} +.columns.is-mobile > .column.is-half { + flex: none; + width: 50%; +} +.columns.is-mobile > .column.is-one-third { + flex: none; + width: 33.3333%; +} +.columns.is-mobile > .column.is-one-quarter { + flex: none; + width: 25%; +} +.columns.is-mobile > .column.is-one-fifth { + flex: none; + width: 20%; +} +.columns.is-mobile > .column.is-two-fifths { + flex: none; + width: 40%; +} +.columns.is-mobile > .column.is-three-fifths { + flex: none; + width: 60%; +} +.columns.is-mobile > .column.is-four-fifths { + flex: none; + width: 80%; +} +.columns.is-mobile > .column.is-offset-three-quarters { + margin-inline-start: 75%; +} +.columns.is-mobile > .column.is-offset-two-thirds { + margin-inline-start: 66.6666%; +} +.columns.is-mobile > .column.is-offset-half { + margin-inline-start: 50%; +} +.columns.is-mobile > .column.is-offset-one-third { + margin-inline-start: 0.3333%; +} +.columns.is-mobile > .column.is-offset-one-quarter { + margin-inline-start: 25%; +} +.columns.is-mobile > .column.is-offset-one-fifth { + margin-inline-start: 20%; +} +.columns.is-mobile > .column.is-offset-two-fifths { + margin-inline-start: 40%; +} +.columns.is-mobile > .column.is-offset-three-fifths { + margin-inline-start: 60%; +} +.columns.is-mobile > .column.is-offset-four-fifths { + margin-inline-start: 80%; +} +.columns.is-mobile > .column.is-0 { + flex: none; + width: 0%; +} +.columns.is-mobile > .column.is-offset-0 { + margin-inline-start: 0%; +} +.columns.is-mobile > .column.is-1 { + flex: none; + width: 8.3333333333%; +} +.columns.is-mobile > .column.is-offset-1 { + margin-inline-start: 8.3333333333%; +} +.columns.is-mobile > .column.is-2 { + flex: none; + width: 16.6666666667%; +} +.columns.is-mobile > .column.is-offset-2 { + margin-inline-start: 16.6666666667%; +} +.columns.is-mobile > .column.is-3 { + flex: none; + width: 25%; +} +.columns.is-mobile > .column.is-offset-3 { + margin-inline-start: 25%; +} +.columns.is-mobile > .column.is-4 { + flex: none; + width: 33.3333333333%; +} +.columns.is-mobile > .column.is-offset-4 { + margin-inline-start: 33.3333333333%; +} +.columns.is-mobile > .column.is-5 { + flex: none; + width: 41.6666666667%; +} +.columns.is-mobile > .column.is-offset-5 { + margin-inline-start: 41.6666666667%; +} +.columns.is-mobile > .column.is-6 { + flex: none; + width: 50%; +} +.columns.is-mobile > .column.is-offset-6 { + margin-inline-start: 50%; +} +.columns.is-mobile > .column.is-7 { + flex: none; + width: 58.3333333333%; +} +.columns.is-mobile > .column.is-offset-7 { + margin-inline-start: 58.3333333333%; +} +.columns.is-mobile > .column.is-8 { + flex: none; + width: 66.6666666667%; +} +.columns.is-mobile > .column.is-offset-8 { + margin-inline-start: 66.6666666667%; +} +.columns.is-mobile > .column.is-9 { + flex: none; + width: 75%; +} +.columns.is-mobile > .column.is-offset-9 { + margin-inline-start: 75%; +} +.columns.is-mobile > .column.is-10 { + flex: none; + width: 83.3333333333%; +} +.columns.is-mobile > .column.is-offset-10 { + margin-inline-start: 83.3333333333%; +} +.columns.is-mobile > .column.is-11 { + flex: none; + width: 91.6666666667%; +} +.columns.is-mobile > .column.is-offset-11 { + margin-inline-start: 91.6666666667%; +} +.columns.is-mobile > .column.is-12 { + flex: none; + width: 100%; +} +.columns.is-mobile > .column.is-offset-12 { + margin-inline-start: 100%; +} +@media screen and (max-width: 768px) { + .column.is-narrow-mobile { + flex: none; + width: unset; + } + .column.is-full-mobile { + flex: none; + width: 100%; + } + .column.is-three-quarters-mobile { + flex: none; + width: 75%; + } + .column.is-two-thirds-mobile { + flex: none; + width: 66.6666%; + } + .column.is-half-mobile { + flex: none; + width: 50%; + } + .column.is-one-third-mobile { + flex: none; + width: 33.3333%; + } + .column.is-one-quarter-mobile { + flex: none; + width: 25%; + } + .column.is-one-fifth-mobile { + flex: none; + width: 20%; + } + .column.is-two-fifths-mobile { + flex: none; + width: 40%; + } + .column.is-three-fifths-mobile { + flex: none; + width: 60%; + } + .column.is-four-fifths-mobile { + flex: none; + width: 80%; + } + .column.is-offset-three-quarters-mobile { + margin-inline-start: 75%; + } + .column.is-offset-two-thirds-mobile { + margin-inline-start: 66.6666%; + } + .column.is-offset-half-mobile { + margin-inline-start: 50%; + } + .column.is-offset-one-third-mobile { + margin-inline-start: 0.3333%; + } + .column.is-offset-one-quarter-mobile { + margin-inline-start: 25%; + } + .column.is-offset-one-fifth-mobile { + margin-inline-start: 20%; + } + .column.is-offset-two-fifths-mobile { + margin-inline-start: 40%; + } + .column.is-offset-three-fifths-mobile { + margin-inline-start: 60%; + } + .column.is-offset-four-fifths-mobile { + margin-inline-start: 80%; + } + .column.is-0-mobile { + flex: none; + width: 0%; + } + .column.is-offset-0-mobile { + margin-inline-start: 0%; + } + .column.is-1-mobile { + flex: none; + width: 8.3333333333%; + } + .column.is-offset-1-mobile { + margin-inline-start: 8.3333333333%; + } + .column.is-2-mobile { + flex: none; + width: 16.6666666667%; + } + .column.is-offset-2-mobile { + margin-inline-start: 16.6666666667%; + } + .column.is-3-mobile { + flex: none; + width: 25%; + } + .column.is-offset-3-mobile { + margin-inline-start: 25%; + } + .column.is-4-mobile { + flex: none; + width: 33.3333333333%; + } + .column.is-offset-4-mobile { + margin-inline-start: 33.3333333333%; + } + .column.is-5-mobile { + flex: none; + width: 41.6666666667%; + } + .column.is-offset-5-mobile { + margin-inline-start: 41.6666666667%; + } + .column.is-6-mobile { + flex: none; + width: 50%; + } + .column.is-offset-6-mobile { + margin-inline-start: 50%; + } + .column.is-7-mobile { + flex: none; + width: 58.3333333333%; + } + .column.is-offset-7-mobile { + margin-inline-start: 58.3333333333%; + } + .column.is-8-mobile { + flex: none; + width: 66.6666666667%; + } + .column.is-offset-8-mobile { + margin-inline-start: 66.6666666667%; + } + .column.is-9-mobile { + flex: none; + width: 75%; + } + .column.is-offset-9-mobile { + margin-inline-start: 75%; + } + .column.is-10-mobile { + flex: none; + width: 83.3333333333%; + } + .column.is-offset-10-mobile { + margin-inline-start: 83.3333333333%; + } + .column.is-11-mobile { + flex: none; + width: 91.6666666667%; + } + .column.is-offset-11-mobile { + margin-inline-start: 91.6666666667%; + } + .column.is-12-mobile { + flex: none; + width: 100%; + } + .column.is-offset-12-mobile { + margin-inline-start: 100%; + } +} +@media screen and (min-width: 769px), print { + .column.is-narrow, .column.is-narrow-tablet { + flex: none; + width: unset; + } + .column.is-full, .column.is-full-tablet { + flex: none; + width: 100%; + } + .column.is-three-quarters, .column.is-three-quarters-tablet { + flex: none; + width: 75%; + } + .column.is-two-thirds, .column.is-two-thirds-tablet { + flex: none; + width: 66.6666%; + } + .column.is-half, .column.is-half-tablet { + flex: none; + width: 50%; + } + .column.is-one-third, .column.is-one-third-tablet { + flex: none; + width: 33.3333%; + } + .column.is-one-quarter, .column.is-one-quarter-tablet { + flex: none; + width: 25%; + } + .column.is-one-fifth, .column.is-one-fifth-tablet { + flex: none; + width: 20%; + } + .column.is-two-fifths, .column.is-two-fifths-tablet { + flex: none; + width: 40%; + } + .column.is-three-fifths, .column.is-three-fifths-tablet { + flex: none; + width: 60%; + } + .column.is-four-fifths, .column.is-four-fifths-tablet { + flex: none; + width: 80%; + } + .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet { + margin-inline-start: 75%; + } + .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet { + margin-inline-start: 66.6666%; + } + .column.is-offset-half, .column.is-offset-half-tablet { + margin-inline-start: 50%; + } + .column.is-offset-one-third, .column.is-offset-one-third-tablet { + margin-inline-start: 0.3333%; + } + .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet { + margin-inline-start: 25%; + } + .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet { + margin-inline-start: 20%; + } + .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet { + margin-inline-start: 40%; + } + .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet { + margin-inline-start: 60%; + } + .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet { + margin-inline-start: 80%; + } + .column.is-0, .column.is-0-tablet { + flex: none; + width: 0%; + } + .column.is-offset-0, .column.is-offset-0-tablet { + margin-inline-start: 0%; + } + .column.is-1, .column.is-1-tablet { + flex: none; + width: 8.3333333333%; + } + .column.is-offset-1, .column.is-offset-1-tablet { + margin-inline-start: 8.3333333333%; + } + .column.is-2, .column.is-2-tablet { + flex: none; + width: 16.6666666667%; + } + .column.is-offset-2, .column.is-offset-2-tablet { + margin-inline-start: 16.6666666667%; + } + .column.is-3, .column.is-3-tablet { + flex: none; + width: 25%; + } + .column.is-offset-3, .column.is-offset-3-tablet { + margin-inline-start: 25%; + } + .column.is-4, .column.is-4-tablet { + flex: none; + width: 33.3333333333%; + } + .column.is-offset-4, .column.is-offset-4-tablet { + margin-inline-start: 33.3333333333%; + } + .column.is-5, .column.is-5-tablet { + flex: none; + width: 41.6666666667%; + } + .column.is-offset-5, .column.is-offset-5-tablet { + margin-inline-start: 41.6666666667%; + } + .column.is-6, .column.is-6-tablet { + flex: none; + width: 50%; + } + .column.is-offset-6, .column.is-offset-6-tablet { + margin-inline-start: 50%; + } + .column.is-7, .column.is-7-tablet { + flex: none; + width: 58.3333333333%; + } + .column.is-offset-7, .column.is-offset-7-tablet { + margin-inline-start: 58.3333333333%; + } + .column.is-8, .column.is-8-tablet { + flex: none; + width: 66.6666666667%; + } + .column.is-offset-8, .column.is-offset-8-tablet { + margin-inline-start: 66.6666666667%; + } + .column.is-9, .column.is-9-tablet { + flex: none; + width: 75%; + } + .column.is-offset-9, .column.is-offset-9-tablet { + margin-inline-start: 75%; + } + .column.is-10, .column.is-10-tablet { + flex: none; + width: 83.3333333333%; + } + .column.is-offset-10, .column.is-offset-10-tablet { + margin-inline-start: 83.3333333333%; + } + .column.is-11, .column.is-11-tablet { + flex: none; + width: 91.6666666667%; + } + .column.is-offset-11, .column.is-offset-11-tablet { + margin-inline-start: 91.6666666667%; + } + .column.is-12, .column.is-12-tablet { + flex: none; + width: 100%; + } + .column.is-offset-12, .column.is-offset-12-tablet { + margin-inline-start: 100%; + } +} +@media screen and (max-width: 1023px) { + .column.is-narrow-touch { + flex: none; + width: unset; + } + .column.is-full-touch { + flex: none; + width: 100%; + } + .column.is-three-quarters-touch { + flex: none; + width: 75%; + } + .column.is-two-thirds-touch { + flex: none; + width: 66.6666%; + } + .column.is-half-touch { + flex: none; + width: 50%; + } + .column.is-one-third-touch { + flex: none; + width: 33.3333%; + } + .column.is-one-quarter-touch { + flex: none; + width: 25%; + } + .column.is-one-fifth-touch { + flex: none; + width: 20%; + } + .column.is-two-fifths-touch { + flex: none; + width: 40%; + } + .column.is-three-fifths-touch { + flex: none; + width: 60%; + } + .column.is-four-fifths-touch { + flex: none; + width: 80%; + } + .column.is-offset-three-quarters-touch { + margin-inline-start: 75%; + } + .column.is-offset-two-thirds-touch { + margin-inline-start: 66.6666%; + } + .column.is-offset-half-touch { + margin-inline-start: 50%; + } + .column.is-offset-one-third-touch { + margin-inline-start: 0.3333%; + } + .column.is-offset-one-quarter-touch { + margin-inline-start: 25%; + } + .column.is-offset-one-fifth-touch { + margin-inline-start: 20%; + } + .column.is-offset-two-fifths-touch { + margin-inline-start: 40%; + } + .column.is-offset-three-fifths-touch { + margin-inline-start: 60%; + } + .column.is-offset-four-fifths-touch { + margin-inline-start: 80%; + } + .column.is-0-touch { + flex: none; + width: 0%; + } + .column.is-offset-0-touch { + margin-inline-start: 0%; + } + .column.is-1-touch { + flex: none; + width: 8.3333333333%; + } + .column.is-offset-1-touch { + margin-inline-start: 8.3333333333%; + } + .column.is-2-touch { + flex: none; + width: 16.6666666667%; + } + .column.is-offset-2-touch { + margin-inline-start: 16.6666666667%; + } + .column.is-3-touch { + flex: none; + width: 25%; + } + .column.is-offset-3-touch { + margin-inline-start: 25%; + } + .column.is-4-touch { + flex: none; + width: 33.3333333333%; + } + .column.is-offset-4-touch { + margin-inline-start: 33.3333333333%; + } + .column.is-5-touch { + flex: none; + width: 41.6666666667%; + } + .column.is-offset-5-touch { + margin-inline-start: 41.6666666667%; + } + .column.is-6-touch { + flex: none; + width: 50%; + } + .column.is-offset-6-touch { + margin-inline-start: 50%; + } + .column.is-7-touch { + flex: none; + width: 58.3333333333%; + } + .column.is-offset-7-touch { + margin-inline-start: 58.3333333333%; + } + .column.is-8-touch { + flex: none; + width: 66.6666666667%; + } + .column.is-offset-8-touch { + margin-inline-start: 66.6666666667%; + } + .column.is-9-touch { + flex: none; + width: 75%; + } + .column.is-offset-9-touch { + margin-inline-start: 75%; + } + .column.is-10-touch { + flex: none; + width: 83.3333333333%; + } + .column.is-offset-10-touch { + margin-inline-start: 83.3333333333%; + } + .column.is-11-touch { + flex: none; + width: 91.6666666667%; + } + .column.is-offset-11-touch { + margin-inline-start: 91.6666666667%; + } + .column.is-12-touch { + flex: none; + width: 100%; + } + .column.is-offset-12-touch { + margin-inline-start: 100%; + } +} +@media screen and (min-width: 1024px) { + .column.is-narrow-desktop { + flex: none; + width: unset; + } + .column.is-full-desktop { + flex: none; + width: 100%; + } + .column.is-three-quarters-desktop { + flex: none; + width: 75%; + } + .column.is-two-thirds-desktop { + flex: none; + width: 66.6666%; + } + .column.is-half-desktop { + flex: none; + width: 50%; + } + .column.is-one-third-desktop { + flex: none; + width: 33.3333%; + } + .column.is-one-quarter-desktop { + flex: none; + width: 25%; + } + .column.is-one-fifth-desktop { + flex: none; + width: 20%; + } + .column.is-two-fifths-desktop { + flex: none; + width: 40%; + } + .column.is-three-fifths-desktop { + flex: none; + width: 60%; + } + .column.is-four-fifths-desktop { + flex: none; + width: 80%; + } + .column.is-offset-three-quarters-desktop { + margin-inline-start: 75%; + } + .column.is-offset-two-thirds-desktop { + margin-inline-start: 66.6666%; + } + .column.is-offset-half-desktop { + margin-inline-start: 50%; + } + .column.is-offset-one-third-desktop { + margin-inline-start: 0.3333%; + } + .column.is-offset-one-quarter-desktop { + margin-inline-start: 25%; + } + .column.is-offset-one-fifth-desktop { + margin-inline-start: 20%; + } + .column.is-offset-two-fifths-desktop { + margin-inline-start: 40%; + } + .column.is-offset-three-fifths-desktop { + margin-inline-start: 60%; + } + .column.is-offset-four-fifths-desktop { + margin-inline-start: 80%; + } + .column.is-0-desktop { + flex: none; + width: 0%; + } + .column.is-offset-0-desktop { + margin-inline-start: 0%; + } + .column.is-1-desktop { + flex: none; + width: 8.3333333333%; + } + .column.is-offset-1-desktop { + margin-inline-start: 8.3333333333%; + } + .column.is-2-desktop { + flex: none; + width: 16.6666666667%; + } + .column.is-offset-2-desktop { + margin-inline-start: 16.6666666667%; + } + .column.is-3-desktop { + flex: none; + width: 25%; + } + .column.is-offset-3-desktop { + margin-inline-start: 25%; + } + .column.is-4-desktop { + flex: none; + width: 33.3333333333%; + } + .column.is-offset-4-desktop { + margin-inline-start: 33.3333333333%; + } + .column.is-5-desktop { + flex: none; + width: 41.6666666667%; + } + .column.is-offset-5-desktop { + margin-inline-start: 41.6666666667%; + } + .column.is-6-desktop { + flex: none; + width: 50%; + } + .column.is-offset-6-desktop { + margin-inline-start: 50%; + } + .column.is-7-desktop { + flex: none; + width: 58.3333333333%; + } + .column.is-offset-7-desktop { + margin-inline-start: 58.3333333333%; + } + .column.is-8-desktop { + flex: none; + width: 66.6666666667%; + } + .column.is-offset-8-desktop { + margin-inline-start: 66.6666666667%; + } + .column.is-9-desktop { + flex: none; + width: 75%; + } + .column.is-offset-9-desktop { + margin-inline-start: 75%; + } + .column.is-10-desktop { + flex: none; + width: 83.3333333333%; + } + .column.is-offset-10-desktop { + margin-inline-start: 83.3333333333%; + } + .column.is-11-desktop { + flex: none; + width: 91.6666666667%; + } + .column.is-offset-11-desktop { + margin-inline-start: 91.6666666667%; + } + .column.is-12-desktop { + flex: none; + width: 100%; + } + .column.is-offset-12-desktop { + margin-inline-start: 100%; + } +} +@media screen and (min-width: 1216px) { + .column.is-narrow-widescreen { + flex: none; + width: unset; + } + .column.is-full-widescreen { + flex: none; + width: 100%; + } + .column.is-three-quarters-widescreen { + flex: none; + width: 75%; + } + .column.is-two-thirds-widescreen { + flex: none; + width: 66.6666%; + } + .column.is-half-widescreen { + flex: none; + width: 50%; + } + .column.is-one-third-widescreen { + flex: none; + width: 33.3333%; + } + .column.is-one-quarter-widescreen { + flex: none; + width: 25%; + } + .column.is-one-fifth-widescreen { + flex: none; + width: 20%; + } + .column.is-two-fifths-widescreen { + flex: none; + width: 40%; + } + .column.is-three-fifths-widescreen { + flex: none; + width: 60%; + } + .column.is-four-fifths-widescreen { + flex: none; + width: 80%; + } + .column.is-offset-three-quarters-widescreen { + margin-inline-start: 75%; + } + .column.is-offset-two-thirds-widescreen { + margin-inline-start: 66.6666%; + } + .column.is-offset-half-widescreen { + margin-inline-start: 50%; + } + .column.is-offset-one-third-widescreen { + margin-inline-start: 0.3333%; + } + .column.is-offset-one-quarter-widescreen { + margin-inline-start: 25%; + } + .column.is-offset-one-fifth-widescreen { + margin-inline-start: 20%; + } + .column.is-offset-two-fifths-widescreen { + margin-inline-start: 40%; + } + .column.is-offset-three-fifths-widescreen { + margin-inline-start: 60%; + } + .column.is-offset-four-fifths-widescreen { + margin-inline-start: 80%; + } + .column.is-0-widescreen { + flex: none; + width: 0%; + } + .column.is-offset-0-widescreen { + margin-inline-start: 0%; + } + .column.is-1-widescreen { + flex: none; + width: 8.3333333333%; + } + .column.is-offset-1-widescreen { + margin-inline-start: 8.3333333333%; + } + .column.is-2-widescreen { + flex: none; + width: 16.6666666667%; + } + .column.is-offset-2-widescreen { + margin-inline-start: 16.6666666667%; + } + .column.is-3-widescreen { + flex: none; + width: 25%; + } + .column.is-offset-3-widescreen { + margin-inline-start: 25%; + } + .column.is-4-widescreen { + flex: none; + width: 33.3333333333%; + } + .column.is-offset-4-widescreen { + margin-inline-start: 33.3333333333%; + } + .column.is-5-widescreen { + flex: none; + width: 41.6666666667%; + } + .column.is-offset-5-widescreen { + margin-inline-start: 41.6666666667%; + } + .column.is-6-widescreen { + flex: none; + width: 50%; + } + .column.is-offset-6-widescreen { + margin-inline-start: 50%; + } + .column.is-7-widescreen { + flex: none; + width: 58.3333333333%; + } + .column.is-offset-7-widescreen { + margin-inline-start: 58.3333333333%; + } + .column.is-8-widescreen { + flex: none; + width: 66.6666666667%; + } + .column.is-offset-8-widescreen { + margin-inline-start: 66.6666666667%; + } + .column.is-9-widescreen { + flex: none; + width: 75%; + } + .column.is-offset-9-widescreen { + margin-inline-start: 75%; + } + .column.is-10-widescreen { + flex: none; + width: 83.3333333333%; + } + .column.is-offset-10-widescreen { + margin-inline-start: 83.3333333333%; + } + .column.is-11-widescreen { + flex: none; + width: 91.6666666667%; + } + .column.is-offset-11-widescreen { + margin-inline-start: 91.6666666667%; + } + .column.is-12-widescreen { + flex: none; + width: 100%; + } + .column.is-offset-12-widescreen { + margin-inline-start: 100%; + } +} +@media screen and (min-width: 1408px) { + .column.is-narrow-fullhd { + flex: none; + width: unset; + } + .column.is-full-fullhd { + flex: none; + width: 100%; + } + .column.is-three-quarters-fullhd { + flex: none; + width: 75%; + } + .column.is-two-thirds-fullhd { + flex: none; + width: 66.6666%; + } + .column.is-half-fullhd { + flex: none; + width: 50%; + } + .column.is-one-third-fullhd { + flex: none; + width: 33.3333%; + } + .column.is-one-quarter-fullhd { + flex: none; + width: 25%; + } + .column.is-one-fifth-fullhd { + flex: none; + width: 20%; + } + .column.is-two-fifths-fullhd { + flex: none; + width: 40%; + } + .column.is-three-fifths-fullhd { + flex: none; + width: 60%; + } + .column.is-four-fifths-fullhd { + flex: none; + width: 80%; + } + .column.is-offset-three-quarters-fullhd { + margin-inline-start: 75%; + } + .column.is-offset-two-thirds-fullhd { + margin-inline-start: 66.6666%; + } + .column.is-offset-half-fullhd { + margin-inline-start: 50%; + } + .column.is-offset-one-third-fullhd { + margin-inline-start: 33.3333%; + } + .column.is-offset-one-quarter-fullhd { + margin-inline-start: 25%; + } + .column.is-offset-one-fifth-fullhd { + margin-inline-start: 20%; + } + .column.is-offset-two-fifths-fullhd { + margin-inline-start: 40%; + } + .column.is-offset-three-fifths-fullhd { + margin-inline-start: 60%; + } + .column.is-offset-four-fifths-fullhd { + margin-inline-start: 80%; + } + .column.is-0-fullhd { + flex: none; + width: 0%; + } + .column.is-offset-0-fullhd { + margin-inline-start: 0%; + } + .column.is-1-fullhd { + flex: none; + width: 8.3333333333%; + } + .column.is-offset-1-fullhd { + margin-inline-start: 8.3333333333%; + } + .column.is-2-fullhd { + flex: none; + width: 16.6666666667%; + } + .column.is-offset-2-fullhd { + margin-inline-start: 16.6666666667%; + } + .column.is-3-fullhd { + flex: none; + width: 25%; + } + .column.is-offset-3-fullhd { + margin-inline-start: 25%; + } + .column.is-4-fullhd { + flex: none; + width: 33.3333333333%; + } + .column.is-offset-4-fullhd { + margin-inline-start: 33.3333333333%; + } + .column.is-5-fullhd { + flex: none; + width: 41.6666666667%; + } + .column.is-offset-5-fullhd { + margin-inline-start: 41.6666666667%; + } + .column.is-6-fullhd { + flex: none; + width: 50%; + } + .column.is-offset-6-fullhd { + margin-inline-start: 50%; + } + .column.is-7-fullhd { + flex: none; + width: 58.3333333333%; + } + .column.is-offset-7-fullhd { + margin-inline-start: 58.3333333333%; + } + .column.is-8-fullhd { + flex: none; + width: 66.6666666667%; + } + .column.is-offset-8-fullhd { + margin-inline-start: 66.6666666667%; + } + .column.is-9-fullhd { + flex: none; + width: 75%; + } + .column.is-offset-9-fullhd { + margin-inline-start: 75%; + } + .column.is-10-fullhd { + flex: none; + width: 83.3333333333%; + } + .column.is-offset-10-fullhd { + margin-inline-start: 83.3333333333%; + } + .column.is-11-fullhd { + flex: none; + width: 91.6666666667%; + } + .column.is-offset-11-fullhd { + margin-inline-start: 91.6666666667%; + } + .column.is-12-fullhd { + flex: none; + width: 100%; + } + .column.is-offset-12-fullhd { + margin-inline-start: 100%; + } +} + +.columns { + margin-inline-start: calc(-1 * var(--bulma-column-gap)); + margin-inline-end: calc(-1 * var(--bulma-column-gap)); + margin-top: calc(-1 * var(--bulma-column-gap)); +} +.columns:last-child { + margin-bottom: calc(-1 * var(--bulma-column-gap)); +} +.columns:not(:last-child) { + margin-bottom: calc(var(--bulma-block-spacing) - var(--bulma-column-gap)); +} +.columns.is-centered { + justify-content: center; +} +.columns.is-gapless { + margin-inline-start: 0; + margin-inline-end: 0; + margin-top: 0; +} +.columns.is-gapless > .column { + margin: 0; + padding: 0 !important; +} +.columns.is-gapless:not(:last-child) { + margin-bottom: 1.5rem; +} +.columns.is-gapless:last-child { + margin-bottom: 0; +} +.columns.is-mobile { + display: flex; +} +.columns.is-multiline { + flex-wrap: wrap; +} +.columns.is-vcentered { + align-items: center; +} +@media screen and (min-width: 769px), print { + .columns:not(.is-desktop) { + display: flex; + } +} +@media screen and (min-width: 1024px) { + .columns.is-desktop { + display: flex; + } +} +.columns.is-0 { + --bulma-column-gap: 0rem; +} +@media screen and (max-width: 768px) { + .columns.is-0-mobile { + --bulma-column-gap: 0rem; + } +} +@media screen and (min-width: 769px), print { + .columns.is-0-tablet { + --bulma-column-gap: 0rem; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-0-tablet-only { + --bulma-column-gap: 0rem; + } +} +@media screen and (max-width: 1023px) { + .columns.is-0-touch { + --bulma-column-gap: 0rem; + } +} +@media screen and (min-width: 1024px) { + .columns.is-0-desktop { + --bulma-column-gap: 0rem; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-0-desktop-only { + --bulma-column-gap: 0rem; + } +} +@media screen and (min-width: 1216px) { + .columns.is-0-widescreen { + --bulma-column-gap: 0rem; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-0-widescreen-only { + --bulma-column-gap: 0rem; + } +} +@media screen and (min-width: 1408px) { + .columns.is-0-fullhd { + --bulma-column-gap: 0rem; + } +} +.columns.is-1 { + --bulma-column-gap: 0.25rem; +} +@media screen and (max-width: 768px) { + .columns.is-1-mobile { + --bulma-column-gap: 0.25rem; + } +} +@media screen and (min-width: 769px), print { + .columns.is-1-tablet { + --bulma-column-gap: 0.25rem; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-1-tablet-only { + --bulma-column-gap: 0.25rem; + } +} +@media screen and (max-width: 1023px) { + .columns.is-1-touch { + --bulma-column-gap: 0.25rem; + } +} +@media screen and (min-width: 1024px) { + .columns.is-1-desktop { + --bulma-column-gap: 0.25rem; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-1-desktop-only { + --bulma-column-gap: 0.25rem; + } +} +@media screen and (min-width: 1216px) { + .columns.is-1-widescreen { + --bulma-column-gap: 0.25rem; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-1-widescreen-only { + --bulma-column-gap: 0.25rem; + } +} +@media screen and (min-width: 1408px) { + .columns.is-1-fullhd { + --bulma-column-gap: 0.25rem; + } +} +.columns.is-2 { + --bulma-column-gap: 0.5rem; +} +@media screen and (max-width: 768px) { + .columns.is-2-mobile { + --bulma-column-gap: 0.5rem; + } +} +@media screen and (min-width: 769px), print { + .columns.is-2-tablet { + --bulma-column-gap: 0.5rem; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-2-tablet-only { + --bulma-column-gap: 0.5rem; + } +} +@media screen and (max-width: 1023px) { + .columns.is-2-touch { + --bulma-column-gap: 0.5rem; + } +} +@media screen and (min-width: 1024px) { + .columns.is-2-desktop { + --bulma-column-gap: 0.5rem; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-2-desktop-only { + --bulma-column-gap: 0.5rem; + } +} +@media screen and (min-width: 1216px) { + .columns.is-2-widescreen { + --bulma-column-gap: 0.5rem; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-2-widescreen-only { + --bulma-column-gap: 0.5rem; + } +} +@media screen and (min-width: 1408px) { + .columns.is-2-fullhd { + --bulma-column-gap: 0.5rem; + } +} +.columns.is-3 { + --bulma-column-gap: 0.75rem; +} +@media screen and (max-width: 768px) { + .columns.is-3-mobile { + --bulma-column-gap: 0.75rem; + } +} +@media screen and (min-width: 769px), print { + .columns.is-3-tablet { + --bulma-column-gap: 0.75rem; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-3-tablet-only { + --bulma-column-gap: 0.75rem; + } +} +@media screen and (max-width: 1023px) { + .columns.is-3-touch { + --bulma-column-gap: 0.75rem; + } +} +@media screen and (min-width: 1024px) { + .columns.is-3-desktop { + --bulma-column-gap: 0.75rem; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-3-desktop-only { + --bulma-column-gap: 0.75rem; + } +} +@media screen and (min-width: 1216px) { + .columns.is-3-widescreen { + --bulma-column-gap: 0.75rem; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-3-widescreen-only { + --bulma-column-gap: 0.75rem; + } +} +@media screen and (min-width: 1408px) { + .columns.is-3-fullhd { + --bulma-column-gap: 0.75rem; + } +} +.columns.is-4 { + --bulma-column-gap: 1rem; +} +@media screen and (max-width: 768px) { + .columns.is-4-mobile { + --bulma-column-gap: 1rem; + } +} +@media screen and (min-width: 769px), print { + .columns.is-4-tablet { + --bulma-column-gap: 1rem; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-4-tablet-only { + --bulma-column-gap: 1rem; + } +} +@media screen and (max-width: 1023px) { + .columns.is-4-touch { + --bulma-column-gap: 1rem; + } +} +@media screen and (min-width: 1024px) { + .columns.is-4-desktop { + --bulma-column-gap: 1rem; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-4-desktop-only { + --bulma-column-gap: 1rem; + } +} +@media screen and (min-width: 1216px) { + .columns.is-4-widescreen { + --bulma-column-gap: 1rem; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-4-widescreen-only { + --bulma-column-gap: 1rem; + } +} +@media screen and (min-width: 1408px) { + .columns.is-4-fullhd { + --bulma-column-gap: 1rem; + } +} +.columns.is-5 { + --bulma-column-gap: 1.25rem; +} +@media screen and (max-width: 768px) { + .columns.is-5-mobile { + --bulma-column-gap: 1.25rem; + } +} +@media screen and (min-width: 769px), print { + .columns.is-5-tablet { + --bulma-column-gap: 1.25rem; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-5-tablet-only { + --bulma-column-gap: 1.25rem; + } +} +@media screen and (max-width: 1023px) { + .columns.is-5-touch { + --bulma-column-gap: 1.25rem; + } +} +@media screen and (min-width: 1024px) { + .columns.is-5-desktop { + --bulma-column-gap: 1.25rem; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-5-desktop-only { + --bulma-column-gap: 1.25rem; + } +} +@media screen and (min-width: 1216px) { + .columns.is-5-widescreen { + --bulma-column-gap: 1.25rem; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-5-widescreen-only { + --bulma-column-gap: 1.25rem; + } +} +@media screen and (min-width: 1408px) { + .columns.is-5-fullhd { + --bulma-column-gap: 1.25rem; + } +} +.columns.is-6 { + --bulma-column-gap: 1.5rem; +} +@media screen and (max-width: 768px) { + .columns.is-6-mobile { + --bulma-column-gap: 1.5rem; + } +} +@media screen and (min-width: 769px), print { + .columns.is-6-tablet { + --bulma-column-gap: 1.5rem; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-6-tablet-only { + --bulma-column-gap: 1.5rem; + } +} +@media screen and (max-width: 1023px) { + .columns.is-6-touch { + --bulma-column-gap: 1.5rem; + } +} +@media screen and (min-width: 1024px) { + .columns.is-6-desktop { + --bulma-column-gap: 1.5rem; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-6-desktop-only { + --bulma-column-gap: 1.5rem; + } +} +@media screen and (min-width: 1216px) { + .columns.is-6-widescreen { + --bulma-column-gap: 1.5rem; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-6-widescreen-only { + --bulma-column-gap: 1.5rem; + } +} +@media screen and (min-width: 1408px) { + .columns.is-6-fullhd { + --bulma-column-gap: 1.5rem; + } +} +.columns.is-7 { + --bulma-column-gap: 1.75rem; +} +@media screen and (max-width: 768px) { + .columns.is-7-mobile { + --bulma-column-gap: 1.75rem; + } +} +@media screen and (min-width: 769px), print { + .columns.is-7-tablet { + --bulma-column-gap: 1.75rem; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-7-tablet-only { + --bulma-column-gap: 1.75rem; + } +} +@media screen and (max-width: 1023px) { + .columns.is-7-touch { + --bulma-column-gap: 1.75rem; + } +} +@media screen and (min-width: 1024px) { + .columns.is-7-desktop { + --bulma-column-gap: 1.75rem; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-7-desktop-only { + --bulma-column-gap: 1.75rem; + } +} +@media screen and (min-width: 1216px) { + .columns.is-7-widescreen { + --bulma-column-gap: 1.75rem; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-7-widescreen-only { + --bulma-column-gap: 1.75rem; + } +} +@media screen and (min-width: 1408px) { + .columns.is-7-fullhd { + --bulma-column-gap: 1.75rem; + } +} +.columns.is-8 { + --bulma-column-gap: 2rem; +} +@media screen and (max-width: 768px) { + .columns.is-8-mobile { + --bulma-column-gap: 2rem; + } +} +@media screen and (min-width: 769px), print { + .columns.is-8-tablet { + --bulma-column-gap: 2rem; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-8-tablet-only { + --bulma-column-gap: 2rem; + } +} +@media screen and (max-width: 1023px) { + .columns.is-8-touch { + --bulma-column-gap: 2rem; + } +} +@media screen and (min-width: 1024px) { + .columns.is-8-desktop { + --bulma-column-gap: 2rem; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-8-desktop-only { + --bulma-column-gap: 2rem; + } +} +@media screen and (min-width: 1216px) { + .columns.is-8-widescreen { + --bulma-column-gap: 2rem; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-8-widescreen-only { + --bulma-column-gap: 2rem; + } +} +@media screen and (min-width: 1408px) { + .columns.is-8-fullhd { + --bulma-column-gap: 2rem; + } +} + +.fixed-grid { + container-name: bulma-fixed-grid; + container-type: inline-size; +} +.fixed-grid > .grid { + --bulma-grid-gap-count: calc(var(--bulma-grid-column-count) - 1); + --bulma-grid-column-count: 2; + grid-template-columns: repeat(var(--bulma-grid-column-count), 1fr); +} +.fixed-grid.has-1-cols > .grid { + --bulma-grid-column-count: 1; +} +.fixed-grid.has-2-cols > .grid { + --bulma-grid-column-count: 2; +} +.fixed-grid.has-3-cols > .grid { + --bulma-grid-column-count: 3; +} +.fixed-grid.has-4-cols > .grid { + --bulma-grid-column-count: 4; +} +.fixed-grid.has-5-cols > .grid { + --bulma-grid-column-count: 5; +} +.fixed-grid.has-6-cols > .grid { + --bulma-grid-column-count: 6; +} +.fixed-grid.has-7-cols > .grid { + --bulma-grid-column-count: 7; +} +.fixed-grid.has-8-cols > .grid { + --bulma-grid-column-count: 8; +} +.fixed-grid.has-9-cols > .grid { + --bulma-grid-column-count: 9; +} +.fixed-grid.has-10-cols > .grid { + --bulma-grid-column-count: 10; +} +.fixed-grid.has-11-cols > .grid { + --bulma-grid-column-count: 11; +} +.fixed-grid.has-12-cols > .grid { + --bulma-grid-column-count: 12; +} +@container bulma-fixed-grid (max-width: 768px) { + .fixed-grid.has-1-cols-mobile > .grid { + --bulma-grid-column-count: 1; + } + .fixed-grid.has-2-cols-mobile > .grid { + --bulma-grid-column-count: 2; + } + .fixed-grid.has-3-cols-mobile > .grid { + --bulma-grid-column-count: 3; + } + .fixed-grid.has-4-cols-mobile > .grid { + --bulma-grid-column-count: 4; + } + .fixed-grid.has-5-cols-mobile > .grid { + --bulma-grid-column-count: 5; + } + .fixed-grid.has-6-cols-mobile > .grid { + --bulma-grid-column-count: 6; + } + .fixed-grid.has-7-cols-mobile > .grid { + --bulma-grid-column-count: 7; + } + .fixed-grid.has-8-cols-mobile > .grid { + --bulma-grid-column-count: 8; + } + .fixed-grid.has-9-cols-mobile > .grid { + --bulma-grid-column-count: 9; + } + .fixed-grid.has-10-cols-mobile > .grid { + --bulma-grid-column-count: 10; + } + .fixed-grid.has-11-cols-mobile > .grid { + --bulma-grid-column-count: 11; + } + .fixed-grid.has-12-cols-mobile > .grid { + --bulma-grid-column-count: 12; + } +} +@container bulma-fixed-grid (min-width: 769px) { + .fixed-grid.has-1-cols-tablet > .grid { + --bulma-grid-column-count: 1; + } + .fixed-grid.has-2-cols-tablet > .grid { + --bulma-grid-column-count: 2; + } + .fixed-grid.has-3-cols-tablet > .grid { + --bulma-grid-column-count: 3; + } + .fixed-grid.has-4-cols-tablet > .grid { + --bulma-grid-column-count: 4; + } + .fixed-grid.has-5-cols-tablet > .grid { + --bulma-grid-column-count: 5; + } + .fixed-grid.has-6-cols-tablet > .grid { + --bulma-grid-column-count: 6; + } + .fixed-grid.has-7-cols-tablet > .grid { + --bulma-grid-column-count: 7; + } + .fixed-grid.has-8-cols-tablet > .grid { + --bulma-grid-column-count: 8; + } + .fixed-grid.has-9-cols-tablet > .grid { + --bulma-grid-column-count: 9; + } + .fixed-grid.has-10-cols-tablet > .grid { + --bulma-grid-column-count: 10; + } + .fixed-grid.has-11-cols-tablet > .grid { + --bulma-grid-column-count: 11; + } + .fixed-grid.has-12-cols-tablet > .grid { + --bulma-grid-column-count: 12; + } +} +@container bulma-fixed-grid (min-width: 1024px) { + .fixed-grid.has-1-cols-desktop > .grid { + --bulma-grid-column-count: 1; + } + .fixed-grid.has-2-cols-desktop > .grid { + --bulma-grid-column-count: 2; + } + .fixed-grid.has-3-cols-desktop > .grid { + --bulma-grid-column-count: 3; + } + .fixed-grid.has-4-cols-desktop > .grid { + --bulma-grid-column-count: 4; + } + .fixed-grid.has-5-cols-desktop > .grid { + --bulma-grid-column-count: 5; + } + .fixed-grid.has-6-cols-desktop > .grid { + --bulma-grid-column-count: 6; + } + .fixed-grid.has-7-cols-desktop > .grid { + --bulma-grid-column-count: 7; + } + .fixed-grid.has-8-cols-desktop > .grid { + --bulma-grid-column-count: 8; + } + .fixed-grid.has-9-cols-desktop > .grid { + --bulma-grid-column-count: 9; + } + .fixed-grid.has-10-cols-desktop > .grid { + --bulma-grid-column-count: 10; + } + .fixed-grid.has-11-cols-desktop > .grid { + --bulma-grid-column-count: 11; + } + .fixed-grid.has-12-cols-desktop > .grid { + --bulma-grid-column-count: 12; + } +} +@container bulma-fixed-grid (min-width: 1216px) { + .fixed-grid.has-1-cols-widescreen > .grid { + --bulma-grid-column-count: 1; + } + .fixed-grid.has-2-cols-widescreen > .grid { + --bulma-grid-column-count: 2; + } + .fixed-grid.has-3-cols-widescreen > .grid { + --bulma-grid-column-count: 3; + } + .fixed-grid.has-4-cols-widescreen > .grid { + --bulma-grid-column-count: 4; + } + .fixed-grid.has-5-cols-widescreen > .grid { + --bulma-grid-column-count: 5; + } + .fixed-grid.has-6-cols-widescreen > .grid { + --bulma-grid-column-count: 6; + } + .fixed-grid.has-7-cols-widescreen > .grid { + --bulma-grid-column-count: 7; + } + .fixed-grid.has-8-cols-widescreen > .grid { + --bulma-grid-column-count: 8; + } + .fixed-grid.has-9-cols-widescreen > .grid { + --bulma-grid-column-count: 9; + } + .fixed-grid.has-10-cols-widescreen > .grid { + --bulma-grid-column-count: 10; + } + .fixed-grid.has-11-cols-widescreen > .grid { + --bulma-grid-column-count: 11; + } + .fixed-grid.has-12-cols-widescreen > .grid { + --bulma-grid-column-count: 12; + } +} +@container bulma-fixed-grid (min-width: 1408px) { + .fixed-grid.has-1-cols-fullhd > .grid { + --bulma-grid-column-count: 1; + } + .fixed-grid.has-2-cols-fullhd > .grid { + --bulma-grid-column-count: 2; + } + .fixed-grid.has-3-cols-fullhd > .grid { + --bulma-grid-column-count: 3; + } + .fixed-grid.has-4-cols-fullhd > .grid { + --bulma-grid-column-count: 4; + } + .fixed-grid.has-5-cols-fullhd > .grid { + --bulma-grid-column-count: 5; + } + .fixed-grid.has-6-cols-fullhd > .grid { + --bulma-grid-column-count: 6; + } + .fixed-grid.has-7-cols-fullhd > .grid { + --bulma-grid-column-count: 7; + } + .fixed-grid.has-8-cols-fullhd > .grid { + --bulma-grid-column-count: 8; + } + .fixed-grid.has-9-cols-fullhd > .grid { + --bulma-grid-column-count: 9; + } + .fixed-grid.has-10-cols-fullhd > .grid { + --bulma-grid-column-count: 10; + } + .fixed-grid.has-11-cols-fullhd > .grid { + --bulma-grid-column-count: 11; + } + .fixed-grid.has-12-cols-fullhd > .grid { + --bulma-grid-column-count: 12; + } +} +@container bulma-fixed-grid (max-width: 768px) { + .fixed-grid.has-auto-count .grid { + --bulma-grid-column-count: 2; + } +} +@container bulma-fixed-grid (min-width: 769px) { + .fixed-grid.has-auto-count .grid { + --bulma-grid-column-count: 4; + } +} +@container bulma-fixed-grid (min-width: 1024px) { + .fixed-grid.has-auto-count .grid { + --bulma-grid-column-count: 8; + } +} +@container bulma-fixed-grid (min-width: 1216px) { + .fixed-grid.has-auto-count .grid { + --bulma-grid-column-count: 12; + } +} +@container bulma-fixed-grid (min-width: 1408px) { + .fixed-grid.has-auto-count .grid { + --bulma-grid-column-count: 16; + } +} + +.grid { + --bulma-grid-gap: 0.75rem; + --bulma-grid-column-min: 9rem; + --bulma-grid-cell-column-span: 1; + --bulma-grid-cell-row-span: 1; + display: grid; + gap: var(--bulma-grid-gap); + column-gap: var(--bulma-grid-column-gap, var(--bulma-grid-gap)); + row-gap: var(--bulma-grid-row-gap, var(--bulma-grid-gap)); + grid-template-columns: repeat(auto-fit, minmax(var(--bulma-grid-column-min), 1fr)); + grid-template-rows: auto; +} +.grid.is-auto-fill { + grid-template-columns: repeat(auto-fill, minmax(var(--bulma-grid-column-min), 1fr)); +} +.grid.is-col-min-1 { + --bulma-grid-column-min: 1.5rem; +} +.grid.is-col-min-2 { + --bulma-grid-column-min: 3rem; +} +.grid.is-col-min-3 { + --bulma-grid-column-min: 4.5rem; +} +.grid.is-col-min-4 { + --bulma-grid-column-min: 6rem; +} +.grid.is-col-min-5 { + --bulma-grid-column-min: 7.5rem; +} +.grid.is-col-min-6 { + --bulma-grid-column-min: 9rem; +} +.grid.is-col-min-7 { + --bulma-grid-column-min: 10.5rem; +} +.grid.is-col-min-8 { + --bulma-grid-column-min: 12rem; +} +.grid.is-col-min-9 { + --bulma-grid-column-min: 13.5rem; +} +.grid.is-col-min-10 { + --bulma-grid-column-min: 15rem; +} +.grid.is-col-min-11 { + --bulma-grid-column-min: 16.5rem; +} +.grid.is-col-min-12 { + --bulma-grid-column-min: 18rem; +} +.grid.is-col-min-13 { + --bulma-grid-column-min: 19.5rem; +} +.grid.is-col-min-14 { + --bulma-grid-column-min: 21rem; +} +.grid.is-col-min-15 { + --bulma-grid-column-min: 22.5rem; +} +.grid.is-col-min-16 { + --bulma-grid-column-min: 24rem; +} +.grid.is-col-min-17 { + --bulma-grid-column-min: 25.5rem; +} +.grid.is-col-min-18 { + --bulma-grid-column-min: 27rem; +} +.grid.is-col-min-19 { + --bulma-grid-column-min: 28.5rem; +} +.grid.is-col-min-20 { + --bulma-grid-column-min: 30rem; +} +.grid.is-col-min-21 { + --bulma-grid-column-min: 31.5rem; +} +.grid.is-col-min-22 { + --bulma-grid-column-min: 33rem; +} +.grid.is-col-min-23 { + --bulma-grid-column-min: 34.5rem; +} +.grid.is-col-min-24 { + --bulma-grid-column-min: 36rem; +} +.grid.is-col-min-25 { + --bulma-grid-column-min: 37.5rem; +} +.grid.is-col-min-26 { + --bulma-grid-column-min: 39rem; +} +.grid.is-col-min-27 { + --bulma-grid-column-min: 40.5rem; +} +.grid.is-col-min-28 { + --bulma-grid-column-min: 42rem; +} +.grid.is-col-min-29 { + --bulma-grid-column-min: 43.5rem; +} +.grid.is-col-min-30 { + --bulma-grid-column-min: 45rem; +} +.grid.is-col-min-31 { + --bulma-grid-column-min: 46.5rem; +} +.grid.is-col-min-32 { + --bulma-grid-column-min: 48rem; +} + +.cell { + grid-column-end: span var(--bulma-grid-cell-column-span); + grid-column-start: var(--bulma-grid-cell-column-start); + grid-row-end: span var(--bulma-grid-cell-row-span); + grid-row-start: var(--bulma-grid-cell-row-start); +} +.cell.is-col-start-end { + --bulma-grid-cell-column-start: -1; +} +.cell.is-row-start-end { + --bulma-grid-cell-row-start: -1; +} +.cell.is-col-start-1 { + --bulma-grid-cell-column-start: 1; +} +.cell.is-col-end-1 { + --bulma-grid-cell-column-end: 1; +} +.cell.is-col-from-end-1 { + --bulma-grid-cell-column-start: -1; +} +.cell.is-col-span-1 { + --bulma-grid-cell-column-span: 1; +} +.cell.is-row-start-1 { + --bulma-grid-cell-row-start: 1; +} +.cell.is-row-end-1 { + --bulma-grid-cell-row-end: 1; +} +.cell.is-row-from-end-1 { + --bulma-grid-cell-row-start: -1; +} +.cell.is-row-span-1 { + --bulma-grid-cell-row-span: 1; +} +.cell.is-col-start-2 { + --bulma-grid-cell-column-start: 2; +} +.cell.is-col-end-2 { + --bulma-grid-cell-column-end: 2; +} +.cell.is-col-from-end-2 { + --bulma-grid-cell-column-start: -2; +} +.cell.is-col-span-2 { + --bulma-grid-cell-column-span: 2; +} +.cell.is-row-start-2 { + --bulma-grid-cell-row-start: 2; +} +.cell.is-row-end-2 { + --bulma-grid-cell-row-end: 2; +} +.cell.is-row-from-end-2 { + --bulma-grid-cell-row-start: -2; +} +.cell.is-row-span-2 { + --bulma-grid-cell-row-span: 2; +} +.cell.is-col-start-3 { + --bulma-grid-cell-column-start: 3; +} +.cell.is-col-end-3 { + --bulma-grid-cell-column-end: 3; +} +.cell.is-col-from-end-3 { + --bulma-grid-cell-column-start: -3; +} +.cell.is-col-span-3 { + --bulma-grid-cell-column-span: 3; +} +.cell.is-row-start-3 { + --bulma-grid-cell-row-start: 3; +} +.cell.is-row-end-3 { + --bulma-grid-cell-row-end: 3; +} +.cell.is-row-from-end-3 { + --bulma-grid-cell-row-start: -3; +} +.cell.is-row-span-3 { + --bulma-grid-cell-row-span: 3; +} +.cell.is-col-start-4 { + --bulma-grid-cell-column-start: 4; +} +.cell.is-col-end-4 { + --bulma-grid-cell-column-end: 4; +} +.cell.is-col-from-end-4 { + --bulma-grid-cell-column-start: -4; +} +.cell.is-col-span-4 { + --bulma-grid-cell-column-span: 4; +} +.cell.is-row-start-4 { + --bulma-grid-cell-row-start: 4; +} +.cell.is-row-end-4 { + --bulma-grid-cell-row-end: 4; +} +.cell.is-row-from-end-4 { + --bulma-grid-cell-row-start: -4; +} +.cell.is-row-span-4 { + --bulma-grid-cell-row-span: 4; +} +.cell.is-col-start-5 { + --bulma-grid-cell-column-start: 5; +} +.cell.is-col-end-5 { + --bulma-grid-cell-column-end: 5; +} +.cell.is-col-from-end-5 { + --bulma-grid-cell-column-start: -5; +} +.cell.is-col-span-5 { + --bulma-grid-cell-column-span: 5; +} +.cell.is-row-start-5 { + --bulma-grid-cell-row-start: 5; +} +.cell.is-row-end-5 { + --bulma-grid-cell-row-end: 5; +} +.cell.is-row-from-end-5 { + --bulma-grid-cell-row-start: -5; +} +.cell.is-row-span-5 { + --bulma-grid-cell-row-span: 5; +} +.cell.is-col-start-6 { + --bulma-grid-cell-column-start: 6; +} +.cell.is-col-end-6 { + --bulma-grid-cell-column-end: 6; +} +.cell.is-col-from-end-6 { + --bulma-grid-cell-column-start: -6; +} +.cell.is-col-span-6 { + --bulma-grid-cell-column-span: 6; +} +.cell.is-row-start-6 { + --bulma-grid-cell-row-start: 6; +} +.cell.is-row-end-6 { + --bulma-grid-cell-row-end: 6; +} +.cell.is-row-from-end-6 { + --bulma-grid-cell-row-start: -6; +} +.cell.is-row-span-6 { + --bulma-grid-cell-row-span: 6; +} +.cell.is-col-start-7 { + --bulma-grid-cell-column-start: 7; +} +.cell.is-col-end-7 { + --bulma-grid-cell-column-end: 7; +} +.cell.is-col-from-end-7 { + --bulma-grid-cell-column-start: -7; +} +.cell.is-col-span-7 { + --bulma-grid-cell-column-span: 7; +} +.cell.is-row-start-7 { + --bulma-grid-cell-row-start: 7; +} +.cell.is-row-end-7 { + --bulma-grid-cell-row-end: 7; +} +.cell.is-row-from-end-7 { + --bulma-grid-cell-row-start: -7; +} +.cell.is-row-span-7 { + --bulma-grid-cell-row-span: 7; +} +.cell.is-col-start-8 { + --bulma-grid-cell-column-start: 8; +} +.cell.is-col-end-8 { + --bulma-grid-cell-column-end: 8; +} +.cell.is-col-from-end-8 { + --bulma-grid-cell-column-start: -8; +} +.cell.is-col-span-8 { + --bulma-grid-cell-column-span: 8; +} +.cell.is-row-start-8 { + --bulma-grid-cell-row-start: 8; +} +.cell.is-row-end-8 { + --bulma-grid-cell-row-end: 8; +} +.cell.is-row-from-end-8 { + --bulma-grid-cell-row-start: -8; +} +.cell.is-row-span-8 { + --bulma-grid-cell-row-span: 8; +} +.cell.is-col-start-9 { + --bulma-grid-cell-column-start: 9; +} +.cell.is-col-end-9 { + --bulma-grid-cell-column-end: 9; +} +.cell.is-col-from-end-9 { + --bulma-grid-cell-column-start: -9; +} +.cell.is-col-span-9 { + --bulma-grid-cell-column-span: 9; +} +.cell.is-row-start-9 { + --bulma-grid-cell-row-start: 9; +} +.cell.is-row-end-9 { + --bulma-grid-cell-row-end: 9; +} +.cell.is-row-from-end-9 { + --bulma-grid-cell-row-start: -9; +} +.cell.is-row-span-9 { + --bulma-grid-cell-row-span: 9; +} +.cell.is-col-start-10 { + --bulma-grid-cell-column-start: 10; +} +.cell.is-col-end-10 { + --bulma-grid-cell-column-end: 10; +} +.cell.is-col-from-end-10 { + --bulma-grid-cell-column-start: -10; +} +.cell.is-col-span-10 { + --bulma-grid-cell-column-span: 10; +} +.cell.is-row-start-10 { + --bulma-grid-cell-row-start: 10; +} +.cell.is-row-end-10 { + --bulma-grid-cell-row-end: 10; +} +.cell.is-row-from-end-10 { + --bulma-grid-cell-row-start: -10; +} +.cell.is-row-span-10 { + --bulma-grid-cell-row-span: 10; +} +.cell.is-col-start-11 { + --bulma-grid-cell-column-start: 11; +} +.cell.is-col-end-11 { + --bulma-grid-cell-column-end: 11; +} +.cell.is-col-from-end-11 { + --bulma-grid-cell-column-start: -11; +} +.cell.is-col-span-11 { + --bulma-grid-cell-column-span: 11; +} +.cell.is-row-start-11 { + --bulma-grid-cell-row-start: 11; +} +.cell.is-row-end-11 { + --bulma-grid-cell-row-end: 11; +} +.cell.is-row-from-end-11 { + --bulma-grid-cell-row-start: -11; +} +.cell.is-row-span-11 { + --bulma-grid-cell-row-span: 11; +} +.cell.is-col-start-12 { + --bulma-grid-cell-column-start: 12; +} +.cell.is-col-end-12 { + --bulma-grid-cell-column-end: 12; +} +.cell.is-col-from-end-12 { + --bulma-grid-cell-column-start: -12; +} +.cell.is-col-span-12 { + --bulma-grid-cell-column-span: 12; +} +.cell.is-row-start-12 { + --bulma-grid-cell-row-start: 12; +} +.cell.is-row-end-12 { + --bulma-grid-cell-row-end: 12; +} +.cell.is-row-from-end-12 { + --bulma-grid-cell-row-start: -12; +} +.cell.is-row-span-12 { + --bulma-grid-cell-row-span: 12; +} +@media screen and (max-width: 768px) { + .cell.is-col-start-1-mobile { + --bulma-grid-cell-column-start: 1; + } + .cell.is-col-end-1-mobile { + --bulma-grid-cell-column-end: 1; + } + .cell.is-col-from-end-1-mobile { + --bulma-grid-cell-column-start: -1; + } + .cell.is-col-span-1-mobile { + --bulma-grid-cell-column-span: 1; + } + .cell.is-row-start-1-mobile { + --bulma-grid-cell-row-start: 1; + } + .cell.is-row-end-1-mobile { + --bulma-grid-cell-row-end: 1; + } + .cell.is-row-from-end-1-mobile { + --bulma-grid-cell-row-start: -1; + } + .cell.is-row-span-1-mobile { + --bulma-grid-cell-row-span: 1; + } + .cell.is-col-start-2-mobile { + --bulma-grid-cell-column-start: 2; + } + .cell.is-col-end-2-mobile { + --bulma-grid-cell-column-end: 2; + } + .cell.is-col-from-end-2-mobile { + --bulma-grid-cell-column-start: -2; + } + .cell.is-col-span-2-mobile { + --bulma-grid-cell-column-span: 2; + } + .cell.is-row-start-2-mobile { + --bulma-grid-cell-row-start: 2; + } + .cell.is-row-end-2-mobile { + --bulma-grid-cell-row-end: 2; + } + .cell.is-row-from-end-2-mobile { + --bulma-grid-cell-row-start: -2; + } + .cell.is-row-span-2-mobile { + --bulma-grid-cell-row-span: 2; + } + .cell.is-col-start-3-mobile { + --bulma-grid-cell-column-start: 3; + } + .cell.is-col-end-3-mobile { + --bulma-grid-cell-column-end: 3; + } + .cell.is-col-from-end-3-mobile { + --bulma-grid-cell-column-start: -3; + } + .cell.is-col-span-3-mobile { + --bulma-grid-cell-column-span: 3; + } + .cell.is-row-start-3-mobile { + --bulma-grid-cell-row-start: 3; + } + .cell.is-row-end-3-mobile { + --bulma-grid-cell-row-end: 3; + } + .cell.is-row-from-end-3-mobile { + --bulma-grid-cell-row-start: -3; + } + .cell.is-row-span-3-mobile { + --bulma-grid-cell-row-span: 3; + } + .cell.is-col-start-4-mobile { + --bulma-grid-cell-column-start: 4; + } + .cell.is-col-end-4-mobile { + --bulma-grid-cell-column-end: 4; + } + .cell.is-col-from-end-4-mobile { + --bulma-grid-cell-column-start: -4; + } + .cell.is-col-span-4-mobile { + --bulma-grid-cell-column-span: 4; + } + .cell.is-row-start-4-mobile { + --bulma-grid-cell-row-start: 4; + } + .cell.is-row-end-4-mobile { + --bulma-grid-cell-row-end: 4; + } + .cell.is-row-from-end-4-mobile { + --bulma-grid-cell-row-start: -4; + } + .cell.is-row-span-4-mobile { + --bulma-grid-cell-row-span: 4; + } + .cell.is-col-start-5-mobile { + --bulma-grid-cell-column-start: 5; + } + .cell.is-col-end-5-mobile { + --bulma-grid-cell-column-end: 5; + } + .cell.is-col-from-end-5-mobile { + --bulma-grid-cell-column-start: -5; + } + .cell.is-col-span-5-mobile { + --bulma-grid-cell-column-span: 5; + } + .cell.is-row-start-5-mobile { + --bulma-grid-cell-row-start: 5; + } + .cell.is-row-end-5-mobile { + --bulma-grid-cell-row-end: 5; + } + .cell.is-row-from-end-5-mobile { + --bulma-grid-cell-row-start: -5; + } + .cell.is-row-span-5-mobile { + --bulma-grid-cell-row-span: 5; + } + .cell.is-col-start-6-mobile { + --bulma-grid-cell-column-start: 6; + } + .cell.is-col-end-6-mobile { + --bulma-grid-cell-column-end: 6; + } + .cell.is-col-from-end-6-mobile { + --bulma-grid-cell-column-start: -6; + } + .cell.is-col-span-6-mobile { + --bulma-grid-cell-column-span: 6; + } + .cell.is-row-start-6-mobile { + --bulma-grid-cell-row-start: 6; + } + .cell.is-row-end-6-mobile { + --bulma-grid-cell-row-end: 6; + } + .cell.is-row-from-end-6-mobile { + --bulma-grid-cell-row-start: -6; + } + .cell.is-row-span-6-mobile { + --bulma-grid-cell-row-span: 6; + } + .cell.is-col-start-7-mobile { + --bulma-grid-cell-column-start: 7; + } + .cell.is-col-end-7-mobile { + --bulma-grid-cell-column-end: 7; + } + .cell.is-col-from-end-7-mobile { + --bulma-grid-cell-column-start: -7; + } + .cell.is-col-span-7-mobile { + --bulma-grid-cell-column-span: 7; + } + .cell.is-row-start-7-mobile { + --bulma-grid-cell-row-start: 7; + } + .cell.is-row-end-7-mobile { + --bulma-grid-cell-row-end: 7; + } + .cell.is-row-from-end-7-mobile { + --bulma-grid-cell-row-start: -7; + } + .cell.is-row-span-7-mobile { + --bulma-grid-cell-row-span: 7; + } + .cell.is-col-start-8-mobile { + --bulma-grid-cell-column-start: 8; + } + .cell.is-col-end-8-mobile { + --bulma-grid-cell-column-end: 8; + } + .cell.is-col-from-end-8-mobile { + --bulma-grid-cell-column-start: -8; + } + .cell.is-col-span-8-mobile { + --bulma-grid-cell-column-span: 8; + } + .cell.is-row-start-8-mobile { + --bulma-grid-cell-row-start: 8; + } + .cell.is-row-end-8-mobile { + --bulma-grid-cell-row-end: 8; + } + .cell.is-row-from-end-8-mobile { + --bulma-grid-cell-row-start: -8; + } + .cell.is-row-span-8-mobile { + --bulma-grid-cell-row-span: 8; + } + .cell.is-col-start-9-mobile { + --bulma-grid-cell-column-start: 9; + } + .cell.is-col-end-9-mobile { + --bulma-grid-cell-column-end: 9; + } + .cell.is-col-from-end-9-mobile { + --bulma-grid-cell-column-start: -9; + } + .cell.is-col-span-9-mobile { + --bulma-grid-cell-column-span: 9; + } + .cell.is-row-start-9-mobile { + --bulma-grid-cell-row-start: 9; + } + .cell.is-row-end-9-mobile { + --bulma-grid-cell-row-end: 9; + } + .cell.is-row-from-end-9-mobile { + --bulma-grid-cell-row-start: -9; + } + .cell.is-row-span-9-mobile { + --bulma-grid-cell-row-span: 9; + } + .cell.is-col-start-10-mobile { + --bulma-grid-cell-column-start: 10; + } + .cell.is-col-end-10-mobile { + --bulma-grid-cell-column-end: 10; + } + .cell.is-col-from-end-10-mobile { + --bulma-grid-cell-column-start: -10; + } + .cell.is-col-span-10-mobile { + --bulma-grid-cell-column-span: 10; + } + .cell.is-row-start-10-mobile { + --bulma-grid-cell-row-start: 10; + } + .cell.is-row-end-10-mobile { + --bulma-grid-cell-row-end: 10; + } + .cell.is-row-from-end-10-mobile { + --bulma-grid-cell-row-start: -10; + } + .cell.is-row-span-10-mobile { + --bulma-grid-cell-row-span: 10; + } + .cell.is-col-start-11-mobile { + --bulma-grid-cell-column-start: 11; + } + .cell.is-col-end-11-mobile { + --bulma-grid-cell-column-end: 11; + } + .cell.is-col-from-end-11-mobile { + --bulma-grid-cell-column-start: -11; + } + .cell.is-col-span-11-mobile { + --bulma-grid-cell-column-span: 11; + } + .cell.is-row-start-11-mobile { + --bulma-grid-cell-row-start: 11; + } + .cell.is-row-end-11-mobile { + --bulma-grid-cell-row-end: 11; + } + .cell.is-row-from-end-11-mobile { + --bulma-grid-cell-row-start: -11; + } + .cell.is-row-span-11-mobile { + --bulma-grid-cell-row-span: 11; + } + .cell.is-col-start-12-mobile { + --bulma-grid-cell-column-start: 12; + } + .cell.is-col-end-12-mobile { + --bulma-grid-cell-column-end: 12; + } + .cell.is-col-from-end-12-mobile { + --bulma-grid-cell-column-start: -12; + } + .cell.is-col-span-12-mobile { + --bulma-grid-cell-column-span: 12; + } + .cell.is-row-start-12-mobile { + --bulma-grid-cell-row-start: 12; + } + .cell.is-row-end-12-mobile { + --bulma-grid-cell-row-end: 12; + } + .cell.is-row-from-end-12-mobile { + --bulma-grid-cell-row-start: -12; + } + .cell.is-row-span-12-mobile { + --bulma-grid-cell-row-span: 12; + } +} +@media screen and (min-width: 769px), print { + .cell.is-col-start-1-tablet { + --bulma-grid-cell-column-start: 1; + } + .cell.is-col-end-1-tablet { + --bulma-grid-cell-column-end: 1; + } + .cell.is-col-from-end-1-tablet { + --bulma-grid-cell-column-start: -1; + } + .cell.is-col-span-1-tablet { + --bulma-grid-cell-column-span: 1; + } + .cell.is-row-start-1-tablet { + --bulma-grid-cell-row-start: 1; + } + .cell.is-row-end-1-tablet { + --bulma-grid-cell-row-end: 1; + } + .cell.is-row-from-end-1-tablet { + --bulma-grid-cell-row-start: -1; + } + .cell.is-row-span-1-tablet { + --bulma-grid-cell-row-span: 1; + } + .cell.is-col-start-2-tablet { + --bulma-grid-cell-column-start: 2; + } + .cell.is-col-end-2-tablet { + --bulma-grid-cell-column-end: 2; + } + .cell.is-col-from-end-2-tablet { + --bulma-grid-cell-column-start: -2; + } + .cell.is-col-span-2-tablet { + --bulma-grid-cell-column-span: 2; + } + .cell.is-row-start-2-tablet { + --bulma-grid-cell-row-start: 2; + } + .cell.is-row-end-2-tablet { + --bulma-grid-cell-row-end: 2; + } + .cell.is-row-from-end-2-tablet { + --bulma-grid-cell-row-start: -2; + } + .cell.is-row-span-2-tablet { + --bulma-grid-cell-row-span: 2; + } + .cell.is-col-start-3-tablet { + --bulma-grid-cell-column-start: 3; + } + .cell.is-col-end-3-tablet { + --bulma-grid-cell-column-end: 3; + } + .cell.is-col-from-end-3-tablet { + --bulma-grid-cell-column-start: -3; + } + .cell.is-col-span-3-tablet { + --bulma-grid-cell-column-span: 3; + } + .cell.is-row-start-3-tablet { + --bulma-grid-cell-row-start: 3; + } + .cell.is-row-end-3-tablet { + --bulma-grid-cell-row-end: 3; + } + .cell.is-row-from-end-3-tablet { + --bulma-grid-cell-row-start: -3; + } + .cell.is-row-span-3-tablet { + --bulma-grid-cell-row-span: 3; + } + .cell.is-col-start-4-tablet { + --bulma-grid-cell-column-start: 4; + } + .cell.is-col-end-4-tablet { + --bulma-grid-cell-column-end: 4; + } + .cell.is-col-from-end-4-tablet { + --bulma-grid-cell-column-start: -4; + } + .cell.is-col-span-4-tablet { + --bulma-grid-cell-column-span: 4; + } + .cell.is-row-start-4-tablet { + --bulma-grid-cell-row-start: 4; + } + .cell.is-row-end-4-tablet { + --bulma-grid-cell-row-end: 4; + } + .cell.is-row-from-end-4-tablet { + --bulma-grid-cell-row-start: -4; + } + .cell.is-row-span-4-tablet { + --bulma-grid-cell-row-span: 4; + } + .cell.is-col-start-5-tablet { + --bulma-grid-cell-column-start: 5; + } + .cell.is-col-end-5-tablet { + --bulma-grid-cell-column-end: 5; + } + .cell.is-col-from-end-5-tablet { + --bulma-grid-cell-column-start: -5; + } + .cell.is-col-span-5-tablet { + --bulma-grid-cell-column-span: 5; + } + .cell.is-row-start-5-tablet { + --bulma-grid-cell-row-start: 5; + } + .cell.is-row-end-5-tablet { + --bulma-grid-cell-row-end: 5; + } + .cell.is-row-from-end-5-tablet { + --bulma-grid-cell-row-start: -5; + } + .cell.is-row-span-5-tablet { + --bulma-grid-cell-row-span: 5; + } + .cell.is-col-start-6-tablet { + --bulma-grid-cell-column-start: 6; + } + .cell.is-col-end-6-tablet { + --bulma-grid-cell-column-end: 6; + } + .cell.is-col-from-end-6-tablet { + --bulma-grid-cell-column-start: -6; + } + .cell.is-col-span-6-tablet { + --bulma-grid-cell-column-span: 6; + } + .cell.is-row-start-6-tablet { + --bulma-grid-cell-row-start: 6; + } + .cell.is-row-end-6-tablet { + --bulma-grid-cell-row-end: 6; + } + .cell.is-row-from-end-6-tablet { + --bulma-grid-cell-row-start: -6; + } + .cell.is-row-span-6-tablet { + --bulma-grid-cell-row-span: 6; + } + .cell.is-col-start-7-tablet { + --bulma-grid-cell-column-start: 7; + } + .cell.is-col-end-7-tablet { + --bulma-grid-cell-column-end: 7; + } + .cell.is-col-from-end-7-tablet { + --bulma-grid-cell-column-start: -7; + } + .cell.is-col-span-7-tablet { + --bulma-grid-cell-column-span: 7; + } + .cell.is-row-start-7-tablet { + --bulma-grid-cell-row-start: 7; + } + .cell.is-row-end-7-tablet { + --bulma-grid-cell-row-end: 7; + } + .cell.is-row-from-end-7-tablet { + --bulma-grid-cell-row-start: -7; + } + .cell.is-row-span-7-tablet { + --bulma-grid-cell-row-span: 7; + } + .cell.is-col-start-8-tablet { + --bulma-grid-cell-column-start: 8; + } + .cell.is-col-end-8-tablet { + --bulma-grid-cell-column-end: 8; + } + .cell.is-col-from-end-8-tablet { + --bulma-grid-cell-column-start: -8; + } + .cell.is-col-span-8-tablet { + --bulma-grid-cell-column-span: 8; + } + .cell.is-row-start-8-tablet { + --bulma-grid-cell-row-start: 8; + } + .cell.is-row-end-8-tablet { + --bulma-grid-cell-row-end: 8; + } + .cell.is-row-from-end-8-tablet { + --bulma-grid-cell-row-start: -8; + } + .cell.is-row-span-8-tablet { + --bulma-grid-cell-row-span: 8; + } + .cell.is-col-start-9-tablet { + --bulma-grid-cell-column-start: 9; + } + .cell.is-col-end-9-tablet { + --bulma-grid-cell-column-end: 9; + } + .cell.is-col-from-end-9-tablet { + --bulma-grid-cell-column-start: -9; + } + .cell.is-col-span-9-tablet { + --bulma-grid-cell-column-span: 9; + } + .cell.is-row-start-9-tablet { + --bulma-grid-cell-row-start: 9; + } + .cell.is-row-end-9-tablet { + --bulma-grid-cell-row-end: 9; + } + .cell.is-row-from-end-9-tablet { + --bulma-grid-cell-row-start: -9; + } + .cell.is-row-span-9-tablet { + --bulma-grid-cell-row-span: 9; + } + .cell.is-col-start-10-tablet { + --bulma-grid-cell-column-start: 10; + } + .cell.is-col-end-10-tablet { + --bulma-grid-cell-column-end: 10; + } + .cell.is-col-from-end-10-tablet { + --bulma-grid-cell-column-start: -10; + } + .cell.is-col-span-10-tablet { + --bulma-grid-cell-column-span: 10; + } + .cell.is-row-start-10-tablet { + --bulma-grid-cell-row-start: 10; + } + .cell.is-row-end-10-tablet { + --bulma-grid-cell-row-end: 10; + } + .cell.is-row-from-end-10-tablet { + --bulma-grid-cell-row-start: -10; + } + .cell.is-row-span-10-tablet { + --bulma-grid-cell-row-span: 10; + } + .cell.is-col-start-11-tablet { + --bulma-grid-cell-column-start: 11; + } + .cell.is-col-end-11-tablet { + --bulma-grid-cell-column-end: 11; + } + .cell.is-col-from-end-11-tablet { + --bulma-grid-cell-column-start: -11; + } + .cell.is-col-span-11-tablet { + --bulma-grid-cell-column-span: 11; + } + .cell.is-row-start-11-tablet { + --bulma-grid-cell-row-start: 11; + } + .cell.is-row-end-11-tablet { + --bulma-grid-cell-row-end: 11; + } + .cell.is-row-from-end-11-tablet { + --bulma-grid-cell-row-start: -11; + } + .cell.is-row-span-11-tablet { + --bulma-grid-cell-row-span: 11; + } + .cell.is-col-start-12-tablet { + --bulma-grid-cell-column-start: 12; + } + .cell.is-col-end-12-tablet { + --bulma-grid-cell-column-end: 12; + } + .cell.is-col-from-end-12-tablet { + --bulma-grid-cell-column-start: -12; + } + .cell.is-col-span-12-tablet { + --bulma-grid-cell-column-span: 12; + } + .cell.is-row-start-12-tablet { + --bulma-grid-cell-row-start: 12; + } + .cell.is-row-end-12-tablet { + --bulma-grid-cell-row-end: 12; + } + .cell.is-row-from-end-12-tablet { + --bulma-grid-cell-row-start: -12; + } + .cell.is-row-span-12-tablet { + --bulma-grid-cell-row-span: 12; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .cell.is-col-start-1-tablet-only { + --bulma-grid-cell-column-start: 1; + } + .cell.is-col-end-1-tablet-only { + --bulma-grid-cell-column-end: 1; + } + .cell.is-col-from-end-1-tablet-only { + --bulma-grid-cell-column-start: -1; + } + .cell.is-col-span-1-tablet-only { + --bulma-grid-cell-column-span: 1; + } + .cell.is-row-start-1-tablet-only { + --bulma-grid-cell-row-start: 1; + } + .cell.is-row-end-1-tablet-only { + --bulma-grid-cell-row-end: 1; + } + .cell.is-row-from-end-1-tablet-only { + --bulma-grid-cell-row-start: -1; + } + .cell.is-row-span-1-tablet-only { + --bulma-grid-cell-row-span: 1; + } + .cell.is-col-start-2-tablet-only { + --bulma-grid-cell-column-start: 2; + } + .cell.is-col-end-2-tablet-only { + --bulma-grid-cell-column-end: 2; + } + .cell.is-col-from-end-2-tablet-only { + --bulma-grid-cell-column-start: -2; + } + .cell.is-col-span-2-tablet-only { + --bulma-grid-cell-column-span: 2; + } + .cell.is-row-start-2-tablet-only { + --bulma-grid-cell-row-start: 2; + } + .cell.is-row-end-2-tablet-only { + --bulma-grid-cell-row-end: 2; + } + .cell.is-row-from-end-2-tablet-only { + --bulma-grid-cell-row-start: -2; + } + .cell.is-row-span-2-tablet-only { + --bulma-grid-cell-row-span: 2; + } + .cell.is-col-start-3-tablet-only { + --bulma-grid-cell-column-start: 3; + } + .cell.is-col-end-3-tablet-only { + --bulma-grid-cell-column-end: 3; + } + .cell.is-col-from-end-3-tablet-only { + --bulma-grid-cell-column-start: -3; + } + .cell.is-col-span-3-tablet-only { + --bulma-grid-cell-column-span: 3; + } + .cell.is-row-start-3-tablet-only { + --bulma-grid-cell-row-start: 3; + } + .cell.is-row-end-3-tablet-only { + --bulma-grid-cell-row-end: 3; + } + .cell.is-row-from-end-3-tablet-only { + --bulma-grid-cell-row-start: -3; + } + .cell.is-row-span-3-tablet-only { + --bulma-grid-cell-row-span: 3; + } + .cell.is-col-start-4-tablet-only { + --bulma-grid-cell-column-start: 4; + } + .cell.is-col-end-4-tablet-only { + --bulma-grid-cell-column-end: 4; + } + .cell.is-col-from-end-4-tablet-only { + --bulma-grid-cell-column-start: -4; + } + .cell.is-col-span-4-tablet-only { + --bulma-grid-cell-column-span: 4; + } + .cell.is-row-start-4-tablet-only { + --bulma-grid-cell-row-start: 4; + } + .cell.is-row-end-4-tablet-only { + --bulma-grid-cell-row-end: 4; + } + .cell.is-row-from-end-4-tablet-only { + --bulma-grid-cell-row-start: -4; + } + .cell.is-row-span-4-tablet-only { + --bulma-grid-cell-row-span: 4; + } + .cell.is-col-start-5-tablet-only { + --bulma-grid-cell-column-start: 5; + } + .cell.is-col-end-5-tablet-only { + --bulma-grid-cell-column-end: 5; + } + .cell.is-col-from-end-5-tablet-only { + --bulma-grid-cell-column-start: -5; + } + .cell.is-col-span-5-tablet-only { + --bulma-grid-cell-column-span: 5; + } + .cell.is-row-start-5-tablet-only { + --bulma-grid-cell-row-start: 5; + } + .cell.is-row-end-5-tablet-only { + --bulma-grid-cell-row-end: 5; + } + .cell.is-row-from-end-5-tablet-only { + --bulma-grid-cell-row-start: -5; + } + .cell.is-row-span-5-tablet-only { + --bulma-grid-cell-row-span: 5; + } + .cell.is-col-start-6-tablet-only { + --bulma-grid-cell-column-start: 6; + } + .cell.is-col-end-6-tablet-only { + --bulma-grid-cell-column-end: 6; + } + .cell.is-col-from-end-6-tablet-only { + --bulma-grid-cell-column-start: -6; + } + .cell.is-col-span-6-tablet-only { + --bulma-grid-cell-column-span: 6; + } + .cell.is-row-start-6-tablet-only { + --bulma-grid-cell-row-start: 6; + } + .cell.is-row-end-6-tablet-only { + --bulma-grid-cell-row-end: 6; + } + .cell.is-row-from-end-6-tablet-only { + --bulma-grid-cell-row-start: -6; + } + .cell.is-row-span-6-tablet-only { + --bulma-grid-cell-row-span: 6; + } + .cell.is-col-start-7-tablet-only { + --bulma-grid-cell-column-start: 7; + } + .cell.is-col-end-7-tablet-only { + --bulma-grid-cell-column-end: 7; + } + .cell.is-col-from-end-7-tablet-only { + --bulma-grid-cell-column-start: -7; + } + .cell.is-col-span-7-tablet-only { + --bulma-grid-cell-column-span: 7; + } + .cell.is-row-start-7-tablet-only { + --bulma-grid-cell-row-start: 7; + } + .cell.is-row-end-7-tablet-only { + --bulma-grid-cell-row-end: 7; + } + .cell.is-row-from-end-7-tablet-only { + --bulma-grid-cell-row-start: -7; + } + .cell.is-row-span-7-tablet-only { + --bulma-grid-cell-row-span: 7; + } + .cell.is-col-start-8-tablet-only { + --bulma-grid-cell-column-start: 8; + } + .cell.is-col-end-8-tablet-only { + --bulma-grid-cell-column-end: 8; + } + .cell.is-col-from-end-8-tablet-only { + --bulma-grid-cell-column-start: -8; + } + .cell.is-col-span-8-tablet-only { + --bulma-grid-cell-column-span: 8; + } + .cell.is-row-start-8-tablet-only { + --bulma-grid-cell-row-start: 8; + } + .cell.is-row-end-8-tablet-only { + --bulma-grid-cell-row-end: 8; + } + .cell.is-row-from-end-8-tablet-only { + --bulma-grid-cell-row-start: -8; + } + .cell.is-row-span-8-tablet-only { + --bulma-grid-cell-row-span: 8; + } + .cell.is-col-start-9-tablet-only { + --bulma-grid-cell-column-start: 9; + } + .cell.is-col-end-9-tablet-only { + --bulma-grid-cell-column-end: 9; + } + .cell.is-col-from-end-9-tablet-only { + --bulma-grid-cell-column-start: -9; + } + .cell.is-col-span-9-tablet-only { + --bulma-grid-cell-column-span: 9; + } + .cell.is-row-start-9-tablet-only { + --bulma-grid-cell-row-start: 9; + } + .cell.is-row-end-9-tablet-only { + --bulma-grid-cell-row-end: 9; + } + .cell.is-row-from-end-9-tablet-only { + --bulma-grid-cell-row-start: -9; + } + .cell.is-row-span-9-tablet-only { + --bulma-grid-cell-row-span: 9; + } + .cell.is-col-start-10-tablet-only { + --bulma-grid-cell-column-start: 10; + } + .cell.is-col-end-10-tablet-only { + --bulma-grid-cell-column-end: 10; + } + .cell.is-col-from-end-10-tablet-only { + --bulma-grid-cell-column-start: -10; + } + .cell.is-col-span-10-tablet-only { + --bulma-grid-cell-column-span: 10; + } + .cell.is-row-start-10-tablet-only { + --bulma-grid-cell-row-start: 10; + } + .cell.is-row-end-10-tablet-only { + --bulma-grid-cell-row-end: 10; + } + .cell.is-row-from-end-10-tablet-only { + --bulma-grid-cell-row-start: -10; + } + .cell.is-row-span-10-tablet-only { + --bulma-grid-cell-row-span: 10; + } + .cell.is-col-start-11-tablet-only { + --bulma-grid-cell-column-start: 11; + } + .cell.is-col-end-11-tablet-only { + --bulma-grid-cell-column-end: 11; + } + .cell.is-col-from-end-11-tablet-only { + --bulma-grid-cell-column-start: -11; + } + .cell.is-col-span-11-tablet-only { + --bulma-grid-cell-column-span: 11; + } + .cell.is-row-start-11-tablet-only { + --bulma-grid-cell-row-start: 11; + } + .cell.is-row-end-11-tablet-only { + --bulma-grid-cell-row-end: 11; + } + .cell.is-row-from-end-11-tablet-only { + --bulma-grid-cell-row-start: -11; + } + .cell.is-row-span-11-tablet-only { + --bulma-grid-cell-row-span: 11; + } + .cell.is-col-start-12-tablet-only { + --bulma-grid-cell-column-start: 12; + } + .cell.is-col-end-12-tablet-only { + --bulma-grid-cell-column-end: 12; + } + .cell.is-col-from-end-12-tablet-only { + --bulma-grid-cell-column-start: -12; + } + .cell.is-col-span-12-tablet-only { + --bulma-grid-cell-column-span: 12; + } + .cell.is-row-start-12-tablet-only { + --bulma-grid-cell-row-start: 12; + } + .cell.is-row-end-12-tablet-only { + --bulma-grid-cell-row-end: 12; + } + .cell.is-row-from-end-12-tablet-only { + --bulma-grid-cell-row-start: -12; + } + .cell.is-row-span-12-tablet-only { + --bulma-grid-cell-row-span: 12; + } +} +@media screen and (min-width: 1024px) { + .cell.is-col-start-1-desktop { + --bulma-grid-cell-column-start: 1; + } + .cell.is-col-end-1-desktop { + --bulma-grid-cell-column-end: 1; + } + .cell.is-col-from-end-1-desktop { + --bulma-grid-cell-column-start: -1; + } + .cell.is-col-span-1-desktop { + --bulma-grid-cell-column-span: 1; + } + .cell.is-row-start-1-desktop { + --bulma-grid-cell-row-start: 1; + } + .cell.is-row-end-1-desktop { + --bulma-grid-cell-row-end: 1; + } + .cell.is-row-from-end-1-desktop { + --bulma-grid-cell-row-start: -1; + } + .cell.is-row-span-1-desktop { + --bulma-grid-cell-row-span: 1; + } + .cell.is-col-start-2-desktop { + --bulma-grid-cell-column-start: 2; + } + .cell.is-col-end-2-desktop { + --bulma-grid-cell-column-end: 2; + } + .cell.is-col-from-end-2-desktop { + --bulma-grid-cell-column-start: -2; + } + .cell.is-col-span-2-desktop { + --bulma-grid-cell-column-span: 2; + } + .cell.is-row-start-2-desktop { + --bulma-grid-cell-row-start: 2; + } + .cell.is-row-end-2-desktop { + --bulma-grid-cell-row-end: 2; + } + .cell.is-row-from-end-2-desktop { + --bulma-grid-cell-row-start: -2; + } + .cell.is-row-span-2-desktop { + --bulma-grid-cell-row-span: 2; + } + .cell.is-col-start-3-desktop { + --bulma-grid-cell-column-start: 3; + } + .cell.is-col-end-3-desktop { + --bulma-grid-cell-column-end: 3; + } + .cell.is-col-from-end-3-desktop { + --bulma-grid-cell-column-start: -3; + } + .cell.is-col-span-3-desktop { + --bulma-grid-cell-column-span: 3; + } + .cell.is-row-start-3-desktop { + --bulma-grid-cell-row-start: 3; + } + .cell.is-row-end-3-desktop { + --bulma-grid-cell-row-end: 3; + } + .cell.is-row-from-end-3-desktop { + --bulma-grid-cell-row-start: -3; + } + .cell.is-row-span-3-desktop { + --bulma-grid-cell-row-span: 3; + } + .cell.is-col-start-4-desktop { + --bulma-grid-cell-column-start: 4; + } + .cell.is-col-end-4-desktop { + --bulma-grid-cell-column-end: 4; + } + .cell.is-col-from-end-4-desktop { + --bulma-grid-cell-column-start: -4; + } + .cell.is-col-span-4-desktop { + --bulma-grid-cell-column-span: 4; + } + .cell.is-row-start-4-desktop { + --bulma-grid-cell-row-start: 4; + } + .cell.is-row-end-4-desktop { + --bulma-grid-cell-row-end: 4; + } + .cell.is-row-from-end-4-desktop { + --bulma-grid-cell-row-start: -4; + } + .cell.is-row-span-4-desktop { + --bulma-grid-cell-row-span: 4; + } + .cell.is-col-start-5-desktop { + --bulma-grid-cell-column-start: 5; + } + .cell.is-col-end-5-desktop { + --bulma-grid-cell-column-end: 5; + } + .cell.is-col-from-end-5-desktop { + --bulma-grid-cell-column-start: -5; + } + .cell.is-col-span-5-desktop { + --bulma-grid-cell-column-span: 5; + } + .cell.is-row-start-5-desktop { + --bulma-grid-cell-row-start: 5; + } + .cell.is-row-end-5-desktop { + --bulma-grid-cell-row-end: 5; + } + .cell.is-row-from-end-5-desktop { + --bulma-grid-cell-row-start: -5; + } + .cell.is-row-span-5-desktop { + --bulma-grid-cell-row-span: 5; + } + .cell.is-col-start-6-desktop { + --bulma-grid-cell-column-start: 6; + } + .cell.is-col-end-6-desktop { + --bulma-grid-cell-column-end: 6; + } + .cell.is-col-from-end-6-desktop { + --bulma-grid-cell-column-start: -6; + } + .cell.is-col-span-6-desktop { + --bulma-grid-cell-column-span: 6; + } + .cell.is-row-start-6-desktop { + --bulma-grid-cell-row-start: 6; + } + .cell.is-row-end-6-desktop { + --bulma-grid-cell-row-end: 6; + } + .cell.is-row-from-end-6-desktop { + --bulma-grid-cell-row-start: -6; + } + .cell.is-row-span-6-desktop { + --bulma-grid-cell-row-span: 6; + } + .cell.is-col-start-7-desktop { + --bulma-grid-cell-column-start: 7; + } + .cell.is-col-end-7-desktop { + --bulma-grid-cell-column-end: 7; + } + .cell.is-col-from-end-7-desktop { + --bulma-grid-cell-column-start: -7; + } + .cell.is-col-span-7-desktop { + --bulma-grid-cell-column-span: 7; + } + .cell.is-row-start-7-desktop { + --bulma-grid-cell-row-start: 7; + } + .cell.is-row-end-7-desktop { + --bulma-grid-cell-row-end: 7; + } + .cell.is-row-from-end-7-desktop { + --bulma-grid-cell-row-start: -7; + } + .cell.is-row-span-7-desktop { + --bulma-grid-cell-row-span: 7; + } + .cell.is-col-start-8-desktop { + --bulma-grid-cell-column-start: 8; + } + .cell.is-col-end-8-desktop { + --bulma-grid-cell-column-end: 8; + } + .cell.is-col-from-end-8-desktop { + --bulma-grid-cell-column-start: -8; + } + .cell.is-col-span-8-desktop { + --bulma-grid-cell-column-span: 8; + } + .cell.is-row-start-8-desktop { + --bulma-grid-cell-row-start: 8; + } + .cell.is-row-end-8-desktop { + --bulma-grid-cell-row-end: 8; + } + .cell.is-row-from-end-8-desktop { + --bulma-grid-cell-row-start: -8; + } + .cell.is-row-span-8-desktop { + --bulma-grid-cell-row-span: 8; + } + .cell.is-col-start-9-desktop { + --bulma-grid-cell-column-start: 9; + } + .cell.is-col-end-9-desktop { + --bulma-grid-cell-column-end: 9; + } + .cell.is-col-from-end-9-desktop { + --bulma-grid-cell-column-start: -9; + } + .cell.is-col-span-9-desktop { + --bulma-grid-cell-column-span: 9; + } + .cell.is-row-start-9-desktop { + --bulma-grid-cell-row-start: 9; + } + .cell.is-row-end-9-desktop { + --bulma-grid-cell-row-end: 9; + } + .cell.is-row-from-end-9-desktop { + --bulma-grid-cell-row-start: -9; + } + .cell.is-row-span-9-desktop { + --bulma-grid-cell-row-span: 9; + } + .cell.is-col-start-10-desktop { + --bulma-grid-cell-column-start: 10; + } + .cell.is-col-end-10-desktop { + --bulma-grid-cell-column-end: 10; + } + .cell.is-col-from-end-10-desktop { + --bulma-grid-cell-column-start: -10; + } + .cell.is-col-span-10-desktop { + --bulma-grid-cell-column-span: 10; + } + .cell.is-row-start-10-desktop { + --bulma-grid-cell-row-start: 10; + } + .cell.is-row-end-10-desktop { + --bulma-grid-cell-row-end: 10; + } + .cell.is-row-from-end-10-desktop { + --bulma-grid-cell-row-start: -10; + } + .cell.is-row-span-10-desktop { + --bulma-grid-cell-row-span: 10; + } + .cell.is-col-start-11-desktop { + --bulma-grid-cell-column-start: 11; + } + .cell.is-col-end-11-desktop { + --bulma-grid-cell-column-end: 11; + } + .cell.is-col-from-end-11-desktop { + --bulma-grid-cell-column-start: -11; + } + .cell.is-col-span-11-desktop { + --bulma-grid-cell-column-span: 11; + } + .cell.is-row-start-11-desktop { + --bulma-grid-cell-row-start: 11; + } + .cell.is-row-end-11-desktop { + --bulma-grid-cell-row-end: 11; + } + .cell.is-row-from-end-11-desktop { + --bulma-grid-cell-row-start: -11; + } + .cell.is-row-span-11-desktop { + --bulma-grid-cell-row-span: 11; + } + .cell.is-col-start-12-desktop { + --bulma-grid-cell-column-start: 12; + } + .cell.is-col-end-12-desktop { + --bulma-grid-cell-column-end: 12; + } + .cell.is-col-from-end-12-desktop { + --bulma-grid-cell-column-start: -12; + } + .cell.is-col-span-12-desktop { + --bulma-grid-cell-column-span: 12; + } + .cell.is-row-start-12-desktop { + --bulma-grid-cell-row-start: 12; + } + .cell.is-row-end-12-desktop { + --bulma-grid-cell-row-end: 12; + } + .cell.is-row-from-end-12-desktop { + --bulma-grid-cell-row-start: -12; + } + .cell.is-row-span-12-desktop { + --bulma-grid-cell-row-span: 12; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .cell.is-col-start-1-desktop-only { + --bulma-grid-cell-column-start: 1; + } + .cell.is-col-end-1-desktop-only { + --bulma-grid-cell-column-end: 1; + } + .cell.is-col-from-end-1-desktop-only { + --bulma-grid-cell-column-start: -1; + } + .cell.is-col-span-1-desktop-only { + --bulma-grid-cell-column-span: 1; + } + .cell.is-row-start-1-desktop-only { + --bulma-grid-cell-row-start: 1; + } + .cell.is-row-end-1-desktop-only { + --bulma-grid-cell-row-end: 1; + } + .cell.is-row-from-end-1-desktop-only { + --bulma-grid-cell-row-start: -1; + } + .cell.is-row-span-1-desktop-only { + --bulma-grid-cell-row-span: 1; + } + .cell.is-col-start-2-desktop-only { + --bulma-grid-cell-column-start: 2; + } + .cell.is-col-end-2-desktop-only { + --bulma-grid-cell-column-end: 2; + } + .cell.is-col-from-end-2-desktop-only { + --bulma-grid-cell-column-start: -2; + } + .cell.is-col-span-2-desktop-only { + --bulma-grid-cell-column-span: 2; + } + .cell.is-row-start-2-desktop-only { + --bulma-grid-cell-row-start: 2; + } + .cell.is-row-end-2-desktop-only { + --bulma-grid-cell-row-end: 2; + } + .cell.is-row-from-end-2-desktop-only { + --bulma-grid-cell-row-start: -2; + } + .cell.is-row-span-2-desktop-only { + --bulma-grid-cell-row-span: 2; + } + .cell.is-col-start-3-desktop-only { + --bulma-grid-cell-column-start: 3; + } + .cell.is-col-end-3-desktop-only { + --bulma-grid-cell-column-end: 3; + } + .cell.is-col-from-end-3-desktop-only { + --bulma-grid-cell-column-start: -3; + } + .cell.is-col-span-3-desktop-only { + --bulma-grid-cell-column-span: 3; + } + .cell.is-row-start-3-desktop-only { + --bulma-grid-cell-row-start: 3; + } + .cell.is-row-end-3-desktop-only { + --bulma-grid-cell-row-end: 3; + } + .cell.is-row-from-end-3-desktop-only { + --bulma-grid-cell-row-start: -3; + } + .cell.is-row-span-3-desktop-only { + --bulma-grid-cell-row-span: 3; + } + .cell.is-col-start-4-desktop-only { + --bulma-grid-cell-column-start: 4; + } + .cell.is-col-end-4-desktop-only { + --bulma-grid-cell-column-end: 4; + } + .cell.is-col-from-end-4-desktop-only { + --bulma-grid-cell-column-start: -4; + } + .cell.is-col-span-4-desktop-only { + --bulma-grid-cell-column-span: 4; + } + .cell.is-row-start-4-desktop-only { + --bulma-grid-cell-row-start: 4; + } + .cell.is-row-end-4-desktop-only { + --bulma-grid-cell-row-end: 4; + } + .cell.is-row-from-end-4-desktop-only { + --bulma-grid-cell-row-start: -4; + } + .cell.is-row-span-4-desktop-only { + --bulma-grid-cell-row-span: 4; + } + .cell.is-col-start-5-desktop-only { + --bulma-grid-cell-column-start: 5; + } + .cell.is-col-end-5-desktop-only { + --bulma-grid-cell-column-end: 5; + } + .cell.is-col-from-end-5-desktop-only { + --bulma-grid-cell-column-start: -5; + } + .cell.is-col-span-5-desktop-only { + --bulma-grid-cell-column-span: 5; + } + .cell.is-row-start-5-desktop-only { + --bulma-grid-cell-row-start: 5; + } + .cell.is-row-end-5-desktop-only { + --bulma-grid-cell-row-end: 5; + } + .cell.is-row-from-end-5-desktop-only { + --bulma-grid-cell-row-start: -5; + } + .cell.is-row-span-5-desktop-only { + --bulma-grid-cell-row-span: 5; + } + .cell.is-col-start-6-desktop-only { + --bulma-grid-cell-column-start: 6; + } + .cell.is-col-end-6-desktop-only { + --bulma-grid-cell-column-end: 6; + } + .cell.is-col-from-end-6-desktop-only { + --bulma-grid-cell-column-start: -6; + } + .cell.is-col-span-6-desktop-only { + --bulma-grid-cell-column-span: 6; + } + .cell.is-row-start-6-desktop-only { + --bulma-grid-cell-row-start: 6; + } + .cell.is-row-end-6-desktop-only { + --bulma-grid-cell-row-end: 6; + } + .cell.is-row-from-end-6-desktop-only { + --bulma-grid-cell-row-start: -6; + } + .cell.is-row-span-6-desktop-only { + --bulma-grid-cell-row-span: 6; + } + .cell.is-col-start-7-desktop-only { + --bulma-grid-cell-column-start: 7; + } + .cell.is-col-end-7-desktop-only { + --bulma-grid-cell-column-end: 7; + } + .cell.is-col-from-end-7-desktop-only { + --bulma-grid-cell-column-start: -7; + } + .cell.is-col-span-7-desktop-only { + --bulma-grid-cell-column-span: 7; + } + .cell.is-row-start-7-desktop-only { + --bulma-grid-cell-row-start: 7; + } + .cell.is-row-end-7-desktop-only { + --bulma-grid-cell-row-end: 7; + } + .cell.is-row-from-end-7-desktop-only { + --bulma-grid-cell-row-start: -7; + } + .cell.is-row-span-7-desktop-only { + --bulma-grid-cell-row-span: 7; + } + .cell.is-col-start-8-desktop-only { + --bulma-grid-cell-column-start: 8; + } + .cell.is-col-end-8-desktop-only { + --bulma-grid-cell-column-end: 8; + } + .cell.is-col-from-end-8-desktop-only { + --bulma-grid-cell-column-start: -8; + } + .cell.is-col-span-8-desktop-only { + --bulma-grid-cell-column-span: 8; + } + .cell.is-row-start-8-desktop-only { + --bulma-grid-cell-row-start: 8; + } + .cell.is-row-end-8-desktop-only { + --bulma-grid-cell-row-end: 8; + } + .cell.is-row-from-end-8-desktop-only { + --bulma-grid-cell-row-start: -8; + } + .cell.is-row-span-8-desktop-only { + --bulma-grid-cell-row-span: 8; + } + .cell.is-col-start-9-desktop-only { + --bulma-grid-cell-column-start: 9; + } + .cell.is-col-end-9-desktop-only { + --bulma-grid-cell-column-end: 9; + } + .cell.is-col-from-end-9-desktop-only { + --bulma-grid-cell-column-start: -9; + } + .cell.is-col-span-9-desktop-only { + --bulma-grid-cell-column-span: 9; + } + .cell.is-row-start-9-desktop-only { + --bulma-grid-cell-row-start: 9; + } + .cell.is-row-end-9-desktop-only { + --bulma-grid-cell-row-end: 9; + } + .cell.is-row-from-end-9-desktop-only { + --bulma-grid-cell-row-start: -9; + } + .cell.is-row-span-9-desktop-only { + --bulma-grid-cell-row-span: 9; + } + .cell.is-col-start-10-desktop-only { + --bulma-grid-cell-column-start: 10; + } + .cell.is-col-end-10-desktop-only { + --bulma-grid-cell-column-end: 10; + } + .cell.is-col-from-end-10-desktop-only { + --bulma-grid-cell-column-start: -10; + } + .cell.is-col-span-10-desktop-only { + --bulma-grid-cell-column-span: 10; + } + .cell.is-row-start-10-desktop-only { + --bulma-grid-cell-row-start: 10; + } + .cell.is-row-end-10-desktop-only { + --bulma-grid-cell-row-end: 10; + } + .cell.is-row-from-end-10-desktop-only { + --bulma-grid-cell-row-start: -10; + } + .cell.is-row-span-10-desktop-only { + --bulma-grid-cell-row-span: 10; + } + .cell.is-col-start-11-desktop-only { + --bulma-grid-cell-column-start: 11; + } + .cell.is-col-end-11-desktop-only { + --bulma-grid-cell-column-end: 11; + } + .cell.is-col-from-end-11-desktop-only { + --bulma-grid-cell-column-start: -11; + } + .cell.is-col-span-11-desktop-only { + --bulma-grid-cell-column-span: 11; + } + .cell.is-row-start-11-desktop-only { + --bulma-grid-cell-row-start: 11; + } + .cell.is-row-end-11-desktop-only { + --bulma-grid-cell-row-end: 11; + } + .cell.is-row-from-end-11-desktop-only { + --bulma-grid-cell-row-start: -11; + } + .cell.is-row-span-11-desktop-only { + --bulma-grid-cell-row-span: 11; + } + .cell.is-col-start-12-desktop-only { + --bulma-grid-cell-column-start: 12; + } + .cell.is-col-end-12-desktop-only { + --bulma-grid-cell-column-end: 12; + } + .cell.is-col-from-end-12-desktop-only { + --bulma-grid-cell-column-start: -12; + } + .cell.is-col-span-12-desktop-only { + --bulma-grid-cell-column-span: 12; + } + .cell.is-row-start-12-desktop-only { + --bulma-grid-cell-row-start: 12; + } + .cell.is-row-end-12-desktop-only { + --bulma-grid-cell-row-end: 12; + } + .cell.is-row-from-end-12-desktop-only { + --bulma-grid-cell-row-start: -12; + } + .cell.is-row-span-12-desktop-only { + --bulma-grid-cell-row-span: 12; + } +} +@media screen and (min-width: 1216px) { + .cell.is-col-start-1-widescreen { + --bulma-grid-cell-column-start: 1; + } + .cell.is-col-end-1-widescreen { + --bulma-grid-cell-column-end: 1; + } + .cell.is-col-from-end-1-widescreen { + --bulma-grid-cell-column-start: -1; + } + .cell.is-col-span-1-widescreen { + --bulma-grid-cell-column-span: 1; + } + .cell.is-row-start-1-widescreen { + --bulma-grid-cell-row-start: 1; + } + .cell.is-row-end-1-widescreen { + --bulma-grid-cell-row-end: 1; + } + .cell.is-row-from-end-1-widescreen { + --bulma-grid-cell-row-start: -1; + } + .cell.is-row-span-1-widescreen { + --bulma-grid-cell-row-span: 1; + } + .cell.is-col-start-2-widescreen { + --bulma-grid-cell-column-start: 2; + } + .cell.is-col-end-2-widescreen { + --bulma-grid-cell-column-end: 2; + } + .cell.is-col-from-end-2-widescreen { + --bulma-grid-cell-column-start: -2; + } + .cell.is-col-span-2-widescreen { + --bulma-grid-cell-column-span: 2; + } + .cell.is-row-start-2-widescreen { + --bulma-grid-cell-row-start: 2; + } + .cell.is-row-end-2-widescreen { + --bulma-grid-cell-row-end: 2; + } + .cell.is-row-from-end-2-widescreen { + --bulma-grid-cell-row-start: -2; + } + .cell.is-row-span-2-widescreen { + --bulma-grid-cell-row-span: 2; + } + .cell.is-col-start-3-widescreen { + --bulma-grid-cell-column-start: 3; + } + .cell.is-col-end-3-widescreen { + --bulma-grid-cell-column-end: 3; + } + .cell.is-col-from-end-3-widescreen { + --bulma-grid-cell-column-start: -3; + } + .cell.is-col-span-3-widescreen { + --bulma-grid-cell-column-span: 3; + } + .cell.is-row-start-3-widescreen { + --bulma-grid-cell-row-start: 3; + } + .cell.is-row-end-3-widescreen { + --bulma-grid-cell-row-end: 3; + } + .cell.is-row-from-end-3-widescreen { + --bulma-grid-cell-row-start: -3; + } + .cell.is-row-span-3-widescreen { + --bulma-grid-cell-row-span: 3; + } + .cell.is-col-start-4-widescreen { + --bulma-grid-cell-column-start: 4; + } + .cell.is-col-end-4-widescreen { + --bulma-grid-cell-column-end: 4; + } + .cell.is-col-from-end-4-widescreen { + --bulma-grid-cell-column-start: -4; + } + .cell.is-col-span-4-widescreen { + --bulma-grid-cell-column-span: 4; + } + .cell.is-row-start-4-widescreen { + --bulma-grid-cell-row-start: 4; + } + .cell.is-row-end-4-widescreen { + --bulma-grid-cell-row-end: 4; + } + .cell.is-row-from-end-4-widescreen { + --bulma-grid-cell-row-start: -4; + } + .cell.is-row-span-4-widescreen { + --bulma-grid-cell-row-span: 4; + } + .cell.is-col-start-5-widescreen { + --bulma-grid-cell-column-start: 5; + } + .cell.is-col-end-5-widescreen { + --bulma-grid-cell-column-end: 5; + } + .cell.is-col-from-end-5-widescreen { + --bulma-grid-cell-column-start: -5; + } + .cell.is-col-span-5-widescreen { + --bulma-grid-cell-column-span: 5; + } + .cell.is-row-start-5-widescreen { + --bulma-grid-cell-row-start: 5; + } + .cell.is-row-end-5-widescreen { + --bulma-grid-cell-row-end: 5; + } + .cell.is-row-from-end-5-widescreen { + --bulma-grid-cell-row-start: -5; + } + .cell.is-row-span-5-widescreen { + --bulma-grid-cell-row-span: 5; + } + .cell.is-col-start-6-widescreen { + --bulma-grid-cell-column-start: 6; + } + .cell.is-col-end-6-widescreen { + --bulma-grid-cell-column-end: 6; + } + .cell.is-col-from-end-6-widescreen { + --bulma-grid-cell-column-start: -6; + } + .cell.is-col-span-6-widescreen { + --bulma-grid-cell-column-span: 6; + } + .cell.is-row-start-6-widescreen { + --bulma-grid-cell-row-start: 6; + } + .cell.is-row-end-6-widescreen { + --bulma-grid-cell-row-end: 6; + } + .cell.is-row-from-end-6-widescreen { + --bulma-grid-cell-row-start: -6; + } + .cell.is-row-span-6-widescreen { + --bulma-grid-cell-row-span: 6; + } + .cell.is-col-start-7-widescreen { + --bulma-grid-cell-column-start: 7; + } + .cell.is-col-end-7-widescreen { + --bulma-grid-cell-column-end: 7; + } + .cell.is-col-from-end-7-widescreen { + --bulma-grid-cell-column-start: -7; + } + .cell.is-col-span-7-widescreen { + --bulma-grid-cell-column-span: 7; + } + .cell.is-row-start-7-widescreen { + --bulma-grid-cell-row-start: 7; + } + .cell.is-row-end-7-widescreen { + --bulma-grid-cell-row-end: 7; + } + .cell.is-row-from-end-7-widescreen { + --bulma-grid-cell-row-start: -7; + } + .cell.is-row-span-7-widescreen { + --bulma-grid-cell-row-span: 7; + } + .cell.is-col-start-8-widescreen { + --bulma-grid-cell-column-start: 8; + } + .cell.is-col-end-8-widescreen { + --bulma-grid-cell-column-end: 8; + } + .cell.is-col-from-end-8-widescreen { + --bulma-grid-cell-column-start: -8; + } + .cell.is-col-span-8-widescreen { + --bulma-grid-cell-column-span: 8; + } + .cell.is-row-start-8-widescreen { + --bulma-grid-cell-row-start: 8; + } + .cell.is-row-end-8-widescreen { + --bulma-grid-cell-row-end: 8; + } + .cell.is-row-from-end-8-widescreen { + --bulma-grid-cell-row-start: -8; + } + .cell.is-row-span-8-widescreen { + --bulma-grid-cell-row-span: 8; + } + .cell.is-col-start-9-widescreen { + --bulma-grid-cell-column-start: 9; + } + .cell.is-col-end-9-widescreen { + --bulma-grid-cell-column-end: 9; + } + .cell.is-col-from-end-9-widescreen { + --bulma-grid-cell-column-start: -9; + } + .cell.is-col-span-9-widescreen { + --bulma-grid-cell-column-span: 9; + } + .cell.is-row-start-9-widescreen { + --bulma-grid-cell-row-start: 9; + } + .cell.is-row-end-9-widescreen { + --bulma-grid-cell-row-end: 9; + } + .cell.is-row-from-end-9-widescreen { + --bulma-grid-cell-row-start: -9; + } + .cell.is-row-span-9-widescreen { + --bulma-grid-cell-row-span: 9; + } + .cell.is-col-start-10-widescreen { + --bulma-grid-cell-column-start: 10; + } + .cell.is-col-end-10-widescreen { + --bulma-grid-cell-column-end: 10; + } + .cell.is-col-from-end-10-widescreen { + --bulma-grid-cell-column-start: -10; + } + .cell.is-col-span-10-widescreen { + --bulma-grid-cell-column-span: 10; + } + .cell.is-row-start-10-widescreen { + --bulma-grid-cell-row-start: 10; + } + .cell.is-row-end-10-widescreen { + --bulma-grid-cell-row-end: 10; + } + .cell.is-row-from-end-10-widescreen { + --bulma-grid-cell-row-start: -10; + } + .cell.is-row-span-10-widescreen { + --bulma-grid-cell-row-span: 10; + } + .cell.is-col-start-11-widescreen { + --bulma-grid-cell-column-start: 11; + } + .cell.is-col-end-11-widescreen { + --bulma-grid-cell-column-end: 11; + } + .cell.is-col-from-end-11-widescreen { + --bulma-grid-cell-column-start: -11; + } + .cell.is-col-span-11-widescreen { + --bulma-grid-cell-column-span: 11; + } + .cell.is-row-start-11-widescreen { + --bulma-grid-cell-row-start: 11; + } + .cell.is-row-end-11-widescreen { + --bulma-grid-cell-row-end: 11; + } + .cell.is-row-from-end-11-widescreen { + --bulma-grid-cell-row-start: -11; + } + .cell.is-row-span-11-widescreen { + --bulma-grid-cell-row-span: 11; + } + .cell.is-col-start-12-widescreen { + --bulma-grid-cell-column-start: 12; + } + .cell.is-col-end-12-widescreen { + --bulma-grid-cell-column-end: 12; + } + .cell.is-col-from-end-12-widescreen { + --bulma-grid-cell-column-start: -12; + } + .cell.is-col-span-12-widescreen { + --bulma-grid-cell-column-span: 12; + } + .cell.is-row-start-12-widescreen { + --bulma-grid-cell-row-start: 12; + } + .cell.is-row-end-12-widescreen { + --bulma-grid-cell-row-end: 12; + } + .cell.is-row-from-end-12-widescreen { + --bulma-grid-cell-row-start: -12; + } + .cell.is-row-span-12-widescreen { + --bulma-grid-cell-row-span: 12; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .cell.is-col-start-1-widescreen-only { + --bulma-grid-cell-column-start: 1; + } + .cell.is-col-end-1-widescreen-only { + --bulma-grid-cell-column-end: 1; + } + .cell.is-col-from-end-1-widescreen-only { + --bulma-grid-cell-column-start: -1; + } + .cell.is-col-span-1-widescreen-only { + --bulma-grid-cell-column-span: 1; + } + .cell.is-row-start-1-widescreen-only { + --bulma-grid-cell-row-start: 1; + } + .cell.is-row-end-1-widescreen-only { + --bulma-grid-cell-row-end: 1; + } + .cell.is-row-from-end-1-widescreen-only { + --bulma-grid-cell-row-start: -1; + } + .cell.is-row-span-1-widescreen-only { + --bulma-grid-cell-row-span: 1; + } + .cell.is-col-start-2-widescreen-only { + --bulma-grid-cell-column-start: 2; + } + .cell.is-col-end-2-widescreen-only { + --bulma-grid-cell-column-end: 2; + } + .cell.is-col-from-end-2-widescreen-only { + --bulma-grid-cell-column-start: -2; + } + .cell.is-col-span-2-widescreen-only { + --bulma-grid-cell-column-span: 2; + } + .cell.is-row-start-2-widescreen-only { + --bulma-grid-cell-row-start: 2; + } + .cell.is-row-end-2-widescreen-only { + --bulma-grid-cell-row-end: 2; + } + .cell.is-row-from-end-2-widescreen-only { + --bulma-grid-cell-row-start: -2; + } + .cell.is-row-span-2-widescreen-only { + --bulma-grid-cell-row-span: 2; + } + .cell.is-col-start-3-widescreen-only { + --bulma-grid-cell-column-start: 3; + } + .cell.is-col-end-3-widescreen-only { + --bulma-grid-cell-column-end: 3; + } + .cell.is-col-from-end-3-widescreen-only { + --bulma-grid-cell-column-start: -3; + } + .cell.is-col-span-3-widescreen-only { + --bulma-grid-cell-column-span: 3; + } + .cell.is-row-start-3-widescreen-only { + --bulma-grid-cell-row-start: 3; + } + .cell.is-row-end-3-widescreen-only { + --bulma-grid-cell-row-end: 3; + } + .cell.is-row-from-end-3-widescreen-only { + --bulma-grid-cell-row-start: -3; + } + .cell.is-row-span-3-widescreen-only { + --bulma-grid-cell-row-span: 3; + } + .cell.is-col-start-4-widescreen-only { + --bulma-grid-cell-column-start: 4; + } + .cell.is-col-end-4-widescreen-only { + --bulma-grid-cell-column-end: 4; + } + .cell.is-col-from-end-4-widescreen-only { + --bulma-grid-cell-column-start: -4; + } + .cell.is-col-span-4-widescreen-only { + --bulma-grid-cell-column-span: 4; + } + .cell.is-row-start-4-widescreen-only { + --bulma-grid-cell-row-start: 4; + } + .cell.is-row-end-4-widescreen-only { + --bulma-grid-cell-row-end: 4; + } + .cell.is-row-from-end-4-widescreen-only { + --bulma-grid-cell-row-start: -4; + } + .cell.is-row-span-4-widescreen-only { + --bulma-grid-cell-row-span: 4; + } + .cell.is-col-start-5-widescreen-only { + --bulma-grid-cell-column-start: 5; + } + .cell.is-col-end-5-widescreen-only { + --bulma-grid-cell-column-end: 5; + } + .cell.is-col-from-end-5-widescreen-only { + --bulma-grid-cell-column-start: -5; + } + .cell.is-col-span-5-widescreen-only { + --bulma-grid-cell-column-span: 5; + } + .cell.is-row-start-5-widescreen-only { + --bulma-grid-cell-row-start: 5; + } + .cell.is-row-end-5-widescreen-only { + --bulma-grid-cell-row-end: 5; + } + .cell.is-row-from-end-5-widescreen-only { + --bulma-grid-cell-row-start: -5; + } + .cell.is-row-span-5-widescreen-only { + --bulma-grid-cell-row-span: 5; + } + .cell.is-col-start-6-widescreen-only { + --bulma-grid-cell-column-start: 6; + } + .cell.is-col-end-6-widescreen-only { + --bulma-grid-cell-column-end: 6; + } + .cell.is-col-from-end-6-widescreen-only { + --bulma-grid-cell-column-start: -6; + } + .cell.is-col-span-6-widescreen-only { + --bulma-grid-cell-column-span: 6; + } + .cell.is-row-start-6-widescreen-only { + --bulma-grid-cell-row-start: 6; + } + .cell.is-row-end-6-widescreen-only { + --bulma-grid-cell-row-end: 6; + } + .cell.is-row-from-end-6-widescreen-only { + --bulma-grid-cell-row-start: -6; + } + .cell.is-row-span-6-widescreen-only { + --bulma-grid-cell-row-span: 6; + } + .cell.is-col-start-7-widescreen-only { + --bulma-grid-cell-column-start: 7; + } + .cell.is-col-end-7-widescreen-only { + --bulma-grid-cell-column-end: 7; + } + .cell.is-col-from-end-7-widescreen-only { + --bulma-grid-cell-column-start: -7; + } + .cell.is-col-span-7-widescreen-only { + --bulma-grid-cell-column-span: 7; + } + .cell.is-row-start-7-widescreen-only { + --bulma-grid-cell-row-start: 7; + } + .cell.is-row-end-7-widescreen-only { + --bulma-grid-cell-row-end: 7; + } + .cell.is-row-from-end-7-widescreen-only { + --bulma-grid-cell-row-start: -7; + } + .cell.is-row-span-7-widescreen-only { + --bulma-grid-cell-row-span: 7; + } + .cell.is-col-start-8-widescreen-only { + --bulma-grid-cell-column-start: 8; + } + .cell.is-col-end-8-widescreen-only { + --bulma-grid-cell-column-end: 8; + } + .cell.is-col-from-end-8-widescreen-only { + --bulma-grid-cell-column-start: -8; + } + .cell.is-col-span-8-widescreen-only { + --bulma-grid-cell-column-span: 8; + } + .cell.is-row-start-8-widescreen-only { + --bulma-grid-cell-row-start: 8; + } + .cell.is-row-end-8-widescreen-only { + --bulma-grid-cell-row-end: 8; + } + .cell.is-row-from-end-8-widescreen-only { + --bulma-grid-cell-row-start: -8; + } + .cell.is-row-span-8-widescreen-only { + --bulma-grid-cell-row-span: 8; + } + .cell.is-col-start-9-widescreen-only { + --bulma-grid-cell-column-start: 9; + } + .cell.is-col-end-9-widescreen-only { + --bulma-grid-cell-column-end: 9; + } + .cell.is-col-from-end-9-widescreen-only { + --bulma-grid-cell-column-start: -9; + } + .cell.is-col-span-9-widescreen-only { + --bulma-grid-cell-column-span: 9; + } + .cell.is-row-start-9-widescreen-only { + --bulma-grid-cell-row-start: 9; + } + .cell.is-row-end-9-widescreen-only { + --bulma-grid-cell-row-end: 9; + } + .cell.is-row-from-end-9-widescreen-only { + --bulma-grid-cell-row-start: -9; + } + .cell.is-row-span-9-widescreen-only { + --bulma-grid-cell-row-span: 9; + } + .cell.is-col-start-10-widescreen-only { + --bulma-grid-cell-column-start: 10; + } + .cell.is-col-end-10-widescreen-only { + --bulma-grid-cell-column-end: 10; + } + .cell.is-col-from-end-10-widescreen-only { + --bulma-grid-cell-column-start: -10; + } + .cell.is-col-span-10-widescreen-only { + --bulma-grid-cell-column-span: 10; + } + .cell.is-row-start-10-widescreen-only { + --bulma-grid-cell-row-start: 10; + } + .cell.is-row-end-10-widescreen-only { + --bulma-grid-cell-row-end: 10; + } + .cell.is-row-from-end-10-widescreen-only { + --bulma-grid-cell-row-start: -10; + } + .cell.is-row-span-10-widescreen-only { + --bulma-grid-cell-row-span: 10; + } + .cell.is-col-start-11-widescreen-only { + --bulma-grid-cell-column-start: 11; + } + .cell.is-col-end-11-widescreen-only { + --bulma-grid-cell-column-end: 11; + } + .cell.is-col-from-end-11-widescreen-only { + --bulma-grid-cell-column-start: -11; + } + .cell.is-col-span-11-widescreen-only { + --bulma-grid-cell-column-span: 11; + } + .cell.is-row-start-11-widescreen-only { + --bulma-grid-cell-row-start: 11; + } + .cell.is-row-end-11-widescreen-only { + --bulma-grid-cell-row-end: 11; + } + .cell.is-row-from-end-11-widescreen-only { + --bulma-grid-cell-row-start: -11; + } + .cell.is-row-span-11-widescreen-only { + --bulma-grid-cell-row-span: 11; + } + .cell.is-col-start-12-widescreen-only { + --bulma-grid-cell-column-start: 12; + } + .cell.is-col-end-12-widescreen-only { + --bulma-grid-cell-column-end: 12; + } + .cell.is-col-from-end-12-widescreen-only { + --bulma-grid-cell-column-start: -12; + } + .cell.is-col-span-12-widescreen-only { + --bulma-grid-cell-column-span: 12; + } + .cell.is-row-start-12-widescreen-only { + --bulma-grid-cell-row-start: 12; + } + .cell.is-row-end-12-widescreen-only { + --bulma-grid-cell-row-end: 12; + } + .cell.is-row-from-end-12-widescreen-only { + --bulma-grid-cell-row-start: -12; + } + .cell.is-row-span-12-widescreen-only { + --bulma-grid-cell-row-span: 12; + } +} +@media screen and (min-width: 1408px) { + .cell.is-col-start-1-fullhd { + --bulma-grid-cell-column-start: 1; + } + .cell.is-col-end-1-fullhd { + --bulma-grid-cell-column-end: 1; + } + .cell.is-col-from-end-1-fullhd { + --bulma-grid-cell-column-start: -1; + } + .cell.is-col-span-1-fullhd { + --bulma-grid-cell-column-span: 1; + } + .cell.is-row-start-1-fullhd { + --bulma-grid-cell-row-start: 1; + } + .cell.is-row-end-1-fullhd { + --bulma-grid-cell-row-end: 1; + } + .cell.is-row-from-end-1-fullhd { + --bulma-grid-cell-row-start: -1; + } + .cell.is-row-span-1-fullhd { + --bulma-grid-cell-row-span: 1; + } + .cell.is-col-start-2-fullhd { + --bulma-grid-cell-column-start: 2; + } + .cell.is-col-end-2-fullhd { + --bulma-grid-cell-column-end: 2; + } + .cell.is-col-from-end-2-fullhd { + --bulma-grid-cell-column-start: -2; + } + .cell.is-col-span-2-fullhd { + --bulma-grid-cell-column-span: 2; + } + .cell.is-row-start-2-fullhd { + --bulma-grid-cell-row-start: 2; + } + .cell.is-row-end-2-fullhd { + --bulma-grid-cell-row-end: 2; + } + .cell.is-row-from-end-2-fullhd { + --bulma-grid-cell-row-start: -2; + } + .cell.is-row-span-2-fullhd { + --bulma-grid-cell-row-span: 2; + } + .cell.is-col-start-3-fullhd { + --bulma-grid-cell-column-start: 3; + } + .cell.is-col-end-3-fullhd { + --bulma-grid-cell-column-end: 3; + } + .cell.is-col-from-end-3-fullhd { + --bulma-grid-cell-column-start: -3; + } + .cell.is-col-span-3-fullhd { + --bulma-grid-cell-column-span: 3; + } + .cell.is-row-start-3-fullhd { + --bulma-grid-cell-row-start: 3; + } + .cell.is-row-end-3-fullhd { + --bulma-grid-cell-row-end: 3; + } + .cell.is-row-from-end-3-fullhd { + --bulma-grid-cell-row-start: -3; + } + .cell.is-row-span-3-fullhd { + --bulma-grid-cell-row-span: 3; + } + .cell.is-col-start-4-fullhd { + --bulma-grid-cell-column-start: 4; + } + .cell.is-col-end-4-fullhd { + --bulma-grid-cell-column-end: 4; + } + .cell.is-col-from-end-4-fullhd { + --bulma-grid-cell-column-start: -4; + } + .cell.is-col-span-4-fullhd { + --bulma-grid-cell-column-span: 4; + } + .cell.is-row-start-4-fullhd { + --bulma-grid-cell-row-start: 4; + } + .cell.is-row-end-4-fullhd { + --bulma-grid-cell-row-end: 4; + } + .cell.is-row-from-end-4-fullhd { + --bulma-grid-cell-row-start: -4; + } + .cell.is-row-span-4-fullhd { + --bulma-grid-cell-row-span: 4; + } + .cell.is-col-start-5-fullhd { + --bulma-grid-cell-column-start: 5; + } + .cell.is-col-end-5-fullhd { + --bulma-grid-cell-column-end: 5; + } + .cell.is-col-from-end-5-fullhd { + --bulma-grid-cell-column-start: -5; + } + .cell.is-col-span-5-fullhd { + --bulma-grid-cell-column-span: 5; + } + .cell.is-row-start-5-fullhd { + --bulma-grid-cell-row-start: 5; + } + .cell.is-row-end-5-fullhd { + --bulma-grid-cell-row-end: 5; + } + .cell.is-row-from-end-5-fullhd { + --bulma-grid-cell-row-start: -5; + } + .cell.is-row-span-5-fullhd { + --bulma-grid-cell-row-span: 5; + } + .cell.is-col-start-6-fullhd { + --bulma-grid-cell-column-start: 6; + } + .cell.is-col-end-6-fullhd { + --bulma-grid-cell-column-end: 6; + } + .cell.is-col-from-end-6-fullhd { + --bulma-grid-cell-column-start: -6; + } + .cell.is-col-span-6-fullhd { + --bulma-grid-cell-column-span: 6; + } + .cell.is-row-start-6-fullhd { + --bulma-grid-cell-row-start: 6; + } + .cell.is-row-end-6-fullhd { + --bulma-grid-cell-row-end: 6; + } + .cell.is-row-from-end-6-fullhd { + --bulma-grid-cell-row-start: -6; + } + .cell.is-row-span-6-fullhd { + --bulma-grid-cell-row-span: 6; + } + .cell.is-col-start-7-fullhd { + --bulma-grid-cell-column-start: 7; + } + .cell.is-col-end-7-fullhd { + --bulma-grid-cell-column-end: 7; + } + .cell.is-col-from-end-7-fullhd { + --bulma-grid-cell-column-start: -7; + } + .cell.is-col-span-7-fullhd { + --bulma-grid-cell-column-span: 7; + } + .cell.is-row-start-7-fullhd { + --bulma-grid-cell-row-start: 7; + } + .cell.is-row-end-7-fullhd { + --bulma-grid-cell-row-end: 7; + } + .cell.is-row-from-end-7-fullhd { + --bulma-grid-cell-row-start: -7; + } + .cell.is-row-span-7-fullhd { + --bulma-grid-cell-row-span: 7; + } + .cell.is-col-start-8-fullhd { + --bulma-grid-cell-column-start: 8; + } + .cell.is-col-end-8-fullhd { + --bulma-grid-cell-column-end: 8; + } + .cell.is-col-from-end-8-fullhd { + --bulma-grid-cell-column-start: -8; + } + .cell.is-col-span-8-fullhd { + --bulma-grid-cell-column-span: 8; + } + .cell.is-row-start-8-fullhd { + --bulma-grid-cell-row-start: 8; + } + .cell.is-row-end-8-fullhd { + --bulma-grid-cell-row-end: 8; + } + .cell.is-row-from-end-8-fullhd { + --bulma-grid-cell-row-start: -8; + } + .cell.is-row-span-8-fullhd { + --bulma-grid-cell-row-span: 8; + } + .cell.is-col-start-9-fullhd { + --bulma-grid-cell-column-start: 9; + } + .cell.is-col-end-9-fullhd { + --bulma-grid-cell-column-end: 9; + } + .cell.is-col-from-end-9-fullhd { + --bulma-grid-cell-column-start: -9; + } + .cell.is-col-span-9-fullhd { + --bulma-grid-cell-column-span: 9; + } + .cell.is-row-start-9-fullhd { + --bulma-grid-cell-row-start: 9; + } + .cell.is-row-end-9-fullhd { + --bulma-grid-cell-row-end: 9; + } + .cell.is-row-from-end-9-fullhd { + --bulma-grid-cell-row-start: -9; + } + .cell.is-row-span-9-fullhd { + --bulma-grid-cell-row-span: 9; + } + .cell.is-col-start-10-fullhd { + --bulma-grid-cell-column-start: 10; + } + .cell.is-col-end-10-fullhd { + --bulma-grid-cell-column-end: 10; + } + .cell.is-col-from-end-10-fullhd { + --bulma-grid-cell-column-start: -10; + } + .cell.is-col-span-10-fullhd { + --bulma-grid-cell-column-span: 10; + } + .cell.is-row-start-10-fullhd { + --bulma-grid-cell-row-start: 10; + } + .cell.is-row-end-10-fullhd { + --bulma-grid-cell-row-end: 10; + } + .cell.is-row-from-end-10-fullhd { + --bulma-grid-cell-row-start: -10; + } + .cell.is-row-span-10-fullhd { + --bulma-grid-cell-row-span: 10; + } + .cell.is-col-start-11-fullhd { + --bulma-grid-cell-column-start: 11; + } + .cell.is-col-end-11-fullhd { + --bulma-grid-cell-column-end: 11; + } + .cell.is-col-from-end-11-fullhd { + --bulma-grid-cell-column-start: -11; + } + .cell.is-col-span-11-fullhd { + --bulma-grid-cell-column-span: 11; + } + .cell.is-row-start-11-fullhd { + --bulma-grid-cell-row-start: 11; + } + .cell.is-row-end-11-fullhd { + --bulma-grid-cell-row-end: 11; + } + .cell.is-row-from-end-11-fullhd { + --bulma-grid-cell-row-start: -11; + } + .cell.is-row-span-11-fullhd { + --bulma-grid-cell-row-span: 11; + } + .cell.is-col-start-12-fullhd { + --bulma-grid-cell-column-start: 12; + } + .cell.is-col-end-12-fullhd { + --bulma-grid-cell-column-end: 12; + } + .cell.is-col-from-end-12-fullhd { + --bulma-grid-cell-column-start: -12; + } + .cell.is-col-span-12-fullhd { + --bulma-grid-cell-column-span: 12; + } + .cell.is-row-start-12-fullhd { + --bulma-grid-cell-row-start: 12; + } + .cell.is-row-end-12-fullhd { + --bulma-grid-cell-row-end: 12; + } + .cell.is-row-from-end-12-fullhd { + --bulma-grid-cell-row-start: -12; + } + .cell.is-row-span-12-fullhd { + --bulma-grid-cell-row-span: 12; + } +} + +/* Bulma Components */ +.container { + flex-grow: 1; + margin: 0 auto; + position: relative; + width: 100%; +} +.container.is-fluid { + max-width: none !important; + padding-left: 32px; + padding-right: 32px; + width: 100%; +} +.container.is-max-tablet { + max-width: 705px; +} +@media screen and (min-width: 1024px) { + .container { + max-width: 960px; + } +} +@media screen and (max-width: 1215px) { + .container.is-widescreen:not(.is-max-tablet):not(.is-max-desktop) { + max-width: 1152px; + } +} +@media screen and (max-width: 1407px) { + .container.is-fullhd:not(.is-max-tablet):not(.is-max-desktop):not(.is-max-widescreen) { + max-width: 1344px; + } +} +@media screen and (min-width: 1216px) { + .container:not(.is-max-tablet):not(.is-max-desktop) { + max-width: 1152px; + } +} +@media screen and (min-width: 1408px) { + .container:not(.is-max-tablet):not(.is-max-desktop):not(.is-max-widescreen) { + max-width: 1344px; + } +} + +.footer { + --bulma-footer-background-color: var(--bulma-scheme-main-bis); + --bulma-footer-color: false; + --bulma-footer-padding: 3rem 1.5rem 6rem; + background-color: var(--bulma-footer-background-color); + padding: var(--bulma-footer-padding); +} + +.hero { + --bulma-hero-body-padding: 3rem 1.5rem; + --bulma-hero-body-padding-tablet: 3rem 3rem; + --bulma-hero-body-padding-small: 1.5rem; + --bulma-hero-body-padding-medium: 9rem 4.5rem; + --bulma-hero-body-padding-large: 18rem 6rem; +} + +.hero { + align-items: stretch; + display: flex; + flex-direction: column; + justify-content: space-between; +} +.hero .navbar { + background: none; +} +.hero .tabs ul { + border-bottom: none; +} +.hero.is-white { + --bulma-hero-h: var(--bulma-white-h); + --bulma-hero-s: var(--bulma-white-s); + --bulma-hero-background-l: var(--bulma-white-l); + --bulma-hero-color-l: var(--bulma-white-invert-l); + background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-white .navbar { + --bulma-navbar-item-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-navbar-item-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-white .tabs { + --bulma-tabs-link-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-border-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-tabs-link-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-white .subtitle { + --bulma-subtitle-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-subtitle-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-white .title { + --bulma-title-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-title-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-white.is-bold { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); +} +@media screen and (max-width: 768px) { + .hero.is-white.is-bold .navbar-menu { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); + } +} +.hero.is-black { + --bulma-hero-h: var(--bulma-black-h); + --bulma-hero-s: var(--bulma-black-s); + --bulma-hero-background-l: var(--bulma-black-l); + --bulma-hero-color-l: var(--bulma-black-invert-l); + background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-black .navbar { + --bulma-navbar-item-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-navbar-item-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-black .tabs { + --bulma-tabs-link-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-border-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-tabs-link-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-black .subtitle { + --bulma-subtitle-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-subtitle-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-black .title { + --bulma-title-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-title-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-black.is-bold { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); +} +@media screen and (max-width: 768px) { + .hero.is-black.is-bold .navbar-menu { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); + } +} +.hero.is-light { + --bulma-hero-h: var(--bulma-light-h); + --bulma-hero-s: var(--bulma-light-s); + --bulma-hero-background-l: var(--bulma-light-l); + --bulma-hero-color-l: var(--bulma-light-invert-l); + background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-light .navbar { + --bulma-navbar-item-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-navbar-item-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-light .tabs { + --bulma-tabs-link-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-border-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-tabs-link-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-light .subtitle { + --bulma-subtitle-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-subtitle-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-light .title { + --bulma-title-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-title-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-light.is-bold { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); +} +@media screen and (max-width: 768px) { + .hero.is-light.is-bold .navbar-menu { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); + } +} +.hero.is-dark { + --bulma-hero-h: var(--bulma-dark-h); + --bulma-hero-s: var(--bulma-dark-s); + --bulma-hero-background-l: var(--bulma-dark-l); + --bulma-hero-color-l: var(--bulma-dark-invert-l); + background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-dark .navbar { + --bulma-navbar-item-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-navbar-item-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-dark .tabs { + --bulma-tabs-link-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-border-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-tabs-link-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-dark .subtitle { + --bulma-subtitle-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-subtitle-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-dark .title { + --bulma-title-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-title-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-dark.is-bold { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); +} +@media screen and (max-width: 768px) { + .hero.is-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); + } +} +.hero.is-text { + --bulma-hero-h: var(--bulma-text-h); + --bulma-hero-s: var(--bulma-text-s); + --bulma-hero-background-l: var(--bulma-text-l); + --bulma-hero-color-l: var(--bulma-text-invert-l); + background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-text .navbar { + --bulma-navbar-item-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-navbar-item-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-text .tabs { + --bulma-tabs-link-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-border-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-tabs-link-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-text .subtitle { + --bulma-subtitle-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-subtitle-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-text .title { + --bulma-title-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-title-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-text.is-bold { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); +} +@media screen and (max-width: 768px) { + .hero.is-text.is-bold .navbar-menu { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); + } +} +.hero.is-primary { + --bulma-hero-h: var(--bulma-primary-h); + --bulma-hero-s: var(--bulma-primary-s); + --bulma-hero-background-l: var(--bulma-primary-l); + --bulma-hero-color-l: var(--bulma-primary-invert-l); + background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-primary .navbar { + --bulma-navbar-item-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-navbar-item-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-primary .tabs { + --bulma-tabs-link-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-border-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-tabs-link-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-primary .subtitle { + --bulma-subtitle-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-subtitle-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-primary .title { + --bulma-title-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-title-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-primary.is-bold { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); +} +@media screen and (max-width: 768px) { + .hero.is-primary.is-bold .navbar-menu { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); + } +} +.hero.is-link { + --bulma-hero-h: var(--bulma-link-h); + --bulma-hero-s: var(--bulma-link-s); + --bulma-hero-background-l: var(--bulma-link-l); + --bulma-hero-color-l: var(--bulma-link-invert-l); + background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-link .navbar { + --bulma-navbar-item-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-navbar-item-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-link .tabs { + --bulma-tabs-link-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-border-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-tabs-link-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-link .subtitle { + --bulma-subtitle-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-subtitle-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-link .title { + --bulma-title-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-title-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-link.is-bold { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); +} +@media screen and (max-width: 768px) { + .hero.is-link.is-bold .navbar-menu { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); + } +} +.hero.is-info { + --bulma-hero-h: var(--bulma-info-h); + --bulma-hero-s: var(--bulma-info-s); + --bulma-hero-background-l: var(--bulma-info-l); + --bulma-hero-color-l: var(--bulma-info-invert-l); + background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-info .navbar { + --bulma-navbar-item-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-navbar-item-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-info .tabs { + --bulma-tabs-link-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-border-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-tabs-link-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-info .subtitle { + --bulma-subtitle-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-subtitle-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-info .title { + --bulma-title-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-title-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-info.is-bold { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); +} +@media screen and (max-width: 768px) { + .hero.is-info.is-bold .navbar-menu { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); + } +} +.hero.is-success { + --bulma-hero-h: var(--bulma-success-h); + --bulma-hero-s: var(--bulma-success-s); + --bulma-hero-background-l: var(--bulma-success-l); + --bulma-hero-color-l: var(--bulma-success-invert-l); + background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-success .navbar { + --bulma-navbar-item-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-navbar-item-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-success .tabs { + --bulma-tabs-link-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-border-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-tabs-link-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-success .subtitle { + --bulma-subtitle-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-subtitle-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-success .title { + --bulma-title-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-title-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-success.is-bold { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); +} +@media screen and (max-width: 768px) { + .hero.is-success.is-bold .navbar-menu { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); + } +} +.hero.is-warning { + --bulma-hero-h: var(--bulma-warning-h); + --bulma-hero-s: var(--bulma-warning-s); + --bulma-hero-background-l: var(--bulma-warning-l); + --bulma-hero-color-l: var(--bulma-warning-invert-l); + background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-warning .navbar { + --bulma-navbar-item-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-navbar-item-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-warning .tabs { + --bulma-tabs-link-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-border-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-tabs-link-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-warning .subtitle { + --bulma-subtitle-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-subtitle-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-warning .title { + --bulma-title-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-title-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-warning.is-bold { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); +} +@media screen and (max-width: 768px) { + .hero.is-warning.is-bold .navbar-menu { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); + } +} +.hero.is-danger { + --bulma-hero-h: var(--bulma-danger-h); + --bulma-hero-s: var(--bulma-danger-s); + --bulma-hero-background-l: var(--bulma-danger-l); + --bulma-hero-color-l: var(--bulma-danger-invert-l); + background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-danger .navbar { + --bulma-navbar-item-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-hover-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-navbar-item-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-navbar-item-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-danger .tabs { + --bulma-tabs-link-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-background-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-tabs-boxed-link-active-border-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); + --bulma-tabs-link-active-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)); +} +.hero.is-danger .subtitle { + --bulma-subtitle-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-subtitle-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-danger .title { + --bulma-title-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); + --bulma-title-strong-color: hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)); +} +.hero.is-danger.is-bold { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-background-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); +} +@media screen and (max-width: 768px) { + .hero.is-danger.is-bold .navbar-menu { + background-image: linear-gradient(141deg, hsl(calc(var(--bulma-hero-h) - 5deg), calc(var(--bulma-hero-s) + 10%), calc(var(--bulma-hero-background-l) + 5%)) 0%, hsl(var(--bulma-hero-h), var(--bulma-hero-s), var(--bulma-hero-color-l)) 71%, hsl(calc(var(--bulma-hero-h) + 5deg), calc(var(--bulma-hero-s) - 10%), calc(var(--bulma-hero-background-l) - 5%)) 100%); + } +} +.hero.is-small .hero-body { + padding: var(--bulma-hero-body-padding-small); +} +@media screen and (min-width: 769px), print { + .hero.is-medium .hero-body { + padding: var(--bulma-hero-body-padding-medium); + } +} +@media screen and (min-width: 769px), print { + .hero.is-large .hero-body { + padding: var(--bulma-hero-body-padding-large); + } +} +.hero.is-halfheight .hero-body, .hero.is-fullheight .hero-body, .hero.is-fullheight-with-navbar .hero-body { + align-items: center; + display: flex; +} +.hero.is-halfheight .hero-body > .container, .hero.is-fullheight .hero-body > .container, .hero.is-fullheight-with-navbar .hero-body > .container { + flex-grow: 1; + flex-shrink: 1; +} +.hero.is-halfheight { + min-height: 50vh; +} +.hero.is-fullheight { + min-height: 100vh; +} + +.hero-video { + overflow: hidden; +} +.hero-video video { + left: 50%; + min-height: 100%; + min-width: 100%; + position: absolute; + top: 50%; + transform: translate3d(-50%, -50%, 0); +} +.hero-video.is-transparent { + opacity: 0.3; +} +@media screen and (max-width: 768px) { + .hero-video { + display: none; + } +} + +.hero-buttons { + margin-top: 1.5rem; +} +@media screen and (max-width: 768px) { + .hero-buttons .button { + display: flex; + } + .hero-buttons .button:not(:last-child) { + margin-bottom: 0.75rem; + } +} +@media screen and (min-width: 769px), print { + .hero-buttons { + display: flex; + justify-content: center; + } + .hero-buttons .button:not(:last-child) { + margin-inline-end: 1.5rem; + } +} + +.hero-head, +.hero-foot { + flex-grow: 0; + flex-shrink: 0; +} + +.hero-body { + flex-grow: 1; + flex-shrink: 0; + padding: var(--bulma-hero-body-padding); +} +@media screen and (min-width: 769px), print { + .hero-body { + padding: var(--bulma-hero-body-padding-tablet); + } +} + +.level { + --bulma-level-item-spacing: calc(var(--bulma-block-spacing) * 0.5); + align-items: center; + display: flex; + flex-direction: column; + justify-content: space-between; + gap: var(--bulma-level-item-spacing); +} +.level code { + border-radius: var(--bulma-radius); +} +.level img { + display: inline-block; + vertical-align: top; +} +.level.is-mobile { + display: flex; + flex-direction: row; +} +.level.is-mobile .level-left, +.level.is-mobile .level-right { + display: flex; +} +.level.is-mobile .level-item:not(.is-narrow) { + flex-grow: 1; +} +@media screen and (min-width: 769px), print { + .level { + display: flex; + flex-direction: row; + } + .level > .level-item:not(.is-narrow) { + flex-grow: 1; + } +} + +.level-item { + align-items: center; + display: flex; + flex-basis: auto; + flex-grow: 0; + flex-shrink: 0; + justify-content: center; +} +.level-item .title, +.level-item .subtitle { + margin-bottom: 0; +} + +.level-left, +.level-right { + flex-basis: auto; + flex-grow: 0; + flex-shrink: 0; + gap: calc(var(--bulma-block-spacing) * 0.5); +} +.level-left .level-item.is-flexible, +.level-right .level-item.is-flexible { + flex-grow: 1; +} + +.level-left { + align-items: center; + display: flex; + flex-direction: column; + justify-content: flex-start; +} +@media screen and (min-width: 769px), print { + .level-left { + flex-direction: row; + } +} + +.level-right { + align-items: center; + display: flex; + flex-direction: column; + justify-content: flex-end; +} +@media screen and (min-width: 769px), print { + .level-right { + flex-direction: row; + } +} + +.media { + --bulma-media-border-color: hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-border-l), 0.5); + --bulma-media-border-size: 1px; + --bulma-media-spacing: 1rem; + --bulma-media-spacing-large: 1.5rem; + --bulma-media-content-spacing: 0.75rem; + --bulma-media-level-1-spacing: 0.75rem; + --bulma-media-level-1-content-spacing: 0.5rem; + --bulma-media-level-2-spacing: 0.5rem; + align-items: flex-start; + display: flex; + text-align: inherit; +} +.media .content:not(:last-child) { + margin-bottom: var(--bulma-media-content-spacing); +} +.media .media { + border-top-color: var(--bulma-media-border-color); + border-top-style: solid; + border-top-width: var(--bulma-media-border-size); + display: flex; + padding-top: var(--bulma-media-level-1-spacing); +} +.media .media .content:not(:last-child), +.media .media .control:not(:last-child) { + margin-bottom: var(--bulma-media-level-1-content-spacing); +} +.media .media .media { + padding-top: var(--bulma-media-level-2-spacing); +} +.media .media .media + .media { + margin-top: var(--bulma-media-level-2-spacing); +} +.media + .media { + border-top-color: var(--bulma-media-border-color); + border-top-style: solid; + border-top-width: var(--bulma-media-border-size); + margin-top: var(--bulma-media-spacing); + padding-top: var(--bulma-media-spacing); +} +.media.is-large + .media { + margin-top: var(--bulma-media-spacing-large); + padding-top: var(--bulma-media-spacing-large); +} + +.media-left, +.media-right { + flex-basis: auto; + flex-grow: 0; + flex-shrink: 0; +} + +.media-left { + margin-inline-end: var(--bulma-media-spacing); +} + +.media-right { + margin-inline-start: var(--bulma-media-spacing); +} + +.media-content { + flex-basis: auto; + flex-grow: 1; + flex-shrink: 1; + text-align: inherit; +} + +@media screen and (max-width: 768px) { + .media-content { + overflow-x: auto; + } +} +.section { + --bulma-section-padding: 3rem 1.5rem; + --bulma-section-padding-desktop: 3rem 3rem; + --bulma-section-padding-medium: 9rem 4.5rem; + --bulma-section-padding-large: 18rem 6rem; + padding: var(--bulma-section-padding); +} +@media screen and (min-width: 1024px) { + .section { + padding: var(--bulma-section-padding-desktop); + } + .section.is-medium { + padding: var(--bulma-section-padding-medium); + } + .section.is-large { + padding: var(--bulma-section-padding-large); + } +} +.section.is-fullheight { + min-height: 100vh; +} + +:root { + --bulma-skeleton-background: var(--bulma-border); + --bulma-skeleton-radius: var(--bulma-radius-small); + --bulma-skeleton-block-min-height: 4.5em; + --bulma-skeleton-lines-gap: 0.75em; + --bulma-skeleton-line-height: 0.75em; +} + +.skeleton-lines > div, .skeleton-block, .has-skeleton::after, .is-skeleton { + animation-duration: 2s; + animation-iteration-count: infinite; + animation-name: pulsate; + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + background-color: var(--bulma-skeleton-background); + border-radius: var(--bulma-skeleton-radius); + box-shadow: none; + pointer-events: none; +} + +.is-skeleton { + color: transparent !important; +} +.is-skeleton em, +.is-skeleton strong { + color: inherit; +} +.is-skeleton img { + visibility: hidden; +} +.is-skeleton.checkbox input { + opacity: 0; +} +.is-skeleton.delete { + border-radius: var(--bulma-radius-rounded); +} +.is-skeleton.delete::before, .is-skeleton.delete::after { + display: none; +} + +input.is-skeleton, +textarea.is-skeleton { + resize: none; +} +input.is-skeleton::-moz-placeholder, +textarea.is-skeleton::-moz-placeholder { + color: transparent !important; +} +input.is-skeleton::-webkit-input-placeholder, +textarea.is-skeleton::-webkit-input-placeholder { + color: transparent !important; +} +input.is-skeleton:-moz-placeholder, +textarea.is-skeleton:-moz-placeholder { + color: transparent !important; +} +input.is-skeleton:-ms-input-placeholder, +textarea.is-skeleton:-ms-input-placeholder { + color: transparent !important; +} + +.has-skeleton { + color: transparent !important; + position: relative; +} +.has-skeleton::after { + content: ""; + display: block; + height: 100%; + left: 0; + max-width: 100%; + min-width: 10%; + position: absolute; + top: 0; + width: 7em; +} + +.skeleton-block { + color: transparent !important; + min-height: var(--bulma-skeleton-block-min-height); +} + +.skeleton-lines { + color: transparent !important; + display: flex; + flex-direction: column; + gap: var(--bulma-skeleton-lines-gap); + position: relative; +} +.skeleton-lines > div { + height: var(--bulma-skeleton-line-height); +} +.skeleton-lines > div:last-child { + min-width: 4em; + width: 30%; +} + +/* Bulma Helpers */ +.is-aspect-ratio-1by1 { + aspect-ratio: 1/1; +} + +.is-aspect-ratio-5by4 { + aspect-ratio: 5/4; +} + +.is-aspect-ratio-4by3 { + aspect-ratio: 4/3; +} + +.is-aspect-ratio-3by2 { + aspect-ratio: 3/2; +} + +.is-aspect-ratio-5by3 { + aspect-ratio: 5/3; +} + +.is-aspect-ratio-16by9 { + aspect-ratio: 16/9; +} + +.is-aspect-ratio-2by1 { + aspect-ratio: 2/1; +} + +.is-aspect-ratio-3by1 { + aspect-ratio: 3/1; +} + +.is-aspect-ratio-4by5 { + aspect-ratio: 4/5; +} + +.is-aspect-ratio-3by4 { + aspect-ratio: 3/4; +} + +.is-aspect-ratio-2by3 { + aspect-ratio: 2/3; +} + +.is-aspect-ratio-3by5 { + aspect-ratio: 3/5; +} + +.is-aspect-ratio-9by16 { + aspect-ratio: 9/16; +} + +.is-aspect-ratio-1by2 { + aspect-ratio: 1/2; +} + +.is-aspect-ratio-1by3 { + aspect-ratio: 1/3; +} + +.has-radius-small { + border-radius: var(--bulma-radius-small); +} + +.has-radius-normal { + border-radius: var(--bulma-radius); +} + +.has-radius-large { + border-radius: var(--bulma-radius-large); +} + +.has-radius-rounded { + border-radius: var(--bulma-radius-rounded); +} + +.has-background { + background-color: var(--bulma-background); +} + +.has-text-white { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-l)) !important; +} + +.has-background-white { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-l)) !important; +} + +.has-text-white-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-invert-l)) !important; +} + +.has-background-white-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-invert-l)) !important; +} + +.has-text-white-on-scheme { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-on-scheme-l)) !important; +} + +.has-background-white-on-scheme { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-on-scheme-l)) !important; +} + +.has-text-white-light { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-light-l)) !important; +} + +.has-background-white-light { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-light-l)) !important; +} + +.has-text-white-light-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-light-invert-l)) !important; +} + +.has-background-white-light-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-light-invert-l)) !important; +} + +.has-text-white-dark { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-dark-l)) !important; +} + +.has-background-white-dark { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-dark-l)) !important; +} + +.has-text-white-dark-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-dark-invert-l)) !important; +} + +.has-background-white-dark-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-dark-invert-l)) !important; +} + +.has-text-white-soft { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-soft-l)) !important; +} + +.has-background-white-soft { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-soft-l)) !important; +} + +.has-text-white-bold { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-bold-l)) !important; +} + +.has-background-white-bold { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-bold-l)) !important; +} + +.has-text-white-soft-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-soft-invert-l)) !important; +} + +.has-background-white-soft-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-soft-invert-l)) !important; +} + +.has-text-white-bold-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-bold-invert-l)) !important; +} + +.has-background-white-bold-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-bold-invert-l)) !important; +} + +.has-text-white-00 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-00-l)) !important; +} + +.has-background-white-00 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-00-l)) !important; +} + +.has-text-white-00-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-00-invert-l)) !important; +} + +.has-background-white-00-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-00-invert-l)) !important; +} + +.has-text-white-05 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-05-l)) !important; +} + +.has-background-white-05 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-05-l)) !important; +} + +.has-text-white-05-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-05-invert-l)) !important; +} + +.has-background-white-05-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-05-invert-l)) !important; +} + +.has-text-white-10 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-10-l)) !important; +} + +.has-background-white-10 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-10-l)) !important; +} + +.has-text-white-10-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-10-invert-l)) !important; +} + +.has-background-white-10-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-10-invert-l)) !important; +} + +.has-text-white-15 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-15-l)) !important; +} + +.has-background-white-15 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-15-l)) !important; +} + +.has-text-white-15-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-15-invert-l)) !important; +} + +.has-background-white-15-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-15-invert-l)) !important; +} + +.has-text-white-20 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-20-l)) !important; +} + +.has-background-white-20 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-20-l)) !important; +} + +.has-text-white-20-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-20-invert-l)) !important; +} + +.has-background-white-20-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-20-invert-l)) !important; +} + +.has-text-white-25 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-25-l)) !important; +} + +.has-background-white-25 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-25-l)) !important; +} + +.has-text-white-25-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-25-invert-l)) !important; +} + +.has-background-white-25-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-25-invert-l)) !important; +} + +.has-text-white-30 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-30-l)) !important; +} + +.has-background-white-30 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-30-l)) !important; +} + +.has-text-white-30-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-30-invert-l)) !important; +} + +.has-background-white-30-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-30-invert-l)) !important; +} + +.has-text-white-35 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-35-l)) !important; +} + +.has-background-white-35 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-35-l)) !important; +} + +.has-text-white-35-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-35-invert-l)) !important; +} + +.has-background-white-35-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-35-invert-l)) !important; +} + +.has-text-white-40 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-40-l)) !important; +} + +.has-background-white-40 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-40-l)) !important; +} + +.has-text-white-40-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-40-invert-l)) !important; +} + +.has-background-white-40-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-40-invert-l)) !important; +} + +.has-text-white-45 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-45-l)) !important; +} + +.has-background-white-45 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-45-l)) !important; +} + +.has-text-white-45-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-45-invert-l)) !important; +} + +.has-background-white-45-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-45-invert-l)) !important; +} + +.has-text-white-50 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-50-l)) !important; +} + +.has-background-white-50 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-50-l)) !important; +} + +.has-text-white-50-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-50-invert-l)) !important; +} + +.has-background-white-50-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-50-invert-l)) !important; +} + +.has-text-white-55 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-55-l)) !important; +} + +.has-background-white-55 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-55-l)) !important; +} + +.has-text-white-55-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-55-invert-l)) !important; +} + +.has-background-white-55-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-55-invert-l)) !important; +} + +.has-text-white-60 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-60-l)) !important; +} + +.has-background-white-60 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-60-l)) !important; +} + +.has-text-white-60-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-60-invert-l)) !important; +} + +.has-background-white-60-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-60-invert-l)) !important; +} + +.has-text-white-65 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-65-l)) !important; +} + +.has-background-white-65 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-65-l)) !important; +} + +.has-text-white-65-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-65-invert-l)) !important; +} + +.has-background-white-65-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-65-invert-l)) !important; +} + +.has-text-white-70 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-70-l)) !important; +} + +.has-background-white-70 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-70-l)) !important; +} + +.has-text-white-70-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-70-invert-l)) !important; +} + +.has-background-white-70-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-70-invert-l)) !important; +} + +.has-text-white-75 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-75-l)) !important; +} + +.has-background-white-75 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-75-l)) !important; +} + +.has-text-white-75-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-75-invert-l)) !important; +} + +.has-background-white-75-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-75-invert-l)) !important; +} + +.has-text-white-80 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-80-l)) !important; +} + +.has-background-white-80 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-80-l)) !important; +} + +.has-text-white-80-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-80-invert-l)) !important; +} + +.has-background-white-80-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-80-invert-l)) !important; +} + +.has-text-white-85 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-85-l)) !important; +} + +.has-background-white-85 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-85-l)) !important; +} + +.has-text-white-85-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-85-invert-l)) !important; +} + +.has-background-white-85-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-85-invert-l)) !important; +} + +.has-text-white-90 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-90-l)) !important; +} + +.has-background-white-90 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-90-l)) !important; +} + +.has-text-white-90-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-90-invert-l)) !important; +} + +.has-background-white-90-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-90-invert-l)) !important; +} + +.has-text-white-95 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-95-l)) !important; +} + +.has-background-white-95 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-95-l)) !important; +} + +.has-text-white-95-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-95-invert-l)) !important; +} + +.has-background-white-95-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-95-invert-l)) !important; +} + +.has-text-white-100 { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-100-l)) !important; +} + +.has-background-white-100 { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-100-l)) !important; +} + +.has-text-white-100-invert { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-100-invert-l)) !important; +} + +.has-background-white-100-invert { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), var(--bulma-white-100-invert-l)) !important; +} + +a.has-text-white:hover, a.has-text-white:focus-visible, +button.has-text-white:hover, +button.has-text-white:focus-visible, +has-text-white.is-hoverable:hover, +has-text-white.is-hoverable:focus-visible { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), calc(var(--bulma-white-l) + var(--bulma-hover-color-l-delta))) !important; +} +a.has-text-white:active, +button.has-text-white:active, +has-text-white.is-hoverable:active { + color: hsl(var(--bulma-white-h), var(--bulma-white-s), calc(var(--bulma-white-l) + var(--bulma-active-color-l-delta))) !important; +} + +a.has-background-white:hover, a.has-background-white:focus-visible, +button.has-background-white:hover, +button.has-background-white:focus-visible, +has-background-white.is-hoverable:hover, +has-background-white.is-hoverable:focus-visible { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), calc(var(--bulma-white-l) + var(--bulma-hover-background-l-delta))) !important; +} +a.has-background-white:active, +button.has-background-white:active, +has-background-white.is-hoverable:active { + background-color: hsl(var(--bulma-white-h), var(--bulma-white-s), calc(var(--bulma-white-l) + var(--bulma-active-background-l-delta))) !important; +} + +.is-palette-white { + --h: var(--bulma-white-h); + --s: var(--bulma-white-s); + --l: var(--bulma-white-l); + --color: hsl(var(--h), var(--s), var(--l)); + --00-l: var(--bulma-white-00-l); + --color-00: hsl(var(--h), var(--s), var(--00-l)); + --05-l: var(--bulma-white-05-l); + --color-05: hsl(var(--h), var(--s), var(--05-l)); + --10-l: var(--bulma-white-10-l); + --color-10: hsl(var(--h), var(--s), var(--10-l)); + --15-l: var(--bulma-white-15-l); + --color-15: hsl(var(--h), var(--s), var(--15-l)); + --20-l: var(--bulma-white-20-l); + --color-20: hsl(var(--h), var(--s), var(--20-l)); + --25-l: var(--bulma-white-25-l); + --color-25: hsl(var(--h), var(--s), var(--25-l)); + --30-l: var(--bulma-white-30-l); + --color-30: hsl(var(--h), var(--s), var(--30-l)); + --35-l: var(--bulma-white-35-l); + --color-35: hsl(var(--h), var(--s), var(--35-l)); + --40-l: var(--bulma-white-40-l); + --color-40: hsl(var(--h), var(--s), var(--40-l)); + --45-l: var(--bulma-white-45-l); + --color-45: hsl(var(--h), var(--s), var(--45-l)); + --50-l: var(--bulma-white-50-l); + --color-50: hsl(var(--h), var(--s), var(--50-l)); + --55-l: var(--bulma-white-55-l); + --color-55: hsl(var(--h), var(--s), var(--55-l)); + --60-l: var(--bulma-white-60-l); + --color-60: hsl(var(--h), var(--s), var(--60-l)); + --65-l: var(--bulma-white-65-l); + --color-65: hsl(var(--h), var(--s), var(--65-l)); + --70-l: var(--bulma-white-70-l); + --color-70: hsl(var(--h), var(--s), var(--70-l)); + --75-l: var(--bulma-white-75-l); + --color-75: hsl(var(--h), var(--s), var(--75-l)); + --80-l: var(--bulma-white-80-l); + --color-80: hsl(var(--h), var(--s), var(--80-l)); + --85-l: var(--bulma-white-85-l); + --color-85: hsl(var(--h), var(--s), var(--85-l)); + --90-l: var(--bulma-white-90-l); + --color-90: hsl(var(--h), var(--s), var(--90-l)); + --95-l: var(--bulma-white-95-l); + --color-95: hsl(var(--h), var(--s), var(--95-l)); + --100-l: var(--bulma-white-100-l); + --color-100: hsl(var(--h), var(--s), var(--100-l)); +} + +.has-text-black { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-l)) !important; +} + +.has-background-black { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-l)) !important; +} + +.has-text-black-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-invert-l)) !important; +} + +.has-background-black-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-invert-l)) !important; +} + +.has-text-black-on-scheme { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-on-scheme-l)) !important; +} + +.has-background-black-on-scheme { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-on-scheme-l)) !important; +} + +.has-text-black-light { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-light-l)) !important; +} + +.has-background-black-light { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-light-l)) !important; +} + +.has-text-black-light-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-light-invert-l)) !important; +} + +.has-background-black-light-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-light-invert-l)) !important; +} + +.has-text-black-dark { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-dark-l)) !important; +} + +.has-background-black-dark { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-dark-l)) !important; +} + +.has-text-black-dark-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-dark-invert-l)) !important; +} + +.has-background-black-dark-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-dark-invert-l)) !important; +} + +.has-text-black-soft { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-soft-l)) !important; +} + +.has-background-black-soft { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-soft-l)) !important; +} + +.has-text-black-bold { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-bold-l)) !important; +} + +.has-background-black-bold { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-bold-l)) !important; +} + +.has-text-black-soft-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-soft-invert-l)) !important; +} + +.has-background-black-soft-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-soft-invert-l)) !important; +} + +.has-text-black-bold-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-bold-invert-l)) !important; +} + +.has-background-black-bold-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-bold-invert-l)) !important; +} + +.has-text-black-00 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-00-l)) !important; +} + +.has-background-black-00 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-00-l)) !important; +} + +.has-text-black-00-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-00-invert-l)) !important; +} + +.has-background-black-00-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-00-invert-l)) !important; +} + +.has-text-black-05 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-05-l)) !important; +} + +.has-background-black-05 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-05-l)) !important; +} + +.has-text-black-05-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-05-invert-l)) !important; +} + +.has-background-black-05-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-05-invert-l)) !important; +} + +.has-text-black-10 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-10-l)) !important; +} + +.has-background-black-10 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-10-l)) !important; +} + +.has-text-black-10-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-10-invert-l)) !important; +} + +.has-background-black-10-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-10-invert-l)) !important; +} + +.has-text-black-15 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-15-l)) !important; +} + +.has-background-black-15 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-15-l)) !important; +} + +.has-text-black-15-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-15-invert-l)) !important; +} + +.has-background-black-15-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-15-invert-l)) !important; +} + +.has-text-black-20 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-20-l)) !important; +} + +.has-background-black-20 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-20-l)) !important; +} + +.has-text-black-20-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-20-invert-l)) !important; +} + +.has-background-black-20-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-20-invert-l)) !important; +} + +.has-text-black-25 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-25-l)) !important; +} + +.has-background-black-25 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-25-l)) !important; +} + +.has-text-black-25-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-25-invert-l)) !important; +} + +.has-background-black-25-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-25-invert-l)) !important; +} + +.has-text-black-30 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-30-l)) !important; +} + +.has-background-black-30 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-30-l)) !important; +} + +.has-text-black-30-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-30-invert-l)) !important; +} + +.has-background-black-30-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-30-invert-l)) !important; +} + +.has-text-black-35 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-35-l)) !important; +} + +.has-background-black-35 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-35-l)) !important; +} + +.has-text-black-35-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-35-invert-l)) !important; +} + +.has-background-black-35-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-35-invert-l)) !important; +} + +.has-text-black-40 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-40-l)) !important; +} + +.has-background-black-40 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-40-l)) !important; +} + +.has-text-black-40-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-40-invert-l)) !important; +} + +.has-background-black-40-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-40-invert-l)) !important; +} + +.has-text-black-45 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-45-l)) !important; +} + +.has-background-black-45 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-45-l)) !important; +} + +.has-text-black-45-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-45-invert-l)) !important; +} + +.has-background-black-45-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-45-invert-l)) !important; +} + +.has-text-black-50 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-50-l)) !important; +} + +.has-background-black-50 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-50-l)) !important; +} + +.has-text-black-50-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-50-invert-l)) !important; +} + +.has-background-black-50-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-50-invert-l)) !important; +} + +.has-text-black-55 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-55-l)) !important; +} + +.has-background-black-55 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-55-l)) !important; +} + +.has-text-black-55-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-55-invert-l)) !important; +} + +.has-background-black-55-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-55-invert-l)) !important; +} + +.has-text-black-60 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-60-l)) !important; +} + +.has-background-black-60 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-60-l)) !important; +} + +.has-text-black-60-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-60-invert-l)) !important; +} + +.has-background-black-60-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-60-invert-l)) !important; +} + +.has-text-black-65 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-65-l)) !important; +} + +.has-background-black-65 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-65-l)) !important; +} + +.has-text-black-65-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-65-invert-l)) !important; +} + +.has-background-black-65-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-65-invert-l)) !important; +} + +.has-text-black-70 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-70-l)) !important; +} + +.has-background-black-70 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-70-l)) !important; +} + +.has-text-black-70-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-70-invert-l)) !important; +} + +.has-background-black-70-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-70-invert-l)) !important; +} + +.has-text-black-75 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-75-l)) !important; +} + +.has-background-black-75 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-75-l)) !important; +} + +.has-text-black-75-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-75-invert-l)) !important; +} + +.has-background-black-75-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-75-invert-l)) !important; +} + +.has-text-black-80 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-80-l)) !important; +} + +.has-background-black-80 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-80-l)) !important; +} + +.has-text-black-80-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-80-invert-l)) !important; +} + +.has-background-black-80-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-80-invert-l)) !important; +} + +.has-text-black-85 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-85-l)) !important; +} + +.has-background-black-85 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-85-l)) !important; +} + +.has-text-black-85-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-85-invert-l)) !important; +} + +.has-background-black-85-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-85-invert-l)) !important; +} + +.has-text-black-90 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-90-l)) !important; +} + +.has-background-black-90 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-90-l)) !important; +} + +.has-text-black-90-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-90-invert-l)) !important; +} + +.has-background-black-90-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-90-invert-l)) !important; +} + +.has-text-black-95 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-95-l)) !important; +} + +.has-background-black-95 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-95-l)) !important; +} + +.has-text-black-95-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-95-invert-l)) !important; +} + +.has-background-black-95-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-95-invert-l)) !important; +} + +.has-text-black-100 { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-100-l)) !important; +} + +.has-background-black-100 { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-100-l)) !important; +} + +.has-text-black-100-invert { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-100-invert-l)) !important; +} + +.has-background-black-100-invert { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), var(--bulma-black-100-invert-l)) !important; +} + +a.has-text-black:hover, a.has-text-black:focus-visible, +button.has-text-black:hover, +button.has-text-black:focus-visible, +has-text-black.is-hoverable:hover, +has-text-black.is-hoverable:focus-visible { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), calc(var(--bulma-black-l) + var(--bulma-hover-color-l-delta))) !important; +} +a.has-text-black:active, +button.has-text-black:active, +has-text-black.is-hoverable:active { + color: hsl(var(--bulma-black-h), var(--bulma-black-s), calc(var(--bulma-black-l) + var(--bulma-active-color-l-delta))) !important; +} + +a.has-background-black:hover, a.has-background-black:focus-visible, +button.has-background-black:hover, +button.has-background-black:focus-visible, +has-background-black.is-hoverable:hover, +has-background-black.is-hoverable:focus-visible { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), calc(var(--bulma-black-l) + var(--bulma-hover-background-l-delta))) !important; +} +a.has-background-black:active, +button.has-background-black:active, +has-background-black.is-hoverable:active { + background-color: hsl(var(--bulma-black-h), var(--bulma-black-s), calc(var(--bulma-black-l) + var(--bulma-active-background-l-delta))) !important; +} + +.is-palette-black { + --h: var(--bulma-black-h); + --s: var(--bulma-black-s); + --l: var(--bulma-black-l); + --color: hsl(var(--h), var(--s), var(--l)); + --00-l: var(--bulma-black-00-l); + --color-00: hsl(var(--h), var(--s), var(--00-l)); + --05-l: var(--bulma-black-05-l); + --color-05: hsl(var(--h), var(--s), var(--05-l)); + --10-l: var(--bulma-black-10-l); + --color-10: hsl(var(--h), var(--s), var(--10-l)); + --15-l: var(--bulma-black-15-l); + --color-15: hsl(var(--h), var(--s), var(--15-l)); + --20-l: var(--bulma-black-20-l); + --color-20: hsl(var(--h), var(--s), var(--20-l)); + --25-l: var(--bulma-black-25-l); + --color-25: hsl(var(--h), var(--s), var(--25-l)); + --30-l: var(--bulma-black-30-l); + --color-30: hsl(var(--h), var(--s), var(--30-l)); + --35-l: var(--bulma-black-35-l); + --color-35: hsl(var(--h), var(--s), var(--35-l)); + --40-l: var(--bulma-black-40-l); + --color-40: hsl(var(--h), var(--s), var(--40-l)); + --45-l: var(--bulma-black-45-l); + --color-45: hsl(var(--h), var(--s), var(--45-l)); + --50-l: var(--bulma-black-50-l); + --color-50: hsl(var(--h), var(--s), var(--50-l)); + --55-l: var(--bulma-black-55-l); + --color-55: hsl(var(--h), var(--s), var(--55-l)); + --60-l: var(--bulma-black-60-l); + --color-60: hsl(var(--h), var(--s), var(--60-l)); + --65-l: var(--bulma-black-65-l); + --color-65: hsl(var(--h), var(--s), var(--65-l)); + --70-l: var(--bulma-black-70-l); + --color-70: hsl(var(--h), var(--s), var(--70-l)); + --75-l: var(--bulma-black-75-l); + --color-75: hsl(var(--h), var(--s), var(--75-l)); + --80-l: var(--bulma-black-80-l); + --color-80: hsl(var(--h), var(--s), var(--80-l)); + --85-l: var(--bulma-black-85-l); + --color-85: hsl(var(--h), var(--s), var(--85-l)); + --90-l: var(--bulma-black-90-l); + --color-90: hsl(var(--h), var(--s), var(--90-l)); + --95-l: var(--bulma-black-95-l); + --color-95: hsl(var(--h), var(--s), var(--95-l)); + --100-l: var(--bulma-black-100-l); + --color-100: hsl(var(--h), var(--s), var(--100-l)); +} + +.has-text-light { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-l)) !important; +} + +.has-background-light { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-l)) !important; +} + +.has-text-light-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-invert-l)) !important; +} + +.has-background-light-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-invert-l)) !important; +} + +.has-text-light-on-scheme { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-on-scheme-l)) !important; +} + +.has-background-light-on-scheme { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-on-scheme-l)) !important; +} + +.has-text-light-light { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-light-l)) !important; +} + +.has-background-light-light { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-light-l)) !important; +} + +.has-text-light-light-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-light-invert-l)) !important; +} + +.has-background-light-light-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-light-invert-l)) !important; +} + +.has-text-light-dark { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-dark-l)) !important; +} + +.has-background-light-dark { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-dark-l)) !important; +} + +.has-text-light-dark-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-dark-invert-l)) !important; +} + +.has-background-light-dark-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-dark-invert-l)) !important; +} + +.has-text-light-soft { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-soft-l)) !important; +} + +.has-background-light-soft { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-soft-l)) !important; +} + +.has-text-light-bold { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-bold-l)) !important; +} + +.has-background-light-bold { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-bold-l)) !important; +} + +.has-text-light-soft-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-soft-invert-l)) !important; +} + +.has-background-light-soft-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-soft-invert-l)) !important; +} + +.has-text-light-bold-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-bold-invert-l)) !important; +} + +.has-background-light-bold-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-bold-invert-l)) !important; +} + +.has-text-light-00 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-00-l)) !important; +} + +.has-background-light-00 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-00-l)) !important; +} + +.has-text-light-00-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-00-invert-l)) !important; +} + +.has-background-light-00-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-00-invert-l)) !important; +} + +.has-text-light-05 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-05-l)) !important; +} + +.has-background-light-05 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-05-l)) !important; +} + +.has-text-light-05-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-05-invert-l)) !important; +} + +.has-background-light-05-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-05-invert-l)) !important; +} + +.has-text-light-10 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-10-l)) !important; +} + +.has-background-light-10 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-10-l)) !important; +} + +.has-text-light-10-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-10-invert-l)) !important; +} + +.has-background-light-10-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-10-invert-l)) !important; +} + +.has-text-light-15 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-15-l)) !important; +} + +.has-background-light-15 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-15-l)) !important; +} + +.has-text-light-15-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-15-invert-l)) !important; +} + +.has-background-light-15-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-15-invert-l)) !important; +} + +.has-text-light-20 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-20-l)) !important; +} + +.has-background-light-20 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-20-l)) !important; +} + +.has-text-light-20-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-20-invert-l)) !important; +} + +.has-background-light-20-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-20-invert-l)) !important; +} + +.has-text-light-25 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-25-l)) !important; +} + +.has-background-light-25 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-25-l)) !important; +} + +.has-text-light-25-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-25-invert-l)) !important; +} + +.has-background-light-25-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-25-invert-l)) !important; +} + +.has-text-light-30 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-30-l)) !important; +} + +.has-background-light-30 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-30-l)) !important; +} + +.has-text-light-30-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-30-invert-l)) !important; +} + +.has-background-light-30-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-30-invert-l)) !important; +} + +.has-text-light-35 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-35-l)) !important; +} + +.has-background-light-35 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-35-l)) !important; +} + +.has-text-light-35-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-35-invert-l)) !important; +} + +.has-background-light-35-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-35-invert-l)) !important; +} + +.has-text-light-40 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-40-l)) !important; +} + +.has-background-light-40 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-40-l)) !important; +} + +.has-text-light-40-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-40-invert-l)) !important; +} + +.has-background-light-40-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-40-invert-l)) !important; +} + +.has-text-light-45 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-45-l)) !important; +} + +.has-background-light-45 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-45-l)) !important; +} + +.has-text-light-45-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-45-invert-l)) !important; +} + +.has-background-light-45-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-45-invert-l)) !important; +} + +.has-text-light-50 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-50-l)) !important; +} + +.has-background-light-50 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-50-l)) !important; +} + +.has-text-light-50-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-50-invert-l)) !important; +} + +.has-background-light-50-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-50-invert-l)) !important; +} + +.has-text-light-55 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-55-l)) !important; +} + +.has-background-light-55 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-55-l)) !important; +} + +.has-text-light-55-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-55-invert-l)) !important; +} + +.has-background-light-55-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-55-invert-l)) !important; +} + +.has-text-light-60 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-60-l)) !important; +} + +.has-background-light-60 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-60-l)) !important; +} + +.has-text-light-60-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-60-invert-l)) !important; +} + +.has-background-light-60-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-60-invert-l)) !important; +} + +.has-text-light-65 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-65-l)) !important; +} + +.has-background-light-65 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-65-l)) !important; +} + +.has-text-light-65-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-65-invert-l)) !important; +} + +.has-background-light-65-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-65-invert-l)) !important; +} + +.has-text-light-70 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-70-l)) !important; +} + +.has-background-light-70 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-70-l)) !important; +} + +.has-text-light-70-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-70-invert-l)) !important; +} + +.has-background-light-70-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-70-invert-l)) !important; +} + +.has-text-light-75 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-75-l)) !important; +} + +.has-background-light-75 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-75-l)) !important; +} + +.has-text-light-75-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-75-invert-l)) !important; +} + +.has-background-light-75-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-75-invert-l)) !important; +} + +.has-text-light-80 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-80-l)) !important; +} + +.has-background-light-80 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-80-l)) !important; +} + +.has-text-light-80-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-80-invert-l)) !important; +} + +.has-background-light-80-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-80-invert-l)) !important; +} + +.has-text-light-85 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-85-l)) !important; +} + +.has-background-light-85 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-85-l)) !important; +} + +.has-text-light-85-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-85-invert-l)) !important; +} + +.has-background-light-85-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-85-invert-l)) !important; +} + +.has-text-light-90 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-90-l)) !important; +} + +.has-background-light-90 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-90-l)) !important; +} + +.has-text-light-90-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-90-invert-l)) !important; +} + +.has-background-light-90-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-90-invert-l)) !important; +} + +.has-text-light-95 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-95-l)) !important; +} + +.has-background-light-95 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-95-l)) !important; +} + +.has-text-light-95-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-95-invert-l)) !important; +} + +.has-background-light-95-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-95-invert-l)) !important; +} + +.has-text-light-100 { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-100-l)) !important; +} + +.has-background-light-100 { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-100-l)) !important; +} + +.has-text-light-100-invert { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-100-invert-l)) !important; +} + +.has-background-light-100-invert { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), var(--bulma-light-100-invert-l)) !important; +} + +a.has-text-light:hover, a.has-text-light:focus-visible, +button.has-text-light:hover, +button.has-text-light:focus-visible, +has-text-light.is-hoverable:hover, +has-text-light.is-hoverable:focus-visible { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), calc(var(--bulma-light-l) + var(--bulma-hover-color-l-delta))) !important; +} +a.has-text-light:active, +button.has-text-light:active, +has-text-light.is-hoverable:active { + color: hsl(var(--bulma-light-h), var(--bulma-light-s), calc(var(--bulma-light-l) + var(--bulma-active-color-l-delta))) !important; +} + +a.has-background-light:hover, a.has-background-light:focus-visible, +button.has-background-light:hover, +button.has-background-light:focus-visible, +has-background-light.is-hoverable:hover, +has-background-light.is-hoverable:focus-visible { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), calc(var(--bulma-light-l) + var(--bulma-hover-background-l-delta))) !important; +} +a.has-background-light:active, +button.has-background-light:active, +has-background-light.is-hoverable:active { + background-color: hsl(var(--bulma-light-h), var(--bulma-light-s), calc(var(--bulma-light-l) + var(--bulma-active-background-l-delta))) !important; +} + +.is-palette-light { + --h: var(--bulma-light-h); + --s: var(--bulma-light-s); + --l: var(--bulma-light-l); + --color: hsl(var(--h), var(--s), var(--l)); + --00-l: var(--bulma-light-00-l); + --color-00: hsl(var(--h), var(--s), var(--00-l)); + --05-l: var(--bulma-light-05-l); + --color-05: hsl(var(--h), var(--s), var(--05-l)); + --10-l: var(--bulma-light-10-l); + --color-10: hsl(var(--h), var(--s), var(--10-l)); + --15-l: var(--bulma-light-15-l); + --color-15: hsl(var(--h), var(--s), var(--15-l)); + --20-l: var(--bulma-light-20-l); + --color-20: hsl(var(--h), var(--s), var(--20-l)); + --25-l: var(--bulma-light-25-l); + --color-25: hsl(var(--h), var(--s), var(--25-l)); + --30-l: var(--bulma-light-30-l); + --color-30: hsl(var(--h), var(--s), var(--30-l)); + --35-l: var(--bulma-light-35-l); + --color-35: hsl(var(--h), var(--s), var(--35-l)); + --40-l: var(--bulma-light-40-l); + --color-40: hsl(var(--h), var(--s), var(--40-l)); + --45-l: var(--bulma-light-45-l); + --color-45: hsl(var(--h), var(--s), var(--45-l)); + --50-l: var(--bulma-light-50-l); + --color-50: hsl(var(--h), var(--s), var(--50-l)); + --55-l: var(--bulma-light-55-l); + --color-55: hsl(var(--h), var(--s), var(--55-l)); + --60-l: var(--bulma-light-60-l); + --color-60: hsl(var(--h), var(--s), var(--60-l)); + --65-l: var(--bulma-light-65-l); + --color-65: hsl(var(--h), var(--s), var(--65-l)); + --70-l: var(--bulma-light-70-l); + --color-70: hsl(var(--h), var(--s), var(--70-l)); + --75-l: var(--bulma-light-75-l); + --color-75: hsl(var(--h), var(--s), var(--75-l)); + --80-l: var(--bulma-light-80-l); + --color-80: hsl(var(--h), var(--s), var(--80-l)); + --85-l: var(--bulma-light-85-l); + --color-85: hsl(var(--h), var(--s), var(--85-l)); + --90-l: var(--bulma-light-90-l); + --color-90: hsl(var(--h), var(--s), var(--90-l)); + --95-l: var(--bulma-light-95-l); + --color-95: hsl(var(--h), var(--s), var(--95-l)); + --100-l: var(--bulma-light-100-l); + --color-100: hsl(var(--h), var(--s), var(--100-l)); +} + +.has-text-dark { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-l)) !important; +} + +.has-background-dark { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-l)) !important; +} + +.has-text-dark-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-invert-l)) !important; +} + +.has-background-dark-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-invert-l)) !important; +} + +.has-text-dark-on-scheme { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-on-scheme-l)) !important; +} + +.has-background-dark-on-scheme { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-on-scheme-l)) !important; +} + +.has-text-dark-light { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-light-l)) !important; +} + +.has-background-dark-light { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-light-l)) !important; +} + +.has-text-dark-light-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-light-invert-l)) !important; +} + +.has-background-dark-light-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-light-invert-l)) !important; +} + +.has-text-dark-dark { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-dark-l)) !important; +} + +.has-background-dark-dark { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-dark-l)) !important; +} + +.has-text-dark-dark-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-dark-invert-l)) !important; +} + +.has-background-dark-dark-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-dark-invert-l)) !important; +} + +.has-text-dark-soft { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-soft-l)) !important; +} + +.has-background-dark-soft { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-soft-l)) !important; +} + +.has-text-dark-bold { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-bold-l)) !important; +} + +.has-background-dark-bold { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-bold-l)) !important; +} + +.has-text-dark-soft-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-soft-invert-l)) !important; +} + +.has-background-dark-soft-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-soft-invert-l)) !important; +} + +.has-text-dark-bold-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-bold-invert-l)) !important; +} + +.has-background-dark-bold-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-bold-invert-l)) !important; +} + +.has-text-dark-00 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-00-l)) !important; +} + +.has-background-dark-00 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-00-l)) !important; +} + +.has-text-dark-00-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-00-invert-l)) !important; +} + +.has-background-dark-00-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-00-invert-l)) !important; +} + +.has-text-dark-05 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-05-l)) !important; +} + +.has-background-dark-05 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-05-l)) !important; +} + +.has-text-dark-05-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-05-invert-l)) !important; +} + +.has-background-dark-05-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-05-invert-l)) !important; +} + +.has-text-dark-10 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-10-l)) !important; +} + +.has-background-dark-10 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-10-l)) !important; +} + +.has-text-dark-10-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-10-invert-l)) !important; +} + +.has-background-dark-10-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-10-invert-l)) !important; +} + +.has-text-dark-15 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-15-l)) !important; +} + +.has-background-dark-15 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-15-l)) !important; +} + +.has-text-dark-15-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-15-invert-l)) !important; +} + +.has-background-dark-15-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-15-invert-l)) !important; +} + +.has-text-dark-20 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-20-l)) !important; +} + +.has-background-dark-20 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-20-l)) !important; +} + +.has-text-dark-20-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-20-invert-l)) !important; +} + +.has-background-dark-20-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-20-invert-l)) !important; +} + +.has-text-dark-25 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-25-l)) !important; +} + +.has-background-dark-25 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-25-l)) !important; +} + +.has-text-dark-25-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-25-invert-l)) !important; +} + +.has-background-dark-25-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-25-invert-l)) !important; +} + +.has-text-dark-30 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-30-l)) !important; +} + +.has-background-dark-30 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-30-l)) !important; +} + +.has-text-dark-30-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-30-invert-l)) !important; +} + +.has-background-dark-30-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-30-invert-l)) !important; +} + +.has-text-dark-35 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-35-l)) !important; +} + +.has-background-dark-35 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-35-l)) !important; +} + +.has-text-dark-35-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-35-invert-l)) !important; +} + +.has-background-dark-35-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-35-invert-l)) !important; +} + +.has-text-dark-40 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-40-l)) !important; +} + +.has-background-dark-40 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-40-l)) !important; +} + +.has-text-dark-40-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-40-invert-l)) !important; +} + +.has-background-dark-40-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-40-invert-l)) !important; +} + +.has-text-dark-45 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-45-l)) !important; +} + +.has-background-dark-45 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-45-l)) !important; +} + +.has-text-dark-45-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-45-invert-l)) !important; +} + +.has-background-dark-45-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-45-invert-l)) !important; +} + +.has-text-dark-50 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-50-l)) !important; +} + +.has-background-dark-50 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-50-l)) !important; +} + +.has-text-dark-50-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-50-invert-l)) !important; +} + +.has-background-dark-50-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-50-invert-l)) !important; +} + +.has-text-dark-55 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-55-l)) !important; +} + +.has-background-dark-55 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-55-l)) !important; +} + +.has-text-dark-55-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-55-invert-l)) !important; +} + +.has-background-dark-55-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-55-invert-l)) !important; +} + +.has-text-dark-60 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-60-l)) !important; +} + +.has-background-dark-60 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-60-l)) !important; +} + +.has-text-dark-60-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-60-invert-l)) !important; +} + +.has-background-dark-60-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-60-invert-l)) !important; +} + +.has-text-dark-65 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-65-l)) !important; +} + +.has-background-dark-65 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-65-l)) !important; +} + +.has-text-dark-65-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-65-invert-l)) !important; +} + +.has-background-dark-65-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-65-invert-l)) !important; +} + +.has-text-dark-70 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-70-l)) !important; +} + +.has-background-dark-70 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-70-l)) !important; +} + +.has-text-dark-70-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-70-invert-l)) !important; +} + +.has-background-dark-70-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-70-invert-l)) !important; +} + +.has-text-dark-75 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-75-l)) !important; +} + +.has-background-dark-75 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-75-l)) !important; +} + +.has-text-dark-75-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-75-invert-l)) !important; +} + +.has-background-dark-75-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-75-invert-l)) !important; +} + +.has-text-dark-80 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-80-l)) !important; +} + +.has-background-dark-80 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-80-l)) !important; +} + +.has-text-dark-80-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-80-invert-l)) !important; +} + +.has-background-dark-80-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-80-invert-l)) !important; +} + +.has-text-dark-85 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-85-l)) !important; +} + +.has-background-dark-85 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-85-l)) !important; +} + +.has-text-dark-85-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-85-invert-l)) !important; +} + +.has-background-dark-85-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-85-invert-l)) !important; +} + +.has-text-dark-90 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-90-l)) !important; +} + +.has-background-dark-90 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-90-l)) !important; +} + +.has-text-dark-90-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-90-invert-l)) !important; +} + +.has-background-dark-90-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-90-invert-l)) !important; +} + +.has-text-dark-95 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-95-l)) !important; +} + +.has-background-dark-95 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-95-l)) !important; +} + +.has-text-dark-95-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-95-invert-l)) !important; +} + +.has-background-dark-95-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-95-invert-l)) !important; +} + +.has-text-dark-100 { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-100-l)) !important; +} + +.has-background-dark-100 { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-100-l)) !important; +} + +.has-text-dark-100-invert { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-100-invert-l)) !important; +} + +.has-background-dark-100-invert { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), var(--bulma-dark-100-invert-l)) !important; +} + +a.has-text-dark:hover, a.has-text-dark:focus-visible, +button.has-text-dark:hover, +button.has-text-dark:focus-visible, +has-text-dark.is-hoverable:hover, +has-text-dark.is-hoverable:focus-visible { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), calc(var(--bulma-dark-l) + var(--bulma-hover-color-l-delta))) !important; +} +a.has-text-dark:active, +button.has-text-dark:active, +has-text-dark.is-hoverable:active { + color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), calc(var(--bulma-dark-l) + var(--bulma-active-color-l-delta))) !important; +} + +a.has-background-dark:hover, a.has-background-dark:focus-visible, +button.has-background-dark:hover, +button.has-background-dark:focus-visible, +has-background-dark.is-hoverable:hover, +has-background-dark.is-hoverable:focus-visible { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), calc(var(--bulma-dark-l) + var(--bulma-hover-background-l-delta))) !important; +} +a.has-background-dark:active, +button.has-background-dark:active, +has-background-dark.is-hoverable:active { + background-color: hsl(var(--bulma-dark-h), var(--bulma-dark-s), calc(var(--bulma-dark-l) + var(--bulma-active-background-l-delta))) !important; +} + +.is-palette-dark { + --h: var(--bulma-dark-h); + --s: var(--bulma-dark-s); + --l: var(--bulma-dark-l); + --color: hsl(var(--h), var(--s), var(--l)); + --00-l: var(--bulma-dark-00-l); + --color-00: hsl(var(--h), var(--s), var(--00-l)); + --05-l: var(--bulma-dark-05-l); + --color-05: hsl(var(--h), var(--s), var(--05-l)); + --10-l: var(--bulma-dark-10-l); + --color-10: hsl(var(--h), var(--s), var(--10-l)); + --15-l: var(--bulma-dark-15-l); + --color-15: hsl(var(--h), var(--s), var(--15-l)); + --20-l: var(--bulma-dark-20-l); + --color-20: hsl(var(--h), var(--s), var(--20-l)); + --25-l: var(--bulma-dark-25-l); + --color-25: hsl(var(--h), var(--s), var(--25-l)); + --30-l: var(--bulma-dark-30-l); + --color-30: hsl(var(--h), var(--s), var(--30-l)); + --35-l: var(--bulma-dark-35-l); + --color-35: hsl(var(--h), var(--s), var(--35-l)); + --40-l: var(--bulma-dark-40-l); + --color-40: hsl(var(--h), var(--s), var(--40-l)); + --45-l: var(--bulma-dark-45-l); + --color-45: hsl(var(--h), var(--s), var(--45-l)); + --50-l: var(--bulma-dark-50-l); + --color-50: hsl(var(--h), var(--s), var(--50-l)); + --55-l: var(--bulma-dark-55-l); + --color-55: hsl(var(--h), var(--s), var(--55-l)); + --60-l: var(--bulma-dark-60-l); + --color-60: hsl(var(--h), var(--s), var(--60-l)); + --65-l: var(--bulma-dark-65-l); + --color-65: hsl(var(--h), var(--s), var(--65-l)); + --70-l: var(--bulma-dark-70-l); + --color-70: hsl(var(--h), var(--s), var(--70-l)); + --75-l: var(--bulma-dark-75-l); + --color-75: hsl(var(--h), var(--s), var(--75-l)); + --80-l: var(--bulma-dark-80-l); + --color-80: hsl(var(--h), var(--s), var(--80-l)); + --85-l: var(--bulma-dark-85-l); + --color-85: hsl(var(--h), var(--s), var(--85-l)); + --90-l: var(--bulma-dark-90-l); + --color-90: hsl(var(--h), var(--s), var(--90-l)); + --95-l: var(--bulma-dark-95-l); + --color-95: hsl(var(--h), var(--s), var(--95-l)); + --100-l: var(--bulma-dark-100-l); + --color-100: hsl(var(--h), var(--s), var(--100-l)); +} + +.has-text-text { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-l)) !important; +} + +.has-background-text { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-l)) !important; +} + +.has-text-text-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-invert-l)) !important; +} + +.has-background-text-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-invert-l)) !important; +} + +.has-text-text-on-scheme { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-on-scheme-l)) !important; +} + +.has-background-text-on-scheme { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-on-scheme-l)) !important; +} + +.has-text-text-light { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-light-l)) !important; +} + +.has-background-text-light { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-light-l)) !important; +} + +.has-text-text-light-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-light-invert-l)) !important; +} + +.has-background-text-light-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-light-invert-l)) !important; +} + +.has-text-text-dark { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-dark-l)) !important; +} + +.has-background-text-dark { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-dark-l)) !important; +} + +.has-text-text-dark-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-dark-invert-l)) !important; +} + +.has-background-text-dark-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-dark-invert-l)) !important; +} + +.has-text-text-soft { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-soft-l)) !important; +} + +.has-background-text-soft { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-soft-l)) !important; +} + +.has-text-text-bold { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-bold-l)) !important; +} + +.has-background-text-bold { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-bold-l)) !important; +} + +.has-text-text-soft-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-soft-invert-l)) !important; +} + +.has-background-text-soft-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-soft-invert-l)) !important; +} + +.has-text-text-bold-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-bold-invert-l)) !important; +} + +.has-background-text-bold-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-bold-invert-l)) !important; +} + +.has-text-text-00 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-00-l)) !important; +} + +.has-background-text-00 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-00-l)) !important; +} + +.has-text-text-00-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-00-invert-l)) !important; +} + +.has-background-text-00-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-00-invert-l)) !important; +} + +.has-text-text-05 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-05-l)) !important; +} + +.has-background-text-05 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-05-l)) !important; +} + +.has-text-text-05-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-05-invert-l)) !important; +} + +.has-background-text-05-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-05-invert-l)) !important; +} + +.has-text-text-10 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-10-l)) !important; +} + +.has-background-text-10 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-10-l)) !important; +} + +.has-text-text-10-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-10-invert-l)) !important; +} + +.has-background-text-10-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-10-invert-l)) !important; +} + +.has-text-text-15 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-15-l)) !important; +} + +.has-background-text-15 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-15-l)) !important; +} + +.has-text-text-15-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-15-invert-l)) !important; +} + +.has-background-text-15-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-15-invert-l)) !important; +} + +.has-text-text-20 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-20-l)) !important; +} + +.has-background-text-20 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-20-l)) !important; +} + +.has-text-text-20-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-20-invert-l)) !important; +} + +.has-background-text-20-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-20-invert-l)) !important; +} + +.has-text-text-25 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-25-l)) !important; +} + +.has-background-text-25 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-25-l)) !important; +} + +.has-text-text-25-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-25-invert-l)) !important; +} + +.has-background-text-25-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-25-invert-l)) !important; +} + +.has-text-text-30 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-30-l)) !important; +} + +.has-background-text-30 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-30-l)) !important; +} + +.has-text-text-30-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-30-invert-l)) !important; +} + +.has-background-text-30-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-30-invert-l)) !important; +} + +.has-text-text-35 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-35-l)) !important; +} + +.has-background-text-35 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-35-l)) !important; +} + +.has-text-text-35-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-35-invert-l)) !important; +} + +.has-background-text-35-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-35-invert-l)) !important; +} + +.has-text-text-40 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-40-l)) !important; +} + +.has-background-text-40 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-40-l)) !important; +} + +.has-text-text-40-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-40-invert-l)) !important; +} + +.has-background-text-40-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-40-invert-l)) !important; +} + +.has-text-text-45 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-45-l)) !important; +} + +.has-background-text-45 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-45-l)) !important; +} + +.has-text-text-45-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-45-invert-l)) !important; +} + +.has-background-text-45-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-45-invert-l)) !important; +} + +.has-text-text-50 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-50-l)) !important; +} + +.has-background-text-50 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-50-l)) !important; +} + +.has-text-text-50-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-50-invert-l)) !important; +} + +.has-background-text-50-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-50-invert-l)) !important; +} + +.has-text-text-55 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-55-l)) !important; +} + +.has-background-text-55 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-55-l)) !important; +} + +.has-text-text-55-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-55-invert-l)) !important; +} + +.has-background-text-55-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-55-invert-l)) !important; +} + +.has-text-text-60 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-60-l)) !important; +} + +.has-background-text-60 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-60-l)) !important; +} + +.has-text-text-60-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-60-invert-l)) !important; +} + +.has-background-text-60-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-60-invert-l)) !important; +} + +.has-text-text-65 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-65-l)) !important; +} + +.has-background-text-65 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-65-l)) !important; +} + +.has-text-text-65-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-65-invert-l)) !important; +} + +.has-background-text-65-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-65-invert-l)) !important; +} + +.has-text-text-70 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-70-l)) !important; +} + +.has-background-text-70 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-70-l)) !important; +} + +.has-text-text-70-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-70-invert-l)) !important; +} + +.has-background-text-70-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-70-invert-l)) !important; +} + +.has-text-text-75 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-75-l)) !important; +} + +.has-background-text-75 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-75-l)) !important; +} + +.has-text-text-75-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-75-invert-l)) !important; +} + +.has-background-text-75-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-75-invert-l)) !important; +} + +.has-text-text-80 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-80-l)) !important; +} + +.has-background-text-80 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-80-l)) !important; +} + +.has-text-text-80-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-80-invert-l)) !important; +} + +.has-background-text-80-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-80-invert-l)) !important; +} + +.has-text-text-85 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-85-l)) !important; +} + +.has-background-text-85 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-85-l)) !important; +} + +.has-text-text-85-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-85-invert-l)) !important; +} + +.has-background-text-85-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-85-invert-l)) !important; +} + +.has-text-text-90 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-90-l)) !important; +} + +.has-background-text-90 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-90-l)) !important; +} + +.has-text-text-90-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-90-invert-l)) !important; +} + +.has-background-text-90-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-90-invert-l)) !important; +} + +.has-text-text-95 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-95-l)) !important; +} + +.has-background-text-95 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-95-l)) !important; +} + +.has-text-text-95-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-95-invert-l)) !important; +} + +.has-background-text-95-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-95-invert-l)) !important; +} + +.has-text-text-100 { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-100-l)) !important; +} + +.has-background-text-100 { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-100-l)) !important; +} + +.has-text-text-100-invert { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-100-invert-l)) !important; +} + +.has-background-text-100-invert { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-100-invert-l)) !important; +} + +a.has-text-text:hover, a.has-text-text:focus-visible, +button.has-text-text:hover, +button.has-text-text:focus-visible, +has-text-text.is-hoverable:hover, +has-text-text.is-hoverable:focus-visible { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), calc(var(--bulma-text-l) + var(--bulma-hover-color-l-delta))) !important; +} +a.has-text-text:active, +button.has-text-text:active, +has-text-text.is-hoverable:active { + color: hsl(var(--bulma-text-h), var(--bulma-text-s), calc(var(--bulma-text-l) + var(--bulma-active-color-l-delta))) !important; +} + +a.has-background-text:hover, a.has-background-text:focus-visible, +button.has-background-text:hover, +button.has-background-text:focus-visible, +has-background-text.is-hoverable:hover, +has-background-text.is-hoverable:focus-visible { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), calc(var(--bulma-text-l) + var(--bulma-hover-background-l-delta))) !important; +} +a.has-background-text:active, +button.has-background-text:active, +has-background-text.is-hoverable:active { + background-color: hsl(var(--bulma-text-h), var(--bulma-text-s), calc(var(--bulma-text-l) + var(--bulma-active-background-l-delta))) !important; +} + +.is-palette-text { + --h: var(--bulma-text-h); + --s: var(--bulma-text-s); + --l: var(--bulma-text-l); + --color: hsl(var(--h), var(--s), var(--l)); + --00-l: var(--bulma-text-00-l); + --color-00: hsl(var(--h), var(--s), var(--00-l)); + --05-l: var(--bulma-text-05-l); + --color-05: hsl(var(--h), var(--s), var(--05-l)); + --10-l: var(--bulma-text-10-l); + --color-10: hsl(var(--h), var(--s), var(--10-l)); + --15-l: var(--bulma-text-15-l); + --color-15: hsl(var(--h), var(--s), var(--15-l)); + --20-l: var(--bulma-text-20-l); + --color-20: hsl(var(--h), var(--s), var(--20-l)); + --25-l: var(--bulma-text-25-l); + --color-25: hsl(var(--h), var(--s), var(--25-l)); + --30-l: var(--bulma-text-30-l); + --color-30: hsl(var(--h), var(--s), var(--30-l)); + --35-l: var(--bulma-text-35-l); + --color-35: hsl(var(--h), var(--s), var(--35-l)); + --40-l: var(--bulma-text-40-l); + --color-40: hsl(var(--h), var(--s), var(--40-l)); + --45-l: var(--bulma-text-45-l); + --color-45: hsl(var(--h), var(--s), var(--45-l)); + --50-l: var(--bulma-text-50-l); + --color-50: hsl(var(--h), var(--s), var(--50-l)); + --55-l: var(--bulma-text-55-l); + --color-55: hsl(var(--h), var(--s), var(--55-l)); + --60-l: var(--bulma-text-60-l); + --color-60: hsl(var(--h), var(--s), var(--60-l)); + --65-l: var(--bulma-text-65-l); + --color-65: hsl(var(--h), var(--s), var(--65-l)); + --70-l: var(--bulma-text-70-l); + --color-70: hsl(var(--h), var(--s), var(--70-l)); + --75-l: var(--bulma-text-75-l); + --color-75: hsl(var(--h), var(--s), var(--75-l)); + --80-l: var(--bulma-text-80-l); + --color-80: hsl(var(--h), var(--s), var(--80-l)); + --85-l: var(--bulma-text-85-l); + --color-85: hsl(var(--h), var(--s), var(--85-l)); + --90-l: var(--bulma-text-90-l); + --color-90: hsl(var(--h), var(--s), var(--90-l)); + --95-l: var(--bulma-text-95-l); + --color-95: hsl(var(--h), var(--s), var(--95-l)); + --100-l: var(--bulma-text-100-l); + --color-100: hsl(var(--h), var(--s), var(--100-l)); +} + +.has-text-primary { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-l)) !important; +} + +.has-background-primary { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-l)) !important; +} + +.has-text-primary-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-invert-l)) !important; +} + +.has-background-primary-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-invert-l)) !important; +} + +.has-text-primary-on-scheme { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-on-scheme-l)) !important; +} + +.has-background-primary-on-scheme { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-on-scheme-l)) !important; +} + +.has-text-primary-light { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-light-l)) !important; +} + +.has-background-primary-light { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-light-l)) !important; +} + +.has-text-primary-light-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-light-invert-l)) !important; +} + +.has-background-primary-light-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-light-invert-l)) !important; +} + +.has-text-primary-dark { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-dark-l)) !important; +} + +.has-background-primary-dark { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-dark-l)) !important; +} + +.has-text-primary-dark-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-dark-invert-l)) !important; +} + +.has-background-primary-dark-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-dark-invert-l)) !important; +} + +.has-text-primary-soft { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-soft-l)) !important; +} + +.has-background-primary-soft { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-soft-l)) !important; +} + +.has-text-primary-bold { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-bold-l)) !important; +} + +.has-background-primary-bold { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-bold-l)) !important; +} + +.has-text-primary-soft-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-soft-invert-l)) !important; +} + +.has-background-primary-soft-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-soft-invert-l)) !important; +} + +.has-text-primary-bold-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-bold-invert-l)) !important; +} + +.has-background-primary-bold-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-bold-invert-l)) !important; +} + +.has-text-primary-00 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-00-l)) !important; +} + +.has-background-primary-00 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-00-l)) !important; +} + +.has-text-primary-00-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-00-invert-l)) !important; +} + +.has-background-primary-00-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-00-invert-l)) !important; +} + +.has-text-primary-05 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-05-l)) !important; +} + +.has-background-primary-05 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-05-l)) !important; +} + +.has-text-primary-05-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-05-invert-l)) !important; +} + +.has-background-primary-05-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-05-invert-l)) !important; +} + +.has-text-primary-10 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-10-l)) !important; +} + +.has-background-primary-10 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-10-l)) !important; +} + +.has-text-primary-10-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-10-invert-l)) !important; +} + +.has-background-primary-10-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-10-invert-l)) !important; +} + +.has-text-primary-15 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-15-l)) !important; +} + +.has-background-primary-15 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-15-l)) !important; +} + +.has-text-primary-15-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-15-invert-l)) !important; +} + +.has-background-primary-15-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-15-invert-l)) !important; +} + +.has-text-primary-20 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-20-l)) !important; +} + +.has-background-primary-20 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-20-l)) !important; +} + +.has-text-primary-20-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-20-invert-l)) !important; +} + +.has-background-primary-20-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-20-invert-l)) !important; +} + +.has-text-primary-25 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-25-l)) !important; +} + +.has-background-primary-25 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-25-l)) !important; +} + +.has-text-primary-25-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-25-invert-l)) !important; +} + +.has-background-primary-25-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-25-invert-l)) !important; +} + +.has-text-primary-30 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-30-l)) !important; +} + +.has-background-primary-30 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-30-l)) !important; +} + +.has-text-primary-30-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-30-invert-l)) !important; +} + +.has-background-primary-30-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-30-invert-l)) !important; +} + +.has-text-primary-35 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-35-l)) !important; +} + +.has-background-primary-35 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-35-l)) !important; +} + +.has-text-primary-35-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-35-invert-l)) !important; +} + +.has-background-primary-35-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-35-invert-l)) !important; +} + +.has-text-primary-40 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-40-l)) !important; +} + +.has-background-primary-40 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-40-l)) !important; +} + +.has-text-primary-40-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-40-invert-l)) !important; +} + +.has-background-primary-40-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-40-invert-l)) !important; +} + +.has-text-primary-45 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-45-l)) !important; +} + +.has-background-primary-45 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-45-l)) !important; +} + +.has-text-primary-45-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-45-invert-l)) !important; +} + +.has-background-primary-45-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-45-invert-l)) !important; +} + +.has-text-primary-50 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-50-l)) !important; +} + +.has-background-primary-50 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-50-l)) !important; +} + +.has-text-primary-50-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-50-invert-l)) !important; +} + +.has-background-primary-50-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-50-invert-l)) !important; +} + +.has-text-primary-55 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-55-l)) !important; +} + +.has-background-primary-55 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-55-l)) !important; +} + +.has-text-primary-55-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-55-invert-l)) !important; +} + +.has-background-primary-55-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-55-invert-l)) !important; +} + +.has-text-primary-60 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-60-l)) !important; +} + +.has-background-primary-60 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-60-l)) !important; +} + +.has-text-primary-60-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-60-invert-l)) !important; +} + +.has-background-primary-60-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-60-invert-l)) !important; +} + +.has-text-primary-65 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-65-l)) !important; +} + +.has-background-primary-65 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-65-l)) !important; +} + +.has-text-primary-65-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-65-invert-l)) !important; +} + +.has-background-primary-65-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-65-invert-l)) !important; +} + +.has-text-primary-70 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-70-l)) !important; +} + +.has-background-primary-70 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-70-l)) !important; +} + +.has-text-primary-70-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-70-invert-l)) !important; +} + +.has-background-primary-70-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-70-invert-l)) !important; +} + +.has-text-primary-75 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-75-l)) !important; +} + +.has-background-primary-75 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-75-l)) !important; +} + +.has-text-primary-75-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-75-invert-l)) !important; +} + +.has-background-primary-75-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-75-invert-l)) !important; +} + +.has-text-primary-80 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-80-l)) !important; +} + +.has-background-primary-80 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-80-l)) !important; +} + +.has-text-primary-80-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-80-invert-l)) !important; +} + +.has-background-primary-80-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-80-invert-l)) !important; +} + +.has-text-primary-85 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-85-l)) !important; +} + +.has-background-primary-85 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-85-l)) !important; +} + +.has-text-primary-85-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-85-invert-l)) !important; +} + +.has-background-primary-85-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-85-invert-l)) !important; +} + +.has-text-primary-90 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-90-l)) !important; +} + +.has-background-primary-90 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-90-l)) !important; +} + +.has-text-primary-90-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-90-invert-l)) !important; +} + +.has-background-primary-90-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-90-invert-l)) !important; +} + +.has-text-primary-95 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-95-l)) !important; +} + +.has-background-primary-95 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-95-l)) !important; +} + +.has-text-primary-95-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-95-invert-l)) !important; +} + +.has-background-primary-95-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-95-invert-l)) !important; +} + +.has-text-primary-100 { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-100-l)) !important; +} + +.has-background-primary-100 { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-100-l)) !important; +} + +.has-text-primary-100-invert { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-100-invert-l)) !important; +} + +.has-background-primary-100-invert { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-100-invert-l)) !important; +} + +a.has-text-primary:hover, a.has-text-primary:focus-visible, +button.has-text-primary:hover, +button.has-text-primary:focus-visible, +has-text-primary.is-hoverable:hover, +has-text-primary.is-hoverable:focus-visible { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), calc(var(--bulma-primary-l) + var(--bulma-hover-color-l-delta))) !important; +} +a.has-text-primary:active, +button.has-text-primary:active, +has-text-primary.is-hoverable:active { + color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), calc(var(--bulma-primary-l) + var(--bulma-active-color-l-delta))) !important; +} + +a.has-background-primary:hover, a.has-background-primary:focus-visible, +button.has-background-primary:hover, +button.has-background-primary:focus-visible, +has-background-primary.is-hoverable:hover, +has-background-primary.is-hoverable:focus-visible { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), calc(var(--bulma-primary-l) + var(--bulma-hover-background-l-delta))) !important; +} +a.has-background-primary:active, +button.has-background-primary:active, +has-background-primary.is-hoverable:active { + background-color: hsl(var(--bulma-primary-h), var(--bulma-primary-s), calc(var(--bulma-primary-l) + var(--bulma-active-background-l-delta))) !important; +} + +.is-palette-primary { + --h: var(--bulma-primary-h); + --s: var(--bulma-primary-s); + --l: var(--bulma-primary-l); + --color: hsl(var(--h), var(--s), var(--l)); + --00-l: var(--bulma-primary-00-l); + --color-00: hsl(var(--h), var(--s), var(--00-l)); + --05-l: var(--bulma-primary-05-l); + --color-05: hsl(var(--h), var(--s), var(--05-l)); + --10-l: var(--bulma-primary-10-l); + --color-10: hsl(var(--h), var(--s), var(--10-l)); + --15-l: var(--bulma-primary-15-l); + --color-15: hsl(var(--h), var(--s), var(--15-l)); + --20-l: var(--bulma-primary-20-l); + --color-20: hsl(var(--h), var(--s), var(--20-l)); + --25-l: var(--bulma-primary-25-l); + --color-25: hsl(var(--h), var(--s), var(--25-l)); + --30-l: var(--bulma-primary-30-l); + --color-30: hsl(var(--h), var(--s), var(--30-l)); + --35-l: var(--bulma-primary-35-l); + --color-35: hsl(var(--h), var(--s), var(--35-l)); + --40-l: var(--bulma-primary-40-l); + --color-40: hsl(var(--h), var(--s), var(--40-l)); + --45-l: var(--bulma-primary-45-l); + --color-45: hsl(var(--h), var(--s), var(--45-l)); + --50-l: var(--bulma-primary-50-l); + --color-50: hsl(var(--h), var(--s), var(--50-l)); + --55-l: var(--bulma-primary-55-l); + --color-55: hsl(var(--h), var(--s), var(--55-l)); + --60-l: var(--bulma-primary-60-l); + --color-60: hsl(var(--h), var(--s), var(--60-l)); + --65-l: var(--bulma-primary-65-l); + --color-65: hsl(var(--h), var(--s), var(--65-l)); + --70-l: var(--bulma-primary-70-l); + --color-70: hsl(var(--h), var(--s), var(--70-l)); + --75-l: var(--bulma-primary-75-l); + --color-75: hsl(var(--h), var(--s), var(--75-l)); + --80-l: var(--bulma-primary-80-l); + --color-80: hsl(var(--h), var(--s), var(--80-l)); + --85-l: var(--bulma-primary-85-l); + --color-85: hsl(var(--h), var(--s), var(--85-l)); + --90-l: var(--bulma-primary-90-l); + --color-90: hsl(var(--h), var(--s), var(--90-l)); + --95-l: var(--bulma-primary-95-l); + --color-95: hsl(var(--h), var(--s), var(--95-l)); + --100-l: var(--bulma-primary-100-l); + --color-100: hsl(var(--h), var(--s), var(--100-l)); +} + +.has-text-link { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-l)) !important; +} + +.has-background-link { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-l)) !important; +} + +.has-text-link-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-invert-l)) !important; +} + +.has-background-link-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-invert-l)) !important; +} + +.has-text-link-on-scheme { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-on-scheme-l)) !important; +} + +.has-background-link-on-scheme { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-on-scheme-l)) !important; +} + +.has-text-link-light { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-light-l)) !important; +} + +.has-background-link-light { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-light-l)) !important; +} + +.has-text-link-light-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-light-invert-l)) !important; +} + +.has-background-link-light-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-light-invert-l)) !important; +} + +.has-text-link-dark { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-dark-l)) !important; +} + +.has-background-link-dark { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-dark-l)) !important; +} + +.has-text-link-dark-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-dark-invert-l)) !important; +} + +.has-background-link-dark-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-dark-invert-l)) !important; +} + +.has-text-link-soft { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-soft-l)) !important; +} + +.has-background-link-soft { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-soft-l)) !important; +} + +.has-text-link-bold { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-bold-l)) !important; +} + +.has-background-link-bold { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-bold-l)) !important; +} + +.has-text-link-soft-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-soft-invert-l)) !important; +} + +.has-background-link-soft-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-soft-invert-l)) !important; +} + +.has-text-link-bold-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-bold-invert-l)) !important; +} + +.has-background-link-bold-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-bold-invert-l)) !important; +} + +.has-text-link-00 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-00-l)) !important; +} + +.has-background-link-00 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-00-l)) !important; +} + +.has-text-link-00-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-00-invert-l)) !important; +} + +.has-background-link-00-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-00-invert-l)) !important; +} + +.has-text-link-05 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-05-l)) !important; +} + +.has-background-link-05 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-05-l)) !important; +} + +.has-text-link-05-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-05-invert-l)) !important; +} + +.has-background-link-05-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-05-invert-l)) !important; +} + +.has-text-link-10 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-10-l)) !important; +} + +.has-background-link-10 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-10-l)) !important; +} + +.has-text-link-10-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-10-invert-l)) !important; +} + +.has-background-link-10-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-10-invert-l)) !important; +} + +.has-text-link-15 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-15-l)) !important; +} + +.has-background-link-15 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-15-l)) !important; +} + +.has-text-link-15-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-15-invert-l)) !important; +} + +.has-background-link-15-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-15-invert-l)) !important; +} + +.has-text-link-20 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-20-l)) !important; +} + +.has-background-link-20 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-20-l)) !important; +} + +.has-text-link-20-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-20-invert-l)) !important; +} + +.has-background-link-20-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-20-invert-l)) !important; +} + +.has-text-link-25 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-25-l)) !important; +} + +.has-background-link-25 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-25-l)) !important; +} + +.has-text-link-25-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-25-invert-l)) !important; +} + +.has-background-link-25-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-25-invert-l)) !important; +} + +.has-text-link-30 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-30-l)) !important; +} + +.has-background-link-30 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-30-l)) !important; +} + +.has-text-link-30-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-30-invert-l)) !important; +} + +.has-background-link-30-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-30-invert-l)) !important; +} + +.has-text-link-35 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-35-l)) !important; +} + +.has-background-link-35 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-35-l)) !important; +} + +.has-text-link-35-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-35-invert-l)) !important; +} + +.has-background-link-35-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-35-invert-l)) !important; +} + +.has-text-link-40 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-40-l)) !important; +} + +.has-background-link-40 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-40-l)) !important; +} + +.has-text-link-40-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-40-invert-l)) !important; +} + +.has-background-link-40-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-40-invert-l)) !important; +} + +.has-text-link-45 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-45-l)) !important; +} + +.has-background-link-45 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-45-l)) !important; +} + +.has-text-link-45-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-45-invert-l)) !important; +} + +.has-background-link-45-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-45-invert-l)) !important; +} + +.has-text-link-50 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-50-l)) !important; +} + +.has-background-link-50 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-50-l)) !important; +} + +.has-text-link-50-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-50-invert-l)) !important; +} + +.has-background-link-50-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-50-invert-l)) !important; +} + +.has-text-link-55 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-55-l)) !important; +} + +.has-background-link-55 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-55-l)) !important; +} + +.has-text-link-55-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-55-invert-l)) !important; +} + +.has-background-link-55-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-55-invert-l)) !important; +} + +.has-text-link-60 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-60-l)) !important; +} + +.has-background-link-60 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-60-l)) !important; +} + +.has-text-link-60-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-60-invert-l)) !important; +} + +.has-background-link-60-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-60-invert-l)) !important; +} + +.has-text-link-65 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-65-l)) !important; +} + +.has-background-link-65 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-65-l)) !important; +} + +.has-text-link-65-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-65-invert-l)) !important; +} + +.has-background-link-65-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-65-invert-l)) !important; +} + +.has-text-link-70 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-70-l)) !important; +} + +.has-background-link-70 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-70-l)) !important; +} + +.has-text-link-70-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-70-invert-l)) !important; +} + +.has-background-link-70-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-70-invert-l)) !important; +} + +.has-text-link-75 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-75-l)) !important; +} + +.has-background-link-75 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-75-l)) !important; +} + +.has-text-link-75-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-75-invert-l)) !important; +} + +.has-background-link-75-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-75-invert-l)) !important; +} + +.has-text-link-80 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-80-l)) !important; +} + +.has-background-link-80 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-80-l)) !important; +} + +.has-text-link-80-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-80-invert-l)) !important; +} + +.has-background-link-80-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-80-invert-l)) !important; +} + +.has-text-link-85 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-85-l)) !important; +} + +.has-background-link-85 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-85-l)) !important; +} + +.has-text-link-85-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-85-invert-l)) !important; +} + +.has-background-link-85-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-85-invert-l)) !important; +} + +.has-text-link-90 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-90-l)) !important; +} + +.has-background-link-90 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-90-l)) !important; +} + +.has-text-link-90-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-90-invert-l)) !important; +} + +.has-background-link-90-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-90-invert-l)) !important; +} + +.has-text-link-95 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-95-l)) !important; +} + +.has-background-link-95 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-95-l)) !important; +} + +.has-text-link-95-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-95-invert-l)) !important; +} + +.has-background-link-95-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-95-invert-l)) !important; +} + +.has-text-link-100 { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-100-l)) !important; +} + +.has-background-link-100 { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-100-l)) !important; +} + +.has-text-link-100-invert { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-100-invert-l)) !important; +} + +.has-background-link-100-invert { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), var(--bulma-link-100-invert-l)) !important; +} + +a.has-text-link:hover, a.has-text-link:focus-visible, +button.has-text-link:hover, +button.has-text-link:focus-visible, +has-text-link.is-hoverable:hover, +has-text-link.is-hoverable:focus-visible { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), calc(var(--bulma-link-l) + var(--bulma-hover-color-l-delta))) !important; +} +a.has-text-link:active, +button.has-text-link:active, +has-text-link.is-hoverable:active { + color: hsl(var(--bulma-link-h), var(--bulma-link-s), calc(var(--bulma-link-l) + var(--bulma-active-color-l-delta))) !important; +} + +a.has-background-link:hover, a.has-background-link:focus-visible, +button.has-background-link:hover, +button.has-background-link:focus-visible, +has-background-link.is-hoverable:hover, +has-background-link.is-hoverable:focus-visible { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), calc(var(--bulma-link-l) + var(--bulma-hover-background-l-delta))) !important; +} +a.has-background-link:active, +button.has-background-link:active, +has-background-link.is-hoverable:active { + background-color: hsl(var(--bulma-link-h), var(--bulma-link-s), calc(var(--bulma-link-l) + var(--bulma-active-background-l-delta))) !important; +} + +.is-palette-link { + --h: var(--bulma-link-h); + --s: var(--bulma-link-s); + --l: var(--bulma-link-l); + --color: hsl(var(--h), var(--s), var(--l)); + --00-l: var(--bulma-link-00-l); + --color-00: hsl(var(--h), var(--s), var(--00-l)); + --05-l: var(--bulma-link-05-l); + --color-05: hsl(var(--h), var(--s), var(--05-l)); + --10-l: var(--bulma-link-10-l); + --color-10: hsl(var(--h), var(--s), var(--10-l)); + --15-l: var(--bulma-link-15-l); + --color-15: hsl(var(--h), var(--s), var(--15-l)); + --20-l: var(--bulma-link-20-l); + --color-20: hsl(var(--h), var(--s), var(--20-l)); + --25-l: var(--bulma-link-25-l); + --color-25: hsl(var(--h), var(--s), var(--25-l)); + --30-l: var(--bulma-link-30-l); + --color-30: hsl(var(--h), var(--s), var(--30-l)); + --35-l: var(--bulma-link-35-l); + --color-35: hsl(var(--h), var(--s), var(--35-l)); + --40-l: var(--bulma-link-40-l); + --color-40: hsl(var(--h), var(--s), var(--40-l)); + --45-l: var(--bulma-link-45-l); + --color-45: hsl(var(--h), var(--s), var(--45-l)); + --50-l: var(--bulma-link-50-l); + --color-50: hsl(var(--h), var(--s), var(--50-l)); + --55-l: var(--bulma-link-55-l); + --color-55: hsl(var(--h), var(--s), var(--55-l)); + --60-l: var(--bulma-link-60-l); + --color-60: hsl(var(--h), var(--s), var(--60-l)); + --65-l: var(--bulma-link-65-l); + --color-65: hsl(var(--h), var(--s), var(--65-l)); + --70-l: var(--bulma-link-70-l); + --color-70: hsl(var(--h), var(--s), var(--70-l)); + --75-l: var(--bulma-link-75-l); + --color-75: hsl(var(--h), var(--s), var(--75-l)); + --80-l: var(--bulma-link-80-l); + --color-80: hsl(var(--h), var(--s), var(--80-l)); + --85-l: var(--bulma-link-85-l); + --color-85: hsl(var(--h), var(--s), var(--85-l)); + --90-l: var(--bulma-link-90-l); + --color-90: hsl(var(--h), var(--s), var(--90-l)); + --95-l: var(--bulma-link-95-l); + --color-95: hsl(var(--h), var(--s), var(--95-l)); + --100-l: var(--bulma-link-100-l); + --color-100: hsl(var(--h), var(--s), var(--100-l)); +} + +.has-text-info { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-l)) !important; +} + +.has-background-info { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-l)) !important; +} + +.has-text-info-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-invert-l)) !important; +} + +.has-background-info-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-invert-l)) !important; +} + +.has-text-info-on-scheme { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-on-scheme-l)) !important; +} + +.has-background-info-on-scheme { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-on-scheme-l)) !important; +} + +.has-text-info-light { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-light-l)) !important; +} + +.has-background-info-light { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-light-l)) !important; +} + +.has-text-info-light-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-light-invert-l)) !important; +} + +.has-background-info-light-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-light-invert-l)) !important; +} + +.has-text-info-dark { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-dark-l)) !important; +} + +.has-background-info-dark { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-dark-l)) !important; +} + +.has-text-info-dark-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-dark-invert-l)) !important; +} + +.has-background-info-dark-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-dark-invert-l)) !important; +} + +.has-text-info-soft { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-soft-l)) !important; +} + +.has-background-info-soft { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-soft-l)) !important; +} + +.has-text-info-bold { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-bold-l)) !important; +} + +.has-background-info-bold { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-bold-l)) !important; +} + +.has-text-info-soft-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-soft-invert-l)) !important; +} + +.has-background-info-soft-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-soft-invert-l)) !important; +} + +.has-text-info-bold-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-bold-invert-l)) !important; +} + +.has-background-info-bold-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-bold-invert-l)) !important; +} + +.has-text-info-00 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-00-l)) !important; +} + +.has-background-info-00 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-00-l)) !important; +} + +.has-text-info-00-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-00-invert-l)) !important; +} + +.has-background-info-00-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-00-invert-l)) !important; +} + +.has-text-info-05 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-05-l)) !important; +} + +.has-background-info-05 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-05-l)) !important; +} + +.has-text-info-05-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-05-invert-l)) !important; +} + +.has-background-info-05-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-05-invert-l)) !important; +} + +.has-text-info-10 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-10-l)) !important; +} + +.has-background-info-10 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-10-l)) !important; +} + +.has-text-info-10-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-10-invert-l)) !important; +} + +.has-background-info-10-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-10-invert-l)) !important; +} + +.has-text-info-15 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-15-l)) !important; +} + +.has-background-info-15 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-15-l)) !important; +} + +.has-text-info-15-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-15-invert-l)) !important; +} + +.has-background-info-15-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-15-invert-l)) !important; +} + +.has-text-info-20 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-20-l)) !important; +} + +.has-background-info-20 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-20-l)) !important; +} + +.has-text-info-20-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-20-invert-l)) !important; +} + +.has-background-info-20-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-20-invert-l)) !important; +} + +.has-text-info-25 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-25-l)) !important; +} + +.has-background-info-25 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-25-l)) !important; +} + +.has-text-info-25-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-25-invert-l)) !important; +} + +.has-background-info-25-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-25-invert-l)) !important; +} + +.has-text-info-30 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-30-l)) !important; +} + +.has-background-info-30 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-30-l)) !important; +} + +.has-text-info-30-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-30-invert-l)) !important; +} + +.has-background-info-30-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-30-invert-l)) !important; +} + +.has-text-info-35 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-35-l)) !important; +} + +.has-background-info-35 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-35-l)) !important; +} + +.has-text-info-35-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-35-invert-l)) !important; +} + +.has-background-info-35-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-35-invert-l)) !important; +} + +.has-text-info-40 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-40-l)) !important; +} + +.has-background-info-40 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-40-l)) !important; +} + +.has-text-info-40-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-40-invert-l)) !important; +} + +.has-background-info-40-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-40-invert-l)) !important; +} + +.has-text-info-45 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-45-l)) !important; +} + +.has-background-info-45 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-45-l)) !important; +} + +.has-text-info-45-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-45-invert-l)) !important; +} + +.has-background-info-45-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-45-invert-l)) !important; +} + +.has-text-info-50 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-50-l)) !important; +} + +.has-background-info-50 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-50-l)) !important; +} + +.has-text-info-50-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-50-invert-l)) !important; +} + +.has-background-info-50-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-50-invert-l)) !important; +} + +.has-text-info-55 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-55-l)) !important; +} + +.has-background-info-55 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-55-l)) !important; +} + +.has-text-info-55-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-55-invert-l)) !important; +} + +.has-background-info-55-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-55-invert-l)) !important; +} + +.has-text-info-60 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-60-l)) !important; +} + +.has-background-info-60 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-60-l)) !important; +} + +.has-text-info-60-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-60-invert-l)) !important; +} + +.has-background-info-60-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-60-invert-l)) !important; +} + +.has-text-info-65 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-65-l)) !important; +} + +.has-background-info-65 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-65-l)) !important; +} + +.has-text-info-65-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-65-invert-l)) !important; +} + +.has-background-info-65-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-65-invert-l)) !important; +} + +.has-text-info-70 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-70-l)) !important; +} + +.has-background-info-70 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-70-l)) !important; +} + +.has-text-info-70-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-70-invert-l)) !important; +} + +.has-background-info-70-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-70-invert-l)) !important; +} + +.has-text-info-75 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-75-l)) !important; +} + +.has-background-info-75 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-75-l)) !important; +} + +.has-text-info-75-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-75-invert-l)) !important; +} + +.has-background-info-75-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-75-invert-l)) !important; +} + +.has-text-info-80 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-80-l)) !important; +} + +.has-background-info-80 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-80-l)) !important; +} + +.has-text-info-80-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-80-invert-l)) !important; +} + +.has-background-info-80-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-80-invert-l)) !important; +} + +.has-text-info-85 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-85-l)) !important; +} + +.has-background-info-85 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-85-l)) !important; +} + +.has-text-info-85-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-85-invert-l)) !important; +} + +.has-background-info-85-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-85-invert-l)) !important; +} + +.has-text-info-90 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-90-l)) !important; +} + +.has-background-info-90 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-90-l)) !important; +} + +.has-text-info-90-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-90-invert-l)) !important; +} + +.has-background-info-90-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-90-invert-l)) !important; +} + +.has-text-info-95 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-95-l)) !important; +} + +.has-background-info-95 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-95-l)) !important; +} + +.has-text-info-95-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-95-invert-l)) !important; +} + +.has-background-info-95-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-95-invert-l)) !important; +} + +.has-text-info-100 { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-100-l)) !important; +} + +.has-background-info-100 { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-100-l)) !important; +} + +.has-text-info-100-invert { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-100-invert-l)) !important; +} + +.has-background-info-100-invert { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-100-invert-l)) !important; +} + +a.has-text-info:hover, a.has-text-info:focus-visible, +button.has-text-info:hover, +button.has-text-info:focus-visible, +has-text-info.is-hoverable:hover, +has-text-info.is-hoverable:focus-visible { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), calc(var(--bulma-info-l) + var(--bulma-hover-color-l-delta))) !important; +} +a.has-text-info:active, +button.has-text-info:active, +has-text-info.is-hoverable:active { + color: hsl(var(--bulma-info-h), var(--bulma-info-s), calc(var(--bulma-info-l) + var(--bulma-active-color-l-delta))) !important; +} + +a.has-background-info:hover, a.has-background-info:focus-visible, +button.has-background-info:hover, +button.has-background-info:focus-visible, +has-background-info.is-hoverable:hover, +has-background-info.is-hoverable:focus-visible { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), calc(var(--bulma-info-l) + var(--bulma-hover-background-l-delta))) !important; +} +a.has-background-info:active, +button.has-background-info:active, +has-background-info.is-hoverable:active { + background-color: hsl(var(--bulma-info-h), var(--bulma-info-s), calc(var(--bulma-info-l) + var(--bulma-active-background-l-delta))) !important; +} + +.is-palette-info { + --h: var(--bulma-info-h); + --s: var(--bulma-info-s); + --l: var(--bulma-info-l); + --color: hsl(var(--h), var(--s), var(--l)); + --00-l: var(--bulma-info-00-l); + --color-00: hsl(var(--h), var(--s), var(--00-l)); + --05-l: var(--bulma-info-05-l); + --color-05: hsl(var(--h), var(--s), var(--05-l)); + --10-l: var(--bulma-info-10-l); + --color-10: hsl(var(--h), var(--s), var(--10-l)); + --15-l: var(--bulma-info-15-l); + --color-15: hsl(var(--h), var(--s), var(--15-l)); + --20-l: var(--bulma-info-20-l); + --color-20: hsl(var(--h), var(--s), var(--20-l)); + --25-l: var(--bulma-info-25-l); + --color-25: hsl(var(--h), var(--s), var(--25-l)); + --30-l: var(--bulma-info-30-l); + --color-30: hsl(var(--h), var(--s), var(--30-l)); + --35-l: var(--bulma-info-35-l); + --color-35: hsl(var(--h), var(--s), var(--35-l)); + --40-l: var(--bulma-info-40-l); + --color-40: hsl(var(--h), var(--s), var(--40-l)); + --45-l: var(--bulma-info-45-l); + --color-45: hsl(var(--h), var(--s), var(--45-l)); + --50-l: var(--bulma-info-50-l); + --color-50: hsl(var(--h), var(--s), var(--50-l)); + --55-l: var(--bulma-info-55-l); + --color-55: hsl(var(--h), var(--s), var(--55-l)); + --60-l: var(--bulma-info-60-l); + --color-60: hsl(var(--h), var(--s), var(--60-l)); + --65-l: var(--bulma-info-65-l); + --color-65: hsl(var(--h), var(--s), var(--65-l)); + --70-l: var(--bulma-info-70-l); + --color-70: hsl(var(--h), var(--s), var(--70-l)); + --75-l: var(--bulma-info-75-l); + --color-75: hsl(var(--h), var(--s), var(--75-l)); + --80-l: var(--bulma-info-80-l); + --color-80: hsl(var(--h), var(--s), var(--80-l)); + --85-l: var(--bulma-info-85-l); + --color-85: hsl(var(--h), var(--s), var(--85-l)); + --90-l: var(--bulma-info-90-l); + --color-90: hsl(var(--h), var(--s), var(--90-l)); + --95-l: var(--bulma-info-95-l); + --color-95: hsl(var(--h), var(--s), var(--95-l)); + --100-l: var(--bulma-info-100-l); + --color-100: hsl(var(--h), var(--s), var(--100-l)); +} + +.has-text-success { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-l)) !important; +} + +.has-background-success { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-l)) !important; +} + +.has-text-success-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-invert-l)) !important; +} + +.has-background-success-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-invert-l)) !important; +} + +.has-text-success-on-scheme { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-on-scheme-l)) !important; +} + +.has-background-success-on-scheme { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-on-scheme-l)) !important; +} + +.has-text-success-light { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-light-l)) !important; +} + +.has-background-success-light { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-light-l)) !important; +} + +.has-text-success-light-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-light-invert-l)) !important; +} + +.has-background-success-light-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-light-invert-l)) !important; +} + +.has-text-success-dark { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-dark-l)) !important; +} + +.has-background-success-dark { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-dark-l)) !important; +} + +.has-text-success-dark-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-dark-invert-l)) !important; +} + +.has-background-success-dark-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-dark-invert-l)) !important; +} + +.has-text-success-soft { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-soft-l)) !important; +} + +.has-background-success-soft { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-soft-l)) !important; +} + +.has-text-success-bold { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-bold-l)) !important; +} + +.has-background-success-bold { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-bold-l)) !important; +} + +.has-text-success-soft-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-soft-invert-l)) !important; +} + +.has-background-success-soft-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-soft-invert-l)) !important; +} + +.has-text-success-bold-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-bold-invert-l)) !important; +} + +.has-background-success-bold-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-bold-invert-l)) !important; +} + +.has-text-success-00 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-00-l)) !important; +} + +.has-background-success-00 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-00-l)) !important; +} + +.has-text-success-00-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-00-invert-l)) !important; +} + +.has-background-success-00-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-00-invert-l)) !important; +} + +.has-text-success-05 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-05-l)) !important; +} + +.has-background-success-05 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-05-l)) !important; +} + +.has-text-success-05-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-05-invert-l)) !important; +} + +.has-background-success-05-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-05-invert-l)) !important; +} + +.has-text-success-10 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-10-l)) !important; +} + +.has-background-success-10 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-10-l)) !important; +} + +.has-text-success-10-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-10-invert-l)) !important; +} + +.has-background-success-10-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-10-invert-l)) !important; +} + +.has-text-success-15 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-15-l)) !important; +} + +.has-background-success-15 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-15-l)) !important; +} + +.has-text-success-15-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-15-invert-l)) !important; +} + +.has-background-success-15-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-15-invert-l)) !important; +} + +.has-text-success-20 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-20-l)) !important; +} + +.has-background-success-20 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-20-l)) !important; +} + +.has-text-success-20-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-20-invert-l)) !important; +} + +.has-background-success-20-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-20-invert-l)) !important; +} + +.has-text-success-25 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-25-l)) !important; +} + +.has-background-success-25 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-25-l)) !important; +} + +.has-text-success-25-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-25-invert-l)) !important; +} + +.has-background-success-25-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-25-invert-l)) !important; +} + +.has-text-success-30 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-30-l)) !important; +} + +.has-background-success-30 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-30-l)) !important; +} + +.has-text-success-30-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-30-invert-l)) !important; +} + +.has-background-success-30-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-30-invert-l)) !important; +} + +.has-text-success-35 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-35-l)) !important; +} + +.has-background-success-35 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-35-l)) !important; +} + +.has-text-success-35-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-35-invert-l)) !important; +} + +.has-background-success-35-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-35-invert-l)) !important; +} + +.has-text-success-40 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-40-l)) !important; +} + +.has-background-success-40 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-40-l)) !important; +} + +.has-text-success-40-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-40-invert-l)) !important; +} + +.has-background-success-40-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-40-invert-l)) !important; +} + +.has-text-success-45 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-45-l)) !important; +} + +.has-background-success-45 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-45-l)) !important; +} + +.has-text-success-45-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-45-invert-l)) !important; +} + +.has-background-success-45-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-45-invert-l)) !important; +} + +.has-text-success-50 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-50-l)) !important; +} + +.has-background-success-50 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-50-l)) !important; +} + +.has-text-success-50-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-50-invert-l)) !important; +} + +.has-background-success-50-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-50-invert-l)) !important; +} + +.has-text-success-55 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-55-l)) !important; +} + +.has-background-success-55 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-55-l)) !important; +} + +.has-text-success-55-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-55-invert-l)) !important; +} + +.has-background-success-55-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-55-invert-l)) !important; +} + +.has-text-success-60 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-60-l)) !important; +} + +.has-background-success-60 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-60-l)) !important; +} + +.has-text-success-60-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-60-invert-l)) !important; +} + +.has-background-success-60-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-60-invert-l)) !important; +} + +.has-text-success-65 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-65-l)) !important; +} + +.has-background-success-65 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-65-l)) !important; +} + +.has-text-success-65-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-65-invert-l)) !important; +} + +.has-background-success-65-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-65-invert-l)) !important; +} + +.has-text-success-70 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-70-l)) !important; +} + +.has-background-success-70 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-70-l)) !important; +} + +.has-text-success-70-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-70-invert-l)) !important; +} + +.has-background-success-70-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-70-invert-l)) !important; +} + +.has-text-success-75 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-75-l)) !important; +} + +.has-background-success-75 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-75-l)) !important; +} + +.has-text-success-75-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-75-invert-l)) !important; +} + +.has-background-success-75-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-75-invert-l)) !important; +} + +.has-text-success-80 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-80-l)) !important; +} + +.has-background-success-80 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-80-l)) !important; +} + +.has-text-success-80-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-80-invert-l)) !important; +} + +.has-background-success-80-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-80-invert-l)) !important; +} + +.has-text-success-85 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-85-l)) !important; +} + +.has-background-success-85 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-85-l)) !important; +} + +.has-text-success-85-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-85-invert-l)) !important; +} + +.has-background-success-85-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-85-invert-l)) !important; +} + +.has-text-success-90 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-90-l)) !important; +} + +.has-background-success-90 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-90-l)) !important; +} + +.has-text-success-90-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-90-invert-l)) !important; +} + +.has-background-success-90-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-90-invert-l)) !important; +} + +.has-text-success-95 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-95-l)) !important; +} + +.has-background-success-95 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-95-l)) !important; +} + +.has-text-success-95-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-95-invert-l)) !important; +} + +.has-background-success-95-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-95-invert-l)) !important; +} + +.has-text-success-100 { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-100-l)) !important; +} + +.has-background-success-100 { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-100-l)) !important; +} + +.has-text-success-100-invert { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-100-invert-l)) !important; +} + +.has-background-success-100-invert { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-100-invert-l)) !important; +} + +a.has-text-success:hover, a.has-text-success:focus-visible, +button.has-text-success:hover, +button.has-text-success:focus-visible, +has-text-success.is-hoverable:hover, +has-text-success.is-hoverable:focus-visible { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), calc(var(--bulma-success-l) + var(--bulma-hover-color-l-delta))) !important; +} +a.has-text-success:active, +button.has-text-success:active, +has-text-success.is-hoverable:active { + color: hsl(var(--bulma-success-h), var(--bulma-success-s), calc(var(--bulma-success-l) + var(--bulma-active-color-l-delta))) !important; +} + +a.has-background-success:hover, a.has-background-success:focus-visible, +button.has-background-success:hover, +button.has-background-success:focus-visible, +has-background-success.is-hoverable:hover, +has-background-success.is-hoverable:focus-visible { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), calc(var(--bulma-success-l) + var(--bulma-hover-background-l-delta))) !important; +} +a.has-background-success:active, +button.has-background-success:active, +has-background-success.is-hoverable:active { + background-color: hsl(var(--bulma-success-h), var(--bulma-success-s), calc(var(--bulma-success-l) + var(--bulma-active-background-l-delta))) !important; +} + +.is-palette-success { + --h: var(--bulma-success-h); + --s: var(--bulma-success-s); + --l: var(--bulma-success-l); + --color: hsl(var(--h), var(--s), var(--l)); + --00-l: var(--bulma-success-00-l); + --color-00: hsl(var(--h), var(--s), var(--00-l)); + --05-l: var(--bulma-success-05-l); + --color-05: hsl(var(--h), var(--s), var(--05-l)); + --10-l: var(--bulma-success-10-l); + --color-10: hsl(var(--h), var(--s), var(--10-l)); + --15-l: var(--bulma-success-15-l); + --color-15: hsl(var(--h), var(--s), var(--15-l)); + --20-l: var(--bulma-success-20-l); + --color-20: hsl(var(--h), var(--s), var(--20-l)); + --25-l: var(--bulma-success-25-l); + --color-25: hsl(var(--h), var(--s), var(--25-l)); + --30-l: var(--bulma-success-30-l); + --color-30: hsl(var(--h), var(--s), var(--30-l)); + --35-l: var(--bulma-success-35-l); + --color-35: hsl(var(--h), var(--s), var(--35-l)); + --40-l: var(--bulma-success-40-l); + --color-40: hsl(var(--h), var(--s), var(--40-l)); + --45-l: var(--bulma-success-45-l); + --color-45: hsl(var(--h), var(--s), var(--45-l)); + --50-l: var(--bulma-success-50-l); + --color-50: hsl(var(--h), var(--s), var(--50-l)); + --55-l: var(--bulma-success-55-l); + --color-55: hsl(var(--h), var(--s), var(--55-l)); + --60-l: var(--bulma-success-60-l); + --color-60: hsl(var(--h), var(--s), var(--60-l)); + --65-l: var(--bulma-success-65-l); + --color-65: hsl(var(--h), var(--s), var(--65-l)); + --70-l: var(--bulma-success-70-l); + --color-70: hsl(var(--h), var(--s), var(--70-l)); + --75-l: var(--bulma-success-75-l); + --color-75: hsl(var(--h), var(--s), var(--75-l)); + --80-l: var(--bulma-success-80-l); + --color-80: hsl(var(--h), var(--s), var(--80-l)); + --85-l: var(--bulma-success-85-l); + --color-85: hsl(var(--h), var(--s), var(--85-l)); + --90-l: var(--bulma-success-90-l); + --color-90: hsl(var(--h), var(--s), var(--90-l)); + --95-l: var(--bulma-success-95-l); + --color-95: hsl(var(--h), var(--s), var(--95-l)); + --100-l: var(--bulma-success-100-l); + --color-100: hsl(var(--h), var(--s), var(--100-l)); +} + +.has-text-warning { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-l)) !important; +} + +.has-background-warning { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-l)) !important; +} + +.has-text-warning-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-invert-l)) !important; +} + +.has-background-warning-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-invert-l)) !important; +} + +.has-text-warning-on-scheme { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-on-scheme-l)) !important; +} + +.has-background-warning-on-scheme { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-on-scheme-l)) !important; +} + +.has-text-warning-light { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-light-l)) !important; +} + +.has-background-warning-light { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-light-l)) !important; +} + +.has-text-warning-light-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-light-invert-l)) !important; +} + +.has-background-warning-light-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-light-invert-l)) !important; +} + +.has-text-warning-dark { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-dark-l)) !important; +} + +.has-background-warning-dark { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-dark-l)) !important; +} + +.has-text-warning-dark-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-dark-invert-l)) !important; +} + +.has-background-warning-dark-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-dark-invert-l)) !important; +} + +.has-text-warning-soft { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-soft-l)) !important; +} + +.has-background-warning-soft { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-soft-l)) !important; +} + +.has-text-warning-bold { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-bold-l)) !important; +} + +.has-background-warning-bold { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-bold-l)) !important; +} + +.has-text-warning-soft-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-soft-invert-l)) !important; +} + +.has-background-warning-soft-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-soft-invert-l)) !important; +} + +.has-text-warning-bold-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-bold-invert-l)) !important; +} + +.has-background-warning-bold-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-bold-invert-l)) !important; +} + +.has-text-warning-00 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-00-l)) !important; +} + +.has-background-warning-00 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-00-l)) !important; +} + +.has-text-warning-00-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-00-invert-l)) !important; +} + +.has-background-warning-00-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-00-invert-l)) !important; +} + +.has-text-warning-05 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-05-l)) !important; +} + +.has-background-warning-05 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-05-l)) !important; +} + +.has-text-warning-05-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-05-invert-l)) !important; +} + +.has-background-warning-05-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-05-invert-l)) !important; +} + +.has-text-warning-10 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-10-l)) !important; +} + +.has-background-warning-10 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-10-l)) !important; +} + +.has-text-warning-10-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-10-invert-l)) !important; +} + +.has-background-warning-10-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-10-invert-l)) !important; +} + +.has-text-warning-15 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-15-l)) !important; +} + +.has-background-warning-15 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-15-l)) !important; +} + +.has-text-warning-15-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-15-invert-l)) !important; +} + +.has-background-warning-15-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-15-invert-l)) !important; +} + +.has-text-warning-20 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-20-l)) !important; +} + +.has-background-warning-20 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-20-l)) !important; +} + +.has-text-warning-20-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-20-invert-l)) !important; +} + +.has-background-warning-20-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-20-invert-l)) !important; +} + +.has-text-warning-25 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-25-l)) !important; +} + +.has-background-warning-25 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-25-l)) !important; +} + +.has-text-warning-25-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-25-invert-l)) !important; +} + +.has-background-warning-25-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-25-invert-l)) !important; +} + +.has-text-warning-30 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-30-l)) !important; +} + +.has-background-warning-30 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-30-l)) !important; +} + +.has-text-warning-30-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-30-invert-l)) !important; +} + +.has-background-warning-30-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-30-invert-l)) !important; +} + +.has-text-warning-35 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-35-l)) !important; +} + +.has-background-warning-35 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-35-l)) !important; +} + +.has-text-warning-35-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-35-invert-l)) !important; +} + +.has-background-warning-35-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-35-invert-l)) !important; +} + +.has-text-warning-40 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-40-l)) !important; +} + +.has-background-warning-40 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-40-l)) !important; +} + +.has-text-warning-40-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-40-invert-l)) !important; +} + +.has-background-warning-40-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-40-invert-l)) !important; +} + +.has-text-warning-45 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-45-l)) !important; +} + +.has-background-warning-45 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-45-l)) !important; +} + +.has-text-warning-45-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-45-invert-l)) !important; +} + +.has-background-warning-45-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-45-invert-l)) !important; +} + +.has-text-warning-50 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-50-l)) !important; +} + +.has-background-warning-50 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-50-l)) !important; +} + +.has-text-warning-50-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-50-invert-l)) !important; +} + +.has-background-warning-50-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-50-invert-l)) !important; +} + +.has-text-warning-55 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-55-l)) !important; +} + +.has-background-warning-55 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-55-l)) !important; +} + +.has-text-warning-55-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-55-invert-l)) !important; +} + +.has-background-warning-55-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-55-invert-l)) !important; +} + +.has-text-warning-60 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-60-l)) !important; +} + +.has-background-warning-60 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-60-l)) !important; +} + +.has-text-warning-60-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-60-invert-l)) !important; +} + +.has-background-warning-60-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-60-invert-l)) !important; +} + +.has-text-warning-65 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-65-l)) !important; +} + +.has-background-warning-65 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-65-l)) !important; +} + +.has-text-warning-65-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-65-invert-l)) !important; +} + +.has-background-warning-65-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-65-invert-l)) !important; +} + +.has-text-warning-70 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-70-l)) !important; +} + +.has-background-warning-70 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-70-l)) !important; +} + +.has-text-warning-70-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-70-invert-l)) !important; +} + +.has-background-warning-70-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-70-invert-l)) !important; +} + +.has-text-warning-75 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-75-l)) !important; +} + +.has-background-warning-75 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-75-l)) !important; +} + +.has-text-warning-75-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-75-invert-l)) !important; +} + +.has-background-warning-75-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-75-invert-l)) !important; +} + +.has-text-warning-80 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-80-l)) !important; +} + +.has-background-warning-80 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-80-l)) !important; +} + +.has-text-warning-80-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-80-invert-l)) !important; +} + +.has-background-warning-80-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-80-invert-l)) !important; +} + +.has-text-warning-85 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-85-l)) !important; +} + +.has-background-warning-85 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-85-l)) !important; +} + +.has-text-warning-85-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-85-invert-l)) !important; +} + +.has-background-warning-85-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-85-invert-l)) !important; +} + +.has-text-warning-90 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-90-l)) !important; +} + +.has-background-warning-90 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-90-l)) !important; +} + +.has-text-warning-90-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-90-invert-l)) !important; +} + +.has-background-warning-90-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-90-invert-l)) !important; +} + +.has-text-warning-95 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-95-l)) !important; +} + +.has-background-warning-95 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-95-l)) !important; +} + +.has-text-warning-95-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-95-invert-l)) !important; +} + +.has-background-warning-95-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-95-invert-l)) !important; +} + +.has-text-warning-100 { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-100-l)) !important; +} + +.has-background-warning-100 { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-100-l)) !important; +} + +.has-text-warning-100-invert { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-100-invert-l)) !important; +} + +.has-background-warning-100-invert { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-100-invert-l)) !important; +} + +a.has-text-warning:hover, a.has-text-warning:focus-visible, +button.has-text-warning:hover, +button.has-text-warning:focus-visible, +has-text-warning.is-hoverable:hover, +has-text-warning.is-hoverable:focus-visible { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), calc(var(--bulma-warning-l) + var(--bulma-hover-color-l-delta))) !important; +} +a.has-text-warning:active, +button.has-text-warning:active, +has-text-warning.is-hoverable:active { + color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), calc(var(--bulma-warning-l) + var(--bulma-active-color-l-delta))) !important; +} + +a.has-background-warning:hover, a.has-background-warning:focus-visible, +button.has-background-warning:hover, +button.has-background-warning:focus-visible, +has-background-warning.is-hoverable:hover, +has-background-warning.is-hoverable:focus-visible { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), calc(var(--bulma-warning-l) + var(--bulma-hover-background-l-delta))) !important; +} +a.has-background-warning:active, +button.has-background-warning:active, +has-background-warning.is-hoverable:active { + background-color: hsl(var(--bulma-warning-h), var(--bulma-warning-s), calc(var(--bulma-warning-l) + var(--bulma-active-background-l-delta))) !important; +} + +.is-palette-warning { + --h: var(--bulma-warning-h); + --s: var(--bulma-warning-s); + --l: var(--bulma-warning-l); + --color: hsl(var(--h), var(--s), var(--l)); + --00-l: var(--bulma-warning-00-l); + --color-00: hsl(var(--h), var(--s), var(--00-l)); + --05-l: var(--bulma-warning-05-l); + --color-05: hsl(var(--h), var(--s), var(--05-l)); + --10-l: var(--bulma-warning-10-l); + --color-10: hsl(var(--h), var(--s), var(--10-l)); + --15-l: var(--bulma-warning-15-l); + --color-15: hsl(var(--h), var(--s), var(--15-l)); + --20-l: var(--bulma-warning-20-l); + --color-20: hsl(var(--h), var(--s), var(--20-l)); + --25-l: var(--bulma-warning-25-l); + --color-25: hsl(var(--h), var(--s), var(--25-l)); + --30-l: var(--bulma-warning-30-l); + --color-30: hsl(var(--h), var(--s), var(--30-l)); + --35-l: var(--bulma-warning-35-l); + --color-35: hsl(var(--h), var(--s), var(--35-l)); + --40-l: var(--bulma-warning-40-l); + --color-40: hsl(var(--h), var(--s), var(--40-l)); + --45-l: var(--bulma-warning-45-l); + --color-45: hsl(var(--h), var(--s), var(--45-l)); + --50-l: var(--bulma-warning-50-l); + --color-50: hsl(var(--h), var(--s), var(--50-l)); + --55-l: var(--bulma-warning-55-l); + --color-55: hsl(var(--h), var(--s), var(--55-l)); + --60-l: var(--bulma-warning-60-l); + --color-60: hsl(var(--h), var(--s), var(--60-l)); + --65-l: var(--bulma-warning-65-l); + --color-65: hsl(var(--h), var(--s), var(--65-l)); + --70-l: var(--bulma-warning-70-l); + --color-70: hsl(var(--h), var(--s), var(--70-l)); + --75-l: var(--bulma-warning-75-l); + --color-75: hsl(var(--h), var(--s), var(--75-l)); + --80-l: var(--bulma-warning-80-l); + --color-80: hsl(var(--h), var(--s), var(--80-l)); + --85-l: var(--bulma-warning-85-l); + --color-85: hsl(var(--h), var(--s), var(--85-l)); + --90-l: var(--bulma-warning-90-l); + --color-90: hsl(var(--h), var(--s), var(--90-l)); + --95-l: var(--bulma-warning-95-l); + --color-95: hsl(var(--h), var(--s), var(--95-l)); + --100-l: var(--bulma-warning-100-l); + --color-100: hsl(var(--h), var(--s), var(--100-l)); +} + +.has-text-danger { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-l)) !important; +} + +.has-background-danger { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-l)) !important; +} + +.has-text-danger-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-invert-l)) !important; +} + +.has-background-danger-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-invert-l)) !important; +} + +.has-text-danger-on-scheme { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-on-scheme-l)) !important; +} + +.has-background-danger-on-scheme { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-on-scheme-l)) !important; +} + +.has-text-danger-light { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-light-l)) !important; +} + +.has-background-danger-light { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-light-l)) !important; +} + +.has-text-danger-light-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-light-invert-l)) !important; +} + +.has-background-danger-light-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-light-invert-l)) !important; +} + +.has-text-danger-dark { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-dark-l)) !important; +} + +.has-background-danger-dark { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-dark-l)) !important; +} + +.has-text-danger-dark-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-dark-invert-l)) !important; +} + +.has-background-danger-dark-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-dark-invert-l)) !important; +} + +.has-text-danger-soft { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-soft-l)) !important; +} + +.has-background-danger-soft { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-soft-l)) !important; +} + +.has-text-danger-bold { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-bold-l)) !important; +} + +.has-background-danger-bold { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-bold-l)) !important; +} + +.has-text-danger-soft-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-soft-invert-l)) !important; +} + +.has-background-danger-soft-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-soft-invert-l)) !important; +} + +.has-text-danger-bold-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-bold-invert-l)) !important; +} + +.has-background-danger-bold-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-bold-invert-l)) !important; +} + +.has-text-danger-00 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-00-l)) !important; +} + +.has-background-danger-00 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-00-l)) !important; +} + +.has-text-danger-00-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-00-invert-l)) !important; +} + +.has-background-danger-00-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-00-invert-l)) !important; +} + +.has-text-danger-05 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-05-l)) !important; +} + +.has-background-danger-05 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-05-l)) !important; +} + +.has-text-danger-05-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-05-invert-l)) !important; +} + +.has-background-danger-05-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-05-invert-l)) !important; +} + +.has-text-danger-10 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-10-l)) !important; +} + +.has-background-danger-10 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-10-l)) !important; +} + +.has-text-danger-10-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-10-invert-l)) !important; +} + +.has-background-danger-10-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-10-invert-l)) !important; +} + +.has-text-danger-15 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-15-l)) !important; +} + +.has-background-danger-15 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-15-l)) !important; +} + +.has-text-danger-15-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-15-invert-l)) !important; +} + +.has-background-danger-15-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-15-invert-l)) !important; +} + +.has-text-danger-20 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-20-l)) !important; +} + +.has-background-danger-20 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-20-l)) !important; +} + +.has-text-danger-20-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-20-invert-l)) !important; +} + +.has-background-danger-20-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-20-invert-l)) !important; +} + +.has-text-danger-25 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-25-l)) !important; +} + +.has-background-danger-25 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-25-l)) !important; +} + +.has-text-danger-25-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-25-invert-l)) !important; +} + +.has-background-danger-25-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-25-invert-l)) !important; +} + +.has-text-danger-30 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-30-l)) !important; +} + +.has-background-danger-30 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-30-l)) !important; +} + +.has-text-danger-30-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-30-invert-l)) !important; +} + +.has-background-danger-30-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-30-invert-l)) !important; +} + +.has-text-danger-35 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-35-l)) !important; +} + +.has-background-danger-35 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-35-l)) !important; +} + +.has-text-danger-35-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-35-invert-l)) !important; +} + +.has-background-danger-35-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-35-invert-l)) !important; +} + +.has-text-danger-40 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-40-l)) !important; +} + +.has-background-danger-40 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-40-l)) !important; +} + +.has-text-danger-40-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-40-invert-l)) !important; +} + +.has-background-danger-40-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-40-invert-l)) !important; +} + +.has-text-danger-45 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-45-l)) !important; +} + +.has-background-danger-45 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-45-l)) !important; +} + +.has-text-danger-45-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-45-invert-l)) !important; +} + +.has-background-danger-45-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-45-invert-l)) !important; +} + +.has-text-danger-50 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-50-l)) !important; +} + +.has-background-danger-50 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-50-l)) !important; +} + +.has-text-danger-50-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-50-invert-l)) !important; +} + +.has-background-danger-50-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-50-invert-l)) !important; +} + +.has-text-danger-55 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-55-l)) !important; +} + +.has-background-danger-55 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-55-l)) !important; +} + +.has-text-danger-55-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-55-invert-l)) !important; +} + +.has-background-danger-55-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-55-invert-l)) !important; +} + +.has-text-danger-60 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-60-l)) !important; +} + +.has-background-danger-60 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-60-l)) !important; +} + +.has-text-danger-60-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-60-invert-l)) !important; +} + +.has-background-danger-60-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-60-invert-l)) !important; +} + +.has-text-danger-65 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-65-l)) !important; +} + +.has-background-danger-65 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-65-l)) !important; +} + +.has-text-danger-65-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-65-invert-l)) !important; +} + +.has-background-danger-65-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-65-invert-l)) !important; +} + +.has-text-danger-70 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-70-l)) !important; +} + +.has-background-danger-70 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-70-l)) !important; +} + +.has-text-danger-70-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-70-invert-l)) !important; +} + +.has-background-danger-70-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-70-invert-l)) !important; +} + +.has-text-danger-75 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-75-l)) !important; +} + +.has-background-danger-75 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-75-l)) !important; +} + +.has-text-danger-75-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-75-invert-l)) !important; +} + +.has-background-danger-75-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-75-invert-l)) !important; +} + +.has-text-danger-80 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-80-l)) !important; +} + +.has-background-danger-80 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-80-l)) !important; +} + +.has-text-danger-80-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-80-invert-l)) !important; +} + +.has-background-danger-80-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-80-invert-l)) !important; +} + +.has-text-danger-85 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-85-l)) !important; +} + +.has-background-danger-85 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-85-l)) !important; +} + +.has-text-danger-85-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-85-invert-l)) !important; +} + +.has-background-danger-85-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-85-invert-l)) !important; +} + +.has-text-danger-90 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-90-l)) !important; +} + +.has-background-danger-90 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-90-l)) !important; +} + +.has-text-danger-90-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-90-invert-l)) !important; +} + +.has-background-danger-90-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-90-invert-l)) !important; +} + +.has-text-danger-95 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-95-l)) !important; +} + +.has-background-danger-95 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-95-l)) !important; +} + +.has-text-danger-95-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-95-invert-l)) !important; +} + +.has-background-danger-95-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-95-invert-l)) !important; +} + +.has-text-danger-100 { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-100-l)) !important; +} + +.has-background-danger-100 { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-100-l)) !important; +} + +.has-text-danger-100-invert { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-100-invert-l)) !important; +} + +.has-background-danger-100-invert { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-100-invert-l)) !important; +} + +a.has-text-danger:hover, a.has-text-danger:focus-visible, +button.has-text-danger:hover, +button.has-text-danger:focus-visible, +has-text-danger.is-hoverable:hover, +has-text-danger.is-hoverable:focus-visible { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), calc(var(--bulma-danger-l) + var(--bulma-hover-color-l-delta))) !important; +} +a.has-text-danger:active, +button.has-text-danger:active, +has-text-danger.is-hoverable:active { + color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), calc(var(--bulma-danger-l) + var(--bulma-active-color-l-delta))) !important; +} + +a.has-background-danger:hover, a.has-background-danger:focus-visible, +button.has-background-danger:hover, +button.has-background-danger:focus-visible, +has-background-danger.is-hoverable:hover, +has-background-danger.is-hoverable:focus-visible { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), calc(var(--bulma-danger-l) + var(--bulma-hover-background-l-delta))) !important; +} +a.has-background-danger:active, +button.has-background-danger:active, +has-background-danger.is-hoverable:active { + background-color: hsl(var(--bulma-danger-h), var(--bulma-danger-s), calc(var(--bulma-danger-l) + var(--bulma-active-background-l-delta))) !important; +} + +.is-palette-danger { + --h: var(--bulma-danger-h); + --s: var(--bulma-danger-s); + --l: var(--bulma-danger-l); + --color: hsl(var(--h), var(--s), var(--l)); + --00-l: var(--bulma-danger-00-l); + --color-00: hsl(var(--h), var(--s), var(--00-l)); + --05-l: var(--bulma-danger-05-l); + --color-05: hsl(var(--h), var(--s), var(--05-l)); + --10-l: var(--bulma-danger-10-l); + --color-10: hsl(var(--h), var(--s), var(--10-l)); + --15-l: var(--bulma-danger-15-l); + --color-15: hsl(var(--h), var(--s), var(--15-l)); + --20-l: var(--bulma-danger-20-l); + --color-20: hsl(var(--h), var(--s), var(--20-l)); + --25-l: var(--bulma-danger-25-l); + --color-25: hsl(var(--h), var(--s), var(--25-l)); + --30-l: var(--bulma-danger-30-l); + --color-30: hsl(var(--h), var(--s), var(--30-l)); + --35-l: var(--bulma-danger-35-l); + --color-35: hsl(var(--h), var(--s), var(--35-l)); + --40-l: var(--bulma-danger-40-l); + --color-40: hsl(var(--h), var(--s), var(--40-l)); + --45-l: var(--bulma-danger-45-l); + --color-45: hsl(var(--h), var(--s), var(--45-l)); + --50-l: var(--bulma-danger-50-l); + --color-50: hsl(var(--h), var(--s), var(--50-l)); + --55-l: var(--bulma-danger-55-l); + --color-55: hsl(var(--h), var(--s), var(--55-l)); + --60-l: var(--bulma-danger-60-l); + --color-60: hsl(var(--h), var(--s), var(--60-l)); + --65-l: var(--bulma-danger-65-l); + --color-65: hsl(var(--h), var(--s), var(--65-l)); + --70-l: var(--bulma-danger-70-l); + --color-70: hsl(var(--h), var(--s), var(--70-l)); + --75-l: var(--bulma-danger-75-l); + --color-75: hsl(var(--h), var(--s), var(--75-l)); + --80-l: var(--bulma-danger-80-l); + --color-80: hsl(var(--h), var(--s), var(--80-l)); + --85-l: var(--bulma-danger-85-l); + --color-85: hsl(var(--h), var(--s), var(--85-l)); + --90-l: var(--bulma-danger-90-l); + --color-90: hsl(var(--h), var(--s), var(--90-l)); + --95-l: var(--bulma-danger-95-l); + --color-95: hsl(var(--h), var(--s), var(--95-l)); + --100-l: var(--bulma-danger-100-l); + --color-100: hsl(var(--h), var(--s), var(--100-l)); +} + +.has-text-black-bis { + color: hsl(221, 14%, 9%) !important; +} + +.has-background-black-bis { + background-color: hsl(221, 14%, 9%) !important; +} + +.has-text-black-ter { + color: hsl(221, 14%, 14%) !important; +} + +.has-background-black-ter { + background-color: hsl(221, 14%, 14%) !important; +} + +.has-text-grey-darker { + color: hsl(221, 14%, 21%) !important; +} + +.has-background-grey-darker { + background-color: hsl(221, 14%, 21%) !important; +} + +.has-text-grey-dark { + color: hsl(221, 14%, 29%) !important; +} + +.has-background-grey-dark { + background-color: hsl(221, 14%, 29%) !important; +} + +.has-text-grey { + color: hsl(221, 14%, 48%) !important; +} + +.has-background-grey { + background-color: hsl(221, 14%, 48%) !important; +} + +.has-text-grey-light { + color: hsl(221, 14%, 71%) !important; +} + +.has-background-grey-light { + background-color: hsl(221, 14%, 71%) !important; +} + +.has-text-grey-lighter { + color: hsl(221, 14%, 86%) !important; +} + +.has-background-grey-lighter { + background-color: hsl(221, 14%, 86%) !important; +} + +.has-text-white-ter { + color: hsl(221, 14%, 96%) !important; +} + +.has-background-white-ter { + background-color: hsl(221, 14%, 96%) !important; +} + +.has-text-white-bis { + color: hsl(221, 14%, 98%) !important; +} + +.has-background-white-bis { + background-color: hsl(221, 14%, 98%) !important; +} + +.has-text-current { + color: currentColor !important; +} + +.has-text-inherit { + color: inherit !important; +} + +.has-background-current { + background-color: currentColor !important; +} + +.has-background-inherit { + background-color: inherit !important; +} + +.is-flex-direction-row { + flex-direction: row !important; +} + +.is-flex-direction-row-reverse { + flex-direction: row-reverse !important; +} + +.is-flex-direction-column { + flex-direction: column !important; +} + +.is-flex-direction-column-reverse { + flex-direction: column-reverse !important; +} + +.is-flex-wrap-nowrap { + flex-wrap: nowrap !important; +} + +.is-flex-wrap-wrap { + flex-wrap: wrap !important; +} + +.is-flex-wrap-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.is-justify-content-flex-start { + justify-content: flex-start !important; +} + +.is-justify-content-flex-end { + justify-content: flex-end !important; +} + +.is-justify-content-center { + justify-content: center !important; +} + +.is-justify-content-space-between { + justify-content: space-between !important; +} + +.is-justify-content-space-around { + justify-content: space-around !important; +} + +.is-justify-content-space-evenly { + justify-content: space-evenly !important; +} + +.is-justify-content-start { + justify-content: start !important; +} + +.is-justify-content-end { + justify-content: end !important; +} + +.is-justify-content-left { + justify-content: left !important; +} + +.is-justify-content-right { + justify-content: right !important; +} + +.is-align-content-flex-start { + align-content: flex-start !important; +} + +.is-align-content-flex-end { + align-content: flex-end !important; +} + +.is-align-content-center { + align-content: center !important; +} + +.is-align-content-space-between { + align-content: space-between !important; +} + +.is-align-content-space-around { + align-content: space-around !important; +} + +.is-align-content-space-evenly { + align-content: space-evenly !important; +} + +.is-align-content-stretch { + align-content: stretch !important; +} + +.is-align-content-start { + align-content: start !important; +} + +.is-align-content-end { + align-content: end !important; +} + +.is-align-content-baseline { + align-content: baseline !important; +} + +.is-align-items-stretch { + align-items: stretch !important; +} + +.is-align-items-flex-start { + align-items: flex-start !important; +} + +.is-align-items-flex-end { + align-items: flex-end !important; +} + +.is-align-items-center { + align-items: center !important; +} + +.is-align-items-baseline { + align-items: baseline !important; +} + +.is-align-items-start { + align-items: start !important; +} + +.is-align-items-end { + align-items: end !important; +} + +.is-align-items-self-start { + align-items: self-start !important; +} + +.is-align-items-self-end { + align-items: self-end !important; +} + +.is-align-self-auto { + align-self: auto !important; +} + +.is-align-self-flex-start { + align-self: flex-start !important; +} + +.is-align-self-flex-end { + align-self: flex-end !important; +} + +.is-align-self-center { + align-self: center !important; +} + +.is-align-self-baseline { + align-self: baseline !important; +} + +.is-align-self-stretch { + align-self: stretch !important; +} + +.is-flex-grow-0 { + flex-grow: 0 !important; +} + +.is-flex-grow-1 { + flex-grow: 1 !important; +} + +.is-flex-grow-2 { + flex-grow: 2 !important; +} + +.is-flex-grow-3 { + flex-grow: 3 !important; +} + +.is-flex-grow-4 { + flex-grow: 4 !important; +} + +.is-flex-grow-5 { + flex-grow: 5 !important; +} + +.is-flex-shrink-0 { + flex-shrink: 0 !important; +} + +.is-flex-shrink-1 { + flex-shrink: 1 !important; +} + +.is-flex-shrink-2 { + flex-shrink: 2 !important; +} + +.is-flex-shrink-3 { + flex-shrink: 3 !important; +} + +.is-flex-shrink-4 { + flex-shrink: 4 !important; +} + +.is-flex-shrink-5 { + flex-shrink: 5 !important; +} + +.is-clearfix::after { + clear: both; + content: " "; + display: table; +} + +.is-float-left, +.is-pulled-left { + float: left !important; +} + +.is-float-right, +.is-pulled-right { + float: right !important; +} + +.is-float-none { + float: none !important; +} + +.is-clear-both { + clear: both !important; +} + +.is-clear-left { + clear: left !important; +} + +.is-clear-none { + clear: none !important; +} + +.is-clear-right { + clear: right !important; +} + +.is-gapless { + gap: 0 !important; +} + +.is-gap-0 { + gap: 0rem !important; +} + +.is-gap-0\.5 { + gap: 0.25rem !important; +} + +.is-gap-1 { + gap: 0.5rem !important; +} + +.is-gap-1\.5 { + gap: 0.75rem !important; +} + +.is-gap-2 { + gap: 1rem !important; +} + +.is-gap-2\.5 { + gap: 1.25rem !important; +} + +.is-gap-3 { + gap: 1.5rem !important; +} + +.is-gap-3\.5 { + gap: 1.75rem !important; +} + +.is-gap-4 { + gap: 2rem !important; +} + +.is-gap-4\.5 { + gap: 2.25rem !important; +} + +.is-gap-5 { + gap: 2.5rem !important; +} + +.is-gap-5\.5 { + gap: 2.75rem !important; +} + +.is-gap-6 { + gap: 3rem !important; +} + +.is-gap-6\.5 { + gap: 3.25rem !important; +} + +.is-gap-7 { + gap: 3.5rem !important; +} + +.is-gap-7\.5 { + gap: 3.75rem !important; +} + +.is-gap-8 { + gap: 4rem !important; +} + +.is-column-gap-0 { + column-gap: 0rem !important; +} + +.is-column-gap-0\.5 { + column-gap: 0.25rem !important; +} + +.is-column-gap-1 { + column-gap: 0.5rem !important; +} + +.is-column-gap-1\.5 { + column-gap: 0.75rem !important; +} + +.is-column-gap-2 { + column-gap: 1rem !important; +} + +.is-column-gap-2\.5 { + column-gap: 1.25rem !important; +} + +.is-column-gap-3 { + column-gap: 1.5rem !important; +} + +.is-column-gap-3\.5 { + column-gap: 1.75rem !important; +} + +.is-column-gap-4 { + column-gap: 2rem !important; +} + +.is-column-gap-4\.5 { + column-gap: 2.25rem !important; +} + +.is-column-gap-5 { + column-gap: 2.5rem !important; +} + +.is-column-gap-5\.5 { + column-gap: 2.75rem !important; +} + +.is-column-gap-6 { + column-gap: 3rem !important; +} + +.is-column-gap-6\.5 { + column-gap: 3.25rem !important; +} + +.is-column-gap-7 { + column-gap: 3.5rem !important; +} + +.is-column-gap-7\.5 { + column-gap: 3.75rem !important; +} + +.is-column-gap-8 { + column-gap: 4rem !important; +} + +.is-row-gap-0 { + row-gap: 0rem !important; +} + +.is-row-gap-0\.5 { + row-gap: 0.25rem !important; +} + +.is-row-gap-1 { + row-gap: 0.5rem !important; +} + +.is-row-gap-1\.5 { + row-gap: 0.75rem !important; +} + +.is-row-gap-2 { + row-gap: 1rem !important; +} + +.is-row-gap-2\.5 { + row-gap: 1.25rem !important; +} + +.is-row-gap-3 { + row-gap: 1.5rem !important; +} + +.is-row-gap-3\.5 { + row-gap: 1.75rem !important; +} + +.is-row-gap-4 { + row-gap: 2rem !important; +} + +.is-row-gap-4\.5 { + row-gap: 2.25rem !important; +} + +.is-row-gap-5 { + row-gap: 2.5rem !important; +} + +.is-row-gap-5\.5 { + row-gap: 2.75rem !important; +} + +.is-row-gap-6 { + row-gap: 3rem !important; +} + +.is-row-gap-6\.5 { + row-gap: 3.25rem !important; +} + +.is-row-gap-7 { + row-gap: 3.5rem !important; +} + +.is-row-gap-7\.5 { + row-gap: 3.75rem !important; +} + +.is-row-gap-8 { + row-gap: 4rem !important; +} + +.is-clipped { + overflow: hidden !important; +} + +.is-overflow-auto { + overflow: auto !important; +} + +.is-overflow-x-auto { + overflow-x: auto !important; +} + +.is-overflow-y-auto { + overflow-y: auto !important; +} + +.is-overflow-clip { + overflow: clip !important; +} + +.is-overflow-x-clip { + overflow-x: clip !important; +} + +.is-overflow-y-clip { + overflow-y: clip !important; +} + +.is-overflow-hidden { + overflow: hidden !important; +} + +.is-overflow-x-hidden { + overflow-x: hidden !important; +} + +.is-overflow-y-hidden { + overflow-y: hidden !important; +} + +.is-overflow-scroll { + overflow: scroll !important; +} + +.is-overflow-x-scroll { + overflow-x: scroll !important; +} + +.is-overflow-y-scroll { + overflow-y: scroll !important; +} + +.is-overflow-visible { + overflow: visible !important; +} + +.is-overflow-x-visible { + overflow-x: visible !important; +} + +.is-overflow-y-visible { + overflow-y: visible !important; +} + +.is-relative { + position: relative !important; +} + +.is-position-absolute { + position: absolute !important; +} + +.is-position-fixed { + position: fixed !important; +} + +.is-position-relative { + position: relative !important; +} + +.is-position-static { + position: static !important; +} + +.is-position-sticky { + position: sticky !important; +} + +.marginless { + margin: 0 !important; +} + +.paddingless { + padding: 0 !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mr-0 { + margin-right: 0 !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.ml-0 { + margin-left: 0 !important; +} + +.mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mr-1 { + margin-right: 0.25rem !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1 { + margin-left: 0.25rem !important; +} + +.mx-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mr-2 { + margin-right: 0.5rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2 { + margin-left: 0.5rem !important; +} + +.mx-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.m-3 { + margin: 0.75rem !important; +} + +.mt-3 { + margin-top: 0.75rem !important; +} + +.mr-3 { + margin-right: 0.75rem !important; +} + +.mb-3 { + margin-bottom: 0.75rem !important; +} + +.ml-3 { + margin-left: 0.75rem !important; +} + +.mx-3 { + margin-left: 0.75rem !important; + margin-right: 0.75rem !important; +} + +.my-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; +} + +.m-4 { + margin: 1rem !important; +} + +.mt-4 { + margin-top: 1rem !important; +} + +.mr-4 { + margin-right: 1rem !important; +} + +.mb-4 { + margin-bottom: 1rem !important; +} + +.ml-4 { + margin-left: 1rem !important; +} + +.mx-4 { + margin-left: 1rem !important; + margin-right: 1rem !important; +} + +.my-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.m-5 { + margin: 1.5rem !important; +} + +.mt-5 { + margin-top: 1.5rem !important; +} + +.mr-5 { + margin-right: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 1.5rem !important; +} + +.ml-5 { + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; +} + +.my-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.m-6 { + margin: 3rem !important; +} + +.mt-6 { + margin-top: 3rem !important; +} + +.mr-6 { + margin-right: 3rem !important; +} + +.mb-6 { + margin-bottom: 3rem !important; +} + +.ml-6 { + margin-left: 3rem !important; +} + +.mx-6 { + margin-left: 3rem !important; + margin-right: 3rem !important; +} + +.my-6 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.mr-auto { + margin-right: auto !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ml-auto { + margin-left: auto !important; +} + +.mx-auto { + margin-left: auto !important; + margin-right: auto !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pr-0 { + padding-right: 0 !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pl-0 { + padding-left: 0 !important; +} + +.px-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pr-1 { + padding-right: 0.25rem !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1 { + padding-left: 0.25rem !important; +} + +.px-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pr-2 { + padding-right: 0.5rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2 { + padding-left: 0.5rem !important; +} + +.px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.p-3 { + padding: 0.75rem !important; +} + +.pt-3 { + padding-top: 0.75rem !important; +} + +.pr-3 { + padding-right: 0.75rem !important; +} + +.pb-3 { + padding-bottom: 0.75rem !important; +} + +.pl-3 { + padding-left: 0.75rem !important; +} + +.px-3 { + padding-left: 0.75rem !important; + padding-right: 0.75rem !important; +} + +.py-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; +} + +.p-4 { + padding: 1rem !important; +} + +.pt-4 { + padding-top: 1rem !important; +} + +.pr-4 { + padding-right: 1rem !important; +} + +.pb-4 { + padding-bottom: 1rem !important; +} + +.pl-4 { + padding-left: 1rem !important; +} + +.px-4 { + padding-left: 1rem !important; + padding-right: 1rem !important; +} + +.py-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.p-5 { + padding: 1.5rem !important; +} + +.pt-5 { + padding-top: 1.5rem !important; +} + +.pr-5 { + padding-right: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 1.5rem !important; +} + +.pl-5 { + padding-left: 1.5rem !important; +} + +.px-5 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; +} + +.py-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.p-6 { + padding: 3rem !important; +} + +.pt-6 { + padding-top: 3rem !important; +} + +.pr-6 { + padding-right: 3rem !important; +} + +.pb-6 { + padding-bottom: 3rem !important; +} + +.pl-6 { + padding-left: 3rem !important; +} + +.px-6 { + padding-left: 3rem !important; + padding-right: 3rem !important; +} + +.py-6 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.p-auto { + padding: auto !important; +} + +.pt-auto { + padding-top: auto !important; +} + +.pr-auto { + padding-right: auto !important; +} + +.pb-auto { + padding-bottom: auto !important; +} + +.pl-auto { + padding-left: auto !important; +} + +.px-auto { + padding-left: auto !important; + padding-right: auto !important; +} + +.py-auto { + padding-top: auto !important; + padding-bottom: auto !important; +} + +.is-size-1 { + font-size: 3rem !important; +} + +.is-size-2 { + font-size: 2.5rem !important; +} + +.is-size-3 { + font-size: 2rem !important; +} + +.is-size-4 { + font-size: 1.5rem !important; +} + +.is-size-5 { + font-size: 1.25rem !important; +} + +.is-size-6 { + font-size: 1rem !important; +} + +.is-size-7 { + font-size: 0.75rem !important; +} + +@media screen and (max-width: 768px) { + .is-size-1-mobile { + font-size: 3rem !important; + } + .is-size-2-mobile { + font-size: 2.5rem !important; + } + .is-size-3-mobile { + font-size: 2rem !important; + } + .is-size-4-mobile { + font-size: 1.5rem !important; + } + .is-size-5-mobile { + font-size: 1.25rem !important; + } + .is-size-6-mobile { + font-size: 1rem !important; + } + .is-size-7-mobile { + font-size: 0.75rem !important; + } +} +@media screen and (min-width: 769px), print { + .is-size-1-tablet { + font-size: 3rem !important; + } + .is-size-2-tablet { + font-size: 2.5rem !important; + } + .is-size-3-tablet { + font-size: 2rem !important; + } + .is-size-4-tablet { + font-size: 1.5rem !important; + } + .is-size-5-tablet { + font-size: 1.25rem !important; + } + .is-size-6-tablet { + font-size: 1rem !important; + } + .is-size-7-tablet { + font-size: 0.75rem !important; + } +} +@media screen and (max-width: 1023px) { + .is-size-1-touch { + font-size: 3rem !important; + } + .is-size-2-touch { + font-size: 2.5rem !important; + } + .is-size-3-touch { + font-size: 2rem !important; + } + .is-size-4-touch { + font-size: 1.5rem !important; + } + .is-size-5-touch { + font-size: 1.25rem !important; + } + .is-size-6-touch { + font-size: 1rem !important; + } + .is-size-7-touch { + font-size: 0.75rem !important; + } +} +@media screen and (min-width: 1024px) { + .is-size-1-desktop { + font-size: 3rem !important; + } + .is-size-2-desktop { + font-size: 2.5rem !important; + } + .is-size-3-desktop { + font-size: 2rem !important; + } + .is-size-4-desktop { + font-size: 1.5rem !important; + } + .is-size-5-desktop { + font-size: 1.25rem !important; + } + .is-size-6-desktop { + font-size: 1rem !important; + } + .is-size-7-desktop { + font-size: 0.75rem !important; + } +} +@media screen and (min-width: 1216px) { + .is-size-1-widescreen { + font-size: 3rem !important; + } + .is-size-2-widescreen { + font-size: 2.5rem !important; + } + .is-size-3-widescreen { + font-size: 2rem !important; + } + .is-size-4-widescreen { + font-size: 1.5rem !important; + } + .is-size-5-widescreen { + font-size: 1.25rem !important; + } + .is-size-6-widescreen { + font-size: 1rem !important; + } + .is-size-7-widescreen { + font-size: 0.75rem !important; + } +} +@media screen and (min-width: 1408px) { + .is-size-1-fullhd { + font-size: 3rem !important; + } + .is-size-2-fullhd { + font-size: 2.5rem !important; + } + .is-size-3-fullhd { + font-size: 2rem !important; + } + .is-size-4-fullhd { + font-size: 1.5rem !important; + } + .is-size-5-fullhd { + font-size: 1.25rem !important; + } + .is-size-6-fullhd { + font-size: 1rem !important; + } + .is-size-7-fullhd { + font-size: 0.75rem !important; + } +} +.has-text-centered { + text-align: center !important; +} + +.has-text-justified { + text-align: justify !important; +} + +.has-text-left { + text-align: left !important; +} + +.has-text-right { + text-align: right !important; +} + +@media screen and (max-width: 768px) { + .has-text-centered-mobile { + text-align: center !important; + } +} +@media screen and (min-width: 769px), print { + .has-text-centered-tablet { + text-align: center !important; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .has-text-centered-tablet-only { + text-align: center !important; + } +} +@media screen and (max-width: 1023px) { + .has-text-centered-touch { + text-align: center !important; + } +} +@media screen and (min-width: 1024px) { + .has-text-centered-desktop { + text-align: center !important; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .has-text-centered-desktop-only { + text-align: center !important; + } +} +@media screen and (min-width: 1216px) { + .has-text-centered-widescreen { + text-align: center !important; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-centered-widescreen-only { + text-align: center !important; + } +} +@media screen and (min-width: 1408px) { + .has-text-centered-fullhd { + text-align: center !important; + } +} +@media screen and (max-width: 768px) { + .has-text-justified-mobile { + text-align: justify !important; + } +} +@media screen and (min-width: 769px), print { + .has-text-justified-tablet { + text-align: justify !important; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .has-text-justified-tablet-only { + text-align: justify !important; + } +} +@media screen and (max-width: 1023px) { + .has-text-justified-touch { + text-align: justify !important; + } +} +@media screen and (min-width: 1024px) { + .has-text-justified-desktop { + text-align: justify !important; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .has-text-justified-desktop-only { + text-align: justify !important; + } +} +@media screen and (min-width: 1216px) { + .has-text-justified-widescreen { + text-align: justify !important; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-justified-widescreen-only { + text-align: justify !important; + } +} +@media screen and (min-width: 1408px) { + .has-text-justified-fullhd { + text-align: justify !important; + } +} +@media screen and (max-width: 768px) { + .has-text-left-mobile { + text-align: left !important; + } +} +@media screen and (min-width: 769px), print { + .has-text-left-tablet { + text-align: left !important; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .has-text-left-tablet-only { + text-align: left !important; + } +} +@media screen and (max-width: 1023px) { + .has-text-left-touch { + text-align: left !important; + } +} +@media screen and (min-width: 1024px) { + .has-text-left-desktop { + text-align: left !important; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .has-text-left-desktop-only { + text-align: left !important; + } +} +@media screen and (min-width: 1216px) { + .has-text-left-widescreen { + text-align: left !important; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-left-widescreen-only { + text-align: left !important; + } +} +@media screen and (min-width: 1408px) { + .has-text-left-fullhd { + text-align: left !important; + } +} +@media screen and (max-width: 768px) { + .has-text-right-mobile { + text-align: right !important; + } +} +@media screen and (min-width: 769px), print { + .has-text-right-tablet { + text-align: right !important; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .has-text-right-tablet-only { + text-align: right !important; + } +} +@media screen and (max-width: 1023px) { + .has-text-right-touch { + text-align: right !important; + } +} +@media screen and (min-width: 1024px) { + .has-text-right-desktop { + text-align: right !important; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .has-text-right-desktop-only { + text-align: right !important; + } +} +@media screen and (min-width: 1216px) { + .has-text-right-widescreen { + text-align: right !important; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-right-widescreen-only { + text-align: right !important; + } +} +@media screen and (min-width: 1408px) { + .has-text-right-fullhd { + text-align: right !important; + } +} +.is-capitalized { + text-transform: capitalize !important; +} + +.is-lowercase { + text-transform: lowercase !important; +} + +.is-uppercase { + text-transform: uppercase !important; +} + +.is-italic { + font-style: italic !important; +} + +.is-underlined { + text-decoration: underline !important; +} + +.has-text-weight-light { + font-weight: 300 !important; +} + +.has-text-weight-normal { + font-weight: 400 !important; +} + +.has-text-weight-medium { + font-weight: 500 !important; +} + +.has-text-weight-semibold { + font-weight: 600 !important; +} + +.has-text-weight-bold { + font-weight: 700 !important; +} + +.is-family-primary { + font-family: "Inter", "SF Pro", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; +} + +.is-family-secondary { + font-family: "Inter", "SF Pro", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; +} + +.is-family-sans-serif { + font-family: "Inter", "SF Pro", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; +} + +.is-family-monospace { + font-family: "Inconsolata", "Hack", "SF Mono", "Roboto Mono", "Source Code Pro", "Ubuntu Mono", monospace !important; +} + +.is-family-code { + font-family: "Inconsolata", "Hack", "SF Mono", "Roboto Mono", "Source Code Pro", "Ubuntu Mono", monospace !important; +} + +.is-display-none, +.is-hidden { + display: none !important; +} + +.is-display-block, +.is-block { + display: block !important; +} + +@media screen and (max-width: 768px) { + .is-display-block-mobile, + .is-block-mobile { + display: block !important; + } +} +@media screen and (min-width: 769px), print { + .is-display-block-tablet, + .is-block-tablet { + display: block !important; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-display-block-tablet-only, + .is-block-tablet-only { + display: block !important; + } +} +@media screen and (max-width: 1023px) { + .is-display-block-touch, + .is-block-touch { + display: block !important; + } +} +@media screen and (min-width: 1024px) { + .is-display-block-desktop, + .is-block-desktop { + display: block !important; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-display-block-desktop-only, + .is-block-desktop-only { + display: block !important; + } +} +@media screen and (min-width: 1216px) { + .is-display-block-widescreen, + .is-block-widescreen { + display: block !important; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-display-block-widescreen-only, + .is-block-widescreen-only { + display: block !important; + } +} +@media screen and (min-width: 1408px) { + .is-display-block-fullhd, + .is-block-fullhd { + display: block !important; + } +} +.is-display-flex, +.is-flex { + display: flex !important; +} + +@media screen and (max-width: 768px) { + .is-display-flex-mobile, + .is-flex-mobile { + display: flex !important; + } +} +@media screen and (min-width: 769px), print { + .is-display-flex-tablet, + .is-flex-tablet { + display: flex !important; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-display-flex-tablet-only, + .is-flex-tablet-only { + display: flex !important; + } +} +@media screen and (max-width: 1023px) { + .is-display-flex-touch, + .is-flex-touch { + display: flex !important; + } +} +@media screen and (min-width: 1024px) { + .is-display-flex-desktop, + .is-flex-desktop { + display: flex !important; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-display-flex-desktop-only, + .is-flex-desktop-only { + display: flex !important; + } +} +@media screen and (min-width: 1216px) { + .is-display-flex-widescreen, + .is-flex-widescreen { + display: flex !important; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-display-flex-widescreen-only, + .is-flex-widescreen-only { + display: flex !important; + } +} +@media screen and (min-width: 1408px) { + .is-display-flex-fullhd, + .is-flex-fullhd { + display: flex !important; + } +} +.is-display-inline, +.is-inline { + display: inline !important; +} + +@media screen and (max-width: 768px) { + .is-display-inline-mobile, + .is-inline-mobile { + display: inline !important; + } +} +@media screen and (min-width: 769px), print { + .is-display-inline-tablet, + .is-inline-tablet { + display: inline !important; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-display-inline-tablet-only, + .is-inline-tablet-only { + display: inline !important; + } +} +@media screen and (max-width: 1023px) { + .is-display-inline-touch, + .is-inline-touch { + display: inline !important; + } +} +@media screen and (min-width: 1024px) { + .is-display-inline-desktop, + .is-inline-desktop { + display: inline !important; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-display-inline-desktop-only, + .is-inline-desktop-only { + display: inline !important; + } +} +@media screen and (min-width: 1216px) { + .is-display-inline-widescreen, + .is-inline-widescreen { + display: inline !important; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-display-inline-widescreen-only, + .is-inline-widescreen-only { + display: inline !important; + } +} +@media screen and (min-width: 1408px) { + .is-display-inline-fullhd, + .is-inline-fullhd { + display: inline !important; + } +} +.is-display-inline-block, +.is-inline-block { + display: inline-block !important; +} + +@media screen and (max-width: 768px) { + .is-display-inline-block-mobile, + .is-inline-block-mobile { + display: inline-block !important; + } +} +@media screen and (min-width: 769px), print { + .is-display-inline-block-tablet, + .is-inline-block-tablet { + display: inline-block !important; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-display-inline-block-tablet-only, + .is-inline-block-tablet-only { + display: inline-block !important; + } +} +@media screen and (max-width: 1023px) { + .is-display-inline-block-touch, + .is-inline-block-touch { + display: inline-block !important; + } +} +@media screen and (min-width: 1024px) { + .is-display-inline-block-desktop, + .is-inline-block-desktop { + display: inline-block !important; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-display-inline-block-desktop-only, + .is-inline-block-desktop-only { + display: inline-block !important; + } +} +@media screen and (min-width: 1216px) { + .is-display-inline-block-widescreen, + .is-inline-block-widescreen { + display: inline-block !important; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-display-inline-block-widescreen-only, + .is-inline-block-widescreen-only { + display: inline-block !important; + } +} +@media screen and (min-width: 1408px) { + .is-display-inline-block-fullhd, + .is-inline-block-fullhd { + display: inline-block !important; + } +} +.is-display-inline-flex, +.is-inline-flex { + display: inline-flex !important; +} + +@media screen and (max-width: 768px) { + .is-display-inline-flex-mobile, + .is-inline-flex-mobile { + display: inline-flex !important; + } +} +@media screen and (min-width: 769px), print { + .is-display-inline-flex-tablet, + .is-inline-flex-tablet { + display: inline-flex !important; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-display-inline-flex-tablet-only, + .is-inline-flex-tablet-only { + display: inline-flex !important; + } +} +@media screen and (max-width: 1023px) { + .is-display-inline-flex-touch, + .is-inline-flex-touch { + display: inline-flex !important; + } +} +@media screen and (min-width: 1024px) { + .is-display-inline-flex-desktop, + .is-inline-flex-desktop { + display: inline-flex !important; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-display-inline-flex-desktop-only, + .is-inline-flex-desktop-only { + display: inline-flex !important; + } +} +@media screen and (min-width: 1216px) { + .is-display-inline-flex-widescreen, + .is-inline-flex-widescreen { + display: inline-flex !important; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-display-inline-flex-widescreen-only, + .is-inline-flex-widescreen-only { + display: inline-flex !important; + } +} +@media screen and (min-width: 1408px) { + .is-display-inline-flex-fullhd, + .is-inline-flex-fullhd { + display: inline-flex !important; + } +} +.is-display-grid, +.is-grid { + display: grid !important; +} + +@media screen and (max-width: 768px) { + .is-display-grid-mobile, + .is-grid-mobile { + display: grid !important; + } +} +@media screen and (min-width: 769px), print { + .is-display-grid-tablet, + .is-grid-tablet { + display: grid !important; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-display-grid-tablet-only, + .is-grid-tablet-only { + display: grid !important; + } +} +@media screen and (max-width: 1023px) { + .is-display-grid-touch, + .is-grid-touch { + display: grid !important; + } +} +@media screen and (min-width: 1024px) { + .is-display-grid-desktop, + .is-grid-desktop { + display: grid !important; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-display-grid-desktop-only, + .is-grid-desktop-only { + display: grid !important; + } +} +@media screen and (min-width: 1216px) { + .is-display-grid-widescreen, + .is-grid-widescreen { + display: grid !important; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-display-grid-widescreen-only, + .is-grid-widescreen-only { + display: grid !important; + } +} +@media screen and (min-width: 1408px) { + .is-display-grid-fullhd, + .is-grid-fullhd { + display: grid !important; + } +} +.is-sr-only { + border: none !important; + clip: rect(0, 0, 0, 0) !important; + height: 0.01em !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + white-space: nowrap !important; + width: 0.01em !important; +} + +@media screen and (max-width: 768px) { + .is-display-none-mobile, + .is-hidden-mobile { + display: none !important; + } +} +@media screen and (min-width: 769px), print { + .is-display-none-tablet, + .is-hidden-tablet { + display: none !important; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-display-none-tablet-only, + .is-hidden-tablet-only { + display: none !important; + } +} +@media screen and (max-width: 1023px) { + .is-display-none-touch, + .is-hidden-touch { + display: none !important; + } +} +@media screen and (min-width: 1024px) { + .is-display-none-desktop, + .is-hidden-desktop { + display: none !important; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-display-none-desktop-only, + .is-hidden-desktop-only { + display: none !important; + } +} +@media screen and (min-width: 1216px) { + .is-display-none-widescreen, + .is-hidden-widescreen { + display: none !important; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-display-none-widescreen-only, + .is-hidden-widescreen-only { + display: none !important; + } +} +@media screen and (min-width: 1408px) { + .is-display-none-fullhd, + .is-hidden-fullhd { + display: none !important; + } +} +.is-visibility-hidden, +.is-invisible { + visibility: hidden !important; +} + +@media screen and (max-width: 768px) { + .is-visibility-hidden-mobile, + .is-invisible-mobile { + visibility: hidden !important; + } +} +@media screen and (min-width: 769px), print { + .is-visibility-hidden-tablet, + .is-invisible-tablet { + visibility: hidden !important; + } +} +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-visibility-hidden-tablet-only, + .is-invisible-tablet-only { + visibility: hidden !important; + } +} +@media screen and (max-width: 1023px) { + .is-visibility-hidden-touch, + .is-invisible-touch { + visibility: hidden !important; + } +} +@media screen and (min-width: 1024px) { + .is-visibility-hidden-desktop, + .is-invisible-desktop { + visibility: hidden !important; + } +} +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-visibility-hidden-desktop-only, + .is-invisible-desktop-only { + visibility: hidden !important; + } +} +@media screen and (min-width: 1216px) { + .is-visibility-hidden-widescreen, + .is-invisible-widescreen { + visibility: hidden !important; + } +} +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-visibility-hidden-widescreen-only, + .is-invisible-widescreen-only { + visibility: hidden !important; + } +} +@media screen and (min-width: 1408px) { + .is-visibility-hidden-fullhd, + .is-invisible-fullhd { + visibility: hidden !important; + } +} +.is-radiusless { + border-radius: 0 !important; +} + +.is-shadowless { + box-shadow: none !important; +} + +.is-clickable { + cursor: pointer !important; + pointer-events: all !important; +} + +/*# sourceMappingURL=bulma.css.map */ diff --git a/src/test/resources/realworld/bulma_1_0_2.min.css b/src/test/resources/realworld/bulma_1_0_2.min.css new file mode 100644 index 0000000..eaa3fb5 --- /dev/null +++ b/src/test/resources/realworld/bulma_1_0_2.min.css @@ -0,0 +1,3 @@ +@charset "UTF-8"; +/*! bulma.io v1.0.2 | MIT License | github.com/jgthms/bulma */:root{--bulma-control-radius:var(--bulma-radius);--bulma-control-radius-small:var(--bulma-radius-small);--bulma-control-border-width:1px;--bulma-control-height:2.5em;--bulma-control-line-height:1.5;--bulma-control-padding-vertical:calc(0.5em - 1px);--bulma-control-padding-horizontal:calc(0.75em - 1px);--bulma-control-size:var(--bulma-size-normal);--bulma-control-focus-shadow-l:50%;--bulma-scheme-h:221;--bulma-scheme-s:14%;--bulma-light-l:90%;--bulma-light-invert-l:20%;--bulma-dark-l:20%;--bulma-dark-invert-l:90%;--bulma-soft-l:90%;--bulma-bold-l:20%;--bulma-soft-invert-l:20%;--bulma-bold-invert-l:90%;--bulma-hover-background-l-delta:-5%;--bulma-active-background-l-delta:-10%;--bulma-hover-border-l-delta:-10%;--bulma-active-border-l-delta:-20%;--bulma-hover-color-l-delta:-5%;--bulma-active-color-l-delta:-10%;--bulma-hover-shadow-a-delta:-0.05;--bulma-active-shadow-a-delta:-0.1;--bulma-scheme-brightness:light;--bulma-scheme-main-l:100%;--bulma-scheme-main-bis-l:98%;--bulma-scheme-main-ter-l:96%;--bulma-background-l:96%;--bulma-border-weak-l:93%;--bulma-border-l:86%;--bulma-text-weak-l:48%;--bulma-text-strong-l:21%;--bulma-text-title-l:14%;--bulma-scheme-invert-ter-l:14%;--bulma-scheme-invert-bis-l:7%;--bulma-scheme-invert-l:4%;--bulma-family-primary:Inter,SF Pro,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Helvetica,Arial,sans-serif;--bulma-family-secondary:Inter,SF Pro,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Helvetica,Arial,sans-serif;--bulma-family-code:Inconsolata,Hack,SF Mono,Roboto Mono,Source Code Pro,Ubuntu Mono,monospace;--bulma-size-small:0.75rem;--bulma-size-normal:1rem;--bulma-size-medium:1.25rem;--bulma-size-large:1.5rem;--bulma-weight-light:300;--bulma-weight-normal:400;--bulma-weight-medium:500;--bulma-weight-semibold:600;--bulma-weight-bold:700;--bulma-weight-extrabold:800;--bulma-block-spacing:1.5rem;--bulma-duration:294ms;--bulma-easing:ease-out;--bulma-radius-small:0.25rem;--bulma-radius:0.375rem;--bulma-radius-medium:0.5em;--bulma-radius-large:0.75rem;--bulma-radius-rounded:9999px;--bulma-speed:86ms;--bulma-arrow-color:var(--bulma-link);--bulma-loading-color:var(--bulma-border);--bulma-burger-h:var(--bulma-link-h);--bulma-burger-s:var(--bulma-link-s);--bulma-burger-l:var(--bulma-link-l);--bulma-burger-border-radius:0.5em;--bulma-burger-gap:5px;--bulma-burger-item-height:2px;--bulma-burger-item-width:20px;--bulma-white:hsla(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-l),1);--bulma-white-base:hsla(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-l),1);--bulma-white-rgb:255,255,255;--bulma-white-h:221deg;--bulma-white-s:14%;--bulma-white-l:100%;--bulma-white-invert-l:4%;--bulma-white-invert:#090a0c;--bulma-white-on-scheme-l:35%;--bulma-white-on-scheme:hsla(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-on-scheme-l),1);--bulma-black:hsla(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-l),1);--bulma-black-base:hsla(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-l),1);--bulma-black-rgb:9,10,12;--bulma-black-h:221deg;--bulma-black-s:14%;--bulma-black-l:4%;--bulma-black-invert-l:100%;--bulma-black-invert:#fff;--bulma-black-on-scheme-l:4%;--bulma-black-on-scheme:hsla(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-on-scheme-l),1);--bulma-light:hsla(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-l),1);--bulma-light-base:hsla(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-l),1);--bulma-light-rgb:243,244,246;--bulma-light-h:221deg;--bulma-light-s:14%;--bulma-light-l:96%;--bulma-light-invert-l:21%;--bulma-light-invert:#2e333d;--bulma-light-on-scheme-l:36%;--bulma-light-on-scheme:hsla(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-on-scheme-l),1);--bulma-dark:hsla(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-l),1);--bulma-dark-base:hsla(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-l),1);--bulma-dark-rgb:46,51,61;--bulma-dark-h:221deg;--bulma-dark-s:14%;--bulma-dark-l:21%;--bulma-dark-invert-l:96%;--bulma-dark-invert:#f3f4f6;--bulma-dark-on-scheme-l:21%;--bulma-dark-on-scheme:hsla(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-on-scheme-l),1);--bulma-text:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-l),1);--bulma-text-base:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-l),1);--bulma-text-rgb:64,70,84;--bulma-text-h:221deg;--bulma-text-s:14%;--bulma-text-l:29%;--bulma-text-00-l:0%;--bulma-text-05-l:4%;--bulma-text-10-l:9%;--bulma-text-15-l:14%;--bulma-text-20-l:19%;--bulma-text-25-l:24%;--bulma-text-30-l:29%;--bulma-text-35-l:34%;--bulma-text-40-l:39%;--bulma-text-45-l:44%;--bulma-text-50-l:49%;--bulma-text-55-l:54%;--bulma-text-60-l:59%;--bulma-text-65-l:64%;--bulma-text-70-l:69%;--bulma-text-75-l:74%;--bulma-text-80-l:79%;--bulma-text-85-l:84%;--bulma-text-90-l:89%;--bulma-text-95-l:94%;--bulma-text-100-l:99%;--bulma-text-00:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-00-l),1);--bulma-text-00-invert-l:var(--bulma-text-60-l);--bulma-text-00-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-00-invert-l),1);--bulma-text-05:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-05-l),1);--bulma-text-05-invert-l:var(--bulma-text-60-l);--bulma-text-05-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-05-invert-l),1);--bulma-text-10:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-10-l),1);--bulma-text-10-invert-l:var(--bulma-text-70-l);--bulma-text-10-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-10-invert-l),1);--bulma-text-15:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-15-l),1);--bulma-text-15-invert-l:var(--bulma-text-75-l);--bulma-text-15-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-15-invert-l),1);--bulma-text-20:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-20-l),1);--bulma-text-20-invert-l:var(--bulma-text-85-l);--bulma-text-20-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-20-invert-l),1);--bulma-text-25:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-25-l),1);--bulma-text-25-invert-l:var(--bulma-text-95-l);--bulma-text-25-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-25-invert-l),1);--bulma-text-30:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-30-l),1);--bulma-text-30-invert-l:var(--bulma-text-100-l);--bulma-text-30-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-30-invert-l),1);--bulma-text-35:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-35-l),1);--bulma-text-35-invert-l:var(--bulma-text-100-l);--bulma-text-35-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-35-invert-l),1);--bulma-text-40:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-40-l),1);--bulma-text-40-invert-l:var(--bulma-text-100-l);--bulma-text-40-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-40-invert-l),1);--bulma-text-45:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-45-l),1);--bulma-text-45-invert-l:var(--bulma-text-100-l);--bulma-text-45-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-45-invert-l),1);--bulma-text-50:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-50-l),1);--bulma-text-50-invert-l:var(--bulma-text-100-l);--bulma-text-50-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-50-invert-l),1);--bulma-text-55:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-55-l),1);--bulma-text-55-invert-l:var(--bulma-text-100-l);--bulma-text-55-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-55-invert-l),1);--bulma-text-60:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-60-l),1);--bulma-text-60-invert-l:var(--bulma-text-05-l);--bulma-text-60-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-60-invert-l),1);--bulma-text-65:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-65-l),1);--bulma-text-65-invert-l:var(--bulma-text-05-l);--bulma-text-65-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-65-invert-l),1);--bulma-text-70:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-70-l),1);--bulma-text-70-invert-l:var(--bulma-text-10-l);--bulma-text-70-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-70-invert-l),1);--bulma-text-75:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-75-l),1);--bulma-text-75-invert-l:var(--bulma-text-15-l);--bulma-text-75-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-75-invert-l),1);--bulma-text-80:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-80-l),1);--bulma-text-80-invert-l:var(--bulma-text-15-l);--bulma-text-80-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-80-invert-l),1);--bulma-text-85:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-85-l),1);--bulma-text-85-invert-l:var(--bulma-text-20-l);--bulma-text-85-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-85-invert-l),1);--bulma-text-90:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-90-l),1);--bulma-text-90-invert-l:var(--bulma-text-20-l);--bulma-text-90-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-90-invert-l),1);--bulma-text-95:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-95-l),1);--bulma-text-95-invert-l:var(--bulma-text-25-l);--bulma-text-95-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-95-invert-l),1);--bulma-text-100:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-100-l),1);--bulma-text-100-invert-l:var(--bulma-text-25-l);--bulma-text-100-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-100-invert-l),1);--bulma-text-invert-l:var(--bulma-text-100-l);--bulma-text-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-invert-l),1);--bulma-text-light-l:var(--bulma-text-90-l);--bulma-text-light:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-light-l),1);--bulma-text-light-invert-l:var(--bulma-text-20-l);--bulma-text-light-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-light-invert-l),1);--bulma-text-dark-l:var(--bulma-text-10-l);--bulma-text-dark:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-dark-l),1);--bulma-text-dark-invert-l:var(--bulma-text-70-l);--bulma-text-dark-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-dark-invert-l),1);--bulma-text-soft:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-soft-l),1);--bulma-text-bold:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-bold-l),1);--bulma-text-soft-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-soft-invert-l),1);--bulma-text-bold-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-bold-invert-l),1);--bulma-text-on-scheme-l:29%;--bulma-text-on-scheme:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-on-scheme-l),1);--bulma-primary:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-l),1);--bulma-primary-base:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-l),1);--bulma-primary-rgb:0,209,178;--bulma-primary-h:171deg;--bulma-primary-s:100%;--bulma-primary-l:41%;--bulma-primary-00-l:1%;--bulma-primary-05-l:6%;--bulma-primary-10-l:11%;--bulma-primary-15-l:16%;--bulma-primary-20-l:21%;--bulma-primary-25-l:26%;--bulma-primary-30-l:31%;--bulma-primary-35-l:36%;--bulma-primary-40-l:41%;--bulma-primary-45-l:46%;--bulma-primary-50-l:51%;--bulma-primary-55-l:56%;--bulma-primary-60-l:61%;--bulma-primary-65-l:66%;--bulma-primary-70-l:71%;--bulma-primary-75-l:76%;--bulma-primary-80-l:81%;--bulma-primary-85-l:86%;--bulma-primary-90-l:91%;--bulma-primary-95-l:96%;--bulma-primary-100-l:100%;--bulma-primary-00:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-00-l),1);--bulma-primary-00-invert-l:var(--bulma-primary-30-l);--bulma-primary-00-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-00-invert-l),1);--bulma-primary-05:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-05-l),1);--bulma-primary-05-invert-l:var(--bulma-primary-40-l);--bulma-primary-05-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-05-invert-l),1);--bulma-primary-10:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-10-l),1);--bulma-primary-10-invert-l:var(--bulma-primary-50-l);--bulma-primary-10-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-10-invert-l),1);--bulma-primary-15:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-15-l),1);--bulma-primary-15-invert-l:var(--bulma-primary-100-l);--bulma-primary-15-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-15-invert-l),1);--bulma-primary-20:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-20-l),1);--bulma-primary-20-invert-l:var(--bulma-primary-100-l);--bulma-primary-20-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-20-invert-l),1);--bulma-primary-25:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-25-l),1);--bulma-primary-25-invert-l:var(--bulma-primary-100-l);--bulma-primary-25-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-25-invert-l),1);--bulma-primary-30:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-30-l),1);--bulma-primary-30-invert-l:var(--bulma-primary-00-l);--bulma-primary-30-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-30-invert-l),1);--bulma-primary-35:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-35-l),1);--bulma-primary-35-invert-l:var(--bulma-primary-00-l);--bulma-primary-35-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-35-invert-l),1);--bulma-primary-40:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-40-l),1);--bulma-primary-40-invert-l:var(--bulma-primary-05-l);--bulma-primary-40-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-40-invert-l),1);--bulma-primary-45:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-45-l),1);--bulma-primary-45-invert-l:var(--bulma-primary-05-l);--bulma-primary-45-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-45-invert-l),1);--bulma-primary-50:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-50-l),1);--bulma-primary-50-invert-l:var(--bulma-primary-10-l);--bulma-primary-50-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-50-invert-l),1);--bulma-primary-55:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-55-l),1);--bulma-primary-55-invert-l:var(--bulma-primary-10-l);--bulma-primary-55-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-55-invert-l),1);--bulma-primary-60:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-60-l),1);--bulma-primary-60-invert-l:var(--bulma-primary-10-l);--bulma-primary-60-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-60-invert-l),1);--bulma-primary-65:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-65-l),1);--bulma-primary-65-invert-l:var(--bulma-primary-10-l);--bulma-primary-65-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-65-invert-l),1);--bulma-primary-70:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-70-l),1);--bulma-primary-70-invert-l:var(--bulma-primary-10-l);--bulma-primary-70-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-70-invert-l),1);--bulma-primary-75:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-75-l),1);--bulma-primary-75-invert-l:var(--bulma-primary-10-l);--bulma-primary-75-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-75-invert-l),1);--bulma-primary-80:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-80-l),1);--bulma-primary-80-invert-l:var(--bulma-primary-10-l);--bulma-primary-80-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-80-invert-l),1);--bulma-primary-85:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-85-l),1);--bulma-primary-85-invert-l:var(--bulma-primary-10-l);--bulma-primary-85-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-85-invert-l),1);--bulma-primary-90:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-90-l),1);--bulma-primary-90-invert-l:var(--bulma-primary-10-l);--bulma-primary-90-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-90-invert-l),1);--bulma-primary-95:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-95-l),1);--bulma-primary-95-invert-l:var(--bulma-primary-10-l);--bulma-primary-95-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-95-invert-l),1);--bulma-primary-100:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-100-l),1);--bulma-primary-100-invert-l:var(--bulma-primary-15-l);--bulma-primary-100-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-100-invert-l),1);--bulma-primary-invert-l:var(--bulma-primary-05-l);--bulma-primary-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-invert-l),1);--bulma-primary-light-l:var(--bulma-primary-90-l);--bulma-primary-light:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-light-l),1);--bulma-primary-light-invert-l:var(--bulma-primary-10-l);--bulma-primary-light-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-light-invert-l),1);--bulma-primary-dark-l:var(--bulma-primary-10-l);--bulma-primary-dark:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-dark-l),1);--bulma-primary-dark-invert-l:var(--bulma-primary-50-l);--bulma-primary-dark-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-dark-invert-l),1);--bulma-primary-soft:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-soft-l),1);--bulma-primary-bold:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-bold-l),1);--bulma-primary-soft-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-soft-invert-l),1);--bulma-primary-bold-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-bold-invert-l),1);--bulma-primary-on-scheme-l:21%;--bulma-primary-on-scheme:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-on-scheme-l),1);--bulma-link:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-l),1);--bulma-link-base:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-l),1);--bulma-link-rgb:66,88,255;--bulma-link-h:233deg;--bulma-link-s:100%;--bulma-link-l:63%;--bulma-link-00-l:0%;--bulma-link-05-l:3%;--bulma-link-10-l:8%;--bulma-link-15-l:13%;--bulma-link-20-l:18%;--bulma-link-25-l:23%;--bulma-link-30-l:28%;--bulma-link-35-l:33%;--bulma-link-40-l:38%;--bulma-link-45-l:43%;--bulma-link-50-l:48%;--bulma-link-55-l:53%;--bulma-link-60-l:58%;--bulma-link-65-l:63%;--bulma-link-70-l:68%;--bulma-link-75-l:73%;--bulma-link-80-l:78%;--bulma-link-85-l:83%;--bulma-link-90-l:88%;--bulma-link-95-l:93%;--bulma-link-100-l:98%;--bulma-link-00:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-00-l),1);--bulma-link-00-invert-l:var(--bulma-link-75-l);--bulma-link-00-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-00-invert-l),1);--bulma-link-05:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-05-l),1);--bulma-link-05-invert-l:var(--bulma-link-75-l);--bulma-link-05-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-05-invert-l),1);--bulma-link-10:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-10-l),1);--bulma-link-10-invert-l:var(--bulma-link-75-l);--bulma-link-10-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-10-invert-l),1);--bulma-link-15:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-15-l),1);--bulma-link-15-invert-l:var(--bulma-link-80-l);--bulma-link-15-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-15-invert-l),1);--bulma-link-20:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-20-l),1);--bulma-link-20-invert-l:var(--bulma-link-80-l);--bulma-link-20-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-20-invert-l),1);--bulma-link-25:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-25-l),1);--bulma-link-25-invert-l:var(--bulma-link-85-l);--bulma-link-25-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-25-invert-l),1);--bulma-link-30:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-30-l),1);--bulma-link-30-invert-l:var(--bulma-link-90-l);--bulma-link-30-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-30-invert-l),1);--bulma-link-35:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-35-l),1);--bulma-link-35-invert-l:var(--bulma-link-90-l);--bulma-link-35-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-35-invert-l),1);--bulma-link-40:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-40-l),1);--bulma-link-40-invert-l:var(--bulma-link-95-l);--bulma-link-40-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-40-invert-l),1);--bulma-link-45:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-45-l),1);--bulma-link-45-invert-l:var(--bulma-link-100-l);--bulma-link-45-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-45-invert-l),1);--bulma-link-50:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-50-l),1);--bulma-link-50-invert-l:var(--bulma-link-100-l);--bulma-link-50-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-50-invert-l),1);--bulma-link-55:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-55-l),1);--bulma-link-55-invert-l:var(--bulma-link-100-l);--bulma-link-55-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-55-invert-l),1);--bulma-link-60:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-60-l),1);--bulma-link-60-invert-l:var(--bulma-link-100-l);--bulma-link-60-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-60-invert-l),1);--bulma-link-65:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-65-l),1);--bulma-link-65-invert-l:var(--bulma-link-100-l);--bulma-link-65-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-65-invert-l),1);--bulma-link-70:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-70-l),1);--bulma-link-70-invert-l:var(--bulma-link-100-l);--bulma-link-70-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-70-invert-l),1);--bulma-link-75:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-75-l),1);--bulma-link-75-invert-l:var(--bulma-link-10-l);--bulma-link-75-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-75-invert-l),1);--bulma-link-80:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-80-l),1);--bulma-link-80-invert-l:var(--bulma-link-20-l);--bulma-link-80-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-80-invert-l),1);--bulma-link-85:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-85-l),1);--bulma-link-85-invert-l:var(--bulma-link-25-l);--bulma-link-85-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-85-invert-l),1);--bulma-link-90:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-90-l),1);--bulma-link-90-invert-l:var(--bulma-link-35-l);--bulma-link-90-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-90-invert-l),1);--bulma-link-95:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-95-l),1);--bulma-link-95-invert-l:var(--bulma-link-40-l);--bulma-link-95-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-95-invert-l),1);--bulma-link-100:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-100-l),1);--bulma-link-100-invert-l:var(--bulma-link-50-l);--bulma-link-100-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-100-invert-l),1);--bulma-link-invert-l:var(--bulma-link-100-l);--bulma-link-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-invert-l),1);--bulma-link-light-l:var(--bulma-link-90-l);--bulma-link-light:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-light-l),1);--bulma-link-light-invert-l:var(--bulma-link-35-l);--bulma-link-light-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-light-invert-l),1);--bulma-link-dark-l:var(--bulma-link-10-l);--bulma-link-dark:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-dark-l),1);--bulma-link-dark-invert-l:var(--bulma-link-75-l);--bulma-link-dark-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-dark-invert-l),1);--bulma-link-soft:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-soft-l),1);--bulma-link-bold:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-bold-l),1);--bulma-link-soft-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-soft-invert-l),1);--bulma-link-bold-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-bold-invert-l),1);--bulma-link-on-scheme-l:58%;--bulma-link-on-scheme:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-on-scheme-l),1);--bulma-info:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-l),1);--bulma-info-base:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-l),1);--bulma-info-rgb:102,209,255;--bulma-info-h:198deg;--bulma-info-s:100%;--bulma-info-l:70%;--bulma-info-00-l:0%;--bulma-info-05-l:5%;--bulma-info-10-l:10%;--bulma-info-15-l:15%;--bulma-info-20-l:20%;--bulma-info-25-l:25%;--bulma-info-30-l:30%;--bulma-info-35-l:35%;--bulma-info-40-l:40%;--bulma-info-45-l:45%;--bulma-info-50-l:50%;--bulma-info-55-l:55%;--bulma-info-60-l:60%;--bulma-info-65-l:65%;--bulma-info-70-l:70%;--bulma-info-75-l:75%;--bulma-info-80-l:80%;--bulma-info-85-l:85%;--bulma-info-90-l:90%;--bulma-info-95-l:95%;--bulma-info-100-l:100%;--bulma-info-00:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-00-l),1);--bulma-info-00-invert-l:var(--bulma-info-45-l);--bulma-info-00-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-00-invert-l),1);--bulma-info-05:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-05-l),1);--bulma-info-05-invert-l:var(--bulma-info-50-l);--bulma-info-05-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-05-invert-l),1);--bulma-info-10:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-10-l),1);--bulma-info-10-invert-l:var(--bulma-info-60-l);--bulma-info-10-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-10-invert-l),1);--bulma-info-15:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-15-l),1);--bulma-info-15-invert-l:var(--bulma-info-80-l);--bulma-info-15-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-15-invert-l),1);--bulma-info-20:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-20-l),1);--bulma-info-20-invert-l:var(--bulma-info-95-l);--bulma-info-20-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-20-invert-l),1);--bulma-info-25:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-25-l),1);--bulma-info-25-invert-l:var(--bulma-info-100-l);--bulma-info-25-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-25-invert-l),1);--bulma-info-30:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-30-l),1);--bulma-info-30-invert-l:var(--bulma-info-100-l);--bulma-info-30-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-30-invert-l),1);--bulma-info-35:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-35-l),1);--bulma-info-35-invert-l:var(--bulma-info-100-l);--bulma-info-35-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-35-invert-l),1);--bulma-info-40:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-40-l),1);--bulma-info-40-invert-l:var(--bulma-info-100-l);--bulma-info-40-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-40-invert-l),1);--bulma-info-45:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-45-l),1);--bulma-info-45-invert-l:var(--bulma-info-00-l);--bulma-info-45-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-45-invert-l),1);--bulma-info-50:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-50-l),1);--bulma-info-50-invert-l:var(--bulma-info-05-l);--bulma-info-50-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-50-invert-l),1);--bulma-info-55:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-55-l),1);--bulma-info-55-invert-l:var(--bulma-info-05-l);--bulma-info-55-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-55-invert-l),1);--bulma-info-60:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-60-l),1);--bulma-info-60-invert-l:var(--bulma-info-10-l);--bulma-info-60-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-60-invert-l),1);--bulma-info-65:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-65-l),1);--bulma-info-65-invert-l:var(--bulma-info-10-l);--bulma-info-65-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-65-invert-l),1);--bulma-info-70:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-70-l),1);--bulma-info-70-invert-l:var(--bulma-info-10-l);--bulma-info-70-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-70-invert-l),1);--bulma-info-75:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-75-l),1);--bulma-info-75-invert-l:var(--bulma-info-10-l);--bulma-info-75-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-75-invert-l),1);--bulma-info-80:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-80-l),1);--bulma-info-80-invert-l:var(--bulma-info-15-l);--bulma-info-80-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-80-invert-l),1);--bulma-info-85:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-85-l),1);--bulma-info-85-invert-l:var(--bulma-info-15-l);--bulma-info-85-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-85-invert-l),1);--bulma-info-90:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-90-l),1);--bulma-info-90-invert-l:var(--bulma-info-15-l);--bulma-info-90-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-90-invert-l),1);--bulma-info-95:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-95-l),1);--bulma-info-95-invert-l:var(--bulma-info-20-l);--bulma-info-95-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-95-invert-l),1);--bulma-info-100:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-100-l),1);--bulma-info-100-invert-l:var(--bulma-info-20-l);--bulma-info-100-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-100-invert-l),1);--bulma-info-invert-l:var(--bulma-info-10-l);--bulma-info-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-invert-l),1);--bulma-info-light-l:var(--bulma-info-90-l);--bulma-info-light:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-light-l),1);--bulma-info-light-invert-l:var(--bulma-info-15-l);--bulma-info-light-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-light-invert-l),1);--bulma-info-dark-l:var(--bulma-info-10-l);--bulma-info-dark:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-dark-l),1);--bulma-info-dark-invert-l:var(--bulma-info-60-l);--bulma-info-dark-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-dark-invert-l),1);--bulma-info-soft:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-soft-l),1);--bulma-info-bold:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-bold-l),1);--bulma-info-soft-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-soft-invert-l),1);--bulma-info-bold-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-bold-invert-l),1);--bulma-info-on-scheme-l:25%;--bulma-info-on-scheme:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-on-scheme-l),1);--bulma-success:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-l),1);--bulma-success-base:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-l),1);--bulma-success-rgb:72,199,142;--bulma-success-h:153deg;--bulma-success-s:53%;--bulma-success-l:53%;--bulma-success-00-l:0%;--bulma-success-05-l:3%;--bulma-success-10-l:8%;--bulma-success-15-l:13%;--bulma-success-20-l:18%;--bulma-success-25-l:23%;--bulma-success-30-l:28%;--bulma-success-35-l:33%;--bulma-success-40-l:38%;--bulma-success-45-l:43%;--bulma-success-50-l:48%;--bulma-success-55-l:53%;--bulma-success-60-l:58%;--bulma-success-65-l:63%;--bulma-success-70-l:68%;--bulma-success-75-l:73%;--bulma-success-80-l:78%;--bulma-success-85-l:83%;--bulma-success-90-l:88%;--bulma-success-95-l:93%;--bulma-success-100-l:98%;--bulma-success-00:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-00-l),1);--bulma-success-00-invert-l:var(--bulma-success-45-l);--bulma-success-00-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-00-invert-l),1);--bulma-success-05:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-05-l),1);--bulma-success-05-invert-l:var(--bulma-success-45-l);--bulma-success-05-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-05-invert-l),1);--bulma-success-10:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-10-l),1);--bulma-success-10-invert-l:var(--bulma-success-55-l);--bulma-success-10-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-10-invert-l),1);--bulma-success-15:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-15-l),1);--bulma-success-15-invert-l:var(--bulma-success-75-l);--bulma-success-15-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-15-invert-l),1);--bulma-success-20:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-20-l),1);--bulma-success-20-invert-l:var(--bulma-success-90-l);--bulma-success-20-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-20-invert-l),1);--bulma-success-25:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-25-l),1);--bulma-success-25-invert-l:var(--bulma-success-100-l);--bulma-success-25-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-25-invert-l),1);--bulma-success-30:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-30-l),1);--bulma-success-30-invert-l:var(--bulma-success-100-l);--bulma-success-30-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-30-invert-l),1);--bulma-success-35:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-35-l),1);--bulma-success-35-invert-l:var(--bulma-success-100-l);--bulma-success-35-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-35-invert-l),1);--bulma-success-40:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-40-l),1);--bulma-success-40-invert-l:var(--bulma-success-100-l);--bulma-success-40-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-40-invert-l),1);--bulma-success-45:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-45-l),1);--bulma-success-45-invert-l:var(--bulma-success-05-l);--bulma-success-45-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-45-invert-l),1);--bulma-success-50:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-50-l),1);--bulma-success-50-invert-l:var(--bulma-success-05-l);--bulma-success-50-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-50-invert-l),1);--bulma-success-55:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-55-l),1);--bulma-success-55-invert-l:var(--bulma-success-10-l);--bulma-success-55-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-55-invert-l),1);--bulma-success-60:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-60-l),1);--bulma-success-60-invert-l:var(--bulma-success-10-l);--bulma-success-60-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-60-invert-l),1);--bulma-success-65:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-65-l),1);--bulma-success-65-invert-l:var(--bulma-success-10-l);--bulma-success-65-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-65-invert-l),1);--bulma-success-70:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-70-l),1);--bulma-success-70-invert-l:var(--bulma-success-10-l);--bulma-success-70-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-70-invert-l),1);--bulma-success-75:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-75-l),1);--bulma-success-75-invert-l:var(--bulma-success-15-l);--bulma-success-75-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-75-invert-l),1);--bulma-success-80:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-80-l),1);--bulma-success-80-invert-l:var(--bulma-success-15-l);--bulma-success-80-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-80-invert-l),1);--bulma-success-85:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-85-l),1);--bulma-success-85-invert-l:var(--bulma-success-15-l);--bulma-success-85-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-85-invert-l),1);--bulma-success-90:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-90-l),1);--bulma-success-90-invert-l:var(--bulma-success-20-l);--bulma-success-90-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-90-invert-l),1);--bulma-success-95:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-95-l),1);--bulma-success-95-invert-l:var(--bulma-success-20-l);--bulma-success-95-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-95-invert-l),1);--bulma-success-100:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-100-l),1);--bulma-success-100-invert-l:var(--bulma-success-20-l);--bulma-success-100-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-100-invert-l),1);--bulma-success-invert-l:var(--bulma-success-10-l);--bulma-success-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-invert-l),1);--bulma-success-light-l:var(--bulma-success-90-l);--bulma-success-light:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-light-l),1);--bulma-success-light-invert-l:var(--bulma-success-20-l);--bulma-success-light-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-light-invert-l),1);--bulma-success-dark-l:var(--bulma-success-10-l);--bulma-success-dark:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-dark-l),1);--bulma-success-dark-invert-l:var(--bulma-success-55-l);--bulma-success-dark-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-dark-invert-l),1);--bulma-success-soft:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-soft-l),1);--bulma-success-bold:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-bold-l),1);--bulma-success-soft-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-soft-invert-l),1);--bulma-success-bold-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-bold-invert-l),1);--bulma-success-on-scheme-l:23%;--bulma-success-on-scheme:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-on-scheme-l),1);--bulma-warning:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-l),1);--bulma-warning-base:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-l),1);--bulma-warning-rgb:255,183,15;--bulma-warning-h:42deg;--bulma-warning-s:100%;--bulma-warning-l:53%;--bulma-warning-00-l:0%;--bulma-warning-05-l:3%;--bulma-warning-10-l:8%;--bulma-warning-15-l:13%;--bulma-warning-20-l:18%;--bulma-warning-25-l:23%;--bulma-warning-30-l:28%;--bulma-warning-35-l:33%;--bulma-warning-40-l:38%;--bulma-warning-45-l:43%;--bulma-warning-50-l:48%;--bulma-warning-55-l:53%;--bulma-warning-60-l:58%;--bulma-warning-65-l:63%;--bulma-warning-70-l:68%;--bulma-warning-75-l:73%;--bulma-warning-80-l:78%;--bulma-warning-85-l:83%;--bulma-warning-90-l:88%;--bulma-warning-95-l:93%;--bulma-warning-100-l:98%;--bulma-warning-00:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-00-l),1);--bulma-warning-00-invert-l:var(--bulma-warning-40-l);--bulma-warning-00-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-00-invert-l),1);--bulma-warning-05:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-05-l),1);--bulma-warning-05-invert-l:var(--bulma-warning-45-l);--bulma-warning-05-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-05-invert-l),1);--bulma-warning-10:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-10-l),1);--bulma-warning-10-invert-l:var(--bulma-warning-50-l);--bulma-warning-10-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-10-invert-l),1);--bulma-warning-15:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-15-l),1);--bulma-warning-15-invert-l:var(--bulma-warning-70-l);--bulma-warning-15-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-15-invert-l),1);--bulma-warning-20:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-20-l),1);--bulma-warning-20-invert-l:var(--bulma-warning-100-l);--bulma-warning-20-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-20-invert-l),1);--bulma-warning-25:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-25-l),1);--bulma-warning-25-invert-l:var(--bulma-warning-100-l);--bulma-warning-25-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-25-invert-l),1);--bulma-warning-30:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-30-l),1);--bulma-warning-30-invert-l:var(--bulma-warning-100-l);--bulma-warning-30-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-30-invert-l),1);--bulma-warning-35:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-35-l),1);--bulma-warning-35-invert-l:var(--bulma-warning-100-l);--bulma-warning-35-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-35-invert-l),1);--bulma-warning-40:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-40-l),1);--bulma-warning-40-invert-l:var(--bulma-warning-00-l);--bulma-warning-40-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-40-invert-l),1);--bulma-warning-45:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-45-l),1);--bulma-warning-45-invert-l:var(--bulma-warning-05-l);--bulma-warning-45-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-45-invert-l),1);--bulma-warning-50:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-50-l),1);--bulma-warning-50-invert-l:var(--bulma-warning-10-l);--bulma-warning-50-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-50-invert-l),1);--bulma-warning-55:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-55-l),1);--bulma-warning-55-invert-l:var(--bulma-warning-10-l);--bulma-warning-55-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-55-invert-l),1);--bulma-warning-60:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-60-l),1);--bulma-warning-60-invert-l:var(--bulma-warning-10-l);--bulma-warning-60-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-60-invert-l),1);--bulma-warning-65:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-65-l),1);--bulma-warning-65-invert-l:var(--bulma-warning-10-l);--bulma-warning-65-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-65-invert-l),1);--bulma-warning-70:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-70-l),1);--bulma-warning-70-invert-l:var(--bulma-warning-15-l);--bulma-warning-70-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-70-invert-l),1);--bulma-warning-75:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-75-l),1);--bulma-warning-75-invert-l:var(--bulma-warning-15-l);--bulma-warning-75-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-75-invert-l),1);--bulma-warning-80:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-80-l),1);--bulma-warning-80-invert-l:var(--bulma-warning-15-l);--bulma-warning-80-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-80-invert-l),1);--bulma-warning-85:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-85-l),1);--bulma-warning-85-invert-l:var(--bulma-warning-15-l);--bulma-warning-85-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-85-invert-l),1);--bulma-warning-90:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-90-l),1);--bulma-warning-90-invert-l:var(--bulma-warning-15-l);--bulma-warning-90-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-90-invert-l),1);--bulma-warning-95:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-95-l),1);--bulma-warning-95-invert-l:var(--bulma-warning-15-l);--bulma-warning-95-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-95-invert-l),1);--bulma-warning-100:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-100-l),1);--bulma-warning-100-invert-l:var(--bulma-warning-20-l);--bulma-warning-100-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-100-invert-l),1);--bulma-warning-invert-l:var(--bulma-warning-10-l);--bulma-warning-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-invert-l),1);--bulma-warning-light-l:var(--bulma-warning-90-l);--bulma-warning-light:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-light-l),1);--bulma-warning-light-invert-l:var(--bulma-warning-15-l);--bulma-warning-light-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-light-invert-l),1);--bulma-warning-dark-l:var(--bulma-warning-10-l);--bulma-warning-dark:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-dark-l),1);--bulma-warning-dark-invert-l:var(--bulma-warning-50-l);--bulma-warning-dark-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-dark-invert-l),1);--bulma-warning-soft:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-soft-l),1);--bulma-warning-bold:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-bold-l),1);--bulma-warning-soft-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-soft-invert-l),1);--bulma-warning-bold-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-bold-invert-l),1);--bulma-warning-on-scheme-l:23%;--bulma-warning-on-scheme:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-on-scheme-l),1);--bulma-danger:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-l),1);--bulma-danger-base:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-l),1);--bulma-danger-rgb:255,102,133;--bulma-danger-h:348deg;--bulma-danger-s:100%;--bulma-danger-l:70%;--bulma-danger-00-l:0%;--bulma-danger-05-l:5%;--bulma-danger-10-l:10%;--bulma-danger-15-l:15%;--bulma-danger-20-l:20%;--bulma-danger-25-l:25%;--bulma-danger-30-l:30%;--bulma-danger-35-l:35%;--bulma-danger-40-l:40%;--bulma-danger-45-l:45%;--bulma-danger-50-l:50%;--bulma-danger-55-l:55%;--bulma-danger-60-l:60%;--bulma-danger-65-l:65%;--bulma-danger-70-l:70%;--bulma-danger-75-l:75%;--bulma-danger-80-l:80%;--bulma-danger-85-l:85%;--bulma-danger-90-l:90%;--bulma-danger-95-l:95%;--bulma-danger-100-l:100%;--bulma-danger-00:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-00-l),1);--bulma-danger-00-invert-l:var(--bulma-danger-65-l);--bulma-danger-00-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-00-invert-l),1);--bulma-danger-05:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-05-l),1);--bulma-danger-05-invert-l:var(--bulma-danger-70-l);--bulma-danger-05-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-05-invert-l),1);--bulma-danger-10:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-10-l),1);--bulma-danger-10-invert-l:var(--bulma-danger-75-l);--bulma-danger-10-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-10-invert-l),1);--bulma-danger-15:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-15-l),1);--bulma-danger-15-invert-l:var(--bulma-danger-80-l);--bulma-danger-15-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-15-invert-l),1);--bulma-danger-20:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-20-l),1);--bulma-danger-20-invert-l:var(--bulma-danger-85-l);--bulma-danger-20-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-20-invert-l),1);--bulma-danger-25:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-25-l),1);--bulma-danger-25-invert-l:var(--bulma-danger-90-l);--bulma-danger-25-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-25-invert-l),1);--bulma-danger-30:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-30-l),1);--bulma-danger-30-invert-l:var(--bulma-danger-100-l);--bulma-danger-30-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-30-invert-l),1);--bulma-danger-35:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-35-l),1);--bulma-danger-35-invert-l:var(--bulma-danger-100-l);--bulma-danger-35-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-35-invert-l),1);--bulma-danger-40:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-40-l),1);--bulma-danger-40-invert-l:var(--bulma-danger-100-l);--bulma-danger-40-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-40-invert-l),1);--bulma-danger-45:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-45-l),1);--bulma-danger-45-invert-l:var(--bulma-danger-100-l);--bulma-danger-45-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-45-invert-l),1);--bulma-danger-50:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-50-l),1);--bulma-danger-50-invert-l:var(--bulma-danger-100-l);--bulma-danger-50-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-50-invert-l),1);--bulma-danger-55:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-55-l),1);--bulma-danger-55-invert-l:var(--bulma-danger-100-l);--bulma-danger-55-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-55-invert-l),1);--bulma-danger-60:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-60-l),1);--bulma-danger-60-invert-l:var(--bulma-danger-100-l);--bulma-danger-60-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-60-invert-l),1);--bulma-danger-65:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-65-l),1);--bulma-danger-65-invert-l:var(--bulma-danger-00-l);--bulma-danger-65-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-65-invert-l),1);--bulma-danger-70:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-70-l),1);--bulma-danger-70-invert-l:var(--bulma-danger-05-l);--bulma-danger-70-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-70-invert-l),1);--bulma-danger-75:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-75-l),1);--bulma-danger-75-invert-l:var(--bulma-danger-10-l);--bulma-danger-75-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-75-invert-l),1);--bulma-danger-80:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-80-l),1);--bulma-danger-80-invert-l:var(--bulma-danger-15-l);--bulma-danger-80-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-80-invert-l),1);--bulma-danger-85:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-85-l),1);--bulma-danger-85-invert-l:var(--bulma-danger-20-l);--bulma-danger-85-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-85-invert-l),1);--bulma-danger-90:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-90-l),1);--bulma-danger-90-invert-l:var(--bulma-danger-25-l);--bulma-danger-90-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-90-invert-l),1);--bulma-danger-95:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-95-l),1);--bulma-danger-95-invert-l:var(--bulma-danger-25-l);--bulma-danger-95-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-95-invert-l),1);--bulma-danger-100:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-100-l),1);--bulma-danger-100-invert-l:var(--bulma-danger-30-l);--bulma-danger-100-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-100-invert-l),1);--bulma-danger-invert-l:var(--bulma-danger-05-l);--bulma-danger-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-invert-l),1);--bulma-danger-light-l:var(--bulma-danger-90-l);--bulma-danger-light:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-light-l),1);--bulma-danger-light-invert-l:var(--bulma-danger-25-l);--bulma-danger-light-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-light-invert-l),1);--bulma-danger-dark-l:var(--bulma-danger-10-l);--bulma-danger-dark:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-dark-l),1);--bulma-danger-dark-invert-l:var(--bulma-danger-75-l);--bulma-danger-dark-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-dark-invert-l),1);--bulma-danger-soft:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-soft-l),1);--bulma-danger-bold:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-bold-l),1);--bulma-danger-soft-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-soft-invert-l),1);--bulma-danger-bold-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-bold-invert-l),1);--bulma-danger-on-scheme-l:40%;--bulma-danger-on-scheme:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-on-scheme-l),1);--bulma-black-bis:#14161a;--bulma-black-ter:#1f2229;--bulma-grey-darker:#2e333d;--bulma-grey-dark:#404654;--bulma-grey:#69748c;--bulma-grey-light:#abb1bf;--bulma-grey-lighter:#d6d9e0;--bulma-white-ter:#f3f4f6;--bulma-white-bis:#f9fafb;--bulma-shadow-h:221deg;--bulma-shadow-s:14%;--bulma-shadow-l:4%;--bulma-size-1:3rem;--bulma-size-2:2.5rem;--bulma-size-3:2rem;--bulma-size-4:1.5rem;--bulma-size-5:1.25rem;--bulma-size-6:1rem;--bulma-size-7:0.75rem;--bulma-scheme-main:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-main-l));--bulma-scheme-main-bis:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-main-bis-l));--bulma-scheme-main-ter:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-main-ter-l));--bulma-background:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-background-l));--bulma-background-hover:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),calc(var(--bulma-background-l) + var(--bulma-hover-background-l-delta)));--bulma-background-active:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),calc(var(--bulma-background-l) + var(--bulma-active-background-l-delta)));--bulma-border-weak:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-border-weak-l));--bulma-border:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-border-l));--bulma-border-hover:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),calc(var(--bulma-border-l) + var(--bulma-hover-border-l-delta)));--bulma-border-active:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),calc(var(--bulma-border-l) + var(--bulma-active-border-l-delta)));--bulma-text-weak:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-weak-l));--bulma-text:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-l));--bulma-text-strong:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-strong-l));--bulma-scheme-invert-ter:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-ter-l));--bulma-scheme-invert-bis:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-bis-l));--bulma-scheme-invert:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l));--bulma-link:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-l));--bulma-link-text:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-on-scheme-l));--bulma-link-text-hover:hsl(var(--bulma-link-h),var(--bulma-link-s),calc(var(--bulma-link-on-scheme-l) + var(--bulma-hover-color-l-delta)));--bulma-link-text-active:hsl(var(--bulma-link-h),var(--bulma-link-s),calc(var(--bulma-link-on-scheme-l) + var(--bulma-active-color-l-delta)));--bulma-focus-h:var(--bulma-link-h);--bulma-focus-s:var(--bulma-link-s);--bulma-focus-l:var(--bulma-link-l);--bulma-focus-offset:1px;--bulma-focus-style:solid;--bulma-focus-width:2px;--bulma-focus-shadow-size:0 0 0 0.1875em;--bulma-focus-shadow-alpha:0.25;--bulma-code:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-on-scheme-l));--bulma-code-background:var(--bulma-background);--bulma-pre:var(--bulma-text);--bulma-pre-background:var(--bulma-background);--bulma-shadow:0 0.5em 1em -0.125em hsla(var(--bulma-shadow-h),var(--bulma-shadow-s),var(--bulma-shadow-l),0.1),0 0px 0 1px hsla(var(--bulma-shadow-h),var(--bulma-shadow-s),var(--bulma-shadow-l),0.02)}@media (prefers-color-scheme:light){:root{--bulma-scheme-h:221;--bulma-scheme-s:14%;--bulma-light-l:90%;--bulma-light-invert-l:20%;--bulma-dark-l:20%;--bulma-dark-invert-l:90%;--bulma-soft-l:90%;--bulma-bold-l:20%;--bulma-soft-invert-l:20%;--bulma-bold-invert-l:90%;--bulma-hover-background-l-delta:-5%;--bulma-active-background-l-delta:-10%;--bulma-hover-border-l-delta:-10%;--bulma-active-border-l-delta:-20%;--bulma-hover-color-l-delta:-5%;--bulma-active-color-l-delta:-10%;--bulma-hover-shadow-a-delta:-0.05;--bulma-active-shadow-a-delta:-0.1;--bulma-scheme-brightness:light;--bulma-scheme-main-l:100%;--bulma-scheme-main-bis-l:98%;--bulma-scheme-main-ter-l:96%;--bulma-background-l:96%;--bulma-border-weak-l:93%;--bulma-border-l:86%;--bulma-text-weak-l:48%;--bulma-text-strong-l:21%;--bulma-text-title-l:14%;--bulma-scheme-invert-ter-l:14%;--bulma-scheme-invert-bis-l:7%;--bulma-scheme-invert-l:4%;--bulma-family-primary:Inter,SF Pro,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Helvetica,Arial,sans-serif;--bulma-family-secondary:Inter,SF Pro,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Helvetica,Arial,sans-serif;--bulma-family-code:Inconsolata,Hack,SF Mono,Roboto Mono,Source Code Pro,Ubuntu Mono,monospace;--bulma-size-small:0.75rem;--bulma-size-normal:1rem;--bulma-size-medium:1.25rem;--bulma-size-large:1.5rem;--bulma-weight-light:300;--bulma-weight-normal:400;--bulma-weight-medium:500;--bulma-weight-semibold:600;--bulma-weight-bold:700;--bulma-weight-extrabold:800;--bulma-block-spacing:1.5rem;--bulma-duration:294ms;--bulma-easing:ease-out;--bulma-radius-small:0.25rem;--bulma-radius:0.375rem;--bulma-radius-medium:0.5em;--bulma-radius-large:0.75rem;--bulma-radius-rounded:9999px;--bulma-speed:86ms;--bulma-arrow-color:var(--bulma-link);--bulma-loading-color:var(--bulma-border);--bulma-burger-h:var(--bulma-link-h);--bulma-burger-s:var(--bulma-link-s);--bulma-burger-l:var(--bulma-link-l);--bulma-burger-border-radius:0.5em;--bulma-burger-gap:5px;--bulma-burger-item-height:2px;--bulma-burger-item-width:20px;--bulma-white:hsla(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-l),1);--bulma-white-base:hsla(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-l),1);--bulma-white-rgb:255,255,255;--bulma-white-h:221deg;--bulma-white-s:14%;--bulma-white-l:100%;--bulma-white-invert-l:4%;--bulma-white-invert:#090a0c;--bulma-white-on-scheme-l:35%;--bulma-white-on-scheme:hsla(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-on-scheme-l),1);--bulma-black:hsla(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-l),1);--bulma-black-base:hsla(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-l),1);--bulma-black-rgb:9,10,12;--bulma-black-h:221deg;--bulma-black-s:14%;--bulma-black-l:4%;--bulma-black-invert-l:100%;--bulma-black-invert:#fff;--bulma-black-on-scheme-l:4%;--bulma-black-on-scheme:hsla(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-on-scheme-l),1);--bulma-light:hsla(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-l),1);--bulma-light-base:hsla(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-l),1);--bulma-light-rgb:243,244,246;--bulma-light-h:221deg;--bulma-light-s:14%;--bulma-light-l:96%;--bulma-light-invert-l:21%;--bulma-light-invert:#2e333d;--bulma-light-on-scheme-l:36%;--bulma-light-on-scheme:hsla(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-on-scheme-l),1);--bulma-dark:hsla(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-l),1);--bulma-dark-base:hsla(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-l),1);--bulma-dark-rgb:46,51,61;--bulma-dark-h:221deg;--bulma-dark-s:14%;--bulma-dark-l:21%;--bulma-dark-invert-l:96%;--bulma-dark-invert:#f3f4f6;--bulma-dark-on-scheme-l:21%;--bulma-dark-on-scheme:hsla(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-on-scheme-l),1);--bulma-text:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-l),1);--bulma-text-base:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-l),1);--bulma-text-rgb:64,70,84;--bulma-text-h:221deg;--bulma-text-s:14%;--bulma-text-l:29%;--bulma-text-00-l:0%;--bulma-text-05-l:4%;--bulma-text-10-l:9%;--bulma-text-15-l:14%;--bulma-text-20-l:19%;--bulma-text-25-l:24%;--bulma-text-30-l:29%;--bulma-text-35-l:34%;--bulma-text-40-l:39%;--bulma-text-45-l:44%;--bulma-text-50-l:49%;--bulma-text-55-l:54%;--bulma-text-60-l:59%;--bulma-text-65-l:64%;--bulma-text-70-l:69%;--bulma-text-75-l:74%;--bulma-text-80-l:79%;--bulma-text-85-l:84%;--bulma-text-90-l:89%;--bulma-text-95-l:94%;--bulma-text-100-l:99%;--bulma-text-00:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-00-l),1);--bulma-text-00-invert-l:var(--bulma-text-60-l);--bulma-text-00-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-00-invert-l),1);--bulma-text-05:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-05-l),1);--bulma-text-05-invert-l:var(--bulma-text-60-l);--bulma-text-05-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-05-invert-l),1);--bulma-text-10:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-10-l),1);--bulma-text-10-invert-l:var(--bulma-text-70-l);--bulma-text-10-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-10-invert-l),1);--bulma-text-15:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-15-l),1);--bulma-text-15-invert-l:var(--bulma-text-75-l);--bulma-text-15-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-15-invert-l),1);--bulma-text-20:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-20-l),1);--bulma-text-20-invert-l:var(--bulma-text-85-l);--bulma-text-20-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-20-invert-l),1);--bulma-text-25:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-25-l),1);--bulma-text-25-invert-l:var(--bulma-text-95-l);--bulma-text-25-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-25-invert-l),1);--bulma-text-30:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-30-l),1);--bulma-text-30-invert-l:var(--bulma-text-100-l);--bulma-text-30-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-30-invert-l),1);--bulma-text-35:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-35-l),1);--bulma-text-35-invert-l:var(--bulma-text-100-l);--bulma-text-35-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-35-invert-l),1);--bulma-text-40:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-40-l),1);--bulma-text-40-invert-l:var(--bulma-text-100-l);--bulma-text-40-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-40-invert-l),1);--bulma-text-45:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-45-l),1);--bulma-text-45-invert-l:var(--bulma-text-100-l);--bulma-text-45-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-45-invert-l),1);--bulma-text-50:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-50-l),1);--bulma-text-50-invert-l:var(--bulma-text-100-l);--bulma-text-50-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-50-invert-l),1);--bulma-text-55:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-55-l),1);--bulma-text-55-invert-l:var(--bulma-text-100-l);--bulma-text-55-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-55-invert-l),1);--bulma-text-60:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-60-l),1);--bulma-text-60-invert-l:var(--bulma-text-05-l);--bulma-text-60-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-60-invert-l),1);--bulma-text-65:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-65-l),1);--bulma-text-65-invert-l:var(--bulma-text-05-l);--bulma-text-65-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-65-invert-l),1);--bulma-text-70:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-70-l),1);--bulma-text-70-invert-l:var(--bulma-text-10-l);--bulma-text-70-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-70-invert-l),1);--bulma-text-75:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-75-l),1);--bulma-text-75-invert-l:var(--bulma-text-15-l);--bulma-text-75-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-75-invert-l),1);--bulma-text-80:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-80-l),1);--bulma-text-80-invert-l:var(--bulma-text-15-l);--bulma-text-80-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-80-invert-l),1);--bulma-text-85:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-85-l),1);--bulma-text-85-invert-l:var(--bulma-text-20-l);--bulma-text-85-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-85-invert-l),1);--bulma-text-90:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-90-l),1);--bulma-text-90-invert-l:var(--bulma-text-20-l);--bulma-text-90-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-90-invert-l),1);--bulma-text-95:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-95-l),1);--bulma-text-95-invert-l:var(--bulma-text-25-l);--bulma-text-95-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-95-invert-l),1);--bulma-text-100:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-100-l),1);--bulma-text-100-invert-l:var(--bulma-text-25-l);--bulma-text-100-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-100-invert-l),1);--bulma-text-invert-l:var(--bulma-text-100-l);--bulma-text-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-invert-l),1);--bulma-text-light-l:var(--bulma-text-90-l);--bulma-text-light:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-light-l),1);--bulma-text-light-invert-l:var(--bulma-text-20-l);--bulma-text-light-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-light-invert-l),1);--bulma-text-dark-l:var(--bulma-text-10-l);--bulma-text-dark:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-dark-l),1);--bulma-text-dark-invert-l:var(--bulma-text-70-l);--bulma-text-dark-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-dark-invert-l),1);--bulma-text-soft:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-soft-l),1);--bulma-text-bold:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-bold-l),1);--bulma-text-soft-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-soft-invert-l),1);--bulma-text-bold-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-bold-invert-l),1);--bulma-text-on-scheme-l:29%;--bulma-text-on-scheme:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-on-scheme-l),1);--bulma-primary:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-l),1);--bulma-primary-base:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-l),1);--bulma-primary-rgb:0,209,178;--bulma-primary-h:171deg;--bulma-primary-s:100%;--bulma-primary-l:41%;--bulma-primary-00-l:1%;--bulma-primary-05-l:6%;--bulma-primary-10-l:11%;--bulma-primary-15-l:16%;--bulma-primary-20-l:21%;--bulma-primary-25-l:26%;--bulma-primary-30-l:31%;--bulma-primary-35-l:36%;--bulma-primary-40-l:41%;--bulma-primary-45-l:46%;--bulma-primary-50-l:51%;--bulma-primary-55-l:56%;--bulma-primary-60-l:61%;--bulma-primary-65-l:66%;--bulma-primary-70-l:71%;--bulma-primary-75-l:76%;--bulma-primary-80-l:81%;--bulma-primary-85-l:86%;--bulma-primary-90-l:91%;--bulma-primary-95-l:96%;--bulma-primary-100-l:100%;--bulma-primary-00:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-00-l),1);--bulma-primary-00-invert-l:var(--bulma-primary-30-l);--bulma-primary-00-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-00-invert-l),1);--bulma-primary-05:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-05-l),1);--bulma-primary-05-invert-l:var(--bulma-primary-40-l);--bulma-primary-05-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-05-invert-l),1);--bulma-primary-10:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-10-l),1);--bulma-primary-10-invert-l:var(--bulma-primary-50-l);--bulma-primary-10-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-10-invert-l),1);--bulma-primary-15:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-15-l),1);--bulma-primary-15-invert-l:var(--bulma-primary-100-l);--bulma-primary-15-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-15-invert-l),1);--bulma-primary-20:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-20-l),1);--bulma-primary-20-invert-l:var(--bulma-primary-100-l);--bulma-primary-20-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-20-invert-l),1);--bulma-primary-25:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-25-l),1);--bulma-primary-25-invert-l:var(--bulma-primary-100-l);--bulma-primary-25-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-25-invert-l),1);--bulma-primary-30:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-30-l),1);--bulma-primary-30-invert-l:var(--bulma-primary-00-l);--bulma-primary-30-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-30-invert-l),1);--bulma-primary-35:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-35-l),1);--bulma-primary-35-invert-l:var(--bulma-primary-00-l);--bulma-primary-35-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-35-invert-l),1);--bulma-primary-40:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-40-l),1);--bulma-primary-40-invert-l:var(--bulma-primary-05-l);--bulma-primary-40-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-40-invert-l),1);--bulma-primary-45:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-45-l),1);--bulma-primary-45-invert-l:var(--bulma-primary-05-l);--bulma-primary-45-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-45-invert-l),1);--bulma-primary-50:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-50-l),1);--bulma-primary-50-invert-l:var(--bulma-primary-10-l);--bulma-primary-50-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-50-invert-l),1);--bulma-primary-55:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-55-l),1);--bulma-primary-55-invert-l:var(--bulma-primary-10-l);--bulma-primary-55-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-55-invert-l),1);--bulma-primary-60:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-60-l),1);--bulma-primary-60-invert-l:var(--bulma-primary-10-l);--bulma-primary-60-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-60-invert-l),1);--bulma-primary-65:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-65-l),1);--bulma-primary-65-invert-l:var(--bulma-primary-10-l);--bulma-primary-65-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-65-invert-l),1);--bulma-primary-70:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-70-l),1);--bulma-primary-70-invert-l:var(--bulma-primary-10-l);--bulma-primary-70-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-70-invert-l),1);--bulma-primary-75:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-75-l),1);--bulma-primary-75-invert-l:var(--bulma-primary-10-l);--bulma-primary-75-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-75-invert-l),1);--bulma-primary-80:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-80-l),1);--bulma-primary-80-invert-l:var(--bulma-primary-10-l);--bulma-primary-80-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-80-invert-l),1);--bulma-primary-85:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-85-l),1);--bulma-primary-85-invert-l:var(--bulma-primary-10-l);--bulma-primary-85-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-85-invert-l),1);--bulma-primary-90:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-90-l),1);--bulma-primary-90-invert-l:var(--bulma-primary-10-l);--bulma-primary-90-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-90-invert-l),1);--bulma-primary-95:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-95-l),1);--bulma-primary-95-invert-l:var(--bulma-primary-10-l);--bulma-primary-95-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-95-invert-l),1);--bulma-primary-100:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-100-l),1);--bulma-primary-100-invert-l:var(--bulma-primary-15-l);--bulma-primary-100-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-100-invert-l),1);--bulma-primary-invert-l:var(--bulma-primary-05-l);--bulma-primary-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-invert-l),1);--bulma-primary-light-l:var(--bulma-primary-90-l);--bulma-primary-light:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-light-l),1);--bulma-primary-light-invert-l:var(--bulma-primary-10-l);--bulma-primary-light-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-light-invert-l),1);--bulma-primary-dark-l:var(--bulma-primary-10-l);--bulma-primary-dark:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-dark-l),1);--bulma-primary-dark-invert-l:var(--bulma-primary-50-l);--bulma-primary-dark-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-dark-invert-l),1);--bulma-primary-soft:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-soft-l),1);--bulma-primary-bold:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-bold-l),1);--bulma-primary-soft-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-soft-invert-l),1);--bulma-primary-bold-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-bold-invert-l),1);--bulma-primary-on-scheme-l:21%;--bulma-primary-on-scheme:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-on-scheme-l),1);--bulma-link:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-l),1);--bulma-link-base:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-l),1);--bulma-link-rgb:66,88,255;--bulma-link-h:233deg;--bulma-link-s:100%;--bulma-link-l:63%;--bulma-link-00-l:0%;--bulma-link-05-l:3%;--bulma-link-10-l:8%;--bulma-link-15-l:13%;--bulma-link-20-l:18%;--bulma-link-25-l:23%;--bulma-link-30-l:28%;--bulma-link-35-l:33%;--bulma-link-40-l:38%;--bulma-link-45-l:43%;--bulma-link-50-l:48%;--bulma-link-55-l:53%;--bulma-link-60-l:58%;--bulma-link-65-l:63%;--bulma-link-70-l:68%;--bulma-link-75-l:73%;--bulma-link-80-l:78%;--bulma-link-85-l:83%;--bulma-link-90-l:88%;--bulma-link-95-l:93%;--bulma-link-100-l:98%;--bulma-link-00:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-00-l),1);--bulma-link-00-invert-l:var(--bulma-link-75-l);--bulma-link-00-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-00-invert-l),1);--bulma-link-05:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-05-l),1);--bulma-link-05-invert-l:var(--bulma-link-75-l);--bulma-link-05-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-05-invert-l),1);--bulma-link-10:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-10-l),1);--bulma-link-10-invert-l:var(--bulma-link-75-l);--bulma-link-10-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-10-invert-l),1);--bulma-link-15:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-15-l),1);--bulma-link-15-invert-l:var(--bulma-link-80-l);--bulma-link-15-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-15-invert-l),1);--bulma-link-20:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-20-l),1);--bulma-link-20-invert-l:var(--bulma-link-80-l);--bulma-link-20-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-20-invert-l),1);--bulma-link-25:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-25-l),1);--bulma-link-25-invert-l:var(--bulma-link-85-l);--bulma-link-25-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-25-invert-l),1);--bulma-link-30:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-30-l),1);--bulma-link-30-invert-l:var(--bulma-link-90-l);--bulma-link-30-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-30-invert-l),1);--bulma-link-35:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-35-l),1);--bulma-link-35-invert-l:var(--bulma-link-90-l);--bulma-link-35-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-35-invert-l),1);--bulma-link-40:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-40-l),1);--bulma-link-40-invert-l:var(--bulma-link-95-l);--bulma-link-40-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-40-invert-l),1);--bulma-link-45:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-45-l),1);--bulma-link-45-invert-l:var(--bulma-link-100-l);--bulma-link-45-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-45-invert-l),1);--bulma-link-50:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-50-l),1);--bulma-link-50-invert-l:var(--bulma-link-100-l);--bulma-link-50-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-50-invert-l),1);--bulma-link-55:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-55-l),1);--bulma-link-55-invert-l:var(--bulma-link-100-l);--bulma-link-55-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-55-invert-l),1);--bulma-link-60:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-60-l),1);--bulma-link-60-invert-l:var(--bulma-link-100-l);--bulma-link-60-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-60-invert-l),1);--bulma-link-65:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-65-l),1);--bulma-link-65-invert-l:var(--bulma-link-100-l);--bulma-link-65-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-65-invert-l),1);--bulma-link-70:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-70-l),1);--bulma-link-70-invert-l:var(--bulma-link-100-l);--bulma-link-70-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-70-invert-l),1);--bulma-link-75:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-75-l),1);--bulma-link-75-invert-l:var(--bulma-link-10-l);--bulma-link-75-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-75-invert-l),1);--bulma-link-80:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-80-l),1);--bulma-link-80-invert-l:var(--bulma-link-20-l);--bulma-link-80-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-80-invert-l),1);--bulma-link-85:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-85-l),1);--bulma-link-85-invert-l:var(--bulma-link-25-l);--bulma-link-85-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-85-invert-l),1);--bulma-link-90:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-90-l),1);--bulma-link-90-invert-l:var(--bulma-link-35-l);--bulma-link-90-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-90-invert-l),1);--bulma-link-95:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-95-l),1);--bulma-link-95-invert-l:var(--bulma-link-40-l);--bulma-link-95-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-95-invert-l),1);--bulma-link-100:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-100-l),1);--bulma-link-100-invert-l:var(--bulma-link-50-l);--bulma-link-100-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-100-invert-l),1);--bulma-link-invert-l:var(--bulma-link-100-l);--bulma-link-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-invert-l),1);--bulma-link-light-l:var(--bulma-link-90-l);--bulma-link-light:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-light-l),1);--bulma-link-light-invert-l:var(--bulma-link-35-l);--bulma-link-light-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-light-invert-l),1);--bulma-link-dark-l:var(--bulma-link-10-l);--bulma-link-dark:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-dark-l),1);--bulma-link-dark-invert-l:var(--bulma-link-75-l);--bulma-link-dark-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-dark-invert-l),1);--bulma-link-soft:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-soft-l),1);--bulma-link-bold:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-bold-l),1);--bulma-link-soft-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-soft-invert-l),1);--bulma-link-bold-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-bold-invert-l),1);--bulma-link-on-scheme-l:58%;--bulma-link-on-scheme:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-on-scheme-l),1);--bulma-info:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-l),1);--bulma-info-base:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-l),1);--bulma-info-rgb:102,209,255;--bulma-info-h:198deg;--bulma-info-s:100%;--bulma-info-l:70%;--bulma-info-00-l:0%;--bulma-info-05-l:5%;--bulma-info-10-l:10%;--bulma-info-15-l:15%;--bulma-info-20-l:20%;--bulma-info-25-l:25%;--bulma-info-30-l:30%;--bulma-info-35-l:35%;--bulma-info-40-l:40%;--bulma-info-45-l:45%;--bulma-info-50-l:50%;--bulma-info-55-l:55%;--bulma-info-60-l:60%;--bulma-info-65-l:65%;--bulma-info-70-l:70%;--bulma-info-75-l:75%;--bulma-info-80-l:80%;--bulma-info-85-l:85%;--bulma-info-90-l:90%;--bulma-info-95-l:95%;--bulma-info-100-l:100%;--bulma-info-00:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-00-l),1);--bulma-info-00-invert-l:var(--bulma-info-45-l);--bulma-info-00-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-00-invert-l),1);--bulma-info-05:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-05-l),1);--bulma-info-05-invert-l:var(--bulma-info-50-l);--bulma-info-05-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-05-invert-l),1);--bulma-info-10:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-10-l),1);--bulma-info-10-invert-l:var(--bulma-info-60-l);--bulma-info-10-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-10-invert-l),1);--bulma-info-15:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-15-l),1);--bulma-info-15-invert-l:var(--bulma-info-80-l);--bulma-info-15-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-15-invert-l),1);--bulma-info-20:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-20-l),1);--bulma-info-20-invert-l:var(--bulma-info-95-l);--bulma-info-20-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-20-invert-l),1);--bulma-info-25:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-25-l),1);--bulma-info-25-invert-l:var(--bulma-info-100-l);--bulma-info-25-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-25-invert-l),1);--bulma-info-30:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-30-l),1);--bulma-info-30-invert-l:var(--bulma-info-100-l);--bulma-info-30-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-30-invert-l),1);--bulma-info-35:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-35-l),1);--bulma-info-35-invert-l:var(--bulma-info-100-l);--bulma-info-35-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-35-invert-l),1);--bulma-info-40:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-40-l),1);--bulma-info-40-invert-l:var(--bulma-info-100-l);--bulma-info-40-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-40-invert-l),1);--bulma-info-45:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-45-l),1);--bulma-info-45-invert-l:var(--bulma-info-00-l);--bulma-info-45-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-45-invert-l),1);--bulma-info-50:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-50-l),1);--bulma-info-50-invert-l:var(--bulma-info-05-l);--bulma-info-50-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-50-invert-l),1);--bulma-info-55:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-55-l),1);--bulma-info-55-invert-l:var(--bulma-info-05-l);--bulma-info-55-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-55-invert-l),1);--bulma-info-60:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-60-l),1);--bulma-info-60-invert-l:var(--bulma-info-10-l);--bulma-info-60-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-60-invert-l),1);--bulma-info-65:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-65-l),1);--bulma-info-65-invert-l:var(--bulma-info-10-l);--bulma-info-65-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-65-invert-l),1);--bulma-info-70:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-70-l),1);--bulma-info-70-invert-l:var(--bulma-info-10-l);--bulma-info-70-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-70-invert-l),1);--bulma-info-75:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-75-l),1);--bulma-info-75-invert-l:var(--bulma-info-10-l);--bulma-info-75-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-75-invert-l),1);--bulma-info-80:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-80-l),1);--bulma-info-80-invert-l:var(--bulma-info-15-l);--bulma-info-80-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-80-invert-l),1);--bulma-info-85:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-85-l),1);--bulma-info-85-invert-l:var(--bulma-info-15-l);--bulma-info-85-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-85-invert-l),1);--bulma-info-90:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-90-l),1);--bulma-info-90-invert-l:var(--bulma-info-15-l);--bulma-info-90-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-90-invert-l),1);--bulma-info-95:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-95-l),1);--bulma-info-95-invert-l:var(--bulma-info-20-l);--bulma-info-95-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-95-invert-l),1);--bulma-info-100:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-100-l),1);--bulma-info-100-invert-l:var(--bulma-info-20-l);--bulma-info-100-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-100-invert-l),1);--bulma-info-invert-l:var(--bulma-info-10-l);--bulma-info-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-invert-l),1);--bulma-info-light-l:var(--bulma-info-90-l);--bulma-info-light:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-light-l),1);--bulma-info-light-invert-l:var(--bulma-info-15-l);--bulma-info-light-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-light-invert-l),1);--bulma-info-dark-l:var(--bulma-info-10-l);--bulma-info-dark:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-dark-l),1);--bulma-info-dark-invert-l:var(--bulma-info-60-l);--bulma-info-dark-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-dark-invert-l),1);--bulma-info-soft:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-soft-l),1);--bulma-info-bold:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-bold-l),1);--bulma-info-soft-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-soft-invert-l),1);--bulma-info-bold-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-bold-invert-l),1);--bulma-info-on-scheme-l:25%;--bulma-info-on-scheme:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-on-scheme-l),1);--bulma-success:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-l),1);--bulma-success-base:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-l),1);--bulma-success-rgb:72,199,142;--bulma-success-h:153deg;--bulma-success-s:53%;--bulma-success-l:53%;--bulma-success-00-l:0%;--bulma-success-05-l:3%;--bulma-success-10-l:8%;--bulma-success-15-l:13%;--bulma-success-20-l:18%;--bulma-success-25-l:23%;--bulma-success-30-l:28%;--bulma-success-35-l:33%;--bulma-success-40-l:38%;--bulma-success-45-l:43%;--bulma-success-50-l:48%;--bulma-success-55-l:53%;--bulma-success-60-l:58%;--bulma-success-65-l:63%;--bulma-success-70-l:68%;--bulma-success-75-l:73%;--bulma-success-80-l:78%;--bulma-success-85-l:83%;--bulma-success-90-l:88%;--bulma-success-95-l:93%;--bulma-success-100-l:98%;--bulma-success-00:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-00-l),1);--bulma-success-00-invert-l:var(--bulma-success-45-l);--bulma-success-00-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-00-invert-l),1);--bulma-success-05:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-05-l),1);--bulma-success-05-invert-l:var(--bulma-success-45-l);--bulma-success-05-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-05-invert-l),1);--bulma-success-10:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-10-l),1);--bulma-success-10-invert-l:var(--bulma-success-55-l);--bulma-success-10-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-10-invert-l),1);--bulma-success-15:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-15-l),1);--bulma-success-15-invert-l:var(--bulma-success-75-l);--bulma-success-15-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-15-invert-l),1);--bulma-success-20:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-20-l),1);--bulma-success-20-invert-l:var(--bulma-success-90-l);--bulma-success-20-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-20-invert-l),1);--bulma-success-25:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-25-l),1);--bulma-success-25-invert-l:var(--bulma-success-100-l);--bulma-success-25-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-25-invert-l),1);--bulma-success-30:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-30-l),1);--bulma-success-30-invert-l:var(--bulma-success-100-l);--bulma-success-30-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-30-invert-l),1);--bulma-success-35:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-35-l),1);--bulma-success-35-invert-l:var(--bulma-success-100-l);--bulma-success-35-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-35-invert-l),1);--bulma-success-40:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-40-l),1);--bulma-success-40-invert-l:var(--bulma-success-100-l);--bulma-success-40-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-40-invert-l),1);--bulma-success-45:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-45-l),1);--bulma-success-45-invert-l:var(--bulma-success-05-l);--bulma-success-45-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-45-invert-l),1);--bulma-success-50:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-50-l),1);--bulma-success-50-invert-l:var(--bulma-success-05-l);--bulma-success-50-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-50-invert-l),1);--bulma-success-55:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-55-l),1);--bulma-success-55-invert-l:var(--bulma-success-10-l);--bulma-success-55-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-55-invert-l),1);--bulma-success-60:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-60-l),1);--bulma-success-60-invert-l:var(--bulma-success-10-l);--bulma-success-60-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-60-invert-l),1);--bulma-success-65:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-65-l),1);--bulma-success-65-invert-l:var(--bulma-success-10-l);--bulma-success-65-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-65-invert-l),1);--bulma-success-70:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-70-l),1);--bulma-success-70-invert-l:var(--bulma-success-10-l);--bulma-success-70-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-70-invert-l),1);--bulma-success-75:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-75-l),1);--bulma-success-75-invert-l:var(--bulma-success-15-l);--bulma-success-75-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-75-invert-l),1);--bulma-success-80:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-80-l),1);--bulma-success-80-invert-l:var(--bulma-success-15-l);--bulma-success-80-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-80-invert-l),1);--bulma-success-85:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-85-l),1);--bulma-success-85-invert-l:var(--bulma-success-15-l);--bulma-success-85-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-85-invert-l),1);--bulma-success-90:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-90-l),1);--bulma-success-90-invert-l:var(--bulma-success-20-l);--bulma-success-90-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-90-invert-l),1);--bulma-success-95:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-95-l),1);--bulma-success-95-invert-l:var(--bulma-success-20-l);--bulma-success-95-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-95-invert-l),1);--bulma-success-100:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-100-l),1);--bulma-success-100-invert-l:var(--bulma-success-20-l);--bulma-success-100-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-100-invert-l),1);--bulma-success-invert-l:var(--bulma-success-10-l);--bulma-success-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-invert-l),1);--bulma-success-light-l:var(--bulma-success-90-l);--bulma-success-light:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-light-l),1);--bulma-success-light-invert-l:var(--bulma-success-20-l);--bulma-success-light-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-light-invert-l),1);--bulma-success-dark-l:var(--bulma-success-10-l);--bulma-success-dark:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-dark-l),1);--bulma-success-dark-invert-l:var(--bulma-success-55-l);--bulma-success-dark-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-dark-invert-l),1);--bulma-success-soft:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-soft-l),1);--bulma-success-bold:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-bold-l),1);--bulma-success-soft-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-soft-invert-l),1);--bulma-success-bold-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-bold-invert-l),1);--bulma-success-on-scheme-l:23%;--bulma-success-on-scheme:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-on-scheme-l),1);--bulma-warning:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-l),1);--bulma-warning-base:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-l),1);--bulma-warning-rgb:255,183,15;--bulma-warning-h:42deg;--bulma-warning-s:100%;--bulma-warning-l:53%;--bulma-warning-00-l:0%;--bulma-warning-05-l:3%;--bulma-warning-10-l:8%;--bulma-warning-15-l:13%;--bulma-warning-20-l:18%;--bulma-warning-25-l:23%;--bulma-warning-30-l:28%;--bulma-warning-35-l:33%;--bulma-warning-40-l:38%;--bulma-warning-45-l:43%;--bulma-warning-50-l:48%;--bulma-warning-55-l:53%;--bulma-warning-60-l:58%;--bulma-warning-65-l:63%;--bulma-warning-70-l:68%;--bulma-warning-75-l:73%;--bulma-warning-80-l:78%;--bulma-warning-85-l:83%;--bulma-warning-90-l:88%;--bulma-warning-95-l:93%;--bulma-warning-100-l:98%;--bulma-warning-00:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-00-l),1);--bulma-warning-00-invert-l:var(--bulma-warning-40-l);--bulma-warning-00-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-00-invert-l),1);--bulma-warning-05:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-05-l),1);--bulma-warning-05-invert-l:var(--bulma-warning-45-l);--bulma-warning-05-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-05-invert-l),1);--bulma-warning-10:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-10-l),1);--bulma-warning-10-invert-l:var(--bulma-warning-50-l);--bulma-warning-10-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-10-invert-l),1);--bulma-warning-15:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-15-l),1);--bulma-warning-15-invert-l:var(--bulma-warning-70-l);--bulma-warning-15-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-15-invert-l),1);--bulma-warning-20:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-20-l),1);--bulma-warning-20-invert-l:var(--bulma-warning-100-l);--bulma-warning-20-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-20-invert-l),1);--bulma-warning-25:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-25-l),1);--bulma-warning-25-invert-l:var(--bulma-warning-100-l);--bulma-warning-25-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-25-invert-l),1);--bulma-warning-30:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-30-l),1);--bulma-warning-30-invert-l:var(--bulma-warning-100-l);--bulma-warning-30-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-30-invert-l),1);--bulma-warning-35:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-35-l),1);--bulma-warning-35-invert-l:var(--bulma-warning-100-l);--bulma-warning-35-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-35-invert-l),1);--bulma-warning-40:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-40-l),1);--bulma-warning-40-invert-l:var(--bulma-warning-00-l);--bulma-warning-40-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-40-invert-l),1);--bulma-warning-45:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-45-l),1);--bulma-warning-45-invert-l:var(--bulma-warning-05-l);--bulma-warning-45-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-45-invert-l),1);--bulma-warning-50:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-50-l),1);--bulma-warning-50-invert-l:var(--bulma-warning-10-l);--bulma-warning-50-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-50-invert-l),1);--bulma-warning-55:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-55-l),1);--bulma-warning-55-invert-l:var(--bulma-warning-10-l);--bulma-warning-55-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-55-invert-l),1);--bulma-warning-60:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-60-l),1);--bulma-warning-60-invert-l:var(--bulma-warning-10-l);--bulma-warning-60-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-60-invert-l),1);--bulma-warning-65:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-65-l),1);--bulma-warning-65-invert-l:var(--bulma-warning-10-l);--bulma-warning-65-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-65-invert-l),1);--bulma-warning-70:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-70-l),1);--bulma-warning-70-invert-l:var(--bulma-warning-15-l);--bulma-warning-70-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-70-invert-l),1);--bulma-warning-75:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-75-l),1);--bulma-warning-75-invert-l:var(--bulma-warning-15-l);--bulma-warning-75-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-75-invert-l),1);--bulma-warning-80:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-80-l),1);--bulma-warning-80-invert-l:var(--bulma-warning-15-l);--bulma-warning-80-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-80-invert-l),1);--bulma-warning-85:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-85-l),1);--bulma-warning-85-invert-l:var(--bulma-warning-15-l);--bulma-warning-85-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-85-invert-l),1);--bulma-warning-90:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-90-l),1);--bulma-warning-90-invert-l:var(--bulma-warning-15-l);--bulma-warning-90-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-90-invert-l),1);--bulma-warning-95:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-95-l),1);--bulma-warning-95-invert-l:var(--bulma-warning-15-l);--bulma-warning-95-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-95-invert-l),1);--bulma-warning-100:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-100-l),1);--bulma-warning-100-invert-l:var(--bulma-warning-20-l);--bulma-warning-100-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-100-invert-l),1);--bulma-warning-invert-l:var(--bulma-warning-10-l);--bulma-warning-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-invert-l),1);--bulma-warning-light-l:var(--bulma-warning-90-l);--bulma-warning-light:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-light-l),1);--bulma-warning-light-invert-l:var(--bulma-warning-15-l);--bulma-warning-light-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-light-invert-l),1);--bulma-warning-dark-l:var(--bulma-warning-10-l);--bulma-warning-dark:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-dark-l),1);--bulma-warning-dark-invert-l:var(--bulma-warning-50-l);--bulma-warning-dark-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-dark-invert-l),1);--bulma-warning-soft:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-soft-l),1);--bulma-warning-bold:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-bold-l),1);--bulma-warning-soft-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-soft-invert-l),1);--bulma-warning-bold-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-bold-invert-l),1);--bulma-warning-on-scheme-l:23%;--bulma-warning-on-scheme:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-on-scheme-l),1);--bulma-danger:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-l),1);--bulma-danger-base:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-l),1);--bulma-danger-rgb:255,102,133;--bulma-danger-h:348deg;--bulma-danger-s:100%;--bulma-danger-l:70%;--bulma-danger-00-l:0%;--bulma-danger-05-l:5%;--bulma-danger-10-l:10%;--bulma-danger-15-l:15%;--bulma-danger-20-l:20%;--bulma-danger-25-l:25%;--bulma-danger-30-l:30%;--bulma-danger-35-l:35%;--bulma-danger-40-l:40%;--bulma-danger-45-l:45%;--bulma-danger-50-l:50%;--bulma-danger-55-l:55%;--bulma-danger-60-l:60%;--bulma-danger-65-l:65%;--bulma-danger-70-l:70%;--bulma-danger-75-l:75%;--bulma-danger-80-l:80%;--bulma-danger-85-l:85%;--bulma-danger-90-l:90%;--bulma-danger-95-l:95%;--bulma-danger-100-l:100%;--bulma-danger-00:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-00-l),1);--bulma-danger-00-invert-l:var(--bulma-danger-65-l);--bulma-danger-00-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-00-invert-l),1);--bulma-danger-05:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-05-l),1);--bulma-danger-05-invert-l:var(--bulma-danger-70-l);--bulma-danger-05-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-05-invert-l),1);--bulma-danger-10:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-10-l),1);--bulma-danger-10-invert-l:var(--bulma-danger-75-l);--bulma-danger-10-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-10-invert-l),1);--bulma-danger-15:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-15-l),1);--bulma-danger-15-invert-l:var(--bulma-danger-80-l);--bulma-danger-15-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-15-invert-l),1);--bulma-danger-20:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-20-l),1);--bulma-danger-20-invert-l:var(--bulma-danger-85-l);--bulma-danger-20-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-20-invert-l),1);--bulma-danger-25:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-25-l),1);--bulma-danger-25-invert-l:var(--bulma-danger-90-l);--bulma-danger-25-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-25-invert-l),1);--bulma-danger-30:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-30-l),1);--bulma-danger-30-invert-l:var(--bulma-danger-100-l);--bulma-danger-30-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-30-invert-l),1);--bulma-danger-35:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-35-l),1);--bulma-danger-35-invert-l:var(--bulma-danger-100-l);--bulma-danger-35-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-35-invert-l),1);--bulma-danger-40:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-40-l),1);--bulma-danger-40-invert-l:var(--bulma-danger-100-l);--bulma-danger-40-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-40-invert-l),1);--bulma-danger-45:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-45-l),1);--bulma-danger-45-invert-l:var(--bulma-danger-100-l);--bulma-danger-45-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-45-invert-l),1);--bulma-danger-50:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-50-l),1);--bulma-danger-50-invert-l:var(--bulma-danger-100-l);--bulma-danger-50-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-50-invert-l),1);--bulma-danger-55:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-55-l),1);--bulma-danger-55-invert-l:var(--bulma-danger-100-l);--bulma-danger-55-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-55-invert-l),1);--bulma-danger-60:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-60-l),1);--bulma-danger-60-invert-l:var(--bulma-danger-100-l);--bulma-danger-60-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-60-invert-l),1);--bulma-danger-65:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-65-l),1);--bulma-danger-65-invert-l:var(--bulma-danger-00-l);--bulma-danger-65-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-65-invert-l),1);--bulma-danger-70:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-70-l),1);--bulma-danger-70-invert-l:var(--bulma-danger-05-l);--bulma-danger-70-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-70-invert-l),1);--bulma-danger-75:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-75-l),1);--bulma-danger-75-invert-l:var(--bulma-danger-10-l);--bulma-danger-75-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-75-invert-l),1);--bulma-danger-80:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-80-l),1);--bulma-danger-80-invert-l:var(--bulma-danger-15-l);--bulma-danger-80-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-80-invert-l),1);--bulma-danger-85:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-85-l),1);--bulma-danger-85-invert-l:var(--bulma-danger-20-l);--bulma-danger-85-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-85-invert-l),1);--bulma-danger-90:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-90-l),1);--bulma-danger-90-invert-l:var(--bulma-danger-25-l);--bulma-danger-90-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-90-invert-l),1);--bulma-danger-95:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-95-l),1);--bulma-danger-95-invert-l:var(--bulma-danger-25-l);--bulma-danger-95-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-95-invert-l),1);--bulma-danger-100:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-100-l),1);--bulma-danger-100-invert-l:var(--bulma-danger-30-l);--bulma-danger-100-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-100-invert-l),1);--bulma-danger-invert-l:var(--bulma-danger-05-l);--bulma-danger-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-invert-l),1);--bulma-danger-light-l:var(--bulma-danger-90-l);--bulma-danger-light:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-light-l),1);--bulma-danger-light-invert-l:var(--bulma-danger-25-l);--bulma-danger-light-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-light-invert-l),1);--bulma-danger-dark-l:var(--bulma-danger-10-l);--bulma-danger-dark:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-dark-l),1);--bulma-danger-dark-invert-l:var(--bulma-danger-75-l);--bulma-danger-dark-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-dark-invert-l),1);--bulma-danger-soft:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-soft-l),1);--bulma-danger-bold:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-bold-l),1);--bulma-danger-soft-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-soft-invert-l),1);--bulma-danger-bold-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-bold-invert-l),1);--bulma-danger-on-scheme-l:40%;--bulma-danger-on-scheme:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-on-scheme-l),1);--bulma-black-bis:#14161a;--bulma-black-ter:#1f2229;--bulma-grey-darker:#2e333d;--bulma-grey-dark:#404654;--bulma-grey:#69748c;--bulma-grey-light:#abb1bf;--bulma-grey-lighter:#d6d9e0;--bulma-white-ter:#f3f4f6;--bulma-white-bis:#f9fafb;--bulma-shadow-h:221deg;--bulma-shadow-s:14%;--bulma-shadow-l:4%;--bulma-size-1:3rem;--bulma-size-2:2.5rem;--bulma-size-3:2rem;--bulma-size-4:1.5rem;--bulma-size-5:1.25rem;--bulma-size-6:1rem;--bulma-size-7:0.75rem}}@media (prefers-color-scheme:dark){:root{--bulma-white-on-scheme-l:100%;--bulma-white-on-scheme:hsla(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-on-scheme-l),1);--bulma-black-on-scheme-l:0%;--bulma-black-on-scheme:hsla(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-on-scheme-l),1);--bulma-light-on-scheme-l:96%;--bulma-light-on-scheme:hsla(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-on-scheme-l),1);--bulma-dark-on-scheme-l:56%;--bulma-dark-on-scheme:hsla(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-on-scheme-l),1);--bulma-text-on-scheme-l:54%;--bulma-text-on-scheme:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-on-scheme-l),1);--bulma-primary-on-scheme-l:41%;--bulma-primary-on-scheme:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-on-scheme-l),1);--bulma-link-on-scheme-l:73%;--bulma-link-on-scheme:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-on-scheme-l),1);--bulma-info-on-scheme-l:70%;--bulma-info-on-scheme:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-on-scheme-l),1);--bulma-success-on-scheme-l:53%;--bulma-success-on-scheme:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-on-scheme-l),1);--bulma-warning-on-scheme-l:53%;--bulma-warning-on-scheme:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-on-scheme-l),1);--bulma-danger-on-scheme-l:70%;--bulma-danger-on-scheme:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-on-scheme-l),1);--bulma-scheme-brightness:dark;--bulma-scheme-main-l:9%;--bulma-scheme-main-bis-l:11%;--bulma-scheme-main-ter-l:13%;--bulma-soft-l:20%;--bulma-bold-l:90%;--bulma-soft-invert-l:90%;--bulma-bold-invert-l:20%;--bulma-background-l:14%;--bulma-border-weak-l:21%;--bulma-border-l:24%;--bulma-text-weak-l:53%;--bulma-text-l:71%;--bulma-text-strong-l:93%;--bulma-text-title-l:100%;--bulma-hover-background-l-delta:5%;--bulma-active-background-l-delta:10%;--bulma-hover-border-l-delta:10%;--bulma-active-border-l-delta:20%;--bulma-hover-color-l-delta:5%;--bulma-active-color-l-delta:10%;--bulma-shadow-h:0deg;--bulma-shadow-s:0%;--bulma-shadow-l:100%}}.theme-light,[data-theme=light]{--bulma-scheme-h:221;--bulma-scheme-s:14%;--bulma-light-l:90%;--bulma-light-invert-l:20%;--bulma-dark-l:20%;--bulma-dark-invert-l:90%;--bulma-soft-l:90%;--bulma-bold-l:20%;--bulma-soft-invert-l:20%;--bulma-bold-invert-l:90%;--bulma-hover-background-l-delta:-5%;--bulma-active-background-l-delta:-10%;--bulma-hover-border-l-delta:-10%;--bulma-active-border-l-delta:-20%;--bulma-hover-color-l-delta:-5%;--bulma-active-color-l-delta:-10%;--bulma-hover-shadow-a-delta:-0.05;--bulma-active-shadow-a-delta:-0.1;--bulma-scheme-brightness:light;--bulma-scheme-main-l:100%;--bulma-scheme-main-bis-l:98%;--bulma-scheme-main-ter-l:96%;--bulma-background-l:96%;--bulma-border-weak-l:93%;--bulma-border-l:86%;--bulma-text-weak-l:48%;--bulma-text-strong-l:21%;--bulma-text-title-l:14%;--bulma-scheme-invert-ter-l:14%;--bulma-scheme-invert-bis-l:7%;--bulma-scheme-invert-l:4%;--bulma-family-primary:Inter,SF Pro,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Helvetica,Arial,sans-serif;--bulma-family-secondary:Inter,SF Pro,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Helvetica,Arial,sans-serif;--bulma-family-code:Inconsolata,Hack,SF Mono,Roboto Mono,Source Code Pro,Ubuntu Mono,monospace;--bulma-size-small:0.75rem;--bulma-size-normal:1rem;--bulma-size-medium:1.25rem;--bulma-size-large:1.5rem;--bulma-weight-light:300;--bulma-weight-normal:400;--bulma-weight-medium:500;--bulma-weight-semibold:600;--bulma-weight-bold:700;--bulma-weight-extrabold:800;--bulma-block-spacing:1.5rem;--bulma-duration:294ms;--bulma-easing:ease-out;--bulma-radius-small:0.25rem;--bulma-radius:0.375rem;--bulma-radius-medium:0.5em;--bulma-radius-large:0.75rem;--bulma-radius-rounded:9999px;--bulma-speed:86ms;--bulma-arrow-color:var(--bulma-link);--bulma-loading-color:var(--bulma-border);--bulma-burger-h:var(--bulma-link-h);--bulma-burger-s:var(--bulma-link-s);--bulma-burger-l:var(--bulma-link-l);--bulma-burger-border-radius:0.5em;--bulma-burger-gap:5px;--bulma-burger-item-height:2px;--bulma-burger-item-width:20px;--bulma-white:hsla(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-l),1);--bulma-white-base:hsla(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-l),1);--bulma-white-rgb:255,255,255;--bulma-white-h:221deg;--bulma-white-s:14%;--bulma-white-l:100%;--bulma-white-invert-l:4%;--bulma-white-invert:#090a0c;--bulma-white-on-scheme-l:35%;--bulma-white-on-scheme:hsla(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-on-scheme-l),1);--bulma-black:hsla(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-l),1);--bulma-black-base:hsla(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-l),1);--bulma-black-rgb:9,10,12;--bulma-black-h:221deg;--bulma-black-s:14%;--bulma-black-l:4%;--bulma-black-invert-l:100%;--bulma-black-invert:#fff;--bulma-black-on-scheme-l:4%;--bulma-black-on-scheme:hsla(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-on-scheme-l),1);--bulma-light:hsla(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-l),1);--bulma-light-base:hsla(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-l),1);--bulma-light-rgb:243,244,246;--bulma-light-h:221deg;--bulma-light-s:14%;--bulma-light-l:96%;--bulma-light-invert-l:21%;--bulma-light-invert:#2e333d;--bulma-light-on-scheme-l:36%;--bulma-light-on-scheme:hsla(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-on-scheme-l),1);--bulma-dark:hsla(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-l),1);--bulma-dark-base:hsla(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-l),1);--bulma-dark-rgb:46,51,61;--bulma-dark-h:221deg;--bulma-dark-s:14%;--bulma-dark-l:21%;--bulma-dark-invert-l:96%;--bulma-dark-invert:#f3f4f6;--bulma-dark-on-scheme-l:21%;--bulma-dark-on-scheme:hsla(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-on-scheme-l),1);--bulma-text:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-l),1);--bulma-text-base:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-l),1);--bulma-text-rgb:64,70,84;--bulma-text-h:221deg;--bulma-text-s:14%;--bulma-text-l:29%;--bulma-text-00-l:0%;--bulma-text-05-l:4%;--bulma-text-10-l:9%;--bulma-text-15-l:14%;--bulma-text-20-l:19%;--bulma-text-25-l:24%;--bulma-text-30-l:29%;--bulma-text-35-l:34%;--bulma-text-40-l:39%;--bulma-text-45-l:44%;--bulma-text-50-l:49%;--bulma-text-55-l:54%;--bulma-text-60-l:59%;--bulma-text-65-l:64%;--bulma-text-70-l:69%;--bulma-text-75-l:74%;--bulma-text-80-l:79%;--bulma-text-85-l:84%;--bulma-text-90-l:89%;--bulma-text-95-l:94%;--bulma-text-100-l:99%;--bulma-text-00:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-00-l),1);--bulma-text-00-invert-l:var(--bulma-text-60-l);--bulma-text-00-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-00-invert-l),1);--bulma-text-05:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-05-l),1);--bulma-text-05-invert-l:var(--bulma-text-60-l);--bulma-text-05-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-05-invert-l),1);--bulma-text-10:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-10-l),1);--bulma-text-10-invert-l:var(--bulma-text-70-l);--bulma-text-10-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-10-invert-l),1);--bulma-text-15:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-15-l),1);--bulma-text-15-invert-l:var(--bulma-text-75-l);--bulma-text-15-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-15-invert-l),1);--bulma-text-20:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-20-l),1);--bulma-text-20-invert-l:var(--bulma-text-85-l);--bulma-text-20-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-20-invert-l),1);--bulma-text-25:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-25-l),1);--bulma-text-25-invert-l:var(--bulma-text-95-l);--bulma-text-25-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-25-invert-l),1);--bulma-text-30:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-30-l),1);--bulma-text-30-invert-l:var(--bulma-text-100-l);--bulma-text-30-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-30-invert-l),1);--bulma-text-35:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-35-l),1);--bulma-text-35-invert-l:var(--bulma-text-100-l);--bulma-text-35-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-35-invert-l),1);--bulma-text-40:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-40-l),1);--bulma-text-40-invert-l:var(--bulma-text-100-l);--bulma-text-40-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-40-invert-l),1);--bulma-text-45:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-45-l),1);--bulma-text-45-invert-l:var(--bulma-text-100-l);--bulma-text-45-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-45-invert-l),1);--bulma-text-50:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-50-l),1);--bulma-text-50-invert-l:var(--bulma-text-100-l);--bulma-text-50-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-50-invert-l),1);--bulma-text-55:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-55-l),1);--bulma-text-55-invert-l:var(--bulma-text-100-l);--bulma-text-55-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-55-invert-l),1);--bulma-text-60:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-60-l),1);--bulma-text-60-invert-l:var(--bulma-text-05-l);--bulma-text-60-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-60-invert-l),1);--bulma-text-65:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-65-l),1);--bulma-text-65-invert-l:var(--bulma-text-05-l);--bulma-text-65-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-65-invert-l),1);--bulma-text-70:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-70-l),1);--bulma-text-70-invert-l:var(--bulma-text-10-l);--bulma-text-70-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-70-invert-l),1);--bulma-text-75:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-75-l),1);--bulma-text-75-invert-l:var(--bulma-text-15-l);--bulma-text-75-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-75-invert-l),1);--bulma-text-80:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-80-l),1);--bulma-text-80-invert-l:var(--bulma-text-15-l);--bulma-text-80-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-80-invert-l),1);--bulma-text-85:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-85-l),1);--bulma-text-85-invert-l:var(--bulma-text-20-l);--bulma-text-85-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-85-invert-l),1);--bulma-text-90:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-90-l),1);--bulma-text-90-invert-l:var(--bulma-text-20-l);--bulma-text-90-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-90-invert-l),1);--bulma-text-95:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-95-l),1);--bulma-text-95-invert-l:var(--bulma-text-25-l);--bulma-text-95-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-95-invert-l),1);--bulma-text-100:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-100-l),1);--bulma-text-100-invert-l:var(--bulma-text-25-l);--bulma-text-100-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-100-invert-l),1);--bulma-text-invert-l:var(--bulma-text-100-l);--bulma-text-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-invert-l),1);--bulma-text-light-l:var(--bulma-text-90-l);--bulma-text-light:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-light-l),1);--bulma-text-light-invert-l:var(--bulma-text-20-l);--bulma-text-light-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-light-invert-l),1);--bulma-text-dark-l:var(--bulma-text-10-l);--bulma-text-dark:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-dark-l),1);--bulma-text-dark-invert-l:var(--bulma-text-70-l);--bulma-text-dark-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-dark-invert-l),1);--bulma-text-soft:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-soft-l),1);--bulma-text-bold:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-bold-l),1);--bulma-text-soft-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-soft-invert-l),1);--bulma-text-bold-invert:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-bold-invert-l),1);--bulma-text-on-scheme-l:29%;--bulma-text-on-scheme:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-on-scheme-l),1);--bulma-primary:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-l),1);--bulma-primary-base:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-l),1);--bulma-primary-rgb:0,209,178;--bulma-primary-h:171deg;--bulma-primary-s:100%;--bulma-primary-l:41%;--bulma-primary-00-l:1%;--bulma-primary-05-l:6%;--bulma-primary-10-l:11%;--bulma-primary-15-l:16%;--bulma-primary-20-l:21%;--bulma-primary-25-l:26%;--bulma-primary-30-l:31%;--bulma-primary-35-l:36%;--bulma-primary-40-l:41%;--bulma-primary-45-l:46%;--bulma-primary-50-l:51%;--bulma-primary-55-l:56%;--bulma-primary-60-l:61%;--bulma-primary-65-l:66%;--bulma-primary-70-l:71%;--bulma-primary-75-l:76%;--bulma-primary-80-l:81%;--bulma-primary-85-l:86%;--bulma-primary-90-l:91%;--bulma-primary-95-l:96%;--bulma-primary-100-l:100%;--bulma-primary-00:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-00-l),1);--bulma-primary-00-invert-l:var(--bulma-primary-30-l);--bulma-primary-00-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-00-invert-l),1);--bulma-primary-05:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-05-l),1);--bulma-primary-05-invert-l:var(--bulma-primary-40-l);--bulma-primary-05-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-05-invert-l),1);--bulma-primary-10:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-10-l),1);--bulma-primary-10-invert-l:var(--bulma-primary-50-l);--bulma-primary-10-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-10-invert-l),1);--bulma-primary-15:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-15-l),1);--bulma-primary-15-invert-l:var(--bulma-primary-100-l);--bulma-primary-15-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-15-invert-l),1);--bulma-primary-20:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-20-l),1);--bulma-primary-20-invert-l:var(--bulma-primary-100-l);--bulma-primary-20-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-20-invert-l),1);--bulma-primary-25:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-25-l),1);--bulma-primary-25-invert-l:var(--bulma-primary-100-l);--bulma-primary-25-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-25-invert-l),1);--bulma-primary-30:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-30-l),1);--bulma-primary-30-invert-l:var(--bulma-primary-00-l);--bulma-primary-30-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-30-invert-l),1);--bulma-primary-35:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-35-l),1);--bulma-primary-35-invert-l:var(--bulma-primary-00-l);--bulma-primary-35-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-35-invert-l),1);--bulma-primary-40:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-40-l),1);--bulma-primary-40-invert-l:var(--bulma-primary-05-l);--bulma-primary-40-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-40-invert-l),1);--bulma-primary-45:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-45-l),1);--bulma-primary-45-invert-l:var(--bulma-primary-05-l);--bulma-primary-45-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-45-invert-l),1);--bulma-primary-50:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-50-l),1);--bulma-primary-50-invert-l:var(--bulma-primary-10-l);--bulma-primary-50-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-50-invert-l),1);--bulma-primary-55:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-55-l),1);--bulma-primary-55-invert-l:var(--bulma-primary-10-l);--bulma-primary-55-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-55-invert-l),1);--bulma-primary-60:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-60-l),1);--bulma-primary-60-invert-l:var(--bulma-primary-10-l);--bulma-primary-60-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-60-invert-l),1);--bulma-primary-65:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-65-l),1);--bulma-primary-65-invert-l:var(--bulma-primary-10-l);--bulma-primary-65-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-65-invert-l),1);--bulma-primary-70:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-70-l),1);--bulma-primary-70-invert-l:var(--bulma-primary-10-l);--bulma-primary-70-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-70-invert-l),1);--bulma-primary-75:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-75-l),1);--bulma-primary-75-invert-l:var(--bulma-primary-10-l);--bulma-primary-75-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-75-invert-l),1);--bulma-primary-80:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-80-l),1);--bulma-primary-80-invert-l:var(--bulma-primary-10-l);--bulma-primary-80-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-80-invert-l),1);--bulma-primary-85:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-85-l),1);--bulma-primary-85-invert-l:var(--bulma-primary-10-l);--bulma-primary-85-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-85-invert-l),1);--bulma-primary-90:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-90-l),1);--bulma-primary-90-invert-l:var(--bulma-primary-10-l);--bulma-primary-90-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-90-invert-l),1);--bulma-primary-95:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-95-l),1);--bulma-primary-95-invert-l:var(--bulma-primary-10-l);--bulma-primary-95-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-95-invert-l),1);--bulma-primary-100:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-100-l),1);--bulma-primary-100-invert-l:var(--bulma-primary-15-l);--bulma-primary-100-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-100-invert-l),1);--bulma-primary-invert-l:var(--bulma-primary-05-l);--bulma-primary-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-invert-l),1);--bulma-primary-light-l:var(--bulma-primary-90-l);--bulma-primary-light:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-light-l),1);--bulma-primary-light-invert-l:var(--bulma-primary-10-l);--bulma-primary-light-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-light-invert-l),1);--bulma-primary-dark-l:var(--bulma-primary-10-l);--bulma-primary-dark:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-dark-l),1);--bulma-primary-dark-invert-l:var(--bulma-primary-50-l);--bulma-primary-dark-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-dark-invert-l),1);--bulma-primary-soft:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-soft-l),1);--bulma-primary-bold:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-bold-l),1);--bulma-primary-soft-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-soft-invert-l),1);--bulma-primary-bold-invert:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-bold-invert-l),1);--bulma-primary-on-scheme-l:21%;--bulma-primary-on-scheme:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-on-scheme-l),1);--bulma-link:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-l),1);--bulma-link-base:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-l),1);--bulma-link-rgb:66,88,255;--bulma-link-h:233deg;--bulma-link-s:100%;--bulma-link-l:63%;--bulma-link-00-l:0%;--bulma-link-05-l:3%;--bulma-link-10-l:8%;--bulma-link-15-l:13%;--bulma-link-20-l:18%;--bulma-link-25-l:23%;--bulma-link-30-l:28%;--bulma-link-35-l:33%;--bulma-link-40-l:38%;--bulma-link-45-l:43%;--bulma-link-50-l:48%;--bulma-link-55-l:53%;--bulma-link-60-l:58%;--bulma-link-65-l:63%;--bulma-link-70-l:68%;--bulma-link-75-l:73%;--bulma-link-80-l:78%;--bulma-link-85-l:83%;--bulma-link-90-l:88%;--bulma-link-95-l:93%;--bulma-link-100-l:98%;--bulma-link-00:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-00-l),1);--bulma-link-00-invert-l:var(--bulma-link-75-l);--bulma-link-00-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-00-invert-l),1);--bulma-link-05:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-05-l),1);--bulma-link-05-invert-l:var(--bulma-link-75-l);--bulma-link-05-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-05-invert-l),1);--bulma-link-10:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-10-l),1);--bulma-link-10-invert-l:var(--bulma-link-75-l);--bulma-link-10-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-10-invert-l),1);--bulma-link-15:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-15-l),1);--bulma-link-15-invert-l:var(--bulma-link-80-l);--bulma-link-15-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-15-invert-l),1);--bulma-link-20:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-20-l),1);--bulma-link-20-invert-l:var(--bulma-link-80-l);--bulma-link-20-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-20-invert-l),1);--bulma-link-25:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-25-l),1);--bulma-link-25-invert-l:var(--bulma-link-85-l);--bulma-link-25-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-25-invert-l),1);--bulma-link-30:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-30-l),1);--bulma-link-30-invert-l:var(--bulma-link-90-l);--bulma-link-30-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-30-invert-l),1);--bulma-link-35:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-35-l),1);--bulma-link-35-invert-l:var(--bulma-link-90-l);--bulma-link-35-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-35-invert-l),1);--bulma-link-40:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-40-l),1);--bulma-link-40-invert-l:var(--bulma-link-95-l);--bulma-link-40-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-40-invert-l),1);--bulma-link-45:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-45-l),1);--bulma-link-45-invert-l:var(--bulma-link-100-l);--bulma-link-45-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-45-invert-l),1);--bulma-link-50:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-50-l),1);--bulma-link-50-invert-l:var(--bulma-link-100-l);--bulma-link-50-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-50-invert-l),1);--bulma-link-55:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-55-l),1);--bulma-link-55-invert-l:var(--bulma-link-100-l);--bulma-link-55-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-55-invert-l),1);--bulma-link-60:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-60-l),1);--bulma-link-60-invert-l:var(--bulma-link-100-l);--bulma-link-60-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-60-invert-l),1);--bulma-link-65:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-65-l),1);--bulma-link-65-invert-l:var(--bulma-link-100-l);--bulma-link-65-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-65-invert-l),1);--bulma-link-70:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-70-l),1);--bulma-link-70-invert-l:var(--bulma-link-100-l);--bulma-link-70-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-70-invert-l),1);--bulma-link-75:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-75-l),1);--bulma-link-75-invert-l:var(--bulma-link-10-l);--bulma-link-75-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-75-invert-l),1);--bulma-link-80:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-80-l),1);--bulma-link-80-invert-l:var(--bulma-link-20-l);--bulma-link-80-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-80-invert-l),1);--bulma-link-85:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-85-l),1);--bulma-link-85-invert-l:var(--bulma-link-25-l);--bulma-link-85-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-85-invert-l),1);--bulma-link-90:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-90-l),1);--bulma-link-90-invert-l:var(--bulma-link-35-l);--bulma-link-90-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-90-invert-l),1);--bulma-link-95:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-95-l),1);--bulma-link-95-invert-l:var(--bulma-link-40-l);--bulma-link-95-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-95-invert-l),1);--bulma-link-100:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-100-l),1);--bulma-link-100-invert-l:var(--bulma-link-50-l);--bulma-link-100-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-100-invert-l),1);--bulma-link-invert-l:var(--bulma-link-100-l);--bulma-link-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-invert-l),1);--bulma-link-light-l:var(--bulma-link-90-l);--bulma-link-light:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-light-l),1);--bulma-link-light-invert-l:var(--bulma-link-35-l);--bulma-link-light-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-light-invert-l),1);--bulma-link-dark-l:var(--bulma-link-10-l);--bulma-link-dark:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-dark-l),1);--bulma-link-dark-invert-l:var(--bulma-link-75-l);--bulma-link-dark-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-dark-invert-l),1);--bulma-link-soft:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-soft-l),1);--bulma-link-bold:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-bold-l),1);--bulma-link-soft-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-soft-invert-l),1);--bulma-link-bold-invert:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-bold-invert-l),1);--bulma-link-on-scheme-l:58%;--bulma-link-on-scheme:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-on-scheme-l),1);--bulma-info:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-l),1);--bulma-info-base:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-l),1);--bulma-info-rgb:102,209,255;--bulma-info-h:198deg;--bulma-info-s:100%;--bulma-info-l:70%;--bulma-info-00-l:0%;--bulma-info-05-l:5%;--bulma-info-10-l:10%;--bulma-info-15-l:15%;--bulma-info-20-l:20%;--bulma-info-25-l:25%;--bulma-info-30-l:30%;--bulma-info-35-l:35%;--bulma-info-40-l:40%;--bulma-info-45-l:45%;--bulma-info-50-l:50%;--bulma-info-55-l:55%;--bulma-info-60-l:60%;--bulma-info-65-l:65%;--bulma-info-70-l:70%;--bulma-info-75-l:75%;--bulma-info-80-l:80%;--bulma-info-85-l:85%;--bulma-info-90-l:90%;--bulma-info-95-l:95%;--bulma-info-100-l:100%;--bulma-info-00:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-00-l),1);--bulma-info-00-invert-l:var(--bulma-info-45-l);--bulma-info-00-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-00-invert-l),1);--bulma-info-05:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-05-l),1);--bulma-info-05-invert-l:var(--bulma-info-50-l);--bulma-info-05-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-05-invert-l),1);--bulma-info-10:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-10-l),1);--bulma-info-10-invert-l:var(--bulma-info-60-l);--bulma-info-10-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-10-invert-l),1);--bulma-info-15:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-15-l),1);--bulma-info-15-invert-l:var(--bulma-info-80-l);--bulma-info-15-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-15-invert-l),1);--bulma-info-20:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-20-l),1);--bulma-info-20-invert-l:var(--bulma-info-95-l);--bulma-info-20-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-20-invert-l),1);--bulma-info-25:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-25-l),1);--bulma-info-25-invert-l:var(--bulma-info-100-l);--bulma-info-25-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-25-invert-l),1);--bulma-info-30:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-30-l),1);--bulma-info-30-invert-l:var(--bulma-info-100-l);--bulma-info-30-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-30-invert-l),1);--bulma-info-35:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-35-l),1);--bulma-info-35-invert-l:var(--bulma-info-100-l);--bulma-info-35-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-35-invert-l),1);--bulma-info-40:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-40-l),1);--bulma-info-40-invert-l:var(--bulma-info-100-l);--bulma-info-40-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-40-invert-l),1);--bulma-info-45:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-45-l),1);--bulma-info-45-invert-l:var(--bulma-info-00-l);--bulma-info-45-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-45-invert-l),1);--bulma-info-50:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-50-l),1);--bulma-info-50-invert-l:var(--bulma-info-05-l);--bulma-info-50-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-50-invert-l),1);--bulma-info-55:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-55-l),1);--bulma-info-55-invert-l:var(--bulma-info-05-l);--bulma-info-55-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-55-invert-l),1);--bulma-info-60:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-60-l),1);--bulma-info-60-invert-l:var(--bulma-info-10-l);--bulma-info-60-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-60-invert-l),1);--bulma-info-65:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-65-l),1);--bulma-info-65-invert-l:var(--bulma-info-10-l);--bulma-info-65-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-65-invert-l),1);--bulma-info-70:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-70-l),1);--bulma-info-70-invert-l:var(--bulma-info-10-l);--bulma-info-70-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-70-invert-l),1);--bulma-info-75:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-75-l),1);--bulma-info-75-invert-l:var(--bulma-info-10-l);--bulma-info-75-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-75-invert-l),1);--bulma-info-80:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-80-l),1);--bulma-info-80-invert-l:var(--bulma-info-15-l);--bulma-info-80-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-80-invert-l),1);--bulma-info-85:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-85-l),1);--bulma-info-85-invert-l:var(--bulma-info-15-l);--bulma-info-85-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-85-invert-l),1);--bulma-info-90:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-90-l),1);--bulma-info-90-invert-l:var(--bulma-info-15-l);--bulma-info-90-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-90-invert-l),1);--bulma-info-95:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-95-l),1);--bulma-info-95-invert-l:var(--bulma-info-20-l);--bulma-info-95-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-95-invert-l),1);--bulma-info-100:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-100-l),1);--bulma-info-100-invert-l:var(--bulma-info-20-l);--bulma-info-100-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-100-invert-l),1);--bulma-info-invert-l:var(--bulma-info-10-l);--bulma-info-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-invert-l),1);--bulma-info-light-l:var(--bulma-info-90-l);--bulma-info-light:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-light-l),1);--bulma-info-light-invert-l:var(--bulma-info-15-l);--bulma-info-light-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-light-invert-l),1);--bulma-info-dark-l:var(--bulma-info-10-l);--bulma-info-dark:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-dark-l),1);--bulma-info-dark-invert-l:var(--bulma-info-60-l);--bulma-info-dark-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-dark-invert-l),1);--bulma-info-soft:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-soft-l),1);--bulma-info-bold:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-bold-l),1);--bulma-info-soft-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-soft-invert-l),1);--bulma-info-bold-invert:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-bold-invert-l),1);--bulma-info-on-scheme-l:25%;--bulma-info-on-scheme:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-on-scheme-l),1);--bulma-success:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-l),1);--bulma-success-base:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-l),1);--bulma-success-rgb:72,199,142;--bulma-success-h:153deg;--bulma-success-s:53%;--bulma-success-l:53%;--bulma-success-00-l:0%;--bulma-success-05-l:3%;--bulma-success-10-l:8%;--bulma-success-15-l:13%;--bulma-success-20-l:18%;--bulma-success-25-l:23%;--bulma-success-30-l:28%;--bulma-success-35-l:33%;--bulma-success-40-l:38%;--bulma-success-45-l:43%;--bulma-success-50-l:48%;--bulma-success-55-l:53%;--bulma-success-60-l:58%;--bulma-success-65-l:63%;--bulma-success-70-l:68%;--bulma-success-75-l:73%;--bulma-success-80-l:78%;--bulma-success-85-l:83%;--bulma-success-90-l:88%;--bulma-success-95-l:93%;--bulma-success-100-l:98%;--bulma-success-00:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-00-l),1);--bulma-success-00-invert-l:var(--bulma-success-45-l);--bulma-success-00-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-00-invert-l),1);--bulma-success-05:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-05-l),1);--bulma-success-05-invert-l:var(--bulma-success-45-l);--bulma-success-05-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-05-invert-l),1);--bulma-success-10:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-10-l),1);--bulma-success-10-invert-l:var(--bulma-success-55-l);--bulma-success-10-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-10-invert-l),1);--bulma-success-15:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-15-l),1);--bulma-success-15-invert-l:var(--bulma-success-75-l);--bulma-success-15-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-15-invert-l),1);--bulma-success-20:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-20-l),1);--bulma-success-20-invert-l:var(--bulma-success-90-l);--bulma-success-20-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-20-invert-l),1);--bulma-success-25:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-25-l),1);--bulma-success-25-invert-l:var(--bulma-success-100-l);--bulma-success-25-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-25-invert-l),1);--bulma-success-30:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-30-l),1);--bulma-success-30-invert-l:var(--bulma-success-100-l);--bulma-success-30-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-30-invert-l),1);--bulma-success-35:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-35-l),1);--bulma-success-35-invert-l:var(--bulma-success-100-l);--bulma-success-35-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-35-invert-l),1);--bulma-success-40:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-40-l),1);--bulma-success-40-invert-l:var(--bulma-success-100-l);--bulma-success-40-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-40-invert-l),1);--bulma-success-45:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-45-l),1);--bulma-success-45-invert-l:var(--bulma-success-05-l);--bulma-success-45-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-45-invert-l),1);--bulma-success-50:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-50-l),1);--bulma-success-50-invert-l:var(--bulma-success-05-l);--bulma-success-50-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-50-invert-l),1);--bulma-success-55:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-55-l),1);--bulma-success-55-invert-l:var(--bulma-success-10-l);--bulma-success-55-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-55-invert-l),1);--bulma-success-60:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-60-l),1);--bulma-success-60-invert-l:var(--bulma-success-10-l);--bulma-success-60-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-60-invert-l),1);--bulma-success-65:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-65-l),1);--bulma-success-65-invert-l:var(--bulma-success-10-l);--bulma-success-65-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-65-invert-l),1);--bulma-success-70:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-70-l),1);--bulma-success-70-invert-l:var(--bulma-success-10-l);--bulma-success-70-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-70-invert-l),1);--bulma-success-75:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-75-l),1);--bulma-success-75-invert-l:var(--bulma-success-15-l);--bulma-success-75-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-75-invert-l),1);--bulma-success-80:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-80-l),1);--bulma-success-80-invert-l:var(--bulma-success-15-l);--bulma-success-80-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-80-invert-l),1);--bulma-success-85:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-85-l),1);--bulma-success-85-invert-l:var(--bulma-success-15-l);--bulma-success-85-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-85-invert-l),1);--bulma-success-90:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-90-l),1);--bulma-success-90-invert-l:var(--bulma-success-20-l);--bulma-success-90-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-90-invert-l),1);--bulma-success-95:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-95-l),1);--bulma-success-95-invert-l:var(--bulma-success-20-l);--bulma-success-95-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-95-invert-l),1);--bulma-success-100:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-100-l),1);--bulma-success-100-invert-l:var(--bulma-success-20-l);--bulma-success-100-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-100-invert-l),1);--bulma-success-invert-l:var(--bulma-success-10-l);--bulma-success-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-invert-l),1);--bulma-success-light-l:var(--bulma-success-90-l);--bulma-success-light:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-light-l),1);--bulma-success-light-invert-l:var(--bulma-success-20-l);--bulma-success-light-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-light-invert-l),1);--bulma-success-dark-l:var(--bulma-success-10-l);--bulma-success-dark:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-dark-l),1);--bulma-success-dark-invert-l:var(--bulma-success-55-l);--bulma-success-dark-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-dark-invert-l),1);--bulma-success-soft:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-soft-l),1);--bulma-success-bold:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-bold-l),1);--bulma-success-soft-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-soft-invert-l),1);--bulma-success-bold-invert:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-bold-invert-l),1);--bulma-success-on-scheme-l:23%;--bulma-success-on-scheme:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-on-scheme-l),1);--bulma-warning:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-l),1);--bulma-warning-base:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-l),1);--bulma-warning-rgb:255,183,15;--bulma-warning-h:42deg;--bulma-warning-s:100%;--bulma-warning-l:53%;--bulma-warning-00-l:0%;--bulma-warning-05-l:3%;--bulma-warning-10-l:8%;--bulma-warning-15-l:13%;--bulma-warning-20-l:18%;--bulma-warning-25-l:23%;--bulma-warning-30-l:28%;--bulma-warning-35-l:33%;--bulma-warning-40-l:38%;--bulma-warning-45-l:43%;--bulma-warning-50-l:48%;--bulma-warning-55-l:53%;--bulma-warning-60-l:58%;--bulma-warning-65-l:63%;--bulma-warning-70-l:68%;--bulma-warning-75-l:73%;--bulma-warning-80-l:78%;--bulma-warning-85-l:83%;--bulma-warning-90-l:88%;--bulma-warning-95-l:93%;--bulma-warning-100-l:98%;--bulma-warning-00:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-00-l),1);--bulma-warning-00-invert-l:var(--bulma-warning-40-l);--bulma-warning-00-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-00-invert-l),1);--bulma-warning-05:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-05-l),1);--bulma-warning-05-invert-l:var(--bulma-warning-45-l);--bulma-warning-05-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-05-invert-l),1);--bulma-warning-10:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-10-l),1);--bulma-warning-10-invert-l:var(--bulma-warning-50-l);--bulma-warning-10-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-10-invert-l),1);--bulma-warning-15:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-15-l),1);--bulma-warning-15-invert-l:var(--bulma-warning-70-l);--bulma-warning-15-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-15-invert-l),1);--bulma-warning-20:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-20-l),1);--bulma-warning-20-invert-l:var(--bulma-warning-100-l);--bulma-warning-20-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-20-invert-l),1);--bulma-warning-25:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-25-l),1);--bulma-warning-25-invert-l:var(--bulma-warning-100-l);--bulma-warning-25-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-25-invert-l),1);--bulma-warning-30:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-30-l),1);--bulma-warning-30-invert-l:var(--bulma-warning-100-l);--bulma-warning-30-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-30-invert-l),1);--bulma-warning-35:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-35-l),1);--bulma-warning-35-invert-l:var(--bulma-warning-100-l);--bulma-warning-35-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-35-invert-l),1);--bulma-warning-40:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-40-l),1);--bulma-warning-40-invert-l:var(--bulma-warning-00-l);--bulma-warning-40-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-40-invert-l),1);--bulma-warning-45:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-45-l),1);--bulma-warning-45-invert-l:var(--bulma-warning-05-l);--bulma-warning-45-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-45-invert-l),1);--bulma-warning-50:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-50-l),1);--bulma-warning-50-invert-l:var(--bulma-warning-10-l);--bulma-warning-50-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-50-invert-l),1);--bulma-warning-55:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-55-l),1);--bulma-warning-55-invert-l:var(--bulma-warning-10-l);--bulma-warning-55-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-55-invert-l),1);--bulma-warning-60:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-60-l),1);--bulma-warning-60-invert-l:var(--bulma-warning-10-l);--bulma-warning-60-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-60-invert-l),1);--bulma-warning-65:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-65-l),1);--bulma-warning-65-invert-l:var(--bulma-warning-10-l);--bulma-warning-65-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-65-invert-l),1);--bulma-warning-70:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-70-l),1);--bulma-warning-70-invert-l:var(--bulma-warning-15-l);--bulma-warning-70-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-70-invert-l),1);--bulma-warning-75:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-75-l),1);--bulma-warning-75-invert-l:var(--bulma-warning-15-l);--bulma-warning-75-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-75-invert-l),1);--bulma-warning-80:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-80-l),1);--bulma-warning-80-invert-l:var(--bulma-warning-15-l);--bulma-warning-80-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-80-invert-l),1);--bulma-warning-85:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-85-l),1);--bulma-warning-85-invert-l:var(--bulma-warning-15-l);--bulma-warning-85-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-85-invert-l),1);--bulma-warning-90:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-90-l),1);--bulma-warning-90-invert-l:var(--bulma-warning-15-l);--bulma-warning-90-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-90-invert-l),1);--bulma-warning-95:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-95-l),1);--bulma-warning-95-invert-l:var(--bulma-warning-15-l);--bulma-warning-95-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-95-invert-l),1);--bulma-warning-100:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-100-l),1);--bulma-warning-100-invert-l:var(--bulma-warning-20-l);--bulma-warning-100-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-100-invert-l),1);--bulma-warning-invert-l:var(--bulma-warning-10-l);--bulma-warning-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-invert-l),1);--bulma-warning-light-l:var(--bulma-warning-90-l);--bulma-warning-light:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-light-l),1);--bulma-warning-light-invert-l:var(--bulma-warning-15-l);--bulma-warning-light-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-light-invert-l),1);--bulma-warning-dark-l:var(--bulma-warning-10-l);--bulma-warning-dark:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-dark-l),1);--bulma-warning-dark-invert-l:var(--bulma-warning-50-l);--bulma-warning-dark-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-dark-invert-l),1);--bulma-warning-soft:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-soft-l),1);--bulma-warning-bold:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-bold-l),1);--bulma-warning-soft-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-soft-invert-l),1);--bulma-warning-bold-invert:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-bold-invert-l),1);--bulma-warning-on-scheme-l:23%;--bulma-warning-on-scheme:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-on-scheme-l),1);--bulma-danger:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-l),1);--bulma-danger-base:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-l),1);--bulma-danger-rgb:255,102,133;--bulma-danger-h:348deg;--bulma-danger-s:100%;--bulma-danger-l:70%;--bulma-danger-00-l:0%;--bulma-danger-05-l:5%;--bulma-danger-10-l:10%;--bulma-danger-15-l:15%;--bulma-danger-20-l:20%;--bulma-danger-25-l:25%;--bulma-danger-30-l:30%;--bulma-danger-35-l:35%;--bulma-danger-40-l:40%;--bulma-danger-45-l:45%;--bulma-danger-50-l:50%;--bulma-danger-55-l:55%;--bulma-danger-60-l:60%;--bulma-danger-65-l:65%;--bulma-danger-70-l:70%;--bulma-danger-75-l:75%;--bulma-danger-80-l:80%;--bulma-danger-85-l:85%;--bulma-danger-90-l:90%;--bulma-danger-95-l:95%;--bulma-danger-100-l:100%;--bulma-danger-00:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-00-l),1);--bulma-danger-00-invert-l:var(--bulma-danger-65-l);--bulma-danger-00-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-00-invert-l),1);--bulma-danger-05:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-05-l),1);--bulma-danger-05-invert-l:var(--bulma-danger-70-l);--bulma-danger-05-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-05-invert-l),1);--bulma-danger-10:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-10-l),1);--bulma-danger-10-invert-l:var(--bulma-danger-75-l);--bulma-danger-10-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-10-invert-l),1);--bulma-danger-15:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-15-l),1);--bulma-danger-15-invert-l:var(--bulma-danger-80-l);--bulma-danger-15-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-15-invert-l),1);--bulma-danger-20:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-20-l),1);--bulma-danger-20-invert-l:var(--bulma-danger-85-l);--bulma-danger-20-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-20-invert-l),1);--bulma-danger-25:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-25-l),1);--bulma-danger-25-invert-l:var(--bulma-danger-90-l);--bulma-danger-25-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-25-invert-l),1);--bulma-danger-30:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-30-l),1);--bulma-danger-30-invert-l:var(--bulma-danger-100-l);--bulma-danger-30-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-30-invert-l),1);--bulma-danger-35:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-35-l),1);--bulma-danger-35-invert-l:var(--bulma-danger-100-l);--bulma-danger-35-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-35-invert-l),1);--bulma-danger-40:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-40-l),1);--bulma-danger-40-invert-l:var(--bulma-danger-100-l);--bulma-danger-40-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-40-invert-l),1);--bulma-danger-45:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-45-l),1);--bulma-danger-45-invert-l:var(--bulma-danger-100-l);--bulma-danger-45-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-45-invert-l),1);--bulma-danger-50:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-50-l),1);--bulma-danger-50-invert-l:var(--bulma-danger-100-l);--bulma-danger-50-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-50-invert-l),1);--bulma-danger-55:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-55-l),1);--bulma-danger-55-invert-l:var(--bulma-danger-100-l);--bulma-danger-55-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-55-invert-l),1);--bulma-danger-60:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-60-l),1);--bulma-danger-60-invert-l:var(--bulma-danger-100-l);--bulma-danger-60-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-60-invert-l),1);--bulma-danger-65:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-65-l),1);--bulma-danger-65-invert-l:var(--bulma-danger-00-l);--bulma-danger-65-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-65-invert-l),1);--bulma-danger-70:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-70-l),1);--bulma-danger-70-invert-l:var(--bulma-danger-05-l);--bulma-danger-70-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-70-invert-l),1);--bulma-danger-75:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-75-l),1);--bulma-danger-75-invert-l:var(--bulma-danger-10-l);--bulma-danger-75-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-75-invert-l),1);--bulma-danger-80:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-80-l),1);--bulma-danger-80-invert-l:var(--bulma-danger-15-l);--bulma-danger-80-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-80-invert-l),1);--bulma-danger-85:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-85-l),1);--bulma-danger-85-invert-l:var(--bulma-danger-20-l);--bulma-danger-85-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-85-invert-l),1);--bulma-danger-90:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-90-l),1);--bulma-danger-90-invert-l:var(--bulma-danger-25-l);--bulma-danger-90-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-90-invert-l),1);--bulma-danger-95:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-95-l),1);--bulma-danger-95-invert-l:var(--bulma-danger-25-l);--bulma-danger-95-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-95-invert-l),1);--bulma-danger-100:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-100-l),1);--bulma-danger-100-invert-l:var(--bulma-danger-30-l);--bulma-danger-100-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-100-invert-l),1);--bulma-danger-invert-l:var(--bulma-danger-05-l);--bulma-danger-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-invert-l),1);--bulma-danger-light-l:var(--bulma-danger-90-l);--bulma-danger-light:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-light-l),1);--bulma-danger-light-invert-l:var(--bulma-danger-25-l);--bulma-danger-light-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-light-invert-l),1);--bulma-danger-dark-l:var(--bulma-danger-10-l);--bulma-danger-dark:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-dark-l),1);--bulma-danger-dark-invert-l:var(--bulma-danger-75-l);--bulma-danger-dark-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-dark-invert-l),1);--bulma-danger-soft:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-soft-l),1);--bulma-danger-bold:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-bold-l),1);--bulma-danger-soft-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-soft-invert-l),1);--bulma-danger-bold-invert:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-bold-invert-l),1);--bulma-danger-on-scheme-l:40%;--bulma-danger-on-scheme:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-on-scheme-l),1);--bulma-black-bis:#14161a;--bulma-black-ter:#1f2229;--bulma-grey-darker:#2e333d;--bulma-grey-dark:#404654;--bulma-grey:#69748c;--bulma-grey-light:#abb1bf;--bulma-grey-lighter:#d6d9e0;--bulma-white-ter:#f3f4f6;--bulma-white-bis:#f9fafb;--bulma-shadow-h:221deg;--bulma-shadow-s:14%;--bulma-shadow-l:4%;--bulma-size-1:3rem;--bulma-size-2:2.5rem;--bulma-size-3:2rem;--bulma-size-4:1.5rem;--bulma-size-5:1.25rem;--bulma-size-6:1rem;--bulma-size-7:0.75rem;--bulma-scheme-main:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-main-l));--bulma-scheme-main-bis:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-main-bis-l));--bulma-scheme-main-ter:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-main-ter-l));--bulma-background:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-background-l));--bulma-background-hover:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),calc(var(--bulma-background-l) + var(--bulma-hover-background-l-delta)));--bulma-background-active:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),calc(var(--bulma-background-l) + var(--bulma-active-background-l-delta)));--bulma-border-weak:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-border-weak-l));--bulma-border:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-border-l));--bulma-border-hover:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),calc(var(--bulma-border-l) + var(--bulma-hover-border-l-delta)));--bulma-border-active:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),calc(var(--bulma-border-l) + var(--bulma-active-border-l-delta)));--bulma-text-weak:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-weak-l));--bulma-text:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-l));--bulma-text-strong:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-strong-l));--bulma-scheme-invert-ter:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-ter-l));--bulma-scheme-invert-bis:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-bis-l));--bulma-scheme-invert:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l));--bulma-link:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-l));--bulma-link-text:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-on-scheme-l));--bulma-link-text-hover:hsl(var(--bulma-link-h),var(--bulma-link-s),calc(var(--bulma-link-on-scheme-l) + var(--bulma-hover-color-l-delta)));--bulma-link-text-active:hsl(var(--bulma-link-h),var(--bulma-link-s),calc(var(--bulma-link-on-scheme-l) + var(--bulma-active-color-l-delta)));--bulma-focus-h:var(--bulma-link-h);--bulma-focus-s:var(--bulma-link-s);--bulma-focus-l:var(--bulma-link-l);--bulma-focus-offset:1px;--bulma-focus-style:solid;--bulma-focus-width:2px;--bulma-focus-shadow-size:0 0 0 0.1875em;--bulma-focus-shadow-alpha:0.25;--bulma-code:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-on-scheme-l));--bulma-code-background:var(--bulma-background);--bulma-pre:var(--bulma-text);--bulma-pre-background:var(--bulma-background);--bulma-shadow:0 0.5em 1em -0.125em hsla(var(--bulma-shadow-h),var(--bulma-shadow-s),var(--bulma-shadow-l),0.1),0 0px 0 1px hsla(var(--bulma-shadow-h),var(--bulma-shadow-s),var(--bulma-shadow-l),0.02)}.theme-dark,[data-theme=dark]{--bulma-white-on-scheme-l:100%;--bulma-white-on-scheme:hsla(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-on-scheme-l),1);--bulma-black-on-scheme-l:0%;--bulma-black-on-scheme:hsla(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-on-scheme-l),1);--bulma-light-on-scheme-l:96%;--bulma-light-on-scheme:hsla(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-on-scheme-l),1);--bulma-dark-on-scheme-l:56%;--bulma-dark-on-scheme:hsla(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-on-scheme-l),1);--bulma-text-on-scheme-l:54%;--bulma-text-on-scheme:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-on-scheme-l),1);--bulma-primary-on-scheme-l:41%;--bulma-primary-on-scheme:hsla(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-on-scheme-l),1);--bulma-link-on-scheme-l:73%;--bulma-link-on-scheme:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-on-scheme-l),1);--bulma-info-on-scheme-l:70%;--bulma-info-on-scheme:hsla(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-on-scheme-l),1);--bulma-success-on-scheme-l:53%;--bulma-success-on-scheme:hsla(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-on-scheme-l),1);--bulma-warning-on-scheme-l:53%;--bulma-warning-on-scheme:hsla(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-on-scheme-l),1);--bulma-danger-on-scheme-l:70%;--bulma-danger-on-scheme:hsla(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-on-scheme-l),1);--bulma-scheme-brightness:dark;--bulma-scheme-main-l:9%;--bulma-scheme-main-bis-l:11%;--bulma-scheme-main-ter-l:13%;--bulma-soft-l:20%;--bulma-bold-l:90%;--bulma-soft-invert-l:90%;--bulma-bold-invert-l:20%;--bulma-background-l:14%;--bulma-border-weak-l:21%;--bulma-border-l:24%;--bulma-text-weak-l:53%;--bulma-text-l:71%;--bulma-text-strong-l:93%;--bulma-text-title-l:100%;--bulma-hover-background-l-delta:5%;--bulma-active-background-l-delta:10%;--bulma-hover-border-l-delta:10%;--bulma-active-border-l-delta:20%;--bulma-hover-color-l-delta:5%;--bulma-active-color-l-delta:10%;--bulma-shadow-h:0deg;--bulma-shadow-s:0%;--bulma-shadow-l:100%;--bulma-scheme-main:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-main-l));--bulma-scheme-main-bis:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-main-bis-l));--bulma-scheme-main-ter:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-main-ter-l));--bulma-background:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-background-l));--bulma-background-hover:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),calc(var(--bulma-background-l) + var(--bulma-hover-background-l-delta)));--bulma-background-active:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),calc(var(--bulma-background-l) + var(--bulma-active-background-l-delta)));--bulma-border-weak:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-border-weak-l));--bulma-border:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-border-l));--bulma-border-hover:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),calc(var(--bulma-border-l) + var(--bulma-hover-border-l-delta)));--bulma-border-active:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),calc(var(--bulma-border-l) + var(--bulma-active-border-l-delta)));--bulma-text-weak:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-weak-l));--bulma-text:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-l));--bulma-text-strong:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-strong-l));--bulma-scheme-invert-ter:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-ter-l));--bulma-scheme-invert-bis:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-bis-l));--bulma-scheme-invert:hsl(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l));--bulma-link:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-l));--bulma-link-text:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-on-scheme-l));--bulma-link-text-hover:hsl(var(--bulma-link-h),var(--bulma-link-s),calc(var(--bulma-link-on-scheme-l) + var(--bulma-hover-color-l-delta)));--bulma-link-text-active:hsl(var(--bulma-link-h),var(--bulma-link-s),calc(var(--bulma-link-on-scheme-l) + var(--bulma-active-color-l-delta)));--bulma-focus-h:var(--bulma-link-h);--bulma-focus-s:var(--bulma-link-s);--bulma-focus-l:var(--bulma-link-l);--bulma-focus-offset:1px;--bulma-focus-style:solid;--bulma-focus-width:2px;--bulma-focus-shadow-size:0 0 0 0.1875em;--bulma-focus-shadow-alpha:0.25;--bulma-code:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-on-scheme-l));--bulma-code-background:var(--bulma-background);--bulma-pre:var(--bulma-text);--bulma-pre-background:var(--bulma-background);--bulma-shadow:0 0.5em 1em -0.125em hsla(var(--bulma-shadow-h),var(--bulma-shadow-s),var(--bulma-shadow-l),0.1),0 0px 0 1px hsla(var(--bulma-shadow-h),var(--bulma-shadow-s),var(--bulma-shadow-l),0.02)} +/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */blockquote,body,dd,dl,dt,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,html,iframe,legend,li,ol,p,pre,textarea,ul{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:inherit}:root{--bulma-body-background-color:var(--bulma-scheme-main);--bulma-body-size:1em;--bulma-body-min-width:300px;--bulma-body-rendering:optimizeLegibility;--bulma-body-family:var(--bulma-family-primary);--bulma-body-overflow-x:hidden;--bulma-body-overflow-y:scroll;--bulma-body-color:var(--bulma-text);--bulma-body-font-size:1em;--bulma-body-weight:var(--bulma-weight-normal);--bulma-body-line-height:1.5;--bulma-code-family:var(--bulma-family-code);--bulma-code-padding:0.25em 0.5em 0.25em;--bulma-code-weight:normal;--bulma-code-size:0.875em;--bulma-small-font-size:0.875em;--bulma-hr-background-color:var(--bulma-background);--bulma-hr-height:2px;--bulma-hr-margin:1.5rem 0;--bulma-strong-color:var(--bulma-text-strong);--bulma-strong-weight:var(--bulma-weight-semibold);--bulma-pre-font-size:0.875em;--bulma-pre-padding:1.25rem 1.5rem;--bulma-pre-code-font-size:1em}html{background-color:var(--bulma-body-background-color);font-size:var(--bulma-body-size);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:var(--bulma-body-min-width);overflow-x:var(--bulma-body-overflow-x);overflow-y:var(--bulma-body-overflow-y);text-rendering:var(--bulma-body-rendering);text-size-adjust:100%}article,aside,figure,footer,header,hgroup,section{display:block}body,button,input,optgroup,select,textarea{font-family:var(--bulma-body-family)}code,pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:var(--bulma-code-family)}body{color:var(--bulma-body-color);font-size:var(--bulma-body-font-size);font-weight:var(--bulma-body-weight);line-height:var(--bulma-body-line-height)}a,button{cursor:pointer}a:focus-visible,button:focus-visible{outline-color:hsl(var(--bulma-focus-h),var(--bulma-focus-s),var(--bulma-focus-l));outline-offset:var(--bulma-focus-offset);outline-style:var(--bulma-focus-style);outline-width:var(--bulma-focus-width)}a:focus-visible:active,button:focus-visible:active{outline-width:1px}a:active,button:active{outline-width:1px}a{color:var(--bulma-link-text);cursor:pointer;text-decoration:none;transition-duration:var(--bulma-duration);transition-property:background-color,border-color,color}a strong{color:currentColor}button{appearance:none;background:none;border:none;color:inherit;font-family:inherit;font-size:1em;margin:0;padding:0;transition-duration:var(--bulma-duration);transition-property:background-color,border-color,color}code{background-color:var(--bulma-code-background);border-radius:.5em;color:var(--bulma-code);font-size:var(--bulma-code-size);font-weight:var(--bulma-code-weight);padding:var(--bulma-code-padding)}hr{background-color:var(--bulma-hr-background-color);border:none;display:block;height:var(--bulma-hr-height);margin:var(--bulma-hr-margin)}img{height:auto;max-width:100%}input[type=checkbox],input[type=radio]{vertical-align:baseline}small{font-size:var(--bulma-small-font-size)}span{font-style:inherit;font-weight:inherit}strong{color:var(--bulma-strong-color);font-weight:var(--bulma-strong-weight)}svg{height:auto;width:auto}fieldset{border:none}pre{-webkit-overflow-scrolling:touch;background-color:var(--bulma-pre-background);color:var(--bulma-pre);font-size:var(--bulma-pre-font-size);overflow-x:auto;padding:var(--bulma-pre-padding);white-space:pre;word-wrap:normal}pre code{background-color:transparent;color:currentColor;font-size:var(--bulma-pre-code-font-size);padding:0}table td,table th{vertical-align:top}table td:not([align]),table th:not([align]){text-align:inherit}table th{color:var(--bulma-text-strong)}@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes pulsate{50%{opacity:.5}}.navbar-link:not(.is-arrowless):after,.select:not(.is-multiple):not(.is-loading):after{border:.125em solid var(--bulma-arrow-color);border-right:0;border-top:0;content:" ";display:block;height:.625em;margin-top:-.4375em;pointer-events:none;position:absolute;top:50%;transform:rotate(-45deg);transform-origin:center;transition-duration:var(--bulma-duration);transition-property:border-color;width:.625em}.block:not(:last-child),.box:not(:last-child),.breadcrumb:not(:last-child),.buttons:not(:last-child),.card:not(:last-child),.content:not(:last-child),.field:not(:last-child),.file:not(:last-child),.fixed-grid:not(:last-child),.grid:not(:last-child),.level:not(:last-child),.media:not(:last-child),.message:not(:last-child),.notification:not(:last-child),.pagination:not(:last-child),.progress:not(:last-child),.skeleton-block:not(:last-child),.subtitle:not(:last-child),.table-container:not(:last-child),.table:not(:last-child),.tabs:not(:last-child),.tags:not(:last-child),.title:not(:last-child){margin-bottom:var(--bulma-block-spacing)}.button,.file-cta,.file-name,.input,.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous,.select select,.textarea{align-items:center;appearance:none;border-color:transparent;border-radius:var(--bulma-control-radius);border-style:solid;border-width:var(--bulma-control-border-width);box-shadow:none;display:inline-flex;font-size:var(--bulma-control-size);height:var(--bulma-control-height);justify-content:flex-start;line-height:var(--bulma-control-line-height);padding:var(--bulma-control-padding-vertical) var(--bulma-control-padding-horizontal);position:relative;transition-duration:var(--bulma-duration);transition-property:background-color,border-color,box-shadow,color;vertical-align:top}.button:active,.button:focus,.button:focus-visible,.button:focus-within,.file-cta:active,.file-cta:focus,.file-cta:focus-visible,.file-cta:focus-within,.file-name:active,.file-name:focus,.file-name:focus-visible,.file-name:focus-within,.input:active,.input:focus,.input:focus-visible,.input:focus-within,.is-active.button,.is-active.file-cta,.is-active.file-name,.is-active.input,.is-active.pagination-ellipsis,.is-active.pagination-link,.is-active.pagination-next,.is-active.pagination-previous,.is-active.textarea,.is-focused.button,.is-focused.file-cta,.is-focused.file-name,.is-focused.input,.is-focused.pagination-ellipsis,.is-focused.pagination-link,.is-focused.pagination-next,.is-focused.pagination-previous,.is-focused.textarea,.pagination-ellipsis:active,.pagination-ellipsis:focus,.pagination-ellipsis:focus-visible,.pagination-ellipsis:focus-within,.pagination-link:active,.pagination-link:focus,.pagination-link:focus-visible,.pagination-link:focus-within,.pagination-next:active,.pagination-next:focus,.pagination-next:focus-visible,.pagination-next:focus-within,.pagination-previous:active,.pagination-previous:focus,.pagination-previous:focus-visible,.pagination-previous:focus-within,.select select.is-active,.select select.is-focused,.select select:active,.select select:focus,.select select:focus-visible,.select select:focus-within,.textarea:active,.textarea:focus,.textarea:focus-visible,.textarea:focus-within{outline:none}.select fieldset[disabled] select,.select select[disabled],[disabled].button,[disabled].file-cta,[disabled].file-name,[disabled].input,[disabled].pagination-ellipsis,[disabled].pagination-link,[disabled].pagination-next,[disabled].pagination-previous,[disabled].textarea,fieldset[disabled] .button,fieldset[disabled] .file-cta,fieldset[disabled] .file-name,fieldset[disabled] .input,fieldset[disabled] .pagination-ellipsis,fieldset[disabled] .pagination-link,fieldset[disabled] .pagination-next,fieldset[disabled] .pagination-previous,fieldset[disabled] .select select,fieldset[disabled] .textarea{cursor:not-allowed}.modal-close{--bulma-delete-dimensions:1.25rem;--bulma-delete-background-l:0%;--bulma-delete-background-alpha:0.5;--bulma-delete-color:var(--bulma-white);appearance:none;background-color:hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-delete-background-l),var(--bulma-delete-background-alpha));border:none;border-radius:var(--bulma-radius-rounded);cursor:pointer;display:inline-flex;flex-grow:0;flex-shrink:0;font-size:1em;height:var(--bulma-delete-dimensions);max-height:var(--bulma-delete-dimensions);max-width:var(--bulma-delete-dimensions);min-height:var(--bulma-delete-dimensions);min-width:var(--bulma-delete-dimensions);outline:none;pointer-events:auto;position:relative;vertical-align:top;width:var(--bulma-delete-dimensions)}.modal-close:after,.modal-close:before{background-color:var(--bulma-delete-color);content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.modal-close:before{height:2px;width:50%}.modal-close:after{height:50%;width:2px}.modal-close:focus,.modal-close:hover{--bulma-delete-background-alpha:0.4}.modal-close:active{--bulma-delete-background-alpha:0.5}.is-small.modal-close{--bulma-delete-dimensions:1rem}.is-medium.modal-close{--bulma-delete-dimensions:1.5rem}.is-large.modal-close{--bulma-delete-dimensions:2rem}.button.is-loading:after,.control.is-loading:after,.select.is-loading:after{animation:spinAround .5s linear infinite;border-bottom:2px solid var(--bulma-loading-color);border-left:2px solid var(--bulma-loading-color);border-radius:var(--bulma-radius-rounded);border-right:2px solid transparent;border-top:2px solid transparent;content:"";display:block;height:1em;position:relative;width:1em}.hero-video,.is-overlay,.modal,.modal-background{bottom:0;left:0;position:absolute;right:0;top:0}.menu-list .menu-item,.menu-list a,.menu-list button,.navbar-burger{appearance:none;background:none;border:none;color:inherit;font-family:inherit;font-size:1em;margin:0;padding:0}.breadcrumb,.button,.file,.is-unselectable,.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous,.tabs{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.box{--bulma-box-background-color:var(--bulma-scheme-main);--bulma-box-color:var(--bulma-text);--bulma-box-radius:var(--bulma-radius-large);--bulma-box-shadow:var(--bulma-shadow);--bulma-box-padding:1.25rem;--bulma-box-link-hover-shadow:0 0.5em 1em -0.125em hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l),0.1),0 0 0 1px var(--bulma-link);--bulma-box-link-active-shadow:inset 0 1px 2px hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l),0.2),0 0 0 1px var(--bulma-link);background-color:var(--bulma-box-background-color);border-radius:var(--bulma-box-radius);box-shadow:var(--bulma-box-shadow);color:var(--bulma-box-color);display:block;padding:var(--bulma-box-padding)}a.box:focus,a.box:hover{box-shadow:var(--bulma-box-link-hover-shadow)}a.box:active{box-shadow:var(--bulma-box-link-active-shadow)}.button{--bulma-button-family:false;--bulma-button-weight:var(--bulma-weight-medium);--bulma-button-border-color:var(--bulma-border);--bulma-button-border-style:solid;--bulma-button-border-width:var(--bulma-control-border-width);--bulma-button-padding-vertical:0.5em;--bulma-button-padding-horizontal:1em;--bulma-button-focus-border-color:var(--bulma-link-focus-border);--bulma-button-focus-box-shadow-size:0 0 0 0.125em;--bulma-button-focus-box-shadow-color:hsla(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-on-scheme-l),0.25);--bulma-button-active-color:var(--bulma-link-active);--bulma-button-active-border-color:var(--bulma-link-active-border);--bulma-button-text-color:var(--bulma-text);--bulma-button-text-decoration:underline;--bulma-button-text-hover-background-color:var(--bulma-background);--bulma-button-text-hover-color:var(--bulma-text-strong);--bulma-button-ghost-background:none;--bulma-button-ghost-border-color:transparent;--bulma-button-ghost-color:var(--bulma-link-text);--bulma-button-ghost-decoration:none;--bulma-button-ghost-hover-color:var(--bulma-link);--bulma-button-ghost-hover-decoration:underline;--bulma-button-disabled-background-color:var(--bulma-scheme-main);--bulma-button-disabled-border-color:var(--bulma-border);--bulma-button-disabled-shadow:none;--bulma-button-disabled-opacity:0.5;--bulma-button-static-color:var(--bulma-text-weak);--bulma-button-static-background-color:var(--bulma-scheme-main-ter);--bulma-button-static-border-color:var(--bulma-border);--bulma-button-h:var(--bulma-scheme-h);--bulma-button-s:var(--bulma-scheme-s);--bulma-button-l:var(--bulma-scheme-main-l);--bulma-button-background-l:var(--bulma-scheme-main-l);--bulma-button-background-l-delta:0%;--bulma-button-hover-background-l-delta:var(--bulma-hover-background-l-delta);--bulma-button-active-background-l-delta:var(--bulma-active-background-l-delta);--bulma-button-color-l:var(--bulma-text-strong-l);--bulma-button-border-l:var(--bulma-border-l);--bulma-button-border-l-delta:0%;--bulma-button-hover-border-l-delta:var(--bulma-hover-border-l-delta);--bulma-button-active-border-l-delta:var(--bulma-active-border-l-delta);--bulma-button-focus-border-l-delta:var(--bulma-focus-border-l-delta);--bulma-button-outer-shadow-h:0;--bulma-button-outer-shadow-s:0%;--bulma-button-outer-shadow-l:20%;--bulma-button-outer-shadow-a:0.05;--bulma-loading-color:hsl(var(--bulma-button-h),var(--bulma-button-s),var(--bulma-button-color-l));background-color:hsl(var(--bulma-button-h),var(--bulma-button-s),calc(var(--bulma-button-background-l) + var(--bulma-button-background-l-delta)));border-color:hsl(var(--bulma-button-h),var(--bulma-button-s),calc(var(--bulma-button-border-l) + var(--bulma-button-border-l-delta)));border-style:var(--bulma-button-border-style);border-width:var(--bulma-button-border-width);box-shadow:0 .0625em .125em hsla(var(--bulma-button-outer-shadow-h),var(--bulma-button-outer-shadow-s),var(--bulma-button-outer-shadow-l),var(--bulma-button-outer-shadow-a)),0 .125em .25em hsla(var(--bulma-button-outer-shadow-h),var(--bulma-button-outer-shadow-s),var(--bulma-button-outer-shadow-l),var(--bulma-button-outer-shadow-a));color:hsl(var(--bulma-button-h),var(--bulma-button-s),var(--bulma-button-color-l));cursor:pointer;font-weight:var(--bulma-button-weight);height:auto;justify-content:center;padding:calc(var(--bulma-button-padding-vertical) - var(--bulma-button-border-width)) calc(var(--bulma-button-padding-horizontal) - var(--bulma-button-border-width));text-align:center;white-space:nowrap}.button strong{color:inherit}.button .icon,.button .icon.is-large,.button .icon.is-medium,.button .icon.is-small{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-inline-end:calc(var(--bulma-button-padding-horizontal)*.25);margin-inline-start:calc(var(--bulma-button-padding-horizontal)*-.5)}.button .icon:last-child:not(:first-child){margin-inline-end:calc(var(--bulma-button-padding-horizontal)*-.5);margin-inline-start:calc(var(--bulma-button-padding-horizontal)*.25)}.button .icon:first-child:last-child{margin-inline-end:calc(var(--bulma-button-padding-horizontal)*-.5);margin-inline-start:calc(var(--bulma-button-padding-horizontal)*-.5)}.button.is-hovered,.button:hover{--bulma-button-background-l-delta:var(--bulma-button-hover-background-l-delta);--bulma-button-border-l-delta:var(--bulma-button-hover-border-l-delta)}.button.is-focused,.button:focus-visible{--bulma-button-border-width:1px;border-color:hsl(var(--bulma-focus-h),var(--bulma-focus-s),var(--bulma-focus-l));box-shadow:var(--bulma-focus-shadow-size) hsla(var(--bulma-focus-h),var(--bulma-focus-s),var(--bulma-focus-l),var(--bulma-focus-shadow-alpha))}.button.is-active,.button:active{--bulma-button-background-l-delta:var(--bulma-button-active-background-l-delta);--bulma-button-border-l-delta:var(--bulma-button-active-border-l-delta);--bulma-button-outer-shadow-a:0}.button[disabled],fieldset[disabled] .button{background-color:var(--bulma-button-disabled-background-color);border-color:var(--bulma-button-disabled-border-color);box-shadow:var(--bulma-button-disabled-shadow);opacity:var(--bulma-button-disabled-opacity)}.button.is-white{--bulma-button-h:var(--bulma-white-h);--bulma-button-s:var(--bulma-white-s);--bulma-button-l:var(--bulma-white-l);--bulma-button-background-l:var(--bulma-white-l);--bulma-button-border-l:var(--bulma-white-l);--bulma-button-border-width:0px;--bulma-button-color-l:var(--bulma-white-invert-l);--bulma-button-outer-shadow-a:0}.button.is-white.is-focused,.button.is-white:focus-visible{--bulma-button-border-width:1px}.button.is-white.is-soft{--bulma-button-background-l:var(--bulma-soft-l);--bulma-button-color-l:var(--bulma-soft-invert-l)}.button.is-white.is-bold{--bulma-button-background-l:var(--bulma-bold-l);--bulma-button-color-l:var(--bulma-bold-invert-l)}.button.is-white[disabled],fieldset[disabled] .button.is-white{background-color:var(--bulma-white);border-color:var(--bulma-white);box-shadow:none}.button.is-black{--bulma-button-h:var(--bulma-black-h);--bulma-button-s:var(--bulma-black-s);--bulma-button-l:var(--bulma-black-l);--bulma-button-background-l:var(--bulma-black-l);--bulma-button-border-l:var(--bulma-black-l);--bulma-button-border-width:0px;--bulma-button-color-l:var(--bulma-black-invert-l);--bulma-button-outer-shadow-a:0}.button.is-black.is-focused,.button.is-black:focus-visible{--bulma-button-border-width:1px}.button.is-black.is-soft{--bulma-button-background-l:var(--bulma-soft-l);--bulma-button-color-l:var(--bulma-soft-invert-l)}.button.is-black.is-bold{--bulma-button-background-l:var(--bulma-bold-l);--bulma-button-color-l:var(--bulma-bold-invert-l)}.button.is-black[disabled],fieldset[disabled] .button.is-black{background-color:var(--bulma-black);border-color:var(--bulma-black);box-shadow:none}.button.is-light{--bulma-button-h:var(--bulma-light-h);--bulma-button-s:var(--bulma-light-s);--bulma-button-l:var(--bulma-light-l);--bulma-button-background-l:var(--bulma-light-l);--bulma-button-border-l:var(--bulma-light-l);--bulma-button-border-width:0px;--bulma-button-color-l:var(--bulma-light-invert-l);--bulma-button-outer-shadow-a:0}.button.is-light.is-focused,.button.is-light:focus-visible{--bulma-button-border-width:1px}.button.is-light.is-soft{--bulma-button-background-l:var(--bulma-soft-l);--bulma-button-color-l:var(--bulma-soft-invert-l)}.button.is-light.is-bold{--bulma-button-background-l:var(--bulma-bold-l);--bulma-button-color-l:var(--bulma-bold-invert-l)}.button.is-light[disabled],fieldset[disabled] .button.is-light{background-color:var(--bulma-light);border-color:var(--bulma-light);box-shadow:none}.button.is-dark{--bulma-button-h:var(--bulma-dark-h);--bulma-button-s:var(--bulma-dark-s);--bulma-button-l:var(--bulma-dark-l);--bulma-button-background-l:var(--bulma-dark-l);--bulma-button-border-l:var(--bulma-dark-l);--bulma-button-border-width:0px;--bulma-button-color-l:var(--bulma-dark-invert-l);--bulma-button-outer-shadow-a:0}.button.is-dark.is-focused,.button.is-dark:focus-visible{--bulma-button-border-width:1px}.button.is-dark.is-soft{--bulma-button-background-l:var(--bulma-soft-l);--bulma-button-color-l:var(--bulma-soft-invert-l)}.button.is-dark.is-bold{--bulma-button-background-l:var(--bulma-bold-l);--bulma-button-color-l:var(--bulma-bold-invert-l)}.button.is-dark[disabled],fieldset[disabled] .button.is-dark{background-color:var(--bulma-dark);border-color:var(--bulma-dark);box-shadow:none}.button.is-text{--bulma-button-h:var(--bulma-text-h);--bulma-button-s:var(--bulma-text-s);--bulma-button-l:var(--bulma-text-l);--bulma-button-background-l:var(--bulma-text-l);--bulma-button-border-l:var(--bulma-text-l);--bulma-button-border-width:0px;--bulma-button-color-l:var(--bulma-text-invert-l);--bulma-button-outer-shadow-a:0}.button.is-text.is-focused,.button.is-text:focus-visible{--bulma-button-border-width:1px}.button.is-text.is-light{--bulma-button-background-l:var(--bulma-light-l);--bulma-button-color-l:var(--bulma-text-light-invert-l)}.button.is-text.is-dark{--bulma-button-background-l:var(--bulma-dark-l);--bulma-button-color-l:var(--bulma-text-dark-invert-l)}.button.is-text.is-soft{--bulma-button-background-l:var(--bulma-soft-l);--bulma-button-color-l:var(--bulma-soft-invert-l)}.button.is-text.is-bold{--bulma-button-background-l:var(--bulma-bold-l);--bulma-button-color-l:var(--bulma-bold-invert-l)}.button.is-text[disabled],fieldset[disabled] .button.is-text{background-color:var(--bulma-text);border-color:var(--bulma-text)}.button.is-primary{--bulma-button-h:var(--bulma-primary-h);--bulma-button-s:var(--bulma-primary-s);--bulma-button-l:var(--bulma-primary-l);--bulma-button-background-l:var(--bulma-primary-l);--bulma-button-border-l:var(--bulma-primary-l);--bulma-button-border-width:0px;--bulma-button-color-l:var(--bulma-primary-invert-l);--bulma-button-outer-shadow-a:0}.button.is-primary.is-focused,.button.is-primary:focus-visible{--bulma-button-border-width:1px}.button.is-primary.is-light{--bulma-button-background-l:var(--bulma-light-l);--bulma-button-color-l:var(--bulma-primary-light-invert-l)}.button.is-primary.is-dark{--bulma-button-background-l:var(--bulma-dark-l);--bulma-button-color-l:var(--bulma-primary-dark-invert-l)}.button.is-primary.is-soft{--bulma-button-background-l:var(--bulma-soft-l);--bulma-button-color-l:var(--bulma-soft-invert-l)}.button.is-primary.is-bold{--bulma-button-background-l:var(--bulma-bold-l);--bulma-button-color-l:var(--bulma-bold-invert-l)}.button.is-primary[disabled],fieldset[disabled] .button.is-primary{background-color:var(--bulma-primary);border-color:var(--bulma-primary);box-shadow:none}.button.is-link{--bulma-button-h:var(--bulma-link-h);--bulma-button-s:var(--bulma-link-s);--bulma-button-l:var(--bulma-link-l);--bulma-button-background-l:var(--bulma-link-l);--bulma-button-border-l:var(--bulma-link-l);--bulma-button-border-width:0px;--bulma-button-color-l:var(--bulma-link-invert-l);--bulma-button-outer-shadow-a:0}.button.is-link.is-focused,.button.is-link:focus-visible{--bulma-button-border-width:1px}.button.is-link.is-light{--bulma-button-background-l:var(--bulma-light-l);--bulma-button-color-l:var(--bulma-link-light-invert-l)}.button.is-link.is-dark{--bulma-button-background-l:var(--bulma-dark-l);--bulma-button-color-l:var(--bulma-link-dark-invert-l)}.button.is-link.is-soft{--bulma-button-background-l:var(--bulma-soft-l);--bulma-button-color-l:var(--bulma-soft-invert-l)}.button.is-link.is-bold{--bulma-button-background-l:var(--bulma-bold-l);--bulma-button-color-l:var(--bulma-bold-invert-l)}.button.is-link[disabled],fieldset[disabled] .button.is-link{background-color:var(--bulma-link);border-color:var(--bulma-link);box-shadow:none}.button.is-info{--bulma-button-h:var(--bulma-info-h);--bulma-button-s:var(--bulma-info-s);--bulma-button-l:var(--bulma-info-l);--bulma-button-background-l:var(--bulma-info-l);--bulma-button-border-l:var(--bulma-info-l);--bulma-button-border-width:0px;--bulma-button-color-l:var(--bulma-info-invert-l);--bulma-button-outer-shadow-a:0}.button.is-info.is-focused,.button.is-info:focus-visible{--bulma-button-border-width:1px}.button.is-info.is-light{--bulma-button-background-l:var(--bulma-light-l);--bulma-button-color-l:var(--bulma-info-light-invert-l)}.button.is-info.is-dark{--bulma-button-background-l:var(--bulma-dark-l);--bulma-button-color-l:var(--bulma-info-dark-invert-l)}.button.is-info.is-soft{--bulma-button-background-l:var(--bulma-soft-l);--bulma-button-color-l:var(--bulma-soft-invert-l)}.button.is-info.is-bold{--bulma-button-background-l:var(--bulma-bold-l);--bulma-button-color-l:var(--bulma-bold-invert-l)}.button.is-info[disabled],fieldset[disabled] .button.is-info{background-color:var(--bulma-info);border-color:var(--bulma-info);box-shadow:none}.button.is-success{--bulma-button-h:var(--bulma-success-h);--bulma-button-s:var(--bulma-success-s);--bulma-button-l:var(--bulma-success-l);--bulma-button-background-l:var(--bulma-success-l);--bulma-button-border-l:var(--bulma-success-l);--bulma-button-border-width:0px;--bulma-button-color-l:var(--bulma-success-invert-l);--bulma-button-outer-shadow-a:0}.button.is-success.is-focused,.button.is-success:focus-visible{--bulma-button-border-width:1px}.button.is-success.is-light{--bulma-button-background-l:var(--bulma-light-l);--bulma-button-color-l:var(--bulma-success-light-invert-l)}.button.is-success.is-dark{--bulma-button-background-l:var(--bulma-dark-l);--bulma-button-color-l:var(--bulma-success-dark-invert-l)}.button.is-success.is-soft{--bulma-button-background-l:var(--bulma-soft-l);--bulma-button-color-l:var(--bulma-soft-invert-l)}.button.is-success.is-bold{--bulma-button-background-l:var(--bulma-bold-l);--bulma-button-color-l:var(--bulma-bold-invert-l)}.button.is-success[disabled],fieldset[disabled] .button.is-success{background-color:var(--bulma-success);border-color:var(--bulma-success);box-shadow:none}.button.is-warning{--bulma-button-h:var(--bulma-warning-h);--bulma-button-s:var(--bulma-warning-s);--bulma-button-l:var(--bulma-warning-l);--bulma-button-background-l:var(--bulma-warning-l);--bulma-button-border-l:var(--bulma-warning-l);--bulma-button-border-width:0px;--bulma-button-color-l:var(--bulma-warning-invert-l);--bulma-button-outer-shadow-a:0}.button.is-warning.is-focused,.button.is-warning:focus-visible{--bulma-button-border-width:1px}.button.is-warning.is-light{--bulma-button-background-l:var(--bulma-light-l);--bulma-button-color-l:var(--bulma-warning-light-invert-l)}.button.is-warning.is-dark{--bulma-button-background-l:var(--bulma-dark-l);--bulma-button-color-l:var(--bulma-warning-dark-invert-l)}.button.is-warning.is-soft{--bulma-button-background-l:var(--bulma-soft-l);--bulma-button-color-l:var(--bulma-soft-invert-l)}.button.is-warning.is-bold{--bulma-button-background-l:var(--bulma-bold-l);--bulma-button-color-l:var(--bulma-bold-invert-l)}.button.is-warning[disabled],fieldset[disabled] .button.is-warning{background-color:var(--bulma-warning);border-color:var(--bulma-warning);box-shadow:none}.button.is-danger{--bulma-button-h:var(--bulma-danger-h);--bulma-button-s:var(--bulma-danger-s);--bulma-button-l:var(--bulma-danger-l);--bulma-button-background-l:var(--bulma-danger-l);--bulma-button-border-l:var(--bulma-danger-l);--bulma-button-border-width:0px;--bulma-button-color-l:var(--bulma-danger-invert-l);--bulma-button-outer-shadow-a:0}.button.is-danger.is-focused,.button.is-danger:focus-visible{--bulma-button-border-width:1px}.button.is-danger.is-light{--bulma-button-background-l:var(--bulma-light-l);--bulma-button-color-l:var(--bulma-danger-light-invert-l)}.button.is-danger.is-dark{--bulma-button-background-l:var(--bulma-dark-l);--bulma-button-color-l:var(--bulma-danger-dark-invert-l)}.button.is-danger.is-soft{--bulma-button-background-l:var(--bulma-soft-l);--bulma-button-color-l:var(--bulma-soft-invert-l)}.button.is-danger.is-bold{--bulma-button-background-l:var(--bulma-bold-l);--bulma-button-color-l:var(--bulma-bold-invert-l)}.button.is-danger[disabled],fieldset[disabled] .button.is-danger{background-color:var(--bulma-danger);border-color:var(--bulma-danger);box-shadow:none}.button.is-outlined{--bulma-button-border-width:max(1px,0.0625em);background-color:transparent;border-color:hsl(var(--bulma-button-h),var(--bulma-button-s),var(--bulma-button-l));color:hsl(var(--bulma-button-h),var(--bulma-button-s),var(--bulma-button-l))}.button.is-outlined:hover{--bulma-button-border-width:max(2px,0.125em);--bulma-button-outer-shadow-alpha:1}.button.is-inverted{background-color:hsl(var(--bulma-button-h),var(--bulma-button-s),calc(var(--bulma-button-color-l) + var(--bulma-button-background-l-delta)));color:hsl(var(--bulma-button-h),var(--bulma-button-s),var(--bulma-button-background-l))}.button.is-text{background-color:transparent;border-color:transparent;color:var(--bulma-button-text-color);text-decoration:var(--bulma-button-text-decoration)}.button.is-text.is-hovered,.button.is-text:hover{background-color:var(--bulma-button-text-hover-background-color);color:var(--bulma-button-text-hover-color)}.button.is-text.is-active,.button.is-text:active{color:var(--bulma-button-text-hover-color)}.button.is-text[disabled],fieldset[disabled] .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}.button.is-ghost{background:var(--bulma-button-ghost-background);border-color:var(--bulma-button-ghost-border-color);box-shadow:none;color:var(--bulma-button-ghost-color);text-decoration:var(--bulma-button-ghost-decoration)}.button.is-ghost.is-hovered,.button.is-ghost:hover{color:var(--bulma-button-ghost-hover-color);text-decoration:var(--bulma-button-ghost-hover-decoration)}.button.is-small{--bulma-control-size:var(--bulma-size-small);--bulma-control-radius:var(--bulma-radius-small)}.button.is-normal{--bulma-control-size:var(--bulma-size-normal);--bulma-control-radius:var(--bulma-radius)}.button.is-medium{--bulma-control-size:var(--bulma-size-medium);--bulma-control-radius:var(--bulma-radius-medium)}.button.is-large{--bulma-control-size:var(--bulma-size-large);--bulma-control-radius:var(--bulma-radius-medium)}.button.is-fullwidth{display:flex;width:100%}.button.is-loading{box-shadow:none;color:transparent!important;pointer-events:none}.button.is-loading:after{left:calc(50% - .5em);position:absolute;position:absolute!important;top:calc(50% - .5em)}.button.is-static{background-color:var(--bulma-button-static-background-color);border-color:var(--bulma-button-static-border-color);box-shadow:none;color:var(--bulma-button-static-color);pointer-events:none}.button.is-rounded{border-radius:var(--bulma-radius-rounded);padding-left:calc(var(--bulma-button-padding-horizontal) + .25em - var(--bulma-button-border-width));padding-right:calc(var(--bulma-button-padding-horizontal) + .25em - var(--bulma-button-border-width))}.buttons{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-start}.buttons.are-small{--bulma-control-size:var(--bulma-size-small);--bulma-control-radius:var(--bulma-radius-small)}.buttons.are-medium{--bulma-control-size:var(--bulma-size-medium);--bulma-control-radius:var(--bulma-radius-medium)}.buttons.are-large{--bulma-control-size:var(--bulma-size-large);--bulma-control-radius:var(--bulma-radius-large)}.buttons.has-addons{gap:0}.buttons.has-addons .button:not(:first-child){border-end-start-radius:0;border-start-start-radius:0}.buttons.has-addons .button:not(:last-child){border-end-end-radius:0;border-start-end-radius:0;margin-inline-end:-1px}.buttons.has-addons .button.is-hovered,.buttons.has-addons .button:hover{z-index:2}.buttons.has-addons .button.is-active,.buttons.has-addons .button.is-focused,.buttons.has-addons .button.is-selected,.buttons.has-addons .button:active,.buttons.has-addons .button:focus{z-index:3}.buttons.has-addons .button.is-active:hover,.buttons.has-addons .button.is-focused:hover,.buttons.has-addons .button.is-selected:hover,.buttons.has-addons .button:active:hover,.buttons.has-addons .button:focus:hover{z-index:4}.buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}.buttons.is-centered{justify-content:center}.buttons.is-right{justify-content:flex-end}@media screen and (max-width:768px){.button.is-responsive.is-small{font-size:calc(var(--bulma-size-small)*.75)}.button.is-responsive,.button.is-responsive.is-normal{font-size:calc(var(--bulma-size-small)*.875)}.button.is-responsive.is-medium{font-size:var(--bulma-size-small)}.button.is-responsive.is-large{font-size:var(--bulma-size-normal)}}@media screen and (min-width:769px) and (max-width:1023px){.button.is-responsive.is-small{font-size:calc(var(--bulma-size-small)*.875)}.button.is-responsive,.button.is-responsive.is-normal{font-size:var(--bulma-size-small)}.button.is-responsive.is-medium{font-size:var(--bulma-size-normal)}.button.is-responsive.is-large{font-size:var(--bulma-size-medium)}}.content{--bulma-content-heading-color:var(--bulma-text-strong);--bulma-content-heading-weight:var(--bulma-weight-extrabold);--bulma-content-heading-line-height:1.125;--bulma-content-block-margin-bottom:1em;--bulma-content-blockquote-background-color:var(--bulma-background);--bulma-content-blockquote-border-left:5px solid var(--bulma-border);--bulma-content-blockquote-padding:1.25em 1.5em;--bulma-content-pre-padding:1.25em 1.5em;--bulma-content-table-cell-border:1px solid var(--bulma-border);--bulma-content-table-cell-border-width:0 0 1px;--bulma-content-table-cell-padding:0.5em 0.75em;--bulma-content-table-cell-heading-color:var(--bulma-text-strong);--bulma-content-table-head-cell-border-width:0 0 2px;--bulma-content-table-head-cell-color:var(--bulma-text-strong);--bulma-content-table-body-last-row-cell-border-bottom-width:0;--bulma-content-table-foot-cell-border-width:2px 0 0;--bulma-content-table-foot-cell-color:var(--bulma-text-strong)}.content li+li{margin-top:.25em}.content blockquote:not(:last-child),.content dl:not(:last-child),.content ol:not(:last-child),.content p:not(:last-child),.content pre:not(:last-child),.content table:not(:last-child),.content ul:not(:last-child){margin-bottom:var(--bulma-content-block-margin-bottom)}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:var(--bulma-content-heading-color);font-weight:var(--bulma-content-heading-weight);line-height:var(--bulma-content-heading-line-height)}.content h1{font-size:2em;margin-bottom:.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content h4{font-size:1.25em;margin-bottom:.8em}.content h5{font-size:1.125em;margin-bottom:.8888em}.content h6{font-size:1em;margin-bottom:1em}.content blockquote{background-color:var(--bulma-content-blockquote-background-color);border-inline-start:var(--bulma-content-blockquote-border-left);padding:var(--bulma-content-blockquote-padding)}.content ol{list-style-position:outside;margin-inline-start:2em}.content ol:not(:first-child){margin-top:1em}.content ol:not([type]){list-style-type:decimal}.content ol:not([type]).is-lower-alpha{list-style-type:lower-alpha}.content ol:not([type]).is-lower-roman{list-style-type:lower-roman}.content ol:not([type]).is-upper-alpha{list-style-type:upper-alpha}.content ol:not([type]).is-upper-roman{list-style-type:upper-roman}.content ul{list-style:disc outside;margin-inline-start:2em}.content ul:not(:first-child){margin-top:1em}.content ul ul{list-style-type:circle;margin-bottom:.25em;margin-top:.25em}.content ul ul ul{list-style-type:square}.content dd{margin-inline-start:2em}.content figure:not([class]){margin-left:2em;margin-right:2em;text-align:center}.content figure:not([class]):not(:first-child){margin-top:2em}.content figure:not([class]):not(:last-child){margin-bottom:2em}.content figure:not([class]) img{display:inline-block}.content figure:not([class]) figcaption{font-style:italic}.content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:var(--bulma-content-pre-padding);white-space:pre;word-wrap:normal}.content sub,.content sup{font-size:75%}.content table td,.content table th{border:var(--bulma-content-table-cell-border);border-width:var(--bulma-content-table-cell-border-width);padding:var(--bulma-content-table-cell-padding);vertical-align:top}.content table th{color:var(--bulma-content-table-cell-heading-color)}.content table th:not([align]){text-align:inherit}.content table thead td,.content table thead th{border-width:var(--bulma-content-table-head-cell-border-width);color:var(--bulma-content-table-head-cell-color)}.content table tfoot td,.content table tfoot th{border-width:var(--bulma-content-table-foot-cell-border-width);color:var(--bulma-content-table-foot-cell-color)}.content table tbody tr:last-child td,.content table tbody tr:last-child th{border-bottom-width:var(--bulma-content-table-body-last-row-cell-border-bottom-width)}.content .tabs li+li{margin-top:0}.content.is-small{font-size:var(--bulma-size-small)}.content.is-normal{font-size:var(--bulma-size-normal)}.content.is-medium{font-size:var(--bulma-size-medium)}.content.is-large{font-size:var(--bulma-size-large)}.delete{--bulma-delete-dimensions:1.25rem;--bulma-delete-background-l:0%;--bulma-delete-background-alpha:0.5;--bulma-delete-color:var(--bulma-white);appearance:none;background-color:hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-delete-background-l),var(--bulma-delete-background-alpha));border:none;border-radius:var(--bulma-radius-rounded);cursor:pointer;display:inline-flex;flex-grow:0;flex-shrink:0;font-size:1em;height:var(--bulma-delete-dimensions);max-height:var(--bulma-delete-dimensions);max-width:var(--bulma-delete-dimensions);min-height:var(--bulma-delete-dimensions);min-width:var(--bulma-delete-dimensions);outline:none;pointer-events:auto;position:relative;vertical-align:top;width:var(--bulma-delete-dimensions)}.delete:after,.delete:before{background-color:var(--bulma-delete-color);content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.delete:before{height:2px;width:50%}.delete:after{height:50%;width:2px}.delete:focus,.delete:hover{--bulma-delete-background-alpha:0.4}.delete:active{--bulma-delete-background-alpha:0.5}.delete.is-small{--bulma-delete-dimensions:1rem}.delete.is-medium{--bulma-delete-dimensions:1.5rem}.delete.is-large{--bulma-delete-dimensions:2rem}.icon,.icon-text{--bulma-icon-dimensions:1.5rem;--bulma-icon-dimensions-small:1rem;--bulma-icon-dimensions-medium:2rem;--bulma-icon-dimensions-large:3rem;--bulma-icon-text-spacing:0.25em}.icon{align-items:center;display:inline-flex;flex-shrink:0;height:var(--bulma-icon-dimensions);justify-content:center;transition-duration:var(--bulma-duration);transition-property:color;width:var(--bulma-icon-dimensions)}.icon.is-small{height:var(--bulma-icon-dimensions-small);width:var(--bulma-icon-dimensions-small)}.icon.is-medium{height:var(--bulma-icon-dimensions-medium);width:var(--bulma-icon-dimensions-medium)}.icon.is-large{height:var(--bulma-icon-dimensions-large);width:var(--bulma-icon-dimensions-large)}.icon-text{align-items:flex-start;color:inherit;display:inline-flex;flex-wrap:wrap;gap:var(--bulma-icon-text-spacing);line-height:var(--bulma-icon-dimensions);vertical-align:top}.icon-text .icon{flex-grow:0;flex-shrink:0}div.icon-text{display:flex}.image{display:block;position:relative}.image img{display:block;height:auto;width:100%}.image img.is-rounded{border-radius:var(--bulma-radius-rounded)}.image.is-fullwidth{width:100%}.image.is-square .has-ratio,.image.is-square img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-square{aspect-ratio:1}.image.is-1by1{aspect-ratio:1/1}.image.is-1by1 .has-ratio,.image.is-1by1 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-5by4{aspect-ratio:5/4}.image.is-5by4 .has-ratio,.image.is-5by4 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-4by3{aspect-ratio:4/3}.image.is-4by3 .has-ratio,.image.is-4by3 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-3by2{aspect-ratio:3/2}.image.is-3by2 .has-ratio,.image.is-3by2 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-5by3{aspect-ratio:5/3}.image.is-5by3 .has-ratio,.image.is-5by3 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-16by9{aspect-ratio:16/9}.image.is-16by9 .has-ratio,.image.is-16by9 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-2by1{aspect-ratio:2/1}.image.is-2by1 .has-ratio,.image.is-2by1 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-3by1{aspect-ratio:3/1}.image.is-3by1 .has-ratio,.image.is-3by1 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-4by5{aspect-ratio:4/5}.image.is-4by5 .has-ratio,.image.is-4by5 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-3by4{aspect-ratio:3/4}.image.is-3by4 .has-ratio,.image.is-3by4 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-2by3{aspect-ratio:2/3}.image.is-2by3 .has-ratio,.image.is-2by3 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-3by5{aspect-ratio:3/5}.image.is-3by5 .has-ratio,.image.is-3by5 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-9by16{aspect-ratio:9/16}.image.is-9by16 .has-ratio,.image.is-9by16 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-1by2{aspect-ratio:1/2}.image.is-1by2 .has-ratio,.image.is-1by2 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-1by3{aspect-ratio:1/3}.image.is-1by3 .has-ratio,.image.is-1by3 img{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.image.is-16x16{height:16px;width:16px}.image.is-24x24{height:24px;width:24px}.image.is-32x32{height:32px;width:32px}.image.is-48x48{height:48px;width:48px}.image.is-64x64{height:64px;width:64px}.image.is-96x96{height:96px;width:96px}.image.is-128x128{height:128px;width:128px}.loader{animation:spinAround .5s linear infinite;border-bottom:2px solid var(--bulma-border);border-left:2px solid var(--bulma-border);border-radius:var(--bulma-radius-rounded);border-right:2px solid transparent;border-top:2px solid transparent;content:"";display:block;height:1em;position:relative;width:1em}.notification{--bulma-notification-h:var(--bulma-scheme-h);--bulma-notification-s:var(--bulma-scheme-s);--bulma-notification-background-l:var(--bulma-background-l);--bulma-notification-color-l:var(--bulma-text-strong-l);--bulma-notification-code-background-color:var(--bulma-scheme-main);--bulma-notification-radius:var(--bulma-radius);--bulma-notification-padding:1.375em 1.5em;background-color:hsl(var(--bulma-notification-h),var(--bulma-notification-s),var(--bulma-notification-background-l));border-radius:var(--bulma-notification-radius);color:hsl(var(--bulma-notification-h),var(--bulma-notification-s),var(--bulma-notification-color-l));padding:var(--bulma-notification-padding);position:relative}.notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}.notification strong{color:currentColor}.notification code,.notification pre{background:var(--bulma-notification-code-background-color)}.notification pre code{background:transparent}.notification>.delete{inset-inline-end:1rem;position:absolute;top:1rem}.notification .content,.notification .subtitle,.notification .title{color:currentColor}.notification.is-white{--bulma-notification-h:var(--bulma-white-h);--bulma-notification-s:var(--bulma-white-s);--bulma-notification-background-l:var(--bulma-white-l);--bulma-notification-color-l:var(--bulma-white-invert-l)}.notification.is-white.is-light{--bulma-notification-background-l:90%;--bulma-notification-color-l:var(--bulma-white-light-invert-l)}.notification.is-white.is-dark{--bulma-notification-background-l:20%;--bulma-notification-color-l:var(--bulma-white-dark-invert-l)}.notification.is-black{--bulma-notification-h:var(--bulma-black-h);--bulma-notification-s:var(--bulma-black-s);--bulma-notification-background-l:var(--bulma-black-l);--bulma-notification-color-l:var(--bulma-black-invert-l)}.notification.is-black.is-light{--bulma-notification-background-l:90%;--bulma-notification-color-l:var(--bulma-black-light-invert-l)}.notification.is-black.is-dark{--bulma-notification-background-l:20%;--bulma-notification-color-l:var(--bulma-black-dark-invert-l)}.notification.is-light{--bulma-notification-h:var(--bulma-light-h);--bulma-notification-s:var(--bulma-light-s);--bulma-notification-background-l:var(--bulma-light-l);--bulma-notification-color-l:var(--bulma-light-invert-l)}.notification.is-light.is-light{--bulma-notification-background-l:90%;--bulma-notification-color-l:var(--bulma-light-light-invert-l)}.notification.is-light.is-dark{--bulma-notification-background-l:20%;--bulma-notification-color-l:var(--bulma-light-dark-invert-l)}.notification.is-dark{--bulma-notification-h:var(--bulma-dark-h);--bulma-notification-s:var(--bulma-dark-s);--bulma-notification-background-l:var(--bulma-dark-l);--bulma-notification-color-l:var(--bulma-dark-invert-l)}.notification.is-dark.is-light{--bulma-notification-background-l:90%;--bulma-notification-color-l:var(--bulma-dark-light-invert-l)}.notification.is-dark.is-dark{--bulma-notification-background-l:20%;--bulma-notification-color-l:var(--bulma-dark-dark-invert-l)}.notification.is-text{--bulma-notification-h:var(--bulma-text-h);--bulma-notification-s:var(--bulma-text-s);--bulma-notification-background-l:var(--bulma-text-l);--bulma-notification-color-l:var(--bulma-text-invert-l)}.notification.is-text.is-light{--bulma-notification-background-l:90%;--bulma-notification-color-l:var(--bulma-text-light-invert-l)}.notification.is-text.is-dark{--bulma-notification-background-l:20%;--bulma-notification-color-l:var(--bulma-text-dark-invert-l)}.notification.is-primary{--bulma-notification-h:var(--bulma-primary-h);--bulma-notification-s:var(--bulma-primary-s);--bulma-notification-background-l:var(--bulma-primary-l);--bulma-notification-color-l:var(--bulma-primary-invert-l)}.notification.is-primary.is-light{--bulma-notification-background-l:90%;--bulma-notification-color-l:var(--bulma-primary-light-invert-l)}.notification.is-primary.is-dark{--bulma-notification-background-l:20%;--bulma-notification-color-l:var(--bulma-primary-dark-invert-l)}.notification.is-link{--bulma-notification-h:var(--bulma-link-h);--bulma-notification-s:var(--bulma-link-s);--bulma-notification-background-l:var(--bulma-link-l);--bulma-notification-color-l:var(--bulma-link-invert-l)}.notification.is-link.is-light{--bulma-notification-background-l:90%;--bulma-notification-color-l:var(--bulma-link-light-invert-l)}.notification.is-link.is-dark{--bulma-notification-background-l:20%;--bulma-notification-color-l:var(--bulma-link-dark-invert-l)}.notification.is-info{--bulma-notification-h:var(--bulma-info-h);--bulma-notification-s:var(--bulma-info-s);--bulma-notification-background-l:var(--bulma-info-l);--bulma-notification-color-l:var(--bulma-info-invert-l)}.notification.is-info.is-light{--bulma-notification-background-l:90%;--bulma-notification-color-l:var(--bulma-info-light-invert-l)}.notification.is-info.is-dark{--bulma-notification-background-l:20%;--bulma-notification-color-l:var(--bulma-info-dark-invert-l)}.notification.is-success{--bulma-notification-h:var(--bulma-success-h);--bulma-notification-s:var(--bulma-success-s);--bulma-notification-background-l:var(--bulma-success-l);--bulma-notification-color-l:var(--bulma-success-invert-l)}.notification.is-success.is-light{--bulma-notification-background-l:90%;--bulma-notification-color-l:var(--bulma-success-light-invert-l)}.notification.is-success.is-dark{--bulma-notification-background-l:20%;--bulma-notification-color-l:var(--bulma-success-dark-invert-l)}.notification.is-warning{--bulma-notification-h:var(--bulma-warning-h);--bulma-notification-s:var(--bulma-warning-s);--bulma-notification-background-l:var(--bulma-warning-l);--bulma-notification-color-l:var(--bulma-warning-invert-l)}.notification.is-warning.is-light{--bulma-notification-background-l:90%;--bulma-notification-color-l:var(--bulma-warning-light-invert-l)}.notification.is-warning.is-dark{--bulma-notification-background-l:20%;--bulma-notification-color-l:var(--bulma-warning-dark-invert-l)}.notification.is-danger{--bulma-notification-h:var(--bulma-danger-h);--bulma-notification-s:var(--bulma-danger-s);--bulma-notification-background-l:var(--bulma-danger-l);--bulma-notification-color-l:var(--bulma-danger-invert-l)}.notification.is-danger.is-light{--bulma-notification-background-l:90%;--bulma-notification-color-l:var(--bulma-danger-light-invert-l)}.notification.is-danger.is-dark{--bulma-notification-background-l:20%;--bulma-notification-color-l:var(--bulma-danger-dark-invert-l)}.progress{--bulma-progress-border-radius:var(--bulma-radius-rounded);--bulma-progress-bar-background-color:var(--bulma-border-weak);--bulma-progress-value-background-color:var(--bulma-text);--bulma-progress-indeterminate-duration:1.5s;appearance:none;border:none;border-radius:var(--bulma-progress-border-radius);display:block;height:var(--bulma-size-normal);overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:var(--bulma-progress-bar-background-color)}.progress::-webkit-progress-value{background-color:var(--bulma-progress-value-background-color)}.progress::-moz-progress-bar{background-color:var(--bulma-progress-value-background-color)}.progress::-ms-fill{background-color:var(--bulma-progress-value-background-color);border:none}.progress.is-white{--bulma-progress-value-background-color:var(--bulma-white)}.progress.is-black{--bulma-progress-value-background-color:var(--bulma-black)}.progress.is-light{--bulma-progress-value-background-color:var(--bulma-light)}.progress.is-dark{--bulma-progress-value-background-color:var(--bulma-dark)}.progress.is-text{--bulma-progress-value-background-color:var(--bulma-text)}.progress.is-primary{--bulma-progress-value-background-color:var(--bulma-primary)}.progress.is-link{--bulma-progress-value-background-color:var(--bulma-link)}.progress.is-info{--bulma-progress-value-background-color:var(--bulma-info)}.progress.is-success{--bulma-progress-value-background-color:var(--bulma-success)}.progress.is-warning{--bulma-progress-value-background-color:var(--bulma-warning)}.progress.is-danger{--bulma-progress-value-background-color:var(--bulma-danger)}.progress:indeterminate{animation-duration:var(--bulma-progress-indeterminate-duration);animation-iteration-count:infinite;animation-name:moveIndeterminate;animation-timing-function:linear;background-color:var(--bulma-progress-bar-background-color);background-image:linear-gradient(to right,var(--bulma-progress-value-background-color) 30%,var(--bulma-progress-bar-background-color) 30%);background-position:0 0;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress:indeterminate::-ms-fill{animation-name:none}.progress.is-small{height:var(--bulma-size-small)}.progress.is-medium{height:var(--bulma-size-medium)}.progress.is-large{height:var(--bulma-size-large)}@keyframes moveIndeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}.table{--bulma-table-color:var(--bulma-text-strong);--bulma-table-background-color:var(--bulma-scheme-main);--bulma-table-cell-border-color:var(--bulma-border);--bulma-table-cell-border-style:solid;--bulma-table-cell-border-width:0 0 1px;--bulma-table-cell-padding:0.5em 0.75em;--bulma-table-cell-heading-color:var(--bulma-text-strong);--bulma-table-cell-text-align:left;--bulma-table-head-cell-border-width:0 0 2px;--bulma-table-head-cell-color:var(--bulma-text-strong);--bulma-table-foot-cell-border-width:2px 0 0;--bulma-table-foot-cell-color:var(--bulma-text-strong);--bulma-table-head-background-color:transparent;--bulma-table-body-background-color:transparent;--bulma-table-foot-background-color:transparent;--bulma-table-row-hover-background-color:var(--bulma-scheme-main-bis);--bulma-table-row-active-background-color:var(--bulma-primary);--bulma-table-row-active-color:var(--bulma-primary-invert);--bulma-table-striped-row-even-background-color:var(--bulma-scheme-main-bis);--bulma-table-striped-row-even-hover-background-color:var(--bulma-scheme-main-ter);background-color:var(--bulma-table-background-color)}.table,.table td,.table th{color:var(--bulma-table-color)}.table td,.table th{background-color:var(--bulma-table-cell-background-color);border-color:var(--bulma-table-cell-border-color);border-style:var(--bulma-table-cell-border-style);border-width:var(--bulma-table-cell-border-width);padding:var(--bulma-table-cell-padding);vertical-align:top}.table td.is-white,.table th.is-white{--bulma-table-color:var(--bulma-white-invert);--bulma-table-cell-heading-color:var(--bulma-white-invert);--bulma-table-cell-background-color:var(--bulma-white);--bulma-table-cell-border-color:var(--bulma-white)}.table td.is-black,.table th.is-black{--bulma-table-color:var(--bulma-black-invert);--bulma-table-cell-heading-color:var(--bulma-black-invert);--bulma-table-cell-background-color:var(--bulma-black);--bulma-table-cell-border-color:var(--bulma-black)}.table td.is-light,.table th.is-light{--bulma-table-color:var(--bulma-light-invert);--bulma-table-cell-heading-color:var(--bulma-light-invert);--bulma-table-cell-background-color:var(--bulma-light);--bulma-table-cell-border-color:var(--bulma-light)}.table td.is-dark,.table th.is-dark{--bulma-table-color:var(--bulma-dark-invert);--bulma-table-cell-heading-color:var(--bulma-dark-invert);--bulma-table-cell-background-color:var(--bulma-dark);--bulma-table-cell-border-color:var(--bulma-dark)}.table td.is-text,.table th.is-text{--bulma-table-color:var(--bulma-text-invert);--bulma-table-cell-heading-color:var(--bulma-text-invert);--bulma-table-cell-background-color:var(--bulma-text);--bulma-table-cell-border-color:var(--bulma-text)}.table td.is-primary,.table th.is-primary{--bulma-table-color:var(--bulma-primary-invert);--bulma-table-cell-heading-color:var(--bulma-primary-invert);--bulma-table-cell-background-color:var(--bulma-primary);--bulma-table-cell-border-color:var(--bulma-primary)}.table td.is-link,.table th.is-link{--bulma-table-color:var(--bulma-link-invert);--bulma-table-cell-heading-color:var(--bulma-link-invert);--bulma-table-cell-background-color:var(--bulma-link);--bulma-table-cell-border-color:var(--bulma-link)}.table td.is-info,.table th.is-info{--bulma-table-color:var(--bulma-info-invert);--bulma-table-cell-heading-color:var(--bulma-info-invert);--bulma-table-cell-background-color:var(--bulma-info);--bulma-table-cell-border-color:var(--bulma-info)}.table td.is-success,.table th.is-success{--bulma-table-color:var(--bulma-success-invert);--bulma-table-cell-heading-color:var(--bulma-success-invert);--bulma-table-cell-background-color:var(--bulma-success);--bulma-table-cell-border-color:var(--bulma-success)}.table td.is-warning,.table th.is-warning{--bulma-table-color:var(--bulma-warning-invert);--bulma-table-cell-heading-color:var(--bulma-warning-invert);--bulma-table-cell-background-color:var(--bulma-warning);--bulma-table-cell-border-color:var(--bulma-warning)}.table td.is-danger,.table th.is-danger{--bulma-table-color:var(--bulma-danger-invert);--bulma-table-cell-heading-color:var(--bulma-danger-invert);--bulma-table-cell-background-color:var(--bulma-danger);--bulma-table-cell-border-color:var(--bulma-danger)}.table td.is-narrow,.table th.is-narrow{white-space:nowrap;width:1%}.table td.is-selected,.table th.is-selected{background-color:var(--bulma-table-row-active-background-color);color:var(--bulma-table-row-active-color)}.table td.is-selected a,.table td.is-selected strong,.table th.is-selected a,.table th.is-selected strong{color:currentColor}.table td.is-vcentered,.table th.is-vcentered{vertical-align:middle}.table th{color:var(--bulma-table-cell-heading-color)}.table th:not([align]){text-align:var(--bulma-table-cell-text-align)}.table tr.is-selected{background-color:var(--bulma-table-row-active-background-color);color:var(--bulma-table-row-active-color)}.table tr.is-selected a,.table tr.is-selected strong{color:currentColor}.table tr.is-selected td,.table tr.is-selected th{border-color:var(--bulma-table-row-active-color);color:currentColor}.table tr.is-white{--bulma-table-color:var(--bulma-white-invert);--bulma-table-cell-heading-color:var(--bulma-white-invert);--bulma-table-cell-background-color:var(--bulma-white);--bulma-table-cell-border-color:var(--bulma-white)}.table tr.is-black{--bulma-table-color:var(--bulma-black-invert);--bulma-table-cell-heading-color:var(--bulma-black-invert);--bulma-table-cell-background-color:var(--bulma-black);--bulma-table-cell-border-color:var(--bulma-black)}.table tr.is-light{--bulma-table-color:var(--bulma-light-invert);--bulma-table-cell-heading-color:var(--bulma-light-invert);--bulma-table-cell-background-color:var(--bulma-light);--bulma-table-cell-border-color:var(--bulma-light)}.table tr.is-dark{--bulma-table-color:var(--bulma-dark-invert);--bulma-table-cell-heading-color:var(--bulma-dark-invert);--bulma-table-cell-background-color:var(--bulma-dark);--bulma-table-cell-border-color:var(--bulma-dark)}.table tr.is-text{--bulma-table-color:var(--bulma-text-invert);--bulma-table-cell-heading-color:var(--bulma-text-invert);--bulma-table-cell-background-color:var(--bulma-text);--bulma-table-cell-border-color:var(--bulma-text)}.table tr.is-primary{--bulma-table-color:var(--bulma-primary-invert);--bulma-table-cell-heading-color:var(--bulma-primary-invert);--bulma-table-cell-background-color:var(--bulma-primary);--bulma-table-cell-border-color:var(--bulma-primary)}.table tr.is-link{--bulma-table-color:var(--bulma-link-invert);--bulma-table-cell-heading-color:var(--bulma-link-invert);--bulma-table-cell-background-color:var(--bulma-link);--bulma-table-cell-border-color:var(--bulma-link)}.table tr.is-info{--bulma-table-color:var(--bulma-info-invert);--bulma-table-cell-heading-color:var(--bulma-info-invert);--bulma-table-cell-background-color:var(--bulma-info);--bulma-table-cell-border-color:var(--bulma-info)}.table tr.is-success{--bulma-table-color:var(--bulma-success-invert);--bulma-table-cell-heading-color:var(--bulma-success-invert);--bulma-table-cell-background-color:var(--bulma-success);--bulma-table-cell-border-color:var(--bulma-success)}.table tr.is-warning{--bulma-table-color:var(--bulma-warning-invert);--bulma-table-cell-heading-color:var(--bulma-warning-invert);--bulma-table-cell-background-color:var(--bulma-warning);--bulma-table-cell-border-color:var(--bulma-warning)}.table tr.is-danger{--bulma-table-color:var(--bulma-danger-invert);--bulma-table-cell-heading-color:var(--bulma-danger-invert);--bulma-table-cell-background-color:var(--bulma-danger);--bulma-table-cell-border-color:var(--bulma-danger)}.table thead{background-color:var(--bulma-table-head-background-color)}.table thead td,.table thead th{border-width:var(--bulma-table-head-cell-border-width);color:var(--bulma-table-head-cell-color)}.table tfoot{background-color:var(--bulma-table-foot-background-color)}.table tfoot td,.table tfoot th{border-width:var(--bulma-table-foot-cell-border-width);color:var(--bulma-table-foot-cell-color)}.table tbody{background-color:var(--bulma-table-body-background-color)}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{border-width:1px}.table.is-bordered tr:last-child td,.table.is-bordered tr:last-child th{border-bottom-width:1px}.table.is-fullwidth{width:100%}.table.is-hoverable tbody tr:not(.is-selected):hover,.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:var(--bulma-table-row-hover-background-color)}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(2n){background-color:var(--bulma-table-striped-row-even-hover-background-color)}.table.is-narrow td,.table.is-narrow th{padding:.25em .5em}.table.is-striped tbody tr:not(.is-selected):nth-child(2n){background-color:var(--bulma-table-striped-row-even-background-color)}.table-container{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto;overflow-y:hidden}.tags{align-items:center;color:hsl(var(--bulma-tag-h),var(--bulma-tag-s),var(--bulma-tag-color-l));display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start}.tags.are-medium .tag:not(.is-normal):not(.is-large){font-size:var(--bulma-size-normal)}.tags.are-large .tag:not(.is-normal):not(.is-medium){font-size:var(--bulma-size-medium)}.tags.is-centered{gap:.25rem;justify-content:center}.tags.is-right{justify-content:flex-end}.tags.has-addons{gap:0}.tags.has-addons .tag:not(:first-child){border-end-start-radius:0;border-start-start-radius:0}.tags.has-addons .tag:not(:last-child){border-end-end-radius:0;border-start-end-radius:0}.tag{--bulma-tag-h:var(--bulma-scheme-h);--bulma-tag-s:var(--bulma-scheme-s);--bulma-tag-background-l:var(--bulma-background-l);--bulma-tag-background-l-delta:0%;--bulma-tag-hover-background-l-delta:var(--bulma-hover-background-l-delta);--bulma-tag-active-background-l-delta:var(--bulma-active-background-l-delta);--bulma-tag-color-l:var(--bulma-text-l);--bulma-tag-radius:var(--bulma-radius);--bulma-tag-delete-margin:1px;align-items:center;background-color:hsl(var(--bulma-tag-h),var(--bulma-tag-s),calc(var(--bulma-tag-background-l) + var(--bulma-tag-background-l-delta)));border-radius:var(--bulma-radius);color:hsl(var(--bulma-tag-h),var(--bulma-tag-s),var(--bulma-tag-color-l));display:inline-flex;font-size:var(--bulma-size-small);height:2em;justify-content:center;line-height:1.5;padding-left:.75em;padding-right:.75em;white-space:nowrap}.tag .delete{margin-inline-end:-.375rem;margin-inline-start:.25rem}.tag.is-white{--bulma-tag-h:var(--bulma-white-h);--bulma-tag-s:var(--bulma-white-s);--bulma-tag-background-l:var(--bulma-white-l);--bulma-tag-color-l:var(--bulma-white-invert-l)}.tag.is-white.is-light{--bulma-tag-background-l:var(--bulma-light-l);--bulma-tag-color-l:var(--bulma-white-light-invert-l)}.tag.is-black{--bulma-tag-h:var(--bulma-black-h);--bulma-tag-s:var(--bulma-black-s);--bulma-tag-background-l:var(--bulma-black-l);--bulma-tag-color-l:var(--bulma-black-invert-l)}.tag.is-black.is-light{--bulma-tag-background-l:var(--bulma-light-l);--bulma-tag-color-l:var(--bulma-black-light-invert-l)}.tag.is-light{--bulma-tag-h:var(--bulma-light-h);--bulma-tag-s:var(--bulma-light-s);--bulma-tag-background-l:var(--bulma-light-l);--bulma-tag-color-l:var(--bulma-light-invert-l)}.tag.is-light.is-light{--bulma-tag-background-l:var(--bulma-light-l);--bulma-tag-color-l:var(--bulma-light-light-invert-l)}.tag.is-dark{--bulma-tag-h:var(--bulma-dark-h);--bulma-tag-s:var(--bulma-dark-s);--bulma-tag-background-l:var(--bulma-dark-l);--bulma-tag-color-l:var(--bulma-dark-invert-l)}.tag.is-dark.is-light{--bulma-tag-background-l:var(--bulma-light-l);--bulma-tag-color-l:var(--bulma-dark-light-invert-l)}.tag.is-text{--bulma-tag-h:var(--bulma-text-h);--bulma-tag-s:var(--bulma-text-s);--bulma-tag-background-l:var(--bulma-text-l);--bulma-tag-color-l:var(--bulma-text-invert-l)}.tag.is-text.is-light{--bulma-tag-background-l:var(--bulma-light-l);--bulma-tag-color-l:var(--bulma-text-light-invert-l)}.tag.is-primary{--bulma-tag-h:var(--bulma-primary-h);--bulma-tag-s:var(--bulma-primary-s);--bulma-tag-background-l:var(--bulma-primary-l);--bulma-tag-color-l:var(--bulma-primary-invert-l)}.tag.is-primary.is-light{--bulma-tag-background-l:var(--bulma-light-l);--bulma-tag-color-l:var(--bulma-primary-light-invert-l)}.tag.is-link{--bulma-tag-h:var(--bulma-link-h);--bulma-tag-s:var(--bulma-link-s);--bulma-tag-background-l:var(--bulma-link-l);--bulma-tag-color-l:var(--bulma-link-invert-l)}.tag.is-link.is-light{--bulma-tag-background-l:var(--bulma-light-l);--bulma-tag-color-l:var(--bulma-link-light-invert-l)}.tag.is-info{--bulma-tag-h:var(--bulma-info-h);--bulma-tag-s:var(--bulma-info-s);--bulma-tag-background-l:var(--bulma-info-l);--bulma-tag-color-l:var(--bulma-info-invert-l)}.tag.is-info.is-light{--bulma-tag-background-l:var(--bulma-light-l);--bulma-tag-color-l:var(--bulma-info-light-invert-l)}.tag.is-success{--bulma-tag-h:var(--bulma-success-h);--bulma-tag-s:var(--bulma-success-s);--bulma-tag-background-l:var(--bulma-success-l);--bulma-tag-color-l:var(--bulma-success-invert-l)}.tag.is-success.is-light{--bulma-tag-background-l:var(--bulma-light-l);--bulma-tag-color-l:var(--bulma-success-light-invert-l)}.tag.is-warning{--bulma-tag-h:var(--bulma-warning-h);--bulma-tag-s:var(--bulma-warning-s);--bulma-tag-background-l:var(--bulma-warning-l);--bulma-tag-color-l:var(--bulma-warning-invert-l)}.tag.is-warning.is-light{--bulma-tag-background-l:var(--bulma-light-l);--bulma-tag-color-l:var(--bulma-warning-light-invert-l)}.tag.is-danger{--bulma-tag-h:var(--bulma-danger-h);--bulma-tag-s:var(--bulma-danger-s);--bulma-tag-background-l:var(--bulma-danger-l);--bulma-tag-color-l:var(--bulma-danger-invert-l)}.tag.is-danger.is-light{--bulma-tag-background-l:var(--bulma-light-l);--bulma-tag-color-l:var(--bulma-danger-light-invert-l)}.tag.is-normal{font-size:var(--bulma-size-small)}.tag.is-medium{font-size:var(--bulma-size-normal)}.tag.is-large{font-size:var(--bulma-size-medium)}.tag .icon:first-child:not(:last-child){margin-inline-end:.1875em;margin-inline-start:-.375em}.tag .icon:last-child:not(:first-child){margin-inline-end:-.375em;margin-inline-start:.1875em}.tag .icon:first-child:last-child{margin-inline-end:-.375em;margin-inline-start:-.375em}.tag.is-delete{margin-inline-start:var(--bulma-tag-delete-margin);padding:0;position:relative;width:2em}.tag.is-delete:after,.tag.is-delete:before{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.tag.is-delete:before{height:1px;width:50%}.tag.is-delete:after{height:50%;width:1px}.tag.is-rounded{border-radius:var(--bulma-radius-rounded)}.tag.is-hoverable,a.tag,button.tag{cursor:pointer}.tag.is-hoverable:hover,a.tag:hover,button.tag:hover{--bulma-tag-background-l-delta:var(--bulma-tag-hover-background-l-delta)}.tag.is-hoverable:active,a.tag:active,button.tag:active{--bulma-tag-background-l-delta:var(--bulma-tag-active-background-l-delta)}.subtitle,.title{--bulma-title-color:var(--bulma-text-strong);--bulma-title-family:false;--bulma-title-size:var(--bulma-size-3);--bulma-title-weight:var(--bulma-weight-extrabold);--bulma-title-line-height:1.125;--bulma-title-strong-color:inherit;--bulma-title-strong-weight:inherit;--bulma-title-sub-size:0.75em;--bulma-title-sup-size:0.75em;--bulma-subtitle-color:var(--bulma-text);--bulma-subtitle-family:false;--bulma-subtitle-size:var(--bulma-size-5);--bulma-subtitle-weight:var(--bulma-weight-normal);--bulma-subtitle-line-height:1.25;--bulma-subtitle-strong-color:var(--bulma-text-strong);--bulma-subtitle-strong-weight:var(--bulma-weight-semibold);word-break:break-word}.subtitle em,.subtitle span,.title em,.title span{font-weight:inherit}.subtitle sub,.title sub{font-size:var(--bulma-title-sub-size)}.subtitle sup,.title sup{font-size:var(--bulma-title-sup-size)}.subtitle .tag,.title .tag{vertical-align:middle}.title{color:var(--bulma-title-color);font-size:var(--bulma-title-size);font-weight:var(--bulma-title-weight);line-height:var(--bulma-title-line-height)}.title strong{color:var(--bulma-title-strong-color);font-weight:var(--bulma-title-strong-weight)}.title:not(.is-spaced):has(+.subtitle){margin-bottom:0}.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}.subtitle{color:var(--bulma-subtitle-color);font-size:var(--bulma-subtitle-size);font-weight:var(--bulma-subtitle-weight);line-height:var(--bulma-subtitle-line-height)}.subtitle strong{color:var(--bulma-subtitle-strong-color);font-weight:var(--bulma-subtitle-strong-weight)}.subtitle:not(.is-spaced):has(+.title){margin-bottom:0}.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}.control,.input,.select,.textarea{--bulma-input-h:var(--bulma-scheme-h);--bulma-input-s:var(--bulma-scheme-s);--bulma-input-l:var(--bulma-scheme-main-l);--bulma-input-border-style:solid;--bulma-input-border-width:var(--bulma-control-border-width);--bulma-input-border-l:var(--bulma-border-l);--bulma-input-border-l-delta:0%;--bulma-input-hover-border-l-delta:var(--bulma-hover-border-l-delta);--bulma-input-active-border-l-delta:var(--bulma-active-border-l-delta);--bulma-input-focus-h:var(--bulma-focus-h);--bulma-input-focus-s:var(--bulma-focus-s);--bulma-input-focus-l:var(--bulma-focus-l);--bulma-input-focus-shadow-size:var(--bulma-focus-shadow-size);--bulma-input-focus-shadow-alpha:var(--bulma-focus-shadow-alpha);--bulma-input-color-l:var(--bulma-text-strong-l);--bulma-input-background-l:var(--bulma-scheme-main-l);--bulma-input-background-l-delta:0%;--bulma-input-height:var(--bulma-control-height);--bulma-input-shadow:inset 0 0.0625em 0.125em hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l),0.05);--bulma-input-placeholder-color:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-strong-l),0.3);--bulma-input-disabled-color:var(--bulma-text-weak);--bulma-input-disabled-background-color:var(--bulma-background);--bulma-input-disabled-border-color:var(--bulma-background);--bulma-input-disabled-placeholder-color:hsla(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-weak-l),0.3);--bulma-input-arrow:var(--bulma-link);--bulma-input-icon-color:var(--bulma-text-light);--bulma-input-icon-hover-color:var(--bulma-text-weak);--bulma-input-icon-focus-color:var(--bulma-link);--bulma-input-radius:var(--bulma-radius)}.input,.select select,.textarea{background-color:hsl(var(--bulma-input-h),var(--bulma-input-s),calc(var(--bulma-input-background-l) + var(--bulma-input-background-l-delta)));border-color:hsl(var(--bulma-input-h),var(--bulma-input-s),calc(var(--bulma-input-border-l) + var(--bulma-input-border-l-delta)));border-radius:var(--bulma-input-radius);color:hsl(var(--bulma-input-h),var(--bulma-input-s),var(--bulma-input-color-l))}.input::-moz-placeholder,.select select::-moz-placeholder,.textarea::-moz-placeholder{color:var(--bulma-input-placeholder-color)}.input::-webkit-input-placeholder,.select select::-webkit-input-placeholder,.textarea::-webkit-input-placeholder{color:var(--bulma-input-placeholder-color)}.input:-moz-placeholder,.select select:-moz-placeholder,.textarea:-moz-placeholder{color:var(--bulma-input-placeholder-color)}.input:-ms-input-placeholder,.select select:-ms-input-placeholder,.textarea:-ms-input-placeholder{color:var(--bulma-input-placeholder-color)}.input:hover,.is-hovered.input,.is-hovered.textarea,.select select.is-hovered,.select select:hover,.textarea:hover{--bulma-input-border-l-delta:var(--bulma-input-hover-border-l-delta)}.input:active,.is-active.input,.is-active.textarea,.select select.is-active,.select select:active,.textarea:active{--bulma-input-border-l-delta:var(--bulma-input-active-border-l-delta)}.input:focus,.input:focus-within,.is-focused.input,.is-focused.textarea,.select select.is-focused,.select select:focus,.select select:focus-within,.textarea:focus,.textarea:focus-within{border-color:hsl(var(--bulma-input-focus-h),var(--bulma-input-focus-s),var(--bulma-input-focus-l));box-shadow:var(--bulma-input-focus-shadow-size) hsla(var(--bulma-input-focus-h),var(--bulma-input-focus-s),var(--bulma-input-focus-l),var(--bulma-input-focus-shadow-alpha))}.select fieldset[disabled] select,.select select[disabled],[disabled].input,[disabled].textarea,fieldset[disabled] .input,fieldset[disabled] .select select,fieldset[disabled] .textarea{background-color:var(--bulma-input-disabled-background-color);border-color:var(--bulma-input-disabled-border-color);box-shadow:none;color:var(--bulma-input-disabled-color)}.select fieldset[disabled] select::-moz-placeholder,.select select[disabled]::-moz-placeholder,[disabled].input::-moz-placeholder,[disabled].textarea::-moz-placeholder,fieldset[disabled] .input::-moz-placeholder,fieldset[disabled] .select select::-moz-placeholder,fieldset[disabled] .textarea::-moz-placeholder{color:var(--bulma-input-disabled-placeholder-color)}.select fieldset[disabled] select::-webkit-input-placeholder,.select select[disabled]::-webkit-input-placeholder,[disabled].input::-webkit-input-placeholder,[disabled].textarea::-webkit-input-placeholder,fieldset[disabled] .input::-webkit-input-placeholder,fieldset[disabled] .select select::-webkit-input-placeholder,fieldset[disabled] .textarea::-webkit-input-placeholder{color:var(--bulma-input-disabled-placeholder-color)}.select fieldset[disabled] select:-moz-placeholder,.select select[disabled]:-moz-placeholder,[disabled].input:-moz-placeholder,[disabled].textarea:-moz-placeholder,fieldset[disabled] .input:-moz-placeholder,fieldset[disabled] .select select:-moz-placeholder,fieldset[disabled] .textarea:-moz-placeholder{color:var(--bulma-input-disabled-placeholder-color)}.select fieldset[disabled] select:-ms-input-placeholder,.select select[disabled]:-ms-input-placeholder,[disabled].input:-ms-input-placeholder,[disabled].textarea:-ms-input-placeholder,fieldset[disabled] .input:-ms-input-placeholder,fieldset[disabled] .select select:-ms-input-placeholder,fieldset[disabled] .textarea:-ms-input-placeholder{color:var(--bulma-input-disabled-placeholder-color)}.input,.textarea{box-shadow:inset 0 .0625em .125em hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l),.05);max-width:100%;width:100%}[readonly].input,[readonly].textarea{box-shadow:none}.is-white.input,.is-white.textarea{--bulma-input-h:var(--bulma-white-h);--bulma-input-s:var(--bulma-white-s);--bulma-input-l:var(--bulma-white-l);--bulma-input-focus-h:var(--bulma-white-h);--bulma-input-focus-s:var(--bulma-white-s);--bulma-input-focus-l:var(--bulma-white-l);--bulma-input-border-l:var(--bulma-white-l)}.is-black.input,.is-black.textarea{--bulma-input-h:var(--bulma-black-h);--bulma-input-s:var(--bulma-black-s);--bulma-input-l:var(--bulma-black-l);--bulma-input-focus-h:var(--bulma-black-h);--bulma-input-focus-s:var(--bulma-black-s);--bulma-input-focus-l:var(--bulma-black-l);--bulma-input-border-l:var(--bulma-black-l)}.is-light.input,.is-light.textarea{--bulma-input-h:var(--bulma-light-h);--bulma-input-s:var(--bulma-light-s);--bulma-input-l:var(--bulma-light-l);--bulma-input-focus-h:var(--bulma-light-h);--bulma-input-focus-s:var(--bulma-light-s);--bulma-input-focus-l:var(--bulma-light-l);--bulma-input-border-l:var(--bulma-light-l)}.is-dark.input,.is-dark.textarea{--bulma-input-h:var(--bulma-dark-h);--bulma-input-s:var(--bulma-dark-s);--bulma-input-l:var(--bulma-dark-l);--bulma-input-focus-h:var(--bulma-dark-h);--bulma-input-focus-s:var(--bulma-dark-s);--bulma-input-focus-l:var(--bulma-dark-l);--bulma-input-border-l:var(--bulma-dark-l)}.is-text.input,.is-text.textarea{--bulma-input-h:var(--bulma-text-h);--bulma-input-s:var(--bulma-text-s);--bulma-input-l:var(--bulma-text-l);--bulma-input-focus-h:var(--bulma-text-h);--bulma-input-focus-s:var(--bulma-text-s);--bulma-input-focus-l:var(--bulma-text-l);--bulma-input-border-l:var(--bulma-text-l)}.is-primary.input,.is-primary.textarea{--bulma-input-h:var(--bulma-primary-h);--bulma-input-s:var(--bulma-primary-s);--bulma-input-l:var(--bulma-primary-l);--bulma-input-focus-h:var(--bulma-primary-h);--bulma-input-focus-s:var(--bulma-primary-s);--bulma-input-focus-l:var(--bulma-primary-l);--bulma-input-border-l:var(--bulma-primary-l)}.is-link.input,.is-link.textarea{--bulma-input-h:var(--bulma-link-h);--bulma-input-s:var(--bulma-link-s);--bulma-input-l:var(--bulma-link-l);--bulma-input-focus-h:var(--bulma-link-h);--bulma-input-focus-s:var(--bulma-link-s);--bulma-input-focus-l:var(--bulma-link-l);--bulma-input-border-l:var(--bulma-link-l)}.is-info.input,.is-info.textarea{--bulma-input-h:var(--bulma-info-h);--bulma-input-s:var(--bulma-info-s);--bulma-input-l:var(--bulma-info-l);--bulma-input-focus-h:var(--bulma-info-h);--bulma-input-focus-s:var(--bulma-info-s);--bulma-input-focus-l:var(--bulma-info-l);--bulma-input-border-l:var(--bulma-info-l)}.is-success.input,.is-success.textarea{--bulma-input-h:var(--bulma-success-h);--bulma-input-s:var(--bulma-success-s);--bulma-input-l:var(--bulma-success-l);--bulma-input-focus-h:var(--bulma-success-h);--bulma-input-focus-s:var(--bulma-success-s);--bulma-input-focus-l:var(--bulma-success-l);--bulma-input-border-l:var(--bulma-success-l)}.is-warning.input,.is-warning.textarea{--bulma-input-h:var(--bulma-warning-h);--bulma-input-s:var(--bulma-warning-s);--bulma-input-l:var(--bulma-warning-l);--bulma-input-focus-h:var(--bulma-warning-h);--bulma-input-focus-s:var(--bulma-warning-s);--bulma-input-focus-l:var(--bulma-warning-l);--bulma-input-border-l:var(--bulma-warning-l)}.is-danger.input,.is-danger.textarea{--bulma-input-h:var(--bulma-danger-h);--bulma-input-s:var(--bulma-danger-s);--bulma-input-l:var(--bulma-danger-l);--bulma-input-focus-h:var(--bulma-danger-h);--bulma-input-focus-s:var(--bulma-danger-s);--bulma-input-focus-l:var(--bulma-danger-l);--bulma-input-border-l:var(--bulma-danger-l)}.is-small.input,.is-small.textarea{border-radius:var(--bulma-radius-small);font-size:var(--bulma-size-small)}.is-medium.input,.is-medium.textarea{font-size:var(--bulma-size-medium)}.is-large.input,.is-large.textarea{font-size:var(--bulma-size-large)}.is-fullwidth.input,.is-fullwidth.textarea{display:block;width:100%}.is-inline.input,.is-inline.textarea{display:inline;width:auto}.input.is-rounded{border-radius:var(--bulma-radius-rounded);padding-left:calc(1.125em - 1px);padding-right:calc(1.125em - 1px)}.input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.textarea{--bulma-textarea-padding:var(--bulma-control-padding-horizontal);--bulma-textarea-max-height:40em;--bulma-textarea-min-height:8em;display:block;max-width:100%;min-width:100%;padding:var(--bulma-textarea-padding);resize:vertical}.textarea:not([rows]){max-height:var(--bulma-textarea-max-height);min-height:var(--bulma-textarea-min-height)}.textarea[rows]{height:auto}.textarea.has-fixed-size{resize:none}.checkbox,.radio{cursor:pointer;display:inline-block;line-height:1.25;position:relative}.checkbox input,.radio input{cursor:pointer}.checkbox input[disabled],.radio input[disabled],[disabled].checkbox,[disabled].radio,fieldset[disabled] .checkbox,fieldset[disabled] .radio{color:var(--bulma-text-weak);cursor:not-allowed}.checkboxes,.radios{column-gap:1em;display:flex;flex-wrap:wrap;row-gap:.5em}.select{--bulma-input-h:var(--bulma-scheme-h);--bulma-input-s:var(--bulma-scheme-s);--bulma-input-border-style:solid;--bulma-input-border-width:1px;--bulma-input-border-l:var(--bulma-border-l);display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:var(--bulma-control-height)}.select:not(.is-multiple):not(.is-loading):after{inset-inline-end:1.125em;z-index:4}.select.is-rounded select{border-radius:var(--bulma-radius-rounded);padding-inline-start:1em}.select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:none}.select select::-ms-expand{display:none}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:var(--bulma-background)}.select select:not([multiple]){padding-inline-end:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:.5em 1em}.select.is-white{--bulma-input-h:var(--bulma-white-h);--bulma-input-s:var(--bulma-white-s);--bulma-input-l:var(--bulma-white-l);--bulma-input-focus-h:var(--bulma-white-h);--bulma-input-focus-s:var(--bulma-white-s);--bulma-input-focus-l:var(--bulma-white-l);--bulma-input-border-l:var(--bulma-white-l);--bulma-arrow-color:var(--bulma-white)}.select.is-black{--bulma-input-h:var(--bulma-black-h);--bulma-input-s:var(--bulma-black-s);--bulma-input-l:var(--bulma-black-l);--bulma-input-focus-h:var(--bulma-black-h);--bulma-input-focus-s:var(--bulma-black-s);--bulma-input-focus-l:var(--bulma-black-l);--bulma-input-border-l:var(--bulma-black-l);--bulma-arrow-color:var(--bulma-black)}.select.is-light{--bulma-input-h:var(--bulma-light-h);--bulma-input-s:var(--bulma-light-s);--bulma-input-l:var(--bulma-light-l);--bulma-input-focus-h:var(--bulma-light-h);--bulma-input-focus-s:var(--bulma-light-s);--bulma-input-focus-l:var(--bulma-light-l);--bulma-input-border-l:var(--bulma-light-l);--bulma-arrow-color:var(--bulma-light)}.select.is-dark{--bulma-input-h:var(--bulma-dark-h);--bulma-input-s:var(--bulma-dark-s);--bulma-input-l:var(--bulma-dark-l);--bulma-input-focus-h:var(--bulma-dark-h);--bulma-input-focus-s:var(--bulma-dark-s);--bulma-input-focus-l:var(--bulma-dark-l);--bulma-input-border-l:var(--bulma-dark-l);--bulma-arrow-color:var(--bulma-dark)}.select.is-text{--bulma-input-h:var(--bulma-text-h);--bulma-input-s:var(--bulma-text-s);--bulma-input-l:var(--bulma-text-l);--bulma-input-focus-h:var(--bulma-text-h);--bulma-input-focus-s:var(--bulma-text-s);--bulma-input-focus-l:var(--bulma-text-l);--bulma-input-border-l:var(--bulma-text-l);--bulma-arrow-color:var(--bulma-text)}.select.is-primary{--bulma-input-h:var(--bulma-primary-h);--bulma-input-s:var(--bulma-primary-s);--bulma-input-l:var(--bulma-primary-l);--bulma-input-focus-h:var(--bulma-primary-h);--bulma-input-focus-s:var(--bulma-primary-s);--bulma-input-focus-l:var(--bulma-primary-l);--bulma-input-border-l:var(--bulma-primary-l);--bulma-arrow-color:var(--bulma-primary)}.select.is-link{--bulma-input-h:var(--bulma-link-h);--bulma-input-s:var(--bulma-link-s);--bulma-input-l:var(--bulma-link-l);--bulma-input-focus-h:var(--bulma-link-h);--bulma-input-focus-s:var(--bulma-link-s);--bulma-input-focus-l:var(--bulma-link-l);--bulma-input-border-l:var(--bulma-link-l);--bulma-arrow-color:var(--bulma-link)}.select.is-info{--bulma-input-h:var(--bulma-info-h);--bulma-input-s:var(--bulma-info-s);--bulma-input-l:var(--bulma-info-l);--bulma-input-focus-h:var(--bulma-info-h);--bulma-input-focus-s:var(--bulma-info-s);--bulma-input-focus-l:var(--bulma-info-l);--bulma-input-border-l:var(--bulma-info-l);--bulma-arrow-color:var(--bulma-info)}.select.is-success{--bulma-input-h:var(--bulma-success-h);--bulma-input-s:var(--bulma-success-s);--bulma-input-l:var(--bulma-success-l);--bulma-input-focus-h:var(--bulma-success-h);--bulma-input-focus-s:var(--bulma-success-s);--bulma-input-focus-l:var(--bulma-success-l);--bulma-input-border-l:var(--bulma-success-l);--bulma-arrow-color:var(--bulma-success)}.select.is-warning{--bulma-input-h:var(--bulma-warning-h);--bulma-input-s:var(--bulma-warning-s);--bulma-input-l:var(--bulma-warning-l);--bulma-input-focus-h:var(--bulma-warning-h);--bulma-input-focus-s:var(--bulma-warning-s);--bulma-input-focus-l:var(--bulma-warning-l);--bulma-input-border-l:var(--bulma-warning-l);--bulma-arrow-color:var(--bulma-warning)}.select.is-danger{--bulma-input-h:var(--bulma-danger-h);--bulma-input-s:var(--bulma-danger-s);--bulma-input-l:var(--bulma-danger-l);--bulma-input-focus-h:var(--bulma-danger-h);--bulma-input-focus-s:var(--bulma-danger-s);--bulma-input-focus-l:var(--bulma-danger-l);--bulma-input-border-l:var(--bulma-danger-l);--bulma-arrow-color:var(--bulma-danger)}.select.is-small{border-radius:var(--bulma-radius-small);font-size:var(--bulma-size-small)}.select.is-medium{font-size:var(--bulma-size-medium)}.select.is-large{font-size:var(--bulma-size-large)}.select.is-disabled:after{border-color:var(--bulma-text-weak)!important;opacity:.5}.select.is-fullwidth,.select.is-fullwidth select{width:100%}.select.is-loading:after{inset-inline-end:.625em;margin-top:0;position:absolute;top:.625em;transform:none}.select.is-loading.is-small:after{font-size:var(--bulma-size-small)}.select.is-loading.is-medium:after{font-size:var(--bulma-size-medium)}.select.is-loading.is-large:after{font-size:var(--bulma-size-large)}.file{--bulma-file-radius:var(--bulma-radius);--bulma-file-name-border-color:var(--bulma-border);--bulma-file-name-border-style:solid;--bulma-file-name-border-width:1px 1px 1px 0;--bulma-file-name-max-width:16em;--bulma-file-h:var(--bulma-scheme-h);--bulma-file-s:var(--bulma-scheme-s);--bulma-file-background-l:var(--bulma-scheme-main-ter-l);--bulma-file-background-l-delta:0%;--bulma-file-hover-background-l-delta:-5%;--bulma-file-active-background-l-delta:-10%;--bulma-file-border-l:var(--bulma-border-l);--bulma-file-border-l-delta:0%;--bulma-file-hover-border-l-delta:-10%;--bulma-file-active-border-l-delta:-20%;--bulma-file-cta-color-l:var(--bulma-text-strong-l);--bulma-file-name-color-l:var(--bulma-text-strong-l);--bulma-file-color-l-delta:0%;--bulma-file-hover-color-l-delta:-5%;--bulma-file-active-color-l-delta:-10%;align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-white{--bulma-file-h:var(--bulma-white-h);--bulma-file-s:var(--bulma-white-s);--bulma-file-background-l:var(--bulma-white-l);--bulma-file-border-l:var(--bulma-white-l);--bulma-file-cta-color-l:var(--bulma-white-invert-l);--bulma-file-name-color-l:var(--bulma-white-on-scheme-l)}.file.is-black{--bulma-file-h:var(--bulma-black-h);--bulma-file-s:var(--bulma-black-s);--bulma-file-background-l:var(--bulma-black-l);--bulma-file-border-l:var(--bulma-black-l);--bulma-file-cta-color-l:var(--bulma-black-invert-l);--bulma-file-name-color-l:var(--bulma-black-on-scheme-l)}.file.is-light{--bulma-file-h:var(--bulma-light-h);--bulma-file-s:var(--bulma-light-s);--bulma-file-background-l:var(--bulma-light-l);--bulma-file-border-l:var(--bulma-light-l);--bulma-file-cta-color-l:var(--bulma-light-invert-l);--bulma-file-name-color-l:var(--bulma-light-on-scheme-l)}.file.is-dark{--bulma-file-h:var(--bulma-dark-h);--bulma-file-s:var(--bulma-dark-s);--bulma-file-background-l:var(--bulma-dark-l);--bulma-file-border-l:var(--bulma-dark-l);--bulma-file-cta-color-l:var(--bulma-dark-invert-l);--bulma-file-name-color-l:var(--bulma-dark-on-scheme-l)}.file.is-text{--bulma-file-h:var(--bulma-text-h);--bulma-file-s:var(--bulma-text-s);--bulma-file-background-l:var(--bulma-text-l);--bulma-file-border-l:var(--bulma-text-l);--bulma-file-cta-color-l:var(--bulma-text-invert-l);--bulma-file-name-color-l:var(--bulma-text-on-scheme-l)}.file.is-primary{--bulma-file-h:var(--bulma-primary-h);--bulma-file-s:var(--bulma-primary-s);--bulma-file-background-l:var(--bulma-primary-l);--bulma-file-border-l:var(--bulma-primary-l);--bulma-file-cta-color-l:var(--bulma-primary-invert-l);--bulma-file-name-color-l:var(--bulma-primary-on-scheme-l)}.file.is-link{--bulma-file-h:var(--bulma-link-h);--bulma-file-s:var(--bulma-link-s);--bulma-file-background-l:var(--bulma-link-l);--bulma-file-border-l:var(--bulma-link-l);--bulma-file-cta-color-l:var(--bulma-link-invert-l);--bulma-file-name-color-l:var(--bulma-link-on-scheme-l)}.file.is-info{--bulma-file-h:var(--bulma-info-h);--bulma-file-s:var(--bulma-info-s);--bulma-file-background-l:var(--bulma-info-l);--bulma-file-border-l:var(--bulma-info-l);--bulma-file-cta-color-l:var(--bulma-info-invert-l);--bulma-file-name-color-l:var(--bulma-info-on-scheme-l)}.file.is-success{--bulma-file-h:var(--bulma-success-h);--bulma-file-s:var(--bulma-success-s);--bulma-file-background-l:var(--bulma-success-l);--bulma-file-border-l:var(--bulma-success-l);--bulma-file-cta-color-l:var(--bulma-success-invert-l);--bulma-file-name-color-l:var(--bulma-success-on-scheme-l)}.file.is-warning{--bulma-file-h:var(--bulma-warning-h);--bulma-file-s:var(--bulma-warning-s);--bulma-file-background-l:var(--bulma-warning-l);--bulma-file-border-l:var(--bulma-warning-l);--bulma-file-cta-color-l:var(--bulma-warning-invert-l);--bulma-file-name-color-l:var(--bulma-warning-on-scheme-l)}.file.is-danger{--bulma-file-h:var(--bulma-danger-h);--bulma-file-s:var(--bulma-danger-s);--bulma-file-background-l:var(--bulma-danger-l);--bulma-file-border-l:var(--bulma-danger-l);--bulma-file-cta-color-l:var(--bulma-danger-invert-l);--bulma-file-name-color-l:var(--bulma-danger-on-scheme-l)}.file.is-small{font-size:var(--bulma-size-small)}.file.is-normal{font-size:var(--bulma-size-normal)}.file.is-medium{font-size:var(--bulma-size-medium)}.file.is-medium .file-icon .fa{font-size:1.5rem}.file.is-large{font-size:var(--bulma-size-large)}.file.is-large .file-icon .fa{font-size:2rem}.file.has-name .file-cta{border-end-end-radius:0;border-start-end-radius:0}.file.has-name .file-name{border-end-start-radius:0;border-start-start-radius:0}.file.has-name.is-empty .file-cta{border-radius:var(--bulma-file-radius)}.file.has-name.is-empty .file-name{display:none}.file.is-boxed .file-label{flex-direction:column}.file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}.file.is-boxed .file-name{border-width:0 1px 1px}.file.is-boxed .file-icon{height:1.5em;width:1.5em}.file.is-boxed .file-icon .fa{font-size:1.5rem}.file.is-boxed.is-small .file-icon .fa{font-size:1rem}.file.is-boxed.is-medium .file-icon .fa{font-size:2rem}.file.is-boxed.is-large .file-icon .fa{font-size:2.5rem}.file.is-boxed.has-name .file-cta{border-end-end-radius:0;border-end-start-radius:0;border-start-end-radius:var(--bulma-file-radius);border-start-start-radius:var(--bulma-file-radius)}.file.is-boxed.has-name .file-name{border-end-end-radius:var(--bulma-file-radius);border-end-start-radius:var(--bulma-file-radius);border-start-end-radius:0;border-start-start-radius:0;border-width:0 1px 1px}.file.is-centered{justify-content:center}.file.is-fullwidth .file-label{width:100%}.file.is-fullwidth .file-name{flex-grow:1;max-width:none}.file.is-right{justify-content:flex-end}.file.is-right .file-cta{border-radius:0 var(--bulma-file-radius) var(--bulma-file-radius) 0}.file.is-right .file-name{border-radius:var(--bulma-file-radius) 0 0 var(--bulma-file-radius);border-width:1px 0 1px 1px;order:-1}.file-label{align-items:stretch;cursor:pointer;display:flex;justify-content:flex-start;overflow:hidden;position:relative}.file-label:hover{--bulma-file-background-l-delta:var(--bulma-file-hover-background-l-delta);--bulma-file-border-l-delta:var(--bulma-file-hover-border-l-delta);--bulma-file-color-l-delta:var(--bulma-file-hover-color-l-delta)}.file-label:active{--bulma-file-background-l-delta:var(--bulma-file-active-background-l-delta);--bulma-file-border-l-delta:var(--bulma-file-active-border-l-delta);--bulma-file-color-l-delta:var(--bulma-file-active-color-l-delta)}.file-input{height:100%;left:0;opacity:0;outline:none;position:absolute;top:0;width:100%}.file-cta,.file-name{border-color:hsl(var(--bulma-file-h),var(--bulma-file-s),calc(var(--bulma-file-border-l) + var(--bulma-file-border-l-delta)));border-radius:var(--bulma-file-radius);font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}.file-cta{background-color:hsl(var(--bulma-file-h),var(--bulma-file-s),calc(var(--bulma-file-background-l) + var(--bulma-file-background-l-delta)));color:hsl(var(--bulma-file-h),var(--bulma-file-s),calc(var(--bulma-file-cta-color-l) + var(--bulma-file-color-l-delta)))}.file-name{border-color:hsl(var(--bulma-file-h),var(--bulma-file-s),calc(var(--bulma-file-border-l) + var(--bulma-file-color-l-delta)));border-style:var(--bulma-file-name-border-style);border-width:var(--bulma-file-name-border-width);color:hsl(var(--bulma-file-h),var(--bulma-file-s),calc(var(--bulma-file-name-color-l) + var(--bulma-file-color-l-delta)));display:block;max-width:var(--bulma-file-name-max-width);overflow:hidden;text-align:inherit;text-overflow:ellipsis}.file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-inline-end:.5em;width:1em}.file-icon .fa{font-size:1rem}:root{--bulma-label-color:var(--bulma-text-strong);--bulma-label-spacing:0.5em;--bulma-label-weight:var(--bulma-weight-semibold);--bulma-help-size:var(--bulma-size-small);--bulma-field-block-spacing:0.75rem}.label{color:var(--bulma-label-color);display:block;font-size:var(--bulma-size-normal);font-weight:var(--bulma-weight-semibold)}.label:not(:last-child){margin-bottom:var(--bulma-label-spacing)}.label.is-small{font-size:var(--bulma-size-small)}.label.is-medium{font-size:var(--bulma-size-medium)}.label.is-large{font-size:var(--bulma-size-large)}.help{display:block;font-size:var(--bulma-help-size);margin-top:.25rem}.help.is-white{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-on-scheme-l))}.help.is-black{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-on-scheme-l))}.help.is-light{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-on-scheme-l))}.help.is-dark{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-on-scheme-l))}.help.is-text{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-on-scheme-l))}.help.is-primary{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-on-scheme-l))}.help.is-link{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-on-scheme-l))}.help.is-info{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-on-scheme-l))}.help.is-success{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-on-scheme-l))}.help.is-warning{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-on-scheme-l))}.help.is-danger{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-on-scheme-l))}.field{--bulma-block-spacing:var(--bulma-field-block-spacing)}.field.has-addons{display:flex;justify-content:flex-start}.field.has-addons .control:not(:last-child){margin-inline-end:-1px}.field.has-addons .control:not(:first-child):not(:last-child) .button,.field.has-addons .control:not(:first-child):not(:last-child) .input,.field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}.field.has-addons .control:first-child:not(:only-child) .button,.field.has-addons .control:first-child:not(:only-child) .input,.field.has-addons .control:first-child:not(:only-child) .select select{border-end-end-radius:0;border-start-end-radius:0}.field.has-addons .control:last-child:not(:only-child) .button,.field.has-addons .control:last-child:not(:only-child) .input,.field.has-addons .control:last-child:not(:only-child) .select select{border-end-start-radius:0;border-start-start-radius:0}.field.has-addons .control .button:not([disabled]).is-hovered,.field.has-addons .control .button:not([disabled]):hover,.field.has-addons .control .input:not([disabled]).is-hovered,.field.has-addons .control .input:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]).is-hovered,.field.has-addons .control .select select:not([disabled]):hover{z-index:2}.field.has-addons .control .button:not([disabled]).is-active,.field.has-addons .control .button:not([disabled]).is-focused,.field.has-addons .control .button:not([disabled]):active,.field.has-addons .control .button:not([disabled]):focus,.field.has-addons .control .input:not([disabled]).is-active,.field.has-addons .control .input:not([disabled]).is-focused,.field.has-addons .control .input:not([disabled]):active,.field.has-addons .control .input:not([disabled]):focus,.field.has-addons .control .select select:not([disabled]).is-active,.field.has-addons .control .select select:not([disabled]).is-focused,.field.has-addons .control .select select:not([disabled]):active,.field.has-addons .control .select select:not([disabled]):focus{z-index:3}.field.has-addons .control .button:not([disabled]).is-active:hover,.field.has-addons .control .button:not([disabled]).is-focused:hover,.field.has-addons .control .button:not([disabled]):active:hover,.field.has-addons .control .button:not([disabled]):focus:hover,.field.has-addons .control .input:not([disabled]).is-active:hover,.field.has-addons .control .input:not([disabled]).is-focused:hover,.field.has-addons .control .input:not([disabled]):active:hover,.field.has-addons .control .input:not([disabled]):focus:hover,.field.has-addons .control .select select:not([disabled]).is-active:hover,.field.has-addons .control .select select:not([disabled]).is-focused:hover,.field.has-addons .control .select select:not([disabled]):active:hover,.field.has-addons .control .select select:not([disabled]):focus:hover{z-index:4}.field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons.has-addons-centered{justify-content:center}.field.has-addons.has-addons-right{justify-content:flex-end}.field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}.field.is-grouped{display:flex;gap:.75rem;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}@media print,screen and (min-width:769px){.field.is-horizontal{display:flex}}.field-label .label{font-size:inherit}@media screen and (max-width:768px){.field-label{margin-bottom:.5rem}}@media print,screen and (min-width:769px){.field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-inline-end:1.5rem;text-align:right}.field-label.is-small{font-size:var(--bulma-size-small);padding-top:.375em}.field-label.is-normal{padding-top:.375em}.field-label.is-medium{font-size:var(--bulma-size-medium);padding-top:.375em}.field-label.is-large{font-size:var(--bulma-size-large);padding-top:.375em}}.field-body .field .field{margin-bottom:0}@media print,screen and (min-width:769px){.field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}.field-body .field{margin-bottom:0}.field-body>.field{flex-shrink:1}.field-body>.field:not(.is-narrow){flex-grow:1}.field-body>.field:not(:last-child){margin-inline-end:.75rem}}.control{box-sizing:border-box;clear:both;font-size:var(--bulma-size-normal);position:relative;text-align:inherit}.control.has-icons-left .input:hover~.icon,.control.has-icons-left .select:hover~.icon,.control.has-icons-right .input:hover~.icon,.control.has-icons-right .select:hover~.icon{color:var(--bulma-input-icon-hover-color)}.control.has-icons-left .input:focus~.icon,.control.has-icons-left .select:focus~.icon,.control.has-icons-right .input:focus~.icon,.control.has-icons-right .select:focus~.icon{color:var(--bulma-input-icon-focus-color)}.control.has-icons-left .input.is-small~.icon,.control.has-icons-left .select.is-small~.icon,.control.has-icons-right .input.is-small~.icon,.control.has-icons-right .select.is-small~.icon{font-size:var(--bulma-size-small)}.control.has-icons-left .input.is-medium~.icon,.control.has-icons-left .select.is-medium~.icon,.control.has-icons-right .input.is-medium~.icon,.control.has-icons-right .select.is-medium~.icon{font-size:var(--bulma-size-medium)}.control.has-icons-left .input.is-large~.icon,.control.has-icons-left .select.is-large~.icon,.control.has-icons-right .input.is-large~.icon,.control.has-icons-right .select.is-large~.icon{font-size:var(--bulma-size-large)}.control.has-icons-left .icon,.control.has-icons-right .icon{color:var(--bulma-input-icon-color);height:var(--bulma-input-height);pointer-events:none;position:absolute;top:0;width:var(--bulma-input-height);z-index:4}.control.has-icons-left .input,.control.has-icons-left .select select{padding-left:var(--bulma-input-height)}.control.has-icons-left .icon.is-left{left:0}.control.has-icons-right .input,.control.has-icons-right .select select{padding-right:var(--bulma-input-height)}.control.has-icons-right .icon.is-right{right:0}.control.is-loading:after{inset-inline-end:.75em;position:absolute!important;top:.75em;z-index:4}.control.is-loading.is-small:after{font-size:var(--bulma-size-small)}.control.is-loading.is-medium:after{font-size:var(--bulma-size-medium)}.control.is-loading.is-large:after{font-size:var(--bulma-size-large)}.breadcrumb{--bulma-breadcrumb-item-color:var(--bulma-link-text);--bulma-breadcrumb-item-hover-color:var(--bulma-link-text-hover);--bulma-breadcrumb-item-active-color:var(--bulma-link-text-active);--bulma-breadcrumb-item-padding-vertical:0;--bulma-breadcrumb-item-padding-horizontal:0.75em;--bulma-breadcrumb-item-separator-color:var(--bulma-border);font-size:var(--bulma-size-normal);white-space:nowrap}.breadcrumb a{align-items:center;color:var(--bulma-breadcrumb-item-color);display:flex;justify-content:center;padding:var(--bulma-breadcrumb-item-padding-vertical) var(--bulma-breadcrumb-item-padding-horizontal)}.breadcrumb a:hover{color:var(--bulma-breadcrumb-item-hover-color)}.breadcrumb li{align-items:center;display:flex}.breadcrumb li:first-child a{padding-inline-start:0}.breadcrumb li.is-active a{color:var(--bulma-breadcrumb-item-active-color);cursor:default;pointer-events:none}.breadcrumb li+li:before{color:var(--bulma-breadcrumb-item-separator-color);content:"/"}.breadcrumb ol,.breadcrumb ul{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}.breadcrumb .icon:first-child{margin-inline-end:.5em}.breadcrumb .icon:last-child{margin-inline-start:.5em}.breadcrumb.is-centered ol,.breadcrumb.is-centered ul{justify-content:center}.breadcrumb.is-right ol,.breadcrumb.is-right ul{justify-content:flex-end}.breadcrumb.is-small{font-size:var(--bulma-size-small)}.breadcrumb.is-medium{font-size:var(--bulma-size-medium)}.breadcrumb.is-large{font-size:var(--bulma-size-large)}.breadcrumb.has-arrow-separator li+li:before{content:"→"}.breadcrumb.has-bullet-separator li+li:before{content:"•"}.breadcrumb.has-dot-separator li+li:before{content:"·"}.breadcrumb.has-succeeds-separator li+li:before{content:"≻"}.card{--bulma-card-color:var(--bulma-text);--bulma-card-background-color:var(--bulma-scheme-main);--bulma-card-shadow:var(--bulma-shadow);--bulma-card-radius:0.75rem;--bulma-card-header-background-color:transparent;--bulma-card-header-color:var(--bulma-text-strong);--bulma-card-header-padding:0.75rem 1rem;--bulma-card-header-shadow:0 0.125em 0.25em hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l),0.1);--bulma-card-header-weight:var(--bulma-weight-bold);--bulma-card-content-background-color:transparent;--bulma-card-content-padding:1.5rem;--bulma-card-footer-background-color:transparent;--bulma-card-footer-border-top:1px solid var(--bulma-border-weak);--bulma-card-footer-padding:0.75rem;--bulma-card-media-margin:var(--bulma-block-spacing);background-color:var(--bulma-card-background-color);border-radius:var(--bulma-card-radius);box-shadow:var(--bulma-card-shadow);color:var(--bulma-card-color);max-width:100%;position:relative}.card-content:first-child,.card-footer:first-child,.card-header:first-child{border-start-end-radius:var(--bulma-card-radius);border-start-start-radius:var(--bulma-card-radius)}.card-content:last-child,.card-footer:last-child,.card-header:last-child{border-end-end-radius:var(--bulma-card-radius);border-end-start-radius:var(--bulma-card-radius)}.card-header{align-items:stretch;background-color:var(--bulma-card-header-background-color);box-shadow:var(--bulma-card-header-shadow);display:flex}.card-header-title{align-items:center;color:var(--bulma-card-header-color);display:flex;flex-grow:1;font-weight:var(--bulma-card-header-weight);padding:var(--bulma-card-header-padding)}.card-header-icon,.card-header-title.is-centered{justify-content:center}.card-header-icon{align-items:center;appearance:none;background:none;border:none;color:inherit;cursor:pointer;display:flex;font-family:inherit;font-size:1em;margin:0;padding:0;padding:var(--bulma-card-header-padding)}.card-image{display:block;position:relative}.card-image:first-child img{border-start-end-radius:var(--bulma-card-radius);border-start-start-radius:var(--bulma-card-radius)}.card-image:last-child img{border-end-end-radius:var(--bulma-card-radius);border-end-start-radius:var(--bulma-card-radius)}.card-content{background-color:var(--bulma-card-content-background-color);padding:var(--bulma-card-content-padding)}.card-footer{align-items:stretch;background-color:var(--bulma-card-footer-background-color);border-top:var(--bulma-card-footer-border-top);display:flex}.card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:var(--bulma-card-footer-padding)}.card-footer-item:not(:last-child){border-inline-end:var(--bulma-card-footer-border-top)}.card .media:not(:last-child){margin-bottom:var(--bulma-card-media-margin)}.dropdown{--bulma-dropdown-menu-min-width:12rem;--bulma-dropdown-content-background-color:var(--bulma-scheme-main);--bulma-dropdown-content-offset:0.25rem;--bulma-dropdown-content-padding-bottom:0.5rem;--bulma-dropdown-content-padding-top:0.5rem;--bulma-dropdown-content-radius:var(--bulma-radius);--bulma-dropdown-content-shadow:var(--bulma-shadow);--bulma-dropdown-content-z:20;--bulma-dropdown-item-h:var(--bulma-scheme-h);--bulma-dropdown-item-s:var(--bulma-scheme-s);--bulma-dropdown-item-l:var(--bulma-scheme-main-l);--bulma-dropdown-item-background-l:var(--bulma-scheme-main-l);--bulma-dropdown-item-background-l-delta:0%;--bulma-dropdown-item-hover-background-l-delta:var(--bulma-hover-background-l-delta);--bulma-dropdown-item-active-background-l-delta:var(--bulma-active-background-l-delta);--bulma-dropdown-item-color-l:var(--bulma-text-strong-l);--bulma-dropdown-item-selected-h:var(--bulma-link-h);--bulma-dropdown-item-selected-s:var(--bulma-link-s);--bulma-dropdown-item-selected-l:var(--bulma-link-l);--bulma-dropdown-item-selected-background-l:var(--bulma-link-l);--bulma-dropdown-item-selected-color-l:var(--bulma-link-invert-l);--bulma-dropdown-divider-background-color:var(--bulma-border-weak);display:inline-flex;position:relative;vertical-align:top}.dropdown.is-active .dropdown-menu,.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-right .dropdown-menu{left:auto;right:0}.dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:var(--bulma-dropdown-content-offset);padding-top:0;top:auto}.dropdown-menu{display:none;left:0;min-width:var(--bulma-dropdown-menu-min-width);padding-top:var(--bulma-dropdown-content-offset);position:absolute;top:100%;z-index:var(--bulma-dropdown-content-z)}.dropdown-content{background-color:var(--bulma-dropdown-content-background-color);border-radius:var(--bulma-dropdown-content-radius);box-shadow:var(--bulma-dropdown-content-shadow);padding-bottom:var(--bulma-dropdown-content-padding-bottom);padding-top:var(--bulma-dropdown-content-padding-top)}.dropdown-item{color:hsl(var(--bulma-dropdown-item-h),var(--bulma-dropdown-item-s),var(--bulma-dropdown-item-color-l));display:block;font-size:.875rem;line-height:1.5;padding:.375rem 1rem}a.dropdown-item,button.dropdown-item{background-color:hsl(var(--bulma-dropdown-item-h),var(--bulma-dropdown-item-s),calc(var(--bulma-dropdown-item-background-l) + var(--bulma-dropdown-item-background-l-delta)));padding-inline-end:3rem;text-align:inherit;white-space:nowrap;width:100%}a.dropdown-item:hover,button.dropdown-item:hover{--bulma-dropdown-item-background-l-delta:var(--bulma-dropdown-item-hover-background-l-delta);--bulma-dropdown-item-border-l-delta:var(--bulma-dropdown-item-hover-border-l-delta)}a.dropdown-item:active,button.dropdown-item:active{--bulma-dropdown-item-background-l-delta:var(--bulma-dropdown-item-active-background-l-delta);--bulma-dropdown-item-border-l-delta:var(--bulma-dropdown-item-active-border-l-delta)}a.dropdown-item.is-active,a.dropdown-item.is-selected,button.dropdown-item.is-active,button.dropdown-item.is-selected{--bulma-dropdown-item-h:var(--bulma-dropdown-item-selected-h);--bulma-dropdown-item-s:var(--bulma-dropdown-item-selected-s);--bulma-dropdown-item-l:var(--bulma-dropdown-item-selected-l);--bulma-dropdown-item-background-l:var(--bulma-dropdown-item-selected-background-l);--bulma-dropdown-item-color-l:var(--bulma-dropdown-item-selected-color-l)}.dropdown-divider{background-color:var(--bulma-dropdown-divider-background-color);border:none;display:block;height:1px;margin:.5rem 0}.menu{--bulma-menu-item-h:var(--bulma-scheme-h);--bulma-menu-item-s:var(--bulma-scheme-s);--bulma-menu-item-l:var(--bulma-scheme-main-l);--bulma-menu-item-background-l:var(--bulma-scheme-main-l);--bulma-menu-item-background-l-delta:0%;--bulma-menu-item-hover-background-l-delta:var(--bulma-hover-background-l-delta);--bulma-menu-item-active-background-l-delta:var(--bulma-active-background-l-delta);--bulma-menu-item-color-l:var(--bulma-text-l);--bulma-menu-item-radius:var(--bulma-radius-small);--bulma-menu-item-selected-h:var(--bulma-link-h);--bulma-menu-item-selected-s:var(--bulma-link-s);--bulma-menu-item-selected-l:var(--bulma-link-l);--bulma-menu-item-selected-background-l:var(--bulma-link-l);--bulma-menu-item-selected-color-l:var(--bulma-link-invert-l);--bulma-menu-list-border-left:1px solid var(--bulma-border);--bulma-menu-list-line-height:1.25;--bulma-menu-list-link-padding:0.5em 0.75em;--bulma-menu-nested-list-margin:0.75em;--bulma-menu-nested-list-padding-left:0.75em;--bulma-menu-label-color:var(--bulma-text-weak);--bulma-menu-label-font-size:0.75em;--bulma-menu-label-letter-spacing:0.1em;--bulma-menu-label-spacing:1em;font-size:var(--bulma-size-normal)}.menu.is-small{font-size:var(--bulma-size-small)}.menu.is-medium{font-size:var(--bulma-size-medium)}.menu.is-large{font-size:var(--bulma-size-large)}.menu-list{line-height:var(--bulma-menu-list-line-height)}.menu-list .menu-item,.menu-list a,.menu-list button{background-color:hsl(var(--bulma-menu-item-h),var(--bulma-menu-item-s),calc(var(--bulma-menu-item-background-l) + var(--bulma-menu-item-background-l-delta)));border-radius:var(--bulma-menu-item-radius);color:hsl(var(--bulma-menu-item-h),var(--bulma-menu-item-s),var(--bulma-menu-item-color-l));display:block;padding:var(--bulma-menu-list-link-padding);text-align:left;width:100%}.menu-list .menu-item:hover,.menu-list a:hover,.menu-list button:hover{--bulma-menu-item-background-l-delta:var(--bulma-menu-item-hover-background-l-delta)}.menu-list .menu-item:active,.menu-list a:active,.menu-list button:active{--bulma-menu-item-background-l-delta:var(--bulma-menu-item-active-background-l-delta)}.menu-list .menu-item.is-active,.menu-list .menu-item.is-selected,.menu-list a.is-active,.menu-list a.is-selected,.menu-list button.is-active,.menu-list button.is-selected{--bulma-menu-item-h:var(--bulma-menu-item-selected-h);--bulma-menu-item-s:var(--bulma-menu-item-selected-s);--bulma-menu-item-l:var(--bulma-menu-item-selected-l);--bulma-menu-item-background-l:var(--bulma-menu-item-selected-background-l);--bulma-menu-item-color-l:var(--bulma-menu-item-selected-color-l)}.menu-list li ul{border-inline-start:var(--bulma-menu-list-border-left);margin:var(--bulma-menu-nested-list-margin);padding-inline-start:var(--bulma-menu-nested-list-padding-left)}.menu-label{color:var(--bulma-menu-label-color);font-size:var(--bulma-menu-label-font-size);letter-spacing:var(--bulma-menu-label-letter-spacing);text-transform:uppercase}.menu-label:not(:first-child){margin-top:var(--bulma-menu-label-spacing)}.menu-label:not(:last-child){margin-bottom:var(--bulma-menu-label-spacing)}.message{--bulma-message-border-l-delta:-20%;--bulma-message-radius:var(--bulma-radius);--bulma-message-header-weight:var(--bulma-weight-semibold);--bulma-message-header-padding:1em 1.25em;--bulma-message-header-radius:var(--bulma-radius);--bulma-message-body-border-width:0 0 0 4px;--bulma-message-body-color:var(--bulma-text);--bulma-message-body-padding:1.25em 1.5em;--bulma-message-body-radius:var(--bulma-radius-small);--bulma-message-body-pre-code-background-color:transparent;--bulma-message-header-body-border-width:0;--bulma-message-h:var(--bulma-scheme-h);--bulma-message-s:var(--bulma-scheme-s);--bulma-message-background-l:var(--bulma-background-l);--bulma-message-border-l:var(--bulma-border-l);--bulma-message-border-style:solid;--bulma-message-border-width:0.25em;--bulma-message-color-l:var(--bulma-text-l);--bulma-message-header-background-l:var(--bulma-dark-l);--bulma-message-header-color-l:var(--bulma-text-dark-invert-l);border-radius:var(--bulma-message-radius);color:hsl(var(--bulma-message-h),var(--bulma-message-s),var(--bulma-message-color-l));font-size:var(--bulma-size-normal)}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-small{font-size:var(--bulma-size-small)}.message.is-medium{font-size:var(--bulma-size-medium)}.message.is-large{font-size:var(--bulma-size-large)}.message.is-white{--bulma-message-h:var(--bulma-white-h);--bulma-message-s:var(--bulma-white-s);--bulma-message-border-l:calc(var(--bulma-white-l) + var(--bulma-message-border-l-delta));--bulma-message-color-l:var(--bulma-white-on-scheme-l);--bulma-message-header-background-l:var(--bulma-white-l);--bulma-message-header-color-l:var(--bulma-white-invert-l)}.message.is-black{--bulma-message-h:var(--bulma-black-h);--bulma-message-s:var(--bulma-black-s);--bulma-message-border-l:calc(var(--bulma-black-l) + var(--bulma-message-border-l-delta));--bulma-message-color-l:var(--bulma-black-on-scheme-l);--bulma-message-header-background-l:var(--bulma-black-l);--bulma-message-header-color-l:var(--bulma-black-invert-l)}.message.is-light{--bulma-message-h:var(--bulma-light-h);--bulma-message-s:var(--bulma-light-s);--bulma-message-border-l:calc(var(--bulma-light-l) + var(--bulma-message-border-l-delta));--bulma-message-color-l:var(--bulma-light-on-scheme-l);--bulma-message-header-background-l:var(--bulma-light-l);--bulma-message-header-color-l:var(--bulma-light-invert-l)}.message.is-dark{--bulma-message-h:var(--bulma-dark-h);--bulma-message-s:var(--bulma-dark-s);--bulma-message-border-l:calc(var(--bulma-dark-l) + var(--bulma-message-border-l-delta));--bulma-message-color-l:var(--bulma-dark-on-scheme-l);--bulma-message-header-background-l:var(--bulma-dark-l);--bulma-message-header-color-l:var(--bulma-dark-invert-l)}.message.is-text{--bulma-message-h:var(--bulma-text-h);--bulma-message-s:var(--bulma-text-s);--bulma-message-border-l:calc(var(--bulma-text-l) + var(--bulma-message-border-l-delta));--bulma-message-color-l:var(--bulma-text-on-scheme-l);--bulma-message-header-background-l:var(--bulma-text-l);--bulma-message-header-color-l:var(--bulma-text-invert-l)}.message.is-primary{--bulma-message-h:var(--bulma-primary-h);--bulma-message-s:var(--bulma-primary-s);--bulma-message-border-l:calc(var(--bulma-primary-l) + var(--bulma-message-border-l-delta));--bulma-message-color-l:var(--bulma-primary-on-scheme-l);--bulma-message-header-background-l:var(--bulma-primary-l);--bulma-message-header-color-l:var(--bulma-primary-invert-l)}.message.is-link{--bulma-message-h:var(--bulma-link-h);--bulma-message-s:var(--bulma-link-s);--bulma-message-border-l:calc(var(--bulma-link-l) + var(--bulma-message-border-l-delta));--bulma-message-color-l:var(--bulma-link-on-scheme-l);--bulma-message-header-background-l:var(--bulma-link-l);--bulma-message-header-color-l:var(--bulma-link-invert-l)}.message.is-info{--bulma-message-h:var(--bulma-info-h);--bulma-message-s:var(--bulma-info-s);--bulma-message-border-l:calc(var(--bulma-info-l) + var(--bulma-message-border-l-delta));--bulma-message-color-l:var(--bulma-info-on-scheme-l);--bulma-message-header-background-l:var(--bulma-info-l);--bulma-message-header-color-l:var(--bulma-info-invert-l)}.message.is-success{--bulma-message-h:var(--bulma-success-h);--bulma-message-s:var(--bulma-success-s);--bulma-message-border-l:calc(var(--bulma-success-l) + var(--bulma-message-border-l-delta));--bulma-message-color-l:var(--bulma-success-on-scheme-l);--bulma-message-header-background-l:var(--bulma-success-l);--bulma-message-header-color-l:var(--bulma-success-invert-l)}.message.is-warning{--bulma-message-h:var(--bulma-warning-h);--bulma-message-s:var(--bulma-warning-s);--bulma-message-border-l:calc(var(--bulma-warning-l) + var(--bulma-message-border-l-delta));--bulma-message-color-l:var(--bulma-warning-on-scheme-l);--bulma-message-header-background-l:var(--bulma-warning-l);--bulma-message-header-color-l:var(--bulma-warning-invert-l)}.message.is-danger{--bulma-message-h:var(--bulma-danger-h);--bulma-message-s:var(--bulma-danger-s);--bulma-message-border-l:calc(var(--bulma-danger-l) + var(--bulma-message-border-l-delta));--bulma-message-color-l:var(--bulma-danger-on-scheme-l);--bulma-message-header-background-l:var(--bulma-danger-l);--bulma-message-header-color-l:var(--bulma-danger-invert-l)}.message-header{align-items:center;background-color:hsl(var(--bulma-message-h),var(--bulma-message-s),var(--bulma-message-header-background-l));border-start-end-radius:var(--bulma-message-header-radius);border-start-start-radius:var(--bulma-message-header-radius);color:hsl(var(--bulma-message-h),var(--bulma-message-s),var(--bulma-message-header-color-l));display:flex;font-weight:var(--bulma-message-header-weight);justify-content:space-between;line-height:1.25;padding:var(--bulma-message-header-padding);position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-inline-start:.75em}.message-header+.message-body{border-start-end-radius:0;border-start-start-radius:0;border-width:var(--bulma-message-header-body-border-width)}.message-body{background-color:hsl(var(--bulma-message-h),var(--bulma-message-s),var(--bulma-message-background-l));border-inline-start-color:hsl(var(--bulma-message-h),var(--bulma-message-s),var(--bulma-message-border-l));border-inline-start-style:var(--bulma-message-border-style);border-inline-start-width:var(--bulma-message-border-width);border-radius:var(--bulma-message-body-radius);padding:var(--bulma-message-body-padding)}.message-body code,.message-body pre{background-color:hsl(var(--bulma-message-h),var(--bulma-message-s),var(--bulma-message-header-color-l));color:hsl(var(--bulma-message-h),var(--bulma-message-s),var(--bulma-message-header-background-l))}.message-body pre code{background-color:var(--bulma-message-body-pre-code-background-color)}.modal{--bulma-modal-z:40;--bulma-modal-background-background-color:hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l),0.86);--bulma-modal-content-width:40rem;--bulma-modal-content-margin-mobile:1.25rem;--bulma-modal-content-spacing-mobile:10rem;--bulma-modal-content-spacing-tablet:2.5rem;--bulma-modal-close-dimensions:2.5rem;--bulma-modal-close-right:1.25rem;--bulma-modal-close-top:1.25rem;--bulma-modal-card-spacing:2.5rem;--bulma-modal-card-head-background-color:var(--bulma-scheme-main);--bulma-modal-card-head-padding:2rem;--bulma-modal-card-head-radius:var(--bulma-radius-large);--bulma-modal-card-title-color:var(--bulma-text-strong);--bulma-modal-card-title-line-height:1;--bulma-modal-card-title-size:var(--bulma-size-4);--bulma-modal-card-foot-background-color:var(--bulma-scheme-main-bis);--bulma-modal-card-foot-radius:var(--bulma-radius-large);--bulma-modal-card-body-background-color:var(--bulma-scheme-main);--bulma-modal-card-body-padding:2rem;align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:var(--bulma-modal-z)}.modal.is-active{display:flex}.modal-background{background-color:var(--bulma-modal-background-background-color)}.modal-card,.modal-content{margin:0 var(--bulma-modal-content-margin-mobile);max-height:calc(100vh - var(--bulma-modal-content-spacing-mobile));overflow:auto;position:relative;width:100%}@media screen and (min-width:769px){.modal-card,.modal-content{margin:0 auto;max-height:calc(100vh - var(--bulma-modal-content-spacing-tablet));width:var(--bulma-modal-content-width)}}.modal-close{background:none;height:var(--bulma-modal-close-dimensions);inset-inline-end:var(--bulma-modal-close-right);position:fixed;top:var(--bulma-modal-close-top);width:var(--bulma-modal-close-dimensions)}.modal-card{display:flex;flex-direction:column;max-height:calc(100vh - var(--bulma-modal-card-spacing));overflow:hidden;overflow-y:visible}.modal-card-foot,.modal-card-head{align-items:center;display:flex;flex-shrink:0;justify-content:flex-start;padding:var(--bulma-modal-card-head-padding);position:relative}.modal-card-head{background-color:var(--bulma-modal-card-head-background-color);border-start-end-radius:var(--bulma-modal-card-head-radius);border-start-start-radius:var(--bulma-modal-card-head-radius);box-shadow:var(--bulma-shadow)}.modal-card-title{color:var(--bulma-modal-card-title-color);flex-grow:1;flex-shrink:0;font-size:var(--bulma-modal-card-title-size);line-height:var(--bulma-modal-card-title-line-height)}.modal-card-foot{background-color:var(--bulma-modal-card-foot-background-color);border-end-end-radius:var(--bulma-modal-card-foot-radius);border-end-start-radius:var(--bulma-modal-card-foot-radius)}.modal-card-body{-webkit-overflow-scrolling:touch;background-color:var(--bulma-modal-card-body-background-color);flex-grow:1;flex-shrink:1;overflow:auto;padding:var(--bulma-modal-card-body-padding)}:root{--bulma-navbar-height:3.25rem}.navbar{--bulma-navbar-h:var(--bulma-scheme-h);--bulma-navbar-s:var(--bulma-scheme-s);--bulma-navbar-l:var(--bulma-scheme-main-l);--bulma-navbar-background-color:var(--bulma-scheme-main);--bulma-navbar-box-shadow-size:0 0.125em 0 0;--bulma-navbar-box-shadow-color:var(--bulma-background);--bulma-navbar-padding-vertical:1rem;--bulma-navbar-padding-horizontal:2rem;--bulma-navbar-z:30;--bulma-navbar-fixed-z:30;--bulma-navbar-item-background-a:0;--bulma-navbar-item-background-l:var(--bulma-scheme-main-l);--bulma-navbar-item-background-l-delta:0%;--bulma-navbar-item-hover-background-l-delta:var(--bulma-hover-background-l-delta);--bulma-navbar-item-active-background-l-delta:var(--bulma-active-background-l-delta);--bulma-navbar-item-color-l:var(--bulma-text-l);--bulma-navbar-item-color:hsl(var(--bulma-navbar-h),var(--bulma-navbar-s),var(--bulma-navbar-item-color-l));--bulma-navbar-item-selected-h:var(--bulma-link-h);--bulma-navbar-item-selected-s:var(--bulma-link-s);--bulma-navbar-item-selected-l:var(--bulma-link-l);--bulma-navbar-item-selected-background-l:var(--bulma-link-l);--bulma-navbar-item-selected-color-l:var(--bulma-link-invert-l);--bulma-navbar-item-img-max-height:1.75rem;--bulma-navbar-burger-color:var(--bulma-link);--bulma-navbar-tab-hover-background-color:transparent;--bulma-navbar-tab-hover-border-bottom-color:var(--bulma-link);--bulma-navbar-tab-active-color:var(--bulma-link);--bulma-navbar-tab-active-background-color:transparent;--bulma-navbar-tab-active-border-bottom-color:var(--bulma-link);--bulma-navbar-tab-active-border-bottom-style:solid;--bulma-navbar-tab-active-border-bottom-width:0.1875em;--bulma-navbar-dropdown-background-color:var(--bulma-scheme-main);--bulma-navbar-dropdown-border-l:var(--bulma-border-l);--bulma-navbar-dropdown-border-color:hsl(var(--bulma-navbar-h),var(--bulma-navbar-s),var(--bulma-navbar-dropdown-border-l));--bulma-navbar-dropdown-border-style:solid;--bulma-navbar-dropdown-border-width:0.125em;--bulma-navbar-dropdown-offset:-0.25em;--bulma-navbar-dropdown-arrow:var(--bulma-link);--bulma-navbar-dropdown-radius:var(--bulma-radius-large);--bulma-navbar-dropdown-z:20;--bulma-navbar-dropdown-boxed-radius:var(--bulma-radius-large);--bulma-navbar-dropdown-boxed-shadow:0 0.5em 0.5em hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l),0.1),0 0 0 1px hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l),0.1);--bulma-navbar-dropdown-item-h:var(--bulma-scheme-h);--bulma-navbar-dropdown-item-s:var(--bulma-scheme-s);--bulma-navbar-dropdown-item-l:var(--bulma-scheme-main-l);--bulma-navbar-dropdown-item-background-l:var(--bulma-scheme-main-l);--bulma-navbar-dropdown-item-color-l:var(--bulma-text-l);--bulma-navbar-divider-background-l:var(--bulma-background-l);--bulma-navbar-divider-height:0.125em;--bulma-navbar-bottom-box-shadow-size:0 -0.125em 0 0;background-color:var(--bulma-navbar-background-color);min-height:var(--bulma-navbar-height);position:relative;z-index:var(--bulma-navbar-z)}.navbar.is-white{--bulma-navbar-h:var(--bulma-white-h);--bulma-navbar-s:var(--bulma-white-s);--bulma-navbar-l:var(--bulma-white-l);--bulma-burger-h:var(--bulma-white-h);--bulma-burger-s:var(--bulma-white-s);--bulma-burger-l:var(--bulma-white-invert-l);--bulma-navbar-background-color:var(--bulma-white);--bulma-navbar-item-background-l:var(--bulma-white-l);--bulma-navbar-item-color-l:var(--bulma-white-invert-l);--bulma-navbar-item-selected-h:var(--bulma-white-h);--bulma-navbar-item-selected-s:var(--bulma-white-s);--bulma-navbar-item-selected-l:var(--bulma-white-l);--bulma-navbar-item-selected-background-l:var(--bulma-white-l);--bulma-navbar-item-selected-color-l:var(--bulma-white-invert-l);--bulma-navbar-dropdown-arrow:var(--bulma-white-invert-l);--bulma-navbar-dropdown-background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-navbar-dropdown-item-background-l));--bulma-navbar-dropdown-item-h:var(--bulma-white-h);--bulma-navbar-dropdown-item-s:var(--bulma-white-s)}.navbar.is-black{--bulma-navbar-h:var(--bulma-black-h);--bulma-navbar-s:var(--bulma-black-s);--bulma-navbar-l:var(--bulma-black-l);--bulma-burger-h:var(--bulma-black-h);--bulma-burger-s:var(--bulma-black-s);--bulma-burger-l:var(--bulma-black-invert-l);--bulma-navbar-background-color:var(--bulma-black);--bulma-navbar-item-background-l:var(--bulma-black-l);--bulma-navbar-item-color-l:var(--bulma-black-invert-l);--bulma-navbar-item-selected-h:var(--bulma-black-h);--bulma-navbar-item-selected-s:var(--bulma-black-s);--bulma-navbar-item-selected-l:var(--bulma-black-l);--bulma-navbar-item-selected-background-l:var(--bulma-black-l);--bulma-navbar-item-selected-color-l:var(--bulma-black-invert-l);--bulma-navbar-dropdown-arrow:var(--bulma-black-invert-l);--bulma-navbar-dropdown-background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-navbar-dropdown-item-background-l));--bulma-navbar-dropdown-item-h:var(--bulma-black-h);--bulma-navbar-dropdown-item-s:var(--bulma-black-s)}.navbar.is-light{--bulma-navbar-h:var(--bulma-light-h);--bulma-navbar-s:var(--bulma-light-s);--bulma-navbar-l:var(--bulma-light-l);--bulma-burger-h:var(--bulma-light-h);--bulma-burger-s:var(--bulma-light-s);--bulma-burger-l:var(--bulma-light-invert-l);--bulma-navbar-background-color:var(--bulma-light);--bulma-navbar-item-background-l:var(--bulma-light-l);--bulma-navbar-item-color-l:var(--bulma-light-invert-l);--bulma-navbar-item-selected-h:var(--bulma-light-h);--bulma-navbar-item-selected-s:var(--bulma-light-s);--bulma-navbar-item-selected-l:var(--bulma-light-l);--bulma-navbar-item-selected-background-l:var(--bulma-light-l);--bulma-navbar-item-selected-color-l:var(--bulma-light-invert-l);--bulma-navbar-dropdown-arrow:var(--bulma-light-invert-l);--bulma-navbar-dropdown-background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-navbar-dropdown-item-background-l));--bulma-navbar-dropdown-item-h:var(--bulma-light-h);--bulma-navbar-dropdown-item-s:var(--bulma-light-s)}.navbar.is-dark{--bulma-navbar-h:var(--bulma-dark-h);--bulma-navbar-s:var(--bulma-dark-s);--bulma-navbar-l:var(--bulma-dark-l);--bulma-burger-h:var(--bulma-dark-h);--bulma-burger-s:var(--bulma-dark-s);--bulma-burger-l:var(--bulma-dark-invert-l);--bulma-navbar-background-color:var(--bulma-dark);--bulma-navbar-item-background-l:var(--bulma-dark-l);--bulma-navbar-item-color-l:var(--bulma-dark-invert-l);--bulma-navbar-item-selected-h:var(--bulma-dark-h);--bulma-navbar-item-selected-s:var(--bulma-dark-s);--bulma-navbar-item-selected-l:var(--bulma-dark-l);--bulma-navbar-item-selected-background-l:var(--bulma-dark-l);--bulma-navbar-item-selected-color-l:var(--bulma-dark-invert-l);--bulma-navbar-dropdown-arrow:var(--bulma-dark-invert-l);--bulma-navbar-dropdown-background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-navbar-dropdown-item-background-l));--bulma-navbar-dropdown-item-h:var(--bulma-dark-h);--bulma-navbar-dropdown-item-s:var(--bulma-dark-s)}.navbar.is-text{--bulma-navbar-h:var(--bulma-text-h);--bulma-navbar-s:var(--bulma-text-s);--bulma-navbar-l:var(--bulma-text-l);--bulma-burger-h:var(--bulma-text-h);--bulma-burger-s:var(--bulma-text-s);--bulma-burger-l:var(--bulma-text-invert-l);--bulma-navbar-background-color:var(--bulma-text);--bulma-navbar-item-background-l:var(--bulma-text-l);--bulma-navbar-item-color-l:var(--bulma-text-invert-l);--bulma-navbar-item-selected-h:var(--bulma-text-h);--bulma-navbar-item-selected-s:var(--bulma-text-s);--bulma-navbar-item-selected-l:var(--bulma-text-l);--bulma-navbar-item-selected-background-l:var(--bulma-text-l);--bulma-navbar-item-selected-color-l:var(--bulma-text-invert-l);--bulma-navbar-dropdown-arrow:var(--bulma-text-invert-l);--bulma-navbar-dropdown-background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-navbar-dropdown-item-background-l));--bulma-navbar-dropdown-item-h:var(--bulma-text-h);--bulma-navbar-dropdown-item-s:var(--bulma-text-s)}.navbar.is-primary{--bulma-navbar-h:var(--bulma-primary-h);--bulma-navbar-s:var(--bulma-primary-s);--bulma-navbar-l:var(--bulma-primary-l);--bulma-burger-h:var(--bulma-primary-h);--bulma-burger-s:var(--bulma-primary-s);--bulma-burger-l:var(--bulma-primary-invert-l);--bulma-navbar-background-color:var(--bulma-primary);--bulma-navbar-item-background-l:var(--bulma-primary-l);--bulma-navbar-item-color-l:var(--bulma-primary-invert-l);--bulma-navbar-item-selected-h:var(--bulma-primary-h);--bulma-navbar-item-selected-s:var(--bulma-primary-s);--bulma-navbar-item-selected-l:var(--bulma-primary-l);--bulma-navbar-item-selected-background-l:var(--bulma-primary-l);--bulma-navbar-item-selected-color-l:var(--bulma-primary-invert-l);--bulma-navbar-dropdown-arrow:var(--bulma-primary-invert-l);--bulma-navbar-dropdown-background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-navbar-dropdown-item-background-l));--bulma-navbar-dropdown-item-h:var(--bulma-primary-h);--bulma-navbar-dropdown-item-s:var(--bulma-primary-s)}.navbar.is-link{--bulma-navbar-h:var(--bulma-link-h);--bulma-navbar-s:var(--bulma-link-s);--bulma-navbar-l:var(--bulma-link-l);--bulma-burger-h:var(--bulma-link-h);--bulma-burger-s:var(--bulma-link-s);--bulma-burger-l:var(--bulma-link-invert-l);--bulma-navbar-background-color:var(--bulma-link);--bulma-navbar-item-background-l:var(--bulma-link-l);--bulma-navbar-item-color-l:var(--bulma-link-invert-l);--bulma-navbar-item-selected-h:var(--bulma-link-h);--bulma-navbar-item-selected-s:var(--bulma-link-s);--bulma-navbar-item-selected-l:var(--bulma-link-l);--bulma-navbar-item-selected-background-l:var(--bulma-link-l);--bulma-navbar-item-selected-color-l:var(--bulma-link-invert-l);--bulma-navbar-dropdown-arrow:var(--bulma-link-invert-l);--bulma-navbar-dropdown-background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-navbar-dropdown-item-background-l));--bulma-navbar-dropdown-item-h:var(--bulma-link-h);--bulma-navbar-dropdown-item-s:var(--bulma-link-s)}.navbar.is-info{--bulma-navbar-h:var(--bulma-info-h);--bulma-navbar-s:var(--bulma-info-s);--bulma-navbar-l:var(--bulma-info-l);--bulma-burger-h:var(--bulma-info-h);--bulma-burger-s:var(--bulma-info-s);--bulma-burger-l:var(--bulma-info-invert-l);--bulma-navbar-background-color:var(--bulma-info);--bulma-navbar-item-background-l:var(--bulma-info-l);--bulma-navbar-item-color-l:var(--bulma-info-invert-l);--bulma-navbar-item-selected-h:var(--bulma-info-h);--bulma-navbar-item-selected-s:var(--bulma-info-s);--bulma-navbar-item-selected-l:var(--bulma-info-l);--bulma-navbar-item-selected-background-l:var(--bulma-info-l);--bulma-navbar-item-selected-color-l:var(--bulma-info-invert-l);--bulma-navbar-dropdown-arrow:var(--bulma-info-invert-l);--bulma-navbar-dropdown-background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-navbar-dropdown-item-background-l));--bulma-navbar-dropdown-item-h:var(--bulma-info-h);--bulma-navbar-dropdown-item-s:var(--bulma-info-s)}.navbar.is-success{--bulma-navbar-h:var(--bulma-success-h);--bulma-navbar-s:var(--bulma-success-s);--bulma-navbar-l:var(--bulma-success-l);--bulma-burger-h:var(--bulma-success-h);--bulma-burger-s:var(--bulma-success-s);--bulma-burger-l:var(--bulma-success-invert-l);--bulma-navbar-background-color:var(--bulma-success);--bulma-navbar-item-background-l:var(--bulma-success-l);--bulma-navbar-item-color-l:var(--bulma-success-invert-l);--bulma-navbar-item-selected-h:var(--bulma-success-h);--bulma-navbar-item-selected-s:var(--bulma-success-s);--bulma-navbar-item-selected-l:var(--bulma-success-l);--bulma-navbar-item-selected-background-l:var(--bulma-success-l);--bulma-navbar-item-selected-color-l:var(--bulma-success-invert-l);--bulma-navbar-dropdown-arrow:var(--bulma-success-invert-l);--bulma-navbar-dropdown-background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-navbar-dropdown-item-background-l));--bulma-navbar-dropdown-item-h:var(--bulma-success-h);--bulma-navbar-dropdown-item-s:var(--bulma-success-s)}.navbar.is-warning{--bulma-navbar-h:var(--bulma-warning-h);--bulma-navbar-s:var(--bulma-warning-s);--bulma-navbar-l:var(--bulma-warning-l);--bulma-burger-h:var(--bulma-warning-h);--bulma-burger-s:var(--bulma-warning-s);--bulma-burger-l:var(--bulma-warning-invert-l);--bulma-navbar-background-color:var(--bulma-warning);--bulma-navbar-item-background-l:var(--bulma-warning-l);--bulma-navbar-item-color-l:var(--bulma-warning-invert-l);--bulma-navbar-item-selected-h:var(--bulma-warning-h);--bulma-navbar-item-selected-s:var(--bulma-warning-s);--bulma-navbar-item-selected-l:var(--bulma-warning-l);--bulma-navbar-item-selected-background-l:var(--bulma-warning-l);--bulma-navbar-item-selected-color-l:var(--bulma-warning-invert-l);--bulma-navbar-dropdown-arrow:var(--bulma-warning-invert-l);--bulma-navbar-dropdown-background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-navbar-dropdown-item-background-l));--bulma-navbar-dropdown-item-h:var(--bulma-warning-h);--bulma-navbar-dropdown-item-s:var(--bulma-warning-s)}.navbar.is-danger{--bulma-navbar-h:var(--bulma-danger-h);--bulma-navbar-s:var(--bulma-danger-s);--bulma-navbar-l:var(--bulma-danger-l);--bulma-burger-h:var(--bulma-danger-h);--bulma-burger-s:var(--bulma-danger-s);--bulma-burger-l:var(--bulma-danger-invert-l);--bulma-navbar-background-color:var(--bulma-danger);--bulma-navbar-item-background-l:var(--bulma-danger-l);--bulma-navbar-item-color-l:var(--bulma-danger-invert-l);--bulma-navbar-item-selected-h:var(--bulma-danger-h);--bulma-navbar-item-selected-s:var(--bulma-danger-s);--bulma-navbar-item-selected-l:var(--bulma-danger-l);--bulma-navbar-item-selected-background-l:var(--bulma-danger-l);--bulma-navbar-item-selected-color-l:var(--bulma-danger-invert-l);--bulma-navbar-dropdown-arrow:var(--bulma-danger-invert-l);--bulma-navbar-dropdown-background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-navbar-dropdown-item-background-l));--bulma-navbar-dropdown-item-h:var(--bulma-danger-h);--bulma-navbar-dropdown-item-s:var(--bulma-danger-s)}.navbar>.container{align-items:stretch;display:flex;min-height:var(--bulma-navbar-height);width:100%}.navbar.has-shadow{box-shadow:var(--bulma-navbar-box-shadow-size) var(--bulma-navbar-box-shadow-color)}.navbar.is-fixed-bottom,.navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:var(--bulma-navbar-fixed-z)}.navbar.is-fixed-bottom{bottom:0}.navbar.is-fixed-bottom.has-shadow{box-shadow:var(--bulma-navbar-bottom-box-shadow-size) var(--bulma-navbar-box-shadow-color)}.navbar.is-fixed-top{top:0}body.has-navbar-fixed-top,html.has-navbar-fixed-top{padding-top:var(--bulma-navbar-height)}body.has-navbar-fixed-bottom,html.has-navbar-fixed-bottom{padding-bottom:var(--bulma-navbar-height)}.navbar-brand,.navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:var(--bulma-navbar-height)}.navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}.navbar-burger{align-items:center;appearance:none;background:none;border:none;border-radius:var(--bulma-burger-border-radius);color:hsl(var(--bulma-burger-h),var(--bulma-burger-s),var(--bulma-burger-l));cursor:pointer;display:inline-flex;flex-direction:column;flex-shrink:0;height:2.5rem;justify-content:center;position:relative;vertical-align:top;width:2.5rem}.navbar-burger span{background-color:currentColor;display:block;height:var(--bulma-burger-item-height);left:calc(50% - (var(--bulma-burger-item-width))/2);position:absolute;transform-origin:center;transition-duration:var(--bulma-duration);transition-property:background-color,color,opacity,transform;transition-timing-function:var(--bulma-easing);width:var(--bulma-burger-item-width)}.navbar-burger span:first-child,.navbar-burger span:nth-child(2){top:calc(50% - (var(--bulma-burger-item-height))/2)}.navbar-burger span:nth-child(3){bottom:calc(50% + var(--bulma-burger-gap))}.navbar-burger span:nth-child(4){top:calc(50% + var(--bulma-burger-gap))}.navbar-burger:hover{background-color:hsla(var(--bulma-burger-h),var(--bulma-burger-s),var(--bulma-burger-l),.1)}.navbar-burger:active{background-color:hsla(var(--bulma-burger-h),var(--bulma-burger-s),var(--bulma-burger-l),.2)}.navbar-burger.is-active span:first-child{transform:rotate(-45deg)}.navbar-burger.is-active span:nth-child(2){transform:rotate(45deg)}.navbar-burger.is-active span:nth-child(3),.navbar-burger.is-active span:nth-child(4){opacity:0}.navbar-burger{align-self:center;color:var(--bulma-navbar-burger-color);margin-inline-end:.375rem;margin-inline-start:auto}.navbar-menu{display:none}.navbar-item,.navbar-link{color:var(--bulma-navbar-item-color);display:block;gap:.75rem;line-height:1.5;padding:.5rem .75rem;position:relative}.navbar-item .icon:only-child,.navbar-link .icon:only-child{margin-left:-.25rem;margin-right:-.25rem}.navbar-link,a.navbar-item{background-color:hsla(var(--bulma-navbar-h),var(--bulma-navbar-s),calc(var(--bulma-navbar-item-background-l) + var(--bulma-navbar-item-background-l-delta)),var(--bulma-navbar-item-background-a));cursor:pointer}.navbar-link:focus,.navbar-link:focus-within,.navbar-link:hover,a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover{--bulma-navbar-item-background-l-delta:var(--bulma-navbar-item-hover-background-l-delta);--bulma-navbar-item-background-a:1}.navbar-link:active,a.navbar-item:active{--bulma-navbar-item-background-l-delta:var(--bulma-navbar-item-active-background-l-delta);--bulma-navbar-item-background-a:1}.navbar-link.is-active,.navbar-link.is-selected,a.navbar-item.is-active,a.navbar-item.is-selected{--bulma-navbar-h:var(--bulma-navbar-item-selected-h);--bulma-navbar-s:var(--bulma-navbar-item-selected-s);--bulma-navbar-l:var(--bulma-navbar-item-selected-l);--bulma-navbar-item-background-l:var(--bulma-navbar-item-selected-background-l);--bulma-navbar-item-background-a:1;--bulma-navbar-item-color-l:var(--bulma-navbar-item-selected-color-l)}.navbar-item{flex-grow:0;flex-shrink:0}.navbar-item img,.navbar-item svg{max-height:var(--bulma-navbar-item-img-max-height)}.navbar-item.has-dropdown{padding:0}.navbar-item.is-expanded{flex-grow:1;flex-shrink:1}.navbar-item.is-tab{border-bottom:1px solid transparent;min-height:var(--bulma-navbar-height);padding-bottom:calc(.5rem - 1px)}.navbar-item.is-tab:focus,.navbar-item.is-tab:hover{background-color:var(--bulma-navbar-tab-hover-background-color);border-bottom-color:var(--bulma-navbar-tab-hover-border-bottom-color)}.navbar-item.is-tab.is-active{background-color:var(--bulma-navbar-tab-active-background-color);border-bottom:var(--bulma-navbar-tab-active-border-bottom-width) var(--bulma-navbar-tab-active-border-bottom-style) var(--bulma-navbar-tab-active-border-bottom-color);color:var(--bulma-navbar-tab-active-color);padding-bottom:calc(.5rem - var(--bulma-navbar-tab-active-border-bottom-width))}.navbar-content{flex-grow:1;flex-shrink:1}.navbar-link:not(.is-arrowless){padding-inline-end:2.5em}.navbar-link:not(.is-arrowless):after{border-color:var(--bulma-navbar-dropdown-arrow);inset-inline-end:1.125em;margin-top:-.375em}.navbar-dropdown{font-size:.875rem;padding-bottom:.75rem;padding-top:.5rem}.navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}.navbar-dropdown .navbar-item:not(.is-active,.is-selected){background-color:hsl(var(--bulma-navbar-dropdown-item-h),var(--bulma-navbar-dropdown-item-s),calc(var(--bulma-navbar-dropdown-item-background-l) + var(--bulma-navbar-item-background-l-delta)));color:hsl(var(--bulma-navbar-dropdown-item-h),var(--bulma-navbar-dropdown-item-s),var(--bulma-navbar-dropdown-item-color-l))}.navbar-divider{background-color:hsl(var(--bulma-navbar-h),var(--bulma-navbar-s),var(--bulma-navbar-divider-background-l));border:none;display:none;height:var(--bulma-navbar-divider-height);margin:.5rem 0}@media screen and (max-width:1023px){.navbar>.container{display:block}.navbar-brand .navbar-item,.navbar-tabs .navbar-item{align-items:center;display:flex}.navbar-link:after{display:none}.navbar-menu{background-color:var(--bulma-navbar-background-color);box-shadow:0 .5em 1em hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l),.1);padding:.5rem 0}.navbar-menu.is-active{display:block}.navbar.is-fixed-bottom-touch,.navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:var(--bulma-navbar-fixed-z)}.navbar.is-fixed-bottom-touch{bottom:0}.navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -.125em .1875em hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l),.1)}.navbar.is-fixed-top-touch{top:0}.navbar.is-fixed-top .navbar-menu,.navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - var(--bulma-navbar-height));overflow:auto}body.has-navbar-fixed-top-touch,html.has-navbar-fixed-top-touch{padding-top:var(--bulma-navbar-height)}body.has-navbar-fixed-bottom-touch,html.has-navbar-fixed-bottom-touch{padding-bottom:var(--bulma-navbar-height)}}@media screen and (min-width:1024px){.navbar,.navbar-end,.navbar-menu,.navbar-start{align-items:stretch;display:flex}.navbar{min-height:var(--bulma-navbar-height)}.navbar.is-spaced{padding:var(--bulma-navbar-padding-vertical) var(--bulma-navbar-padding-horizontal)}.navbar.is-spaced .navbar-end,.navbar.is-spaced .navbar-start{align-items:center}.navbar.is-spaced .navbar-link,.navbar.is-spaced a.navbar-item{border-radius:var(--bulma-radius)}.navbar.is-transparent{--bulma-navbar-item-background-a:0}.navbar.is-transparent .navbar-dropdown a.navbar-item{background-color:hsl(var(--bulma-navbar-h),var(--bulma-navbar-s),calc(var(--bulma-navbar-item-background-l) + var(--bulma-navbar-item-background-l-delta)))}.navbar.is-transparent .navbar-dropdown a.navbar-item.is-active,.navbar.is-transparent .navbar-dropdown a.navbar-item.is-selected{--bulma-navbar-h:var(--bulma-navbar-item-selected-h);--bulma-navbar-s:var(--bulma-navbar-item-selected-s);--bulma-navbar-l:var(--bulma-navbar-item-selected-l);--bulma-navbar-item-background-l:var(--bulma-navbar-item-selected-background-l);--bulma-navbar-item-color-l:var(--bulma-navbar-item-selected-color-l)}.navbar-burger{display:none}.navbar-item,.navbar-link{align-items:center;display:flex}.navbar-item.has-dropdown{align-items:stretch}.navbar-item.has-dropdown-up .navbar-link:after{transform:rotate(135deg) translate(.25em,-.25em)}.navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:var(--bulma-navbar-dropdown-border-width) var(--bulma-navbar-dropdown-border-style) var(--bulma-navbar-dropdown-border-color);border-radius:var(--bulma-navbar-dropdown-radius) var(--bulma-navbar-dropdown-radius) 0 0;border-top:none;bottom:100%;box-shadow:0 -.5em .5em hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l),.1);top:auto}.navbar-item.is-active .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar-item.is-active .navbar-dropdown.is-boxed,.navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed,.navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed,.navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-active .navbar-dropdown,.navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown,.navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-inline-end:auto}.navbar-end{justify-content:flex-end;margin-inline-start:auto}.navbar-dropdown{background-color:var(--bulma-navbar-dropdown-background-color);border-end-end-radius:var(--bulma-navbar-dropdown-radius);border-end-start-radius:var(--bulma-navbar-dropdown-radius);border-top:var(--bulma-navbar-dropdown-border-width) var(--bulma-navbar-dropdown-border-style) var(--bulma-navbar-dropdown-border-color);box-shadow:0 .5em .5em hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l),.1);display:none;font-size:.875rem;inset-inline-start:0;min-width:100%;position:absolute;top:100%;z-index:var(--bulma-navbar-dropdown-z)}.navbar-dropdown .navbar-item{padding:.375rem 1rem;white-space:nowrap}.navbar-dropdown a.navbar-item{padding-inline-end:3rem}.navbar-dropdown a.navbar-item:not(.is-active,.is-selected){background-color:hsl(var(--bulma-navbar-dropdown-item-h),var(--bulma-navbar-dropdown-item-s),calc(var(--bulma-navbar-dropdown-item-background-l) + var(--bulma-navbar-item-background-l-delta)));color:hsl(var(--bulma-navbar-dropdown-item-h),var(--bulma-navbar-dropdown-item-s),var(--bulma-navbar-dropdown-item-color-l))}.navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-dropdown{border-radius:var(--bulma-navbar-dropdown-boxed-radius);border-top:none;box-shadow:var(--bulma-navbar-dropdown-boxed-shadow);display:block;opacity:0;pointer-events:none;top:calc(100% + var(--bulma-navbar-dropdown-offset));transform:translateY(-5px);transition-duration:var(--bulma-duration);transition-property:opacity,transform}.navbar-dropdown.is-right{left:auto;right:0}.navbar-divider{display:block}.container>.navbar .navbar-brand,.navbar>.container .navbar-brand{margin-inline-start:-.75rem}.container>.navbar .navbar-menu,.navbar>.container .navbar-menu{margin-inline-end:-.75rem}.navbar.is-fixed-bottom-desktop,.navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:var(--bulma-navbar-fixed-z)}.navbar.is-fixed-bottom-desktop{bottom:0}.navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -.125em .1875em hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l),.1)}.navbar.is-fixed-top-desktop{top:0}body.has-navbar-fixed-top-desktop,html.has-navbar-fixed-top-desktop{padding-top:var(--bulma-navbar-height)}body.has-navbar-fixed-bottom-desktop,html.has-navbar-fixed-bottom-desktop{padding-bottom:var(--bulma-navbar-height)}body.has-spaced-navbar-fixed-top,html.has-spaced-navbar-fixed-top{padding-top:calc(var(--bulma-navbar-height) + var(--bulma-navbar-padding-vertical)*2)}body.has-spaced-navbar-fixed-bottom,html.has-spaced-navbar-fixed-bottom{padding-bottom:calc(var(--bulma-navbar-height) + var(--bulma-navbar-padding-vertical)*2)}}.hero.is-fullheight-with-navbar{min-height:calc(100vh - var(--bulma-navbar-height))}.pagination{--bulma-pagination-margin:-0.25rem;--bulma-pagination-min-width:var(--bulma-control-height);--bulma-pagination-item-h:var(--bulma-scheme-h);--bulma-pagination-item-s:var(--bulma-scheme-s);--bulma-pagination-item-l:var(--bulma-scheme-main-l);--bulma-pagination-item-background-l-delta:0%;--bulma-pagination-item-hover-background-l-delta:var(--bulma-hover-background-l-delta);--bulma-pagination-item-active-background-l-delta:var(--bulma-active-background-l-delta);--bulma-pagination-item-border-style:solid;--bulma-pagination-item-border-width:var(--bulma-control-border-width);--bulma-pagination-item-border-l:var(--bulma-border-l);--bulma-pagination-item-border-l-delta:0%;--bulma-pagination-item-hover-border-l-delta:var(--bulma-hover-border-l-delta);--bulma-pagination-item-active-border-l-delta:var(--bulma-active-border-l-delta);--bulma-pagination-item-focus-border-l-delta:var(--bulma-focus-border-l-delta);--bulma-pagination-item-color-l:var(--bulma-text-strong-l);--bulma-pagination-item-font-size:1em;--bulma-pagination-item-margin:0.25rem;--bulma-pagination-item-padding-left:0.5em;--bulma-pagination-item-padding-right:0.5em;--bulma-pagination-item-outer-shadow-h:0;--bulma-pagination-item-outer-shadow-s:0%;--bulma-pagination-item-outer-shadow-l:20%;--bulma-pagination-item-outer-shadow-a:0.05;--bulma-pagination-nav-padding-left:0.75em;--bulma-pagination-nav-padding-right:0.75em;--bulma-pagination-disabled-color:var(--bulma-text-weak);--bulma-pagination-disabled-background-color:var(--bulma-border);--bulma-pagination-disabled-border-color:var(--bulma-border);--bulma-pagination-current-color:var(--bulma-link-invert);--bulma-pagination-current-background-color:var(--bulma-link);--bulma-pagination-current-border-color:var(--bulma-link);--bulma-pagination-ellipsis-color:var(--bulma-text-weak);--bulma-pagination-shadow-inset:inset 0 0.0625em 0.125em hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-scheme-invert-l),0.2);--bulma-pagination-selected-item-h:var(--bulma-link-h);--bulma-pagination-selected-item-s:var(--bulma-link-s);--bulma-pagination-selected-item-l:var(--bulma-link-l);--bulma-pagination-selected-item-background-l:var(--bulma-link-l);--bulma-pagination-selected-item-border-l:var(--bulma-link-l);--bulma-pagination-selected-item-color-l:var(--bulma-link-invert-l);font-size:var(--bulma-size-normal);margin:var(--bulma-pagination-margin)}.pagination.is-small{font-size:var(--bulma-size-small)}.pagination.is-medium{font-size:var(--bulma-size-medium)}.pagination.is-large{font-size:var(--bulma-size-large)}.pagination.is-rounded .pagination-next,.pagination.is-rounded .pagination-previous{border-radius:var(--bulma-radius-rounded);padding-left:1em;padding-right:1em}.pagination.is-rounded .pagination-link{border-radius:var(--bulma-radius-rounded)}.pagination,.pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous{color:hsl(var(--bulma-pagination-item-h),var(--bulma-pagination-item-s),var(--bulma-pagination-item-color-l));font-size:var(--bulma-pagination-item-font-size);justify-content:center;margin:var(--bulma-pagination-item-margin);padding-left:var(--bulma-pagination-item-padding-left);padding-right:var(--bulma-pagination-item-padding-right);text-align:center}.pagination-link,.pagination-next,.pagination-previous{background-color:hsl(var(--bulma-pagination-item-h),var(--bulma-pagination-item-s),calc(var(--bulma-pagination-item-background-l) + var(--bulma-pagination-item-background-l-delta)));border-color:hsl(var(--bulma-pagination-item-h),var(--bulma-pagination-item-s),calc(var(--bulma-pagination-item-border-l) + var(--bulma-pagination-item-border-l-delta)));border-style:var(--bulma-pagination-item-border-style);border-width:var(--bulma-pagination-item-border-width);box-shadow:0 .0625em .125em hsla(var(--bulma-pagination-item-outer-shadow-h),var(--bulma-pagination-item-outer-shadow-s),var(--bulma-pagination-item-outer-shadow-l),var(--bulma-pagination-item-outer-shadow-a)),0 .125em .25em hsla(var(--bulma-pagination-item-outer-shadow-h),var(--bulma-pagination-item-outer-shadow-s),var(--bulma-pagination-item-outer-shadow-l),var(--bulma-pagination-item-outer-shadow-a));color:hsl(var(--bulma-pagination-item-h),var(--bulma-pagination-item-s),var(--bulma-pagination-item-color-l));min-width:var(--bulma-pagination-min-width);transition-duration:var(--bulma-duration);transition-property:background-color,border-color,box-shadow,color}.pagination-link:focus,.pagination-link:hover,.pagination-next:focus,.pagination-next:hover,.pagination-previous:focus,.pagination-previous:hover{--bulma-pagination-item-background-l-delta:var(--bulma-pagination-item-hover-background-l-delta);--bulma-pagination-item-border-l-delta:var(--bulma-pagination-item-hover-border-l-delta)}.pagination-link:active,.pagination-next:active,.pagination-previous:active{box-shadow:var(--bulma-pagination-shadow-inset)}.pagination-link.is-disabled,.pagination-link[disabled],.pagination-next.is-disabled,.pagination-next[disabled],.pagination-previous.is-disabled,.pagination-previous[disabled]{background-color:var(--bulma-pagination-disabled-background-color);border-color:var(--bulma-pagination-disabled-border-color);box-shadow:none;color:var(--bulma-pagination-disabled-color);opacity:.5}.pagination-next,.pagination-previous{padding-left:var(--bulma-pagination-nav-padding-left);padding-right:var(--bulma-pagination-nav-padding-right);white-space:nowrap}.pagination-link.is-current,.pagination-link.is-selected{--bulma-pagination-item-h:var(--bulma-pagination-selected-item-h);--bulma-pagination-item-s:var(--bulma-pagination-selected-item-s);--bulma-pagination-item-l:var(--bulma-pagination-selected-item-l);--bulma-pagination-item-background-l:var(--bulma-pagination-selected-item-background-l);--bulma-pagination-item-border-l:var(--bulma-pagination-selected-item-border-l);--bulma-pagination-item-color-l:var(--bulma-pagination-selected-item-color-l)}.pagination-ellipsis{color:var(--bulma-pagination-ellipsis-color);pointer-events:none}.pagination-list{flex-wrap:wrap}.pagination-list li{list-style:none}@media screen and (max-width:768px){.pagination{flex-wrap:wrap}.pagination-list li,.pagination-next,.pagination-previous{flex-grow:1;flex-shrink:1}}@media print,screen and (min-width:769px){.pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous{margin-bottom:0;margin-top:0}.pagination-previous{order:2}.pagination-next{order:3}.pagination{justify-content:space-between;margin-bottom:0;margin-top:0}.pagination.is-centered .pagination-previous{order:1}.pagination.is-centered .pagination-list{justify-content:center;order:2}.pagination.is-centered .pagination-next{order:3}.pagination.is-right .pagination-previous{order:1}.pagination.is-right .pagination-next{order:2}.pagination.is-right .pagination-list{justify-content:flex-end;order:3}}.panel{--bulma-panel-margin:var(--bulma-block-spacing);--bulma-panel-item-border:1px solid var(--bulma-border-weak);--bulma-panel-radius:var(--bulma-radius-large);--bulma-panel-shadow:var(--bulma-shadow);--bulma-panel-heading-line-height:1.25;--bulma-panel-heading-padding:1em 1.25em;--bulma-panel-heading-radius:var(--bulma-radius);--bulma-panel-heading-size:1.25em;--bulma-panel-heading-weight:var(--bulma-weight-bold);--bulma-panel-tabs-font-size:1em;--bulma-panel-tab-border-bottom-color:var(--bulma-border);--bulma-panel-tab-border-bottom-style:solid;--bulma-panel-tab-border-bottom-width:1px;--bulma-panel-tab-active-color:var(--bulma-link-active);--bulma-panel-list-item-color:var(--bulma-text);--bulma-panel-list-item-hover-color:var(--bulma-link);--bulma-panel-block-color:var(--bulma-text-strong);--bulma-panel-block-hover-background-color:var(--bulma-background);--bulma-panel-block-active-border-left-color:var(--bulma-link);--bulma-panel-block-active-color:var(--bulma-link-active);--bulma-panel-block-active-icon-color:var(--bulma-link);--bulma-panel-icon-color:var(--bulma-text-weak);--bulma-panel-h:var(--bulma-scheme-h);--bulma-panel-s:var(--bulma-scheme-s);--bulma-panel-color-l:var(--bulma-text-l);--bulma-panel-heading-background-l:var(--bulma-text-l);--bulma-panel-heading-color-l:var(--bulma-text-invert-l);border-radius:var(--bulma-panel-radius);box-shadow:var(--bulma-panel-shadow);font-size:var(--bulma-size-normal)}.panel:not(:last-child){margin-bottom:var(--bulma-panel-margin)}.panel.is-white{--bulma-panel-h:var(--bulma-white-h);--bulma-panel-s:var(--bulma-white-s);--bulma-panel-color-l:var(--bulma-white-l);--bulma-panel-heading-background-l:var(--bulma-white-l);--bulma-panel-heading-color-l:var(--bulma-white-invert-l)}.panel.is-black{--bulma-panel-h:var(--bulma-black-h);--bulma-panel-s:var(--bulma-black-s);--bulma-panel-color-l:var(--bulma-black-l);--bulma-panel-heading-background-l:var(--bulma-black-l);--bulma-panel-heading-color-l:var(--bulma-black-invert-l)}.panel.is-light{--bulma-panel-h:var(--bulma-light-h);--bulma-panel-s:var(--bulma-light-s);--bulma-panel-color-l:var(--bulma-light-l);--bulma-panel-heading-background-l:var(--bulma-light-l);--bulma-panel-heading-color-l:var(--bulma-light-invert-l)}.panel.is-dark{--bulma-panel-h:var(--bulma-dark-h);--bulma-panel-s:var(--bulma-dark-s);--bulma-panel-color-l:var(--bulma-dark-l);--bulma-panel-heading-background-l:var(--bulma-dark-l);--bulma-panel-heading-color-l:var(--bulma-dark-invert-l)}.panel.is-text{--bulma-panel-h:var(--bulma-text-h);--bulma-panel-s:var(--bulma-text-s);--bulma-panel-color-l:var(--bulma-text-l);--bulma-panel-heading-background-l:var(--bulma-text-l);--bulma-panel-heading-color-l:var(--bulma-text-invert-l)}.panel.is-primary{--bulma-panel-h:var(--bulma-primary-h);--bulma-panel-s:var(--bulma-primary-s);--bulma-panel-color-l:var(--bulma-primary-l);--bulma-panel-heading-background-l:var(--bulma-primary-l);--bulma-panel-heading-color-l:var(--bulma-primary-invert-l)}.panel.is-link{--bulma-panel-h:var(--bulma-link-h);--bulma-panel-s:var(--bulma-link-s);--bulma-panel-color-l:var(--bulma-link-l);--bulma-panel-heading-background-l:var(--bulma-link-l);--bulma-panel-heading-color-l:var(--bulma-link-invert-l)}.panel.is-info{--bulma-panel-h:var(--bulma-info-h);--bulma-panel-s:var(--bulma-info-s);--bulma-panel-color-l:var(--bulma-info-l);--bulma-panel-heading-background-l:var(--bulma-info-l);--bulma-panel-heading-color-l:var(--bulma-info-invert-l)}.panel.is-success{--bulma-panel-h:var(--bulma-success-h);--bulma-panel-s:var(--bulma-success-s);--bulma-panel-color-l:var(--bulma-success-l);--bulma-panel-heading-background-l:var(--bulma-success-l);--bulma-panel-heading-color-l:var(--bulma-success-invert-l)}.panel.is-warning{--bulma-panel-h:var(--bulma-warning-h);--bulma-panel-s:var(--bulma-warning-s);--bulma-panel-color-l:var(--bulma-warning-l);--bulma-panel-heading-background-l:var(--bulma-warning-l);--bulma-panel-heading-color-l:var(--bulma-warning-invert-l)}.panel.is-danger{--bulma-panel-h:var(--bulma-danger-h);--bulma-panel-s:var(--bulma-danger-s);--bulma-panel-color-l:var(--bulma-danger-l);--bulma-panel-heading-background-l:var(--bulma-danger-l);--bulma-panel-heading-color-l:var(--bulma-danger-invert-l)}.panel-block:not(:last-child),.panel-tabs:not(:last-child){border-bottom:var(--bulma-panel-item-border)}.panel-heading{background-color:hsl(var(--bulma-panel-h),var(--bulma-panel-s),var(--bulma-panel-heading-background-l));border-radius:var(--bulma-panel-radius) var(--bulma-panel-radius) 0 0;color:hsl(var(--bulma-panel-h),var(--bulma-panel-s),var(--bulma-panel-heading-color-l));font-size:var(--bulma-panel-heading-size);font-weight:var(--bulma-panel-heading-weight);line-height:var(--bulma-panel-heading-line-height);padding:var(--bulma-panel-heading-padding)}.panel-tabs{align-items:flex-end;display:flex;font-size:var(--bulma-panel-tabs-font-size);justify-content:center}.panel-tabs a{border-bottom:var(--bulma-panel-tab-border-bottom-width) var(--bulma-panel-tab-border-bottom-style) var(--bulma-panel-tab-border-bottom-color);margin-bottom:-1px;padding:.75em}.panel-tabs a.is-active{border-bottom-color:hsl(var(--bulma-panel-h),var(--bulma-panel-s),var(--bulma-panel-color-l));color:var(--bulma-panel-tab-active-color)}.panel-list a{color:var(--bulma-panel-list-item-color)}.panel-list a:hover{color:var(--bulma-panel-list-item-hover-color)}.panel-block{align-items:center;color:var(--bulma-panel-block-color);display:flex;justify-content:flex-start;padding:.75em 1em}.panel-block input[type=checkbox]{margin-inline-end:.75em}.panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}.panel-block.is-wrapped{flex-wrap:wrap}.panel-block.is-active{border-left-color:var(--bulma-panel-block-active-border-left-color);color:var(--bulma-panel-block-active-color)}.panel-block.is-active .panel-icon{color:hsl(var(--bulma-panel-h),var(--bulma-panel-s),var(--bulma-panel-color-l))}.panel-block:last-child{border-end-end-radius:var(--bulma-panel-radius);border-end-start-radius:var(--bulma-panel-radius)}a.panel-block,label.panel-block{cursor:pointer}a.panel-block:hover,label.panel-block:hover{background-color:var(--bulma-panel-block-hover-background-color)}.panel-icon{color:var(--bulma-panel-icon-color);display:inline-block;font-size:1em;height:1em;line-height:1em;margin-inline-end:.75em;text-align:center;vertical-align:top;width:1em}.panel-icon .fa{font-size:inherit;line-height:inherit}.tabs{--bulma-tabs-border-bottom-color:var(--bulma-border);--bulma-tabs-border-bottom-style:solid;--bulma-tabs-border-bottom-width:1px;--bulma-tabs-link-color:var(--bulma-text);--bulma-tabs-link-hover-border-bottom-color:var(--bulma-text-strong);--bulma-tabs-link-hover-color:var(--bulma-text-strong);--bulma-tabs-link-active-border-bottom-color:var(--bulma-link-text);--bulma-tabs-link-active-color:var(--bulma-link-text);--bulma-tabs-link-padding:0.5em 1em;--bulma-tabs-boxed-link-radius:var(--bulma-radius);--bulma-tabs-boxed-link-hover-background-color:var(--bulma-background);--bulma-tabs-boxed-link-hover-border-bottom-color:var(--bulma-border);--bulma-tabs-boxed-link-active-background-color:var(--bulma-scheme-main);--bulma-tabs-boxed-link-active-border-color:var(--bulma-border);--bulma-tabs-boxed-link-active-border-bottom-color:transparent;--bulma-tabs-toggle-link-border-color:var(--bulma-border);--bulma-tabs-toggle-link-border-style:solid;--bulma-tabs-toggle-link-border-width:1px;--bulma-tabs-toggle-link-hover-background-color:var(--bulma-background);--bulma-tabs-toggle-link-hover-border-color:var(--bulma-border-hover);--bulma-tabs-toggle-link-radius:var(--bulma-radius);--bulma-tabs-toggle-link-active-background-color:var(--bulma-link);--bulma-tabs-toggle-link-active-border-color:var(--bulma-link);--bulma-tabs-toggle-link-active-color:var(--bulma-link-invert);-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:var(--bulma-size-normal);justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}.tabs a{align-items:center;border-bottom:var(--bulma-tabs-border-bottom-width) var(--bulma-tabs-border-bottom-style) var(--bulma-tabs-border-bottom-color);color:var(--bulma-tabs-link-color);display:flex;justify-content:center;margin-bottom:calc(var(--bulma-tabs-border-bottom-width)*-1);padding:var(--bulma-tabs-link-padding);transition-duration:var(--bulma-duration);transition-property:background-color,border-color,color;vertical-align:top}.tabs a:hover{border-bottom-color:var(--bulma-tabs-link-hover-border-bottom-color);color:var(--bulma-tabs-link-hover-color)}.tabs li{display:block}.tabs li.is-active a{border-bottom-color:var(--bulma-tabs-link-active-border-bottom-color);color:var(--bulma-tabs-link-active-color)}.tabs ul{align-items:center;border-bottom:var(--bulma-tabs-border-bottom-width) var(--bulma-tabs-border-bottom-style) var(--bulma-tabs-border-bottom-color);display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.tabs ul.is-center,.tabs ul.is-left{padding-right:.75em}.tabs ul.is-center{flex:none;justify-content:center;padding-left:.75em}.tabs ul.is-right{justify-content:flex-end;padding-left:.75em}.tabs .icon:first-child{margin-inline-end:.5em}.tabs .icon:last-child{margin-inline-start:.5em}.tabs.is-centered ul{justify-content:center}.tabs.is-right ul{justify-content:flex-end}.tabs.is-boxed a{border:1px solid transparent;border-start-end-radius:var(--bulma-tabs-boxed-link-radius);border-start-start-radius:var(--bulma-tabs-boxed-link-radius)}.tabs.is-boxed a:hover{background-color:var(--bulma-tabs-boxed-link-hover-background-color);border-bottom-color:var(--bulma-tabs-boxed-link-hover-border-bottom-color)}.tabs.is-boxed li.is-active a{background-color:var(--bulma-tabs-boxed-link-active-background-color);border-color:var(--bulma-tabs-boxed-link-active-border-color);border-bottom-color:var(--bulma-tabs-boxed-link-active-border-bottom-color)!important}.tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}.tabs.is-toggle a{border-color:var(--bulma-tabs-toggle-link-border-color);border-style:var(--bulma-tabs-toggle-link-border-style);border-width:var(--bulma-tabs-toggle-link-border-width);margin-bottom:0;position:relative}.tabs.is-toggle a:hover{background-color:var(--bulma-tabs-toggle-link-hover-background-color);border-color:var(--bulma-tabs-toggle-link-hover-border-color);z-index:2}.tabs.is-toggle li+li{margin-inline-start:calc(var(--bulma-tabs-toggle-link-border-width)*-1)}.tabs.is-toggle li:first-child a{border-end-start-radius:var(--bulma-tabs-toggle-link-radius);border-start-start-radius:var(--bulma-tabs-toggle-link-radius)}.tabs.is-toggle li:last-child a{border-end-end-radius:var(--bulma-tabs-toggle-link-radius);border-start-end-radius:var(--bulma-tabs-toggle-link-radius)}.tabs.is-toggle li.is-active a{background-color:var(--bulma-tabs-toggle-link-active-background-color);border-color:var(--bulma-tabs-toggle-link-active-border-color);color:var(--bulma-tabs-toggle-link-active-color);z-index:1}.tabs.is-toggle ul{border-bottom:none}.tabs.is-toggle.is-toggle-rounded li:first-child a{border-end-start-radius:var(--bulma-radius-rounded);border-start-start-radius:var(--bulma-radius-rounded);padding-inline-start:1.25em}.tabs.is-toggle.is-toggle-rounded li:last-child a{border-end-end-radius:var(--bulma-radius-rounded);border-start-end-radius:var(--bulma-radius-rounded);padding-inline-end:1.25em}.tabs.is-small{font-size:var(--bulma-size-small)}.tabs.is-medium{font-size:var(--bulma-size-medium)}.tabs.is-large{font-size:var(--bulma-size-large)}:root{--bulma-column-gap:0.75rem}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:var(--bulma-column-gap)}.columns.is-mobile>.column.is-narrow{flex:none;width:unset}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>.column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>.column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>.column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>.column.is-offset-three-quarters{margin-inline-start:75%}.columns.is-mobile>.column.is-offset-two-thirds{margin-inline-start:66.6666%}.columns.is-mobile>.column.is-offset-half{margin-inline-start:50%}.columns.is-mobile>.column.is-offset-one-third{margin-inline-start:.3333%}.columns.is-mobile>.column.is-offset-one-quarter{margin-inline-start:25%}.columns.is-mobile>.column.is-offset-one-fifth{margin-inline-start:20%}.columns.is-mobile>.column.is-offset-two-fifths{margin-inline-start:40%}.columns.is-mobile>.column.is-offset-three-fifths{margin-inline-start:60%}.columns.is-mobile>.column.is-offset-four-fifths{margin-inline-start:80%}.columns.is-mobile>.column.is-0{flex:none;width:0}.columns.is-mobile>.column.is-offset-0{margin-inline-start:0}.columns.is-mobile>.column.is-1{flex:none;width:8.3333333333%}.columns.is-mobile>.column.is-offset-1{margin-inline-start:8.3333333333%}.columns.is-mobile>.column.is-2{flex:none;width:16.6666666667%}.columns.is-mobile>.column.is-offset-2{margin-inline-start:16.6666666667%}.columns.is-mobile>.column.is-3{flex:none;width:25%}.columns.is-mobile>.column.is-offset-3{margin-inline-start:25%}.columns.is-mobile>.column.is-4{flex:none;width:33.3333333333%}.columns.is-mobile>.column.is-offset-4{margin-inline-start:33.3333333333%}.columns.is-mobile>.column.is-5{flex:none;width:41.6666666667%}.columns.is-mobile>.column.is-offset-5{margin-inline-start:41.6666666667%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-offset-6{margin-inline-start:50%}.columns.is-mobile>.column.is-7{flex:none;width:58.3333333333%}.columns.is-mobile>.column.is-offset-7{margin-inline-start:58.3333333333%}.columns.is-mobile>.column.is-8{flex:none;width:66.6666666667%}.columns.is-mobile>.column.is-offset-8{margin-inline-start:66.6666666667%}.columns.is-mobile>.column.is-9{flex:none;width:75%}.columns.is-mobile>.column.is-offset-9{margin-inline-start:75%}.columns.is-mobile>.column.is-10{flex:none;width:83.3333333333%}.columns.is-mobile>.column.is-offset-10{margin-inline-start:83.3333333333%}.columns.is-mobile>.column.is-11{flex:none;width:91.6666666667%}.columns.is-mobile>.column.is-offset-11{margin-inline-start:91.6666666667%}.columns.is-mobile>.column.is-12{flex:none;width:100%}.columns.is-mobile>.column.is-offset-12{margin-inline-start:100%}@media screen and (max-width:768px){.column.is-narrow-mobile{flex:none;width:unset}.column.is-full-mobile{flex:none;width:100%}.column.is-three-quarters-mobile{flex:none;width:75%}.column.is-two-thirds-mobile{flex:none;width:66.6666%}.column.is-half-mobile{flex:none;width:50%}.column.is-one-third-mobile{flex:none;width:33.3333%}.column.is-one-quarter-mobile{flex:none;width:25%}.column.is-one-fifth-mobile{flex:none;width:20%}.column.is-two-fifths-mobile{flex:none;width:40%}.column.is-three-fifths-mobile{flex:none;width:60%}.column.is-four-fifths-mobile{flex:none;width:80%}.column.is-offset-three-quarters-mobile{margin-inline-start:75%}.column.is-offset-two-thirds-mobile{margin-inline-start:66.6666%}.column.is-offset-half-mobile{margin-inline-start:50%}.column.is-offset-one-third-mobile{margin-inline-start:.3333%}.column.is-offset-one-quarter-mobile{margin-inline-start:25%}.column.is-offset-one-fifth-mobile{margin-inline-start:20%}.column.is-offset-two-fifths-mobile{margin-inline-start:40%}.column.is-offset-three-fifths-mobile{margin-inline-start:60%}.column.is-offset-four-fifths-mobile{margin-inline-start:80%}.column.is-0-mobile{flex:none;width:0}.column.is-offset-0-mobile{margin-inline-start:0}.column.is-1-mobile{flex:none;width:8.3333333333%}.column.is-offset-1-mobile{margin-inline-start:8.3333333333%}.column.is-2-mobile{flex:none;width:16.6666666667%}.column.is-offset-2-mobile{margin-inline-start:16.6666666667%}.column.is-3-mobile{flex:none;width:25%}.column.is-offset-3-mobile{margin-inline-start:25%}.column.is-4-mobile{flex:none;width:33.3333333333%}.column.is-offset-4-mobile{margin-inline-start:33.3333333333%}.column.is-5-mobile{flex:none;width:41.6666666667%}.column.is-offset-5-mobile{margin-inline-start:41.6666666667%}.column.is-6-mobile{flex:none;width:50%}.column.is-offset-6-mobile{margin-inline-start:50%}.column.is-7-mobile{flex:none;width:58.3333333333%}.column.is-offset-7-mobile{margin-inline-start:58.3333333333%}.column.is-8-mobile{flex:none;width:66.6666666667%}.column.is-offset-8-mobile{margin-inline-start:66.6666666667%}.column.is-9-mobile{flex:none;width:75%}.column.is-offset-9-mobile{margin-inline-start:75%}.column.is-10-mobile{flex:none;width:83.3333333333%}.column.is-offset-10-mobile{margin-inline-start:83.3333333333%}.column.is-11-mobile{flex:none;width:91.6666666667%}.column.is-offset-11-mobile{margin-inline-start:91.6666666667%}.column.is-12-mobile{flex:none;width:100%}.column.is-offset-12-mobile{margin-inline-start:100%}}@media print,screen and (min-width:769px){.column.is-narrow,.column.is-narrow-tablet{flex:none;width:unset}.column.is-full,.column.is-full-tablet{flex:none;width:100%}.column.is-three-quarters,.column.is-three-quarters-tablet{flex:none;width:75%}.column.is-two-thirds,.column.is-two-thirds-tablet{flex:none;width:66.6666%}.column.is-half,.column.is-half-tablet{flex:none;width:50%}.column.is-one-third,.column.is-one-third-tablet{flex:none;width:33.3333%}.column.is-one-quarter,.column.is-one-quarter-tablet{flex:none;width:25%}.column.is-one-fifth,.column.is-one-fifth-tablet{flex:none;width:20%}.column.is-two-fifths,.column.is-two-fifths-tablet{flex:none;width:40%}.column.is-three-fifths,.column.is-three-fifths-tablet{flex:none;width:60%}.column.is-four-fifths,.column.is-four-fifths-tablet{flex:none;width:80%}.column.is-offset-three-quarters,.column.is-offset-three-quarters-tablet{margin-inline-start:75%}.column.is-offset-two-thirds,.column.is-offset-two-thirds-tablet{margin-inline-start:66.6666%}.column.is-offset-half,.column.is-offset-half-tablet{margin-inline-start:50%}.column.is-offset-one-third,.column.is-offset-one-third-tablet{margin-inline-start:.3333%}.column.is-offset-one-quarter,.column.is-offset-one-quarter-tablet{margin-inline-start:25%}.column.is-offset-one-fifth,.column.is-offset-one-fifth-tablet{margin-inline-start:20%}.column.is-offset-two-fifths,.column.is-offset-two-fifths-tablet{margin-inline-start:40%}.column.is-offset-three-fifths,.column.is-offset-three-fifths-tablet{margin-inline-start:60%}.column.is-offset-four-fifths,.column.is-offset-four-fifths-tablet{margin-inline-start:80%}.column.is-0,.column.is-0-tablet{flex:none;width:0}.column.is-offset-0,.column.is-offset-0-tablet{margin-inline-start:0}.column.is-1,.column.is-1-tablet{flex:none;width:8.3333333333%}.column.is-offset-1,.column.is-offset-1-tablet{margin-inline-start:8.3333333333%}.column.is-2,.column.is-2-tablet{flex:none;width:16.6666666667%}.column.is-offset-2,.column.is-offset-2-tablet{margin-inline-start:16.6666666667%}.column.is-3,.column.is-3-tablet{flex:none;width:25%}.column.is-offset-3,.column.is-offset-3-tablet{margin-inline-start:25%}.column.is-4,.column.is-4-tablet{flex:none;width:33.3333333333%}.column.is-offset-4,.column.is-offset-4-tablet{margin-inline-start:33.3333333333%}.column.is-5,.column.is-5-tablet{flex:none;width:41.6666666667%}.column.is-offset-5,.column.is-offset-5-tablet{margin-inline-start:41.6666666667%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-offset-6,.column.is-offset-6-tablet{margin-inline-start:50%}.column.is-7,.column.is-7-tablet{flex:none;width:58.3333333333%}.column.is-offset-7,.column.is-offset-7-tablet{margin-inline-start:58.3333333333%}.column.is-8,.column.is-8-tablet{flex:none;width:66.6666666667%}.column.is-offset-8,.column.is-offset-8-tablet{margin-inline-start:66.6666666667%}.column.is-9,.column.is-9-tablet{flex:none;width:75%}.column.is-offset-9,.column.is-offset-9-tablet{margin-inline-start:75%}.column.is-10,.column.is-10-tablet{flex:none;width:83.3333333333%}.column.is-offset-10,.column.is-offset-10-tablet{margin-inline-start:83.3333333333%}.column.is-11,.column.is-11-tablet{flex:none;width:91.6666666667%}.column.is-offset-11,.column.is-offset-11-tablet{margin-inline-start:91.6666666667%}.column.is-12,.column.is-12-tablet{flex:none;width:100%}.column.is-offset-12,.column.is-offset-12-tablet{margin-inline-start:100%}}@media screen and (max-width:1023px){.column.is-narrow-touch{flex:none;width:unset}.column.is-full-touch{flex:none;width:100%}.column.is-three-quarters-touch{flex:none;width:75%}.column.is-two-thirds-touch{flex:none;width:66.6666%}.column.is-half-touch{flex:none;width:50%}.column.is-one-third-touch{flex:none;width:33.3333%}.column.is-one-quarter-touch{flex:none;width:25%}.column.is-one-fifth-touch{flex:none;width:20%}.column.is-two-fifths-touch{flex:none;width:40%}.column.is-three-fifths-touch{flex:none;width:60%}.column.is-four-fifths-touch{flex:none;width:80%}.column.is-offset-three-quarters-touch{margin-inline-start:75%}.column.is-offset-two-thirds-touch{margin-inline-start:66.6666%}.column.is-offset-half-touch{margin-inline-start:50%}.column.is-offset-one-third-touch{margin-inline-start:.3333%}.column.is-offset-one-quarter-touch{margin-inline-start:25%}.column.is-offset-one-fifth-touch{margin-inline-start:20%}.column.is-offset-two-fifths-touch{margin-inline-start:40%}.column.is-offset-three-fifths-touch{margin-inline-start:60%}.column.is-offset-four-fifths-touch{margin-inline-start:80%}.column.is-0-touch{flex:none;width:0}.column.is-offset-0-touch{margin-inline-start:0}.column.is-1-touch{flex:none;width:8.3333333333%}.column.is-offset-1-touch{margin-inline-start:8.3333333333%}.column.is-2-touch{flex:none;width:16.6666666667%}.column.is-offset-2-touch{margin-inline-start:16.6666666667%}.column.is-3-touch{flex:none;width:25%}.column.is-offset-3-touch{margin-inline-start:25%}.column.is-4-touch{flex:none;width:33.3333333333%}.column.is-offset-4-touch{margin-inline-start:33.3333333333%}.column.is-5-touch{flex:none;width:41.6666666667%}.column.is-offset-5-touch{margin-inline-start:41.6666666667%}.column.is-6-touch{flex:none;width:50%}.column.is-offset-6-touch{margin-inline-start:50%}.column.is-7-touch{flex:none;width:58.3333333333%}.column.is-offset-7-touch{margin-inline-start:58.3333333333%}.column.is-8-touch{flex:none;width:66.6666666667%}.column.is-offset-8-touch{margin-inline-start:66.6666666667%}.column.is-9-touch{flex:none;width:75%}.column.is-offset-9-touch{margin-inline-start:75%}.column.is-10-touch{flex:none;width:83.3333333333%}.column.is-offset-10-touch{margin-inline-start:83.3333333333%}.column.is-11-touch{flex:none;width:91.6666666667%}.column.is-offset-11-touch{margin-inline-start:91.6666666667%}.column.is-12-touch{flex:none;width:100%}.column.is-offset-12-touch{margin-inline-start:100%}}@media screen and (min-width:1024px){.column.is-narrow-desktop{flex:none;width:unset}.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-two-thirds-desktop{flex:none;width:66.6666%}.column.is-half-desktop{flex:none;width:50%}.column.is-one-third-desktop{flex:none;width:33.3333%}.column.is-one-quarter-desktop{flex:none;width:25%}.column.is-one-fifth-desktop{flex:none;width:20%}.column.is-two-fifths-desktop{flex:none;width:40%}.column.is-three-fifths-desktop{flex:none;width:60%}.column.is-four-fifths-desktop{flex:none;width:80%}.column.is-offset-three-quarters-desktop{margin-inline-start:75%}.column.is-offset-two-thirds-desktop{margin-inline-start:66.6666%}.column.is-offset-half-desktop{margin-inline-start:50%}.column.is-offset-one-third-desktop{margin-inline-start:.3333%}.column.is-offset-one-quarter-desktop{margin-inline-start:25%}.column.is-offset-one-fifth-desktop{margin-inline-start:20%}.column.is-offset-two-fifths-desktop{margin-inline-start:40%}.column.is-offset-three-fifths-desktop{margin-inline-start:60%}.column.is-offset-four-fifths-desktop{margin-inline-start:80%}.column.is-0-desktop{flex:none;width:0}.column.is-offset-0-desktop{margin-inline-start:0}.column.is-1-desktop{flex:none;width:8.3333333333%}.column.is-offset-1-desktop{margin-inline-start:8.3333333333%}.column.is-2-desktop{flex:none;width:16.6666666667%}.column.is-offset-2-desktop{margin-inline-start:16.6666666667%}.column.is-3-desktop{flex:none;width:25%}.column.is-offset-3-desktop{margin-inline-start:25%}.column.is-4-desktop{flex:none;width:33.3333333333%}.column.is-offset-4-desktop{margin-inline-start:33.3333333333%}.column.is-5-desktop{flex:none;width:41.6666666667%}.column.is-offset-5-desktop{margin-inline-start:41.6666666667%}.column.is-6-desktop{flex:none;width:50%}.column.is-offset-6-desktop{margin-inline-start:50%}.column.is-7-desktop{flex:none;width:58.3333333333%}.column.is-offset-7-desktop{margin-inline-start:58.3333333333%}.column.is-8-desktop{flex:none;width:66.6666666667%}.column.is-offset-8-desktop{margin-inline-start:66.6666666667%}.column.is-9-desktop{flex:none;width:75%}.column.is-offset-9-desktop{margin-inline-start:75%}.column.is-10-desktop{flex:none;width:83.3333333333%}.column.is-offset-10-desktop{margin-inline-start:83.3333333333%}.column.is-11-desktop{flex:none;width:91.6666666667%}.column.is-offset-11-desktop{margin-inline-start:91.6666666667%}.column.is-12-desktop{flex:none;width:100%}.column.is-offset-12-desktop{margin-inline-start:100%}}@media screen and (min-width:1216px){.column.is-narrow-widescreen{flex:none;width:unset}.column.is-full-widescreen{flex:none;width:100%}.column.is-three-quarters-widescreen{flex:none;width:75%}.column.is-two-thirds-widescreen{flex:none;width:66.6666%}.column.is-half-widescreen{flex:none;width:50%}.column.is-one-third-widescreen{flex:none;width:33.3333%}.column.is-one-quarter-widescreen{flex:none;width:25%}.column.is-one-fifth-widescreen{flex:none;width:20%}.column.is-two-fifths-widescreen{flex:none;width:40%}.column.is-three-fifths-widescreen{flex:none;width:60%}.column.is-four-fifths-widescreen{flex:none;width:80%}.column.is-offset-three-quarters-widescreen{margin-inline-start:75%}.column.is-offset-two-thirds-widescreen{margin-inline-start:66.6666%}.column.is-offset-half-widescreen{margin-inline-start:50%}.column.is-offset-one-third-widescreen{margin-inline-start:.3333%}.column.is-offset-one-quarter-widescreen{margin-inline-start:25%}.column.is-offset-one-fifth-widescreen{margin-inline-start:20%}.column.is-offset-two-fifths-widescreen{margin-inline-start:40%}.column.is-offset-three-fifths-widescreen{margin-inline-start:60%}.column.is-offset-four-fifths-widescreen{margin-inline-start:80%}.column.is-0-widescreen{flex:none;width:0}.column.is-offset-0-widescreen{margin-inline-start:0}.column.is-1-widescreen{flex:none;width:8.3333333333%}.column.is-offset-1-widescreen{margin-inline-start:8.3333333333%}.column.is-2-widescreen{flex:none;width:16.6666666667%}.column.is-offset-2-widescreen{margin-inline-start:16.6666666667%}.column.is-3-widescreen{flex:none;width:25%}.column.is-offset-3-widescreen{margin-inline-start:25%}.column.is-4-widescreen{flex:none;width:33.3333333333%}.column.is-offset-4-widescreen{margin-inline-start:33.3333333333%}.column.is-5-widescreen{flex:none;width:41.6666666667%}.column.is-offset-5-widescreen{margin-inline-start:41.6666666667%}.column.is-6-widescreen{flex:none;width:50%}.column.is-offset-6-widescreen{margin-inline-start:50%}.column.is-7-widescreen{flex:none;width:58.3333333333%}.column.is-offset-7-widescreen{margin-inline-start:58.3333333333%}.column.is-8-widescreen{flex:none;width:66.6666666667%}.column.is-offset-8-widescreen{margin-inline-start:66.6666666667%}.column.is-9-widescreen{flex:none;width:75%}.column.is-offset-9-widescreen{margin-inline-start:75%}.column.is-10-widescreen{flex:none;width:83.3333333333%}.column.is-offset-10-widescreen{margin-inline-start:83.3333333333%}.column.is-11-widescreen{flex:none;width:91.6666666667%}.column.is-offset-11-widescreen{margin-inline-start:91.6666666667%}.column.is-12-widescreen{flex:none;width:100%}.column.is-offset-12-widescreen{margin-inline-start:100%}}@media screen and (min-width:1408px){.column.is-narrow-fullhd{flex:none;width:unset}.column.is-full-fullhd{flex:none;width:100%}.column.is-three-quarters-fullhd{flex:none;width:75%}.column.is-two-thirds-fullhd{flex:none;width:66.6666%}.column.is-half-fullhd{flex:none;width:50%}.column.is-one-third-fullhd{flex:none;width:33.3333%}.column.is-one-quarter-fullhd{flex:none;width:25%}.column.is-one-fifth-fullhd{flex:none;width:20%}.column.is-two-fifths-fullhd{flex:none;width:40%}.column.is-three-fifths-fullhd{flex:none;width:60%}.column.is-four-fifths-fullhd{flex:none;width:80%}.column.is-offset-three-quarters-fullhd{margin-inline-start:75%}.column.is-offset-two-thirds-fullhd{margin-inline-start:66.6666%}.column.is-offset-half-fullhd{margin-inline-start:50%}.column.is-offset-one-third-fullhd{margin-inline-start:33.3333%}.column.is-offset-one-quarter-fullhd{margin-inline-start:25%}.column.is-offset-one-fifth-fullhd{margin-inline-start:20%}.column.is-offset-two-fifths-fullhd{margin-inline-start:40%}.column.is-offset-three-fifths-fullhd{margin-inline-start:60%}.column.is-offset-four-fifths-fullhd{margin-inline-start:80%}.column.is-0-fullhd{flex:none;width:0}.column.is-offset-0-fullhd{margin-inline-start:0}.column.is-1-fullhd{flex:none;width:8.3333333333%}.column.is-offset-1-fullhd{margin-inline-start:8.3333333333%}.column.is-2-fullhd{flex:none;width:16.6666666667%}.column.is-offset-2-fullhd{margin-inline-start:16.6666666667%}.column.is-3-fullhd{flex:none;width:25%}.column.is-offset-3-fullhd{margin-inline-start:25%}.column.is-4-fullhd{flex:none;width:33.3333333333%}.column.is-offset-4-fullhd{margin-inline-start:33.3333333333%}.column.is-5-fullhd{flex:none;width:41.6666666667%}.column.is-offset-5-fullhd{margin-inline-start:41.6666666667%}.column.is-6-fullhd{flex:none;width:50%}.column.is-offset-6-fullhd{margin-inline-start:50%}.column.is-7-fullhd{flex:none;width:58.3333333333%}.column.is-offset-7-fullhd{margin-inline-start:58.3333333333%}.column.is-8-fullhd{flex:none;width:66.6666666667%}.column.is-offset-8-fullhd{margin-inline-start:66.6666666667%}.column.is-9-fullhd{flex:none;width:75%}.column.is-offset-9-fullhd{margin-inline-start:75%}.column.is-10-fullhd{flex:none;width:83.3333333333%}.column.is-offset-10-fullhd{margin-inline-start:83.3333333333%}.column.is-11-fullhd{flex:none;width:91.6666666667%}.column.is-offset-11-fullhd{margin-inline-start:91.6666666667%}.column.is-12-fullhd{flex:none;width:100%}.column.is-offset-12-fullhd{margin-inline-start:100%}}.columns{margin-inline-end:calc(var(--bulma-column-gap)*-1);margin-inline-start:calc(var(--bulma-column-gap)*-1);margin-top:calc(var(--bulma-column-gap)*-1)}.columns:last-child{margin-bottom:calc(var(--bulma-column-gap)*-1)}.columns:not(:last-child){margin-bottom:calc(var(--bulma-block-spacing) - var(--bulma-column-gap))}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-inline-end:0;margin-inline-start:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0!important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media print,screen and (min-width:769px){.columns:not(.is-desktop){display:flex}}@media screen and (min-width:1024px){.columns.is-desktop{display:flex}}.columns.is-0{--bulma-column-gap:0rem}@media screen and (max-width:768px){.columns.is-0-mobile{--bulma-column-gap:0rem}}@media print,screen and (min-width:769px){.columns.is-0-tablet{--bulma-column-gap:0rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-0-tablet-only{--bulma-column-gap:0rem}}@media screen and (max-width:1023px){.columns.is-0-touch{--bulma-column-gap:0rem}}@media screen and (min-width:1024px){.columns.is-0-desktop{--bulma-column-gap:0rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-0-desktop-only{--bulma-column-gap:0rem}}@media screen and (min-width:1216px){.columns.is-0-widescreen{--bulma-column-gap:0rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-0-widescreen-only{--bulma-column-gap:0rem}}@media screen and (min-width:1408px){.columns.is-0-fullhd{--bulma-column-gap:0rem}}.columns.is-1{--bulma-column-gap:0.25rem}@media screen and (max-width:768px){.columns.is-1-mobile{--bulma-column-gap:0.25rem}}@media print,screen and (min-width:769px){.columns.is-1-tablet{--bulma-column-gap:0.25rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-1-tablet-only{--bulma-column-gap:0.25rem}}@media screen and (max-width:1023px){.columns.is-1-touch{--bulma-column-gap:0.25rem}}@media screen and (min-width:1024px){.columns.is-1-desktop{--bulma-column-gap:0.25rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-1-desktop-only{--bulma-column-gap:0.25rem}}@media screen and (min-width:1216px){.columns.is-1-widescreen{--bulma-column-gap:0.25rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-1-widescreen-only{--bulma-column-gap:0.25rem}}@media screen and (min-width:1408px){.columns.is-1-fullhd{--bulma-column-gap:0.25rem}}.columns.is-2{--bulma-column-gap:0.5rem}@media screen and (max-width:768px){.columns.is-2-mobile{--bulma-column-gap:0.5rem}}@media print,screen and (min-width:769px){.columns.is-2-tablet{--bulma-column-gap:0.5rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-2-tablet-only{--bulma-column-gap:0.5rem}}@media screen and (max-width:1023px){.columns.is-2-touch{--bulma-column-gap:0.5rem}}@media screen and (min-width:1024px){.columns.is-2-desktop{--bulma-column-gap:0.5rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-2-desktop-only{--bulma-column-gap:0.5rem}}@media screen and (min-width:1216px){.columns.is-2-widescreen{--bulma-column-gap:0.5rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-2-widescreen-only{--bulma-column-gap:0.5rem}}@media screen and (min-width:1408px){.columns.is-2-fullhd{--bulma-column-gap:0.5rem}}.columns.is-3{--bulma-column-gap:0.75rem}@media screen and (max-width:768px){.columns.is-3-mobile{--bulma-column-gap:0.75rem}}@media print,screen and (min-width:769px){.columns.is-3-tablet{--bulma-column-gap:0.75rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-3-tablet-only{--bulma-column-gap:0.75rem}}@media screen and (max-width:1023px){.columns.is-3-touch{--bulma-column-gap:0.75rem}}@media screen and (min-width:1024px){.columns.is-3-desktop{--bulma-column-gap:0.75rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-3-desktop-only{--bulma-column-gap:0.75rem}}@media screen and (min-width:1216px){.columns.is-3-widescreen{--bulma-column-gap:0.75rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-3-widescreen-only{--bulma-column-gap:0.75rem}}@media screen and (min-width:1408px){.columns.is-3-fullhd{--bulma-column-gap:0.75rem}}.columns.is-4{--bulma-column-gap:1rem}@media screen and (max-width:768px){.columns.is-4-mobile{--bulma-column-gap:1rem}}@media print,screen and (min-width:769px){.columns.is-4-tablet{--bulma-column-gap:1rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-4-tablet-only{--bulma-column-gap:1rem}}@media screen and (max-width:1023px){.columns.is-4-touch{--bulma-column-gap:1rem}}@media screen and (min-width:1024px){.columns.is-4-desktop{--bulma-column-gap:1rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-4-desktop-only{--bulma-column-gap:1rem}}@media screen and (min-width:1216px){.columns.is-4-widescreen{--bulma-column-gap:1rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-4-widescreen-only{--bulma-column-gap:1rem}}@media screen and (min-width:1408px){.columns.is-4-fullhd{--bulma-column-gap:1rem}}.columns.is-5{--bulma-column-gap:1.25rem}@media screen and (max-width:768px){.columns.is-5-mobile{--bulma-column-gap:1.25rem}}@media print,screen and (min-width:769px){.columns.is-5-tablet{--bulma-column-gap:1.25rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-5-tablet-only{--bulma-column-gap:1.25rem}}@media screen and (max-width:1023px){.columns.is-5-touch{--bulma-column-gap:1.25rem}}@media screen and (min-width:1024px){.columns.is-5-desktop{--bulma-column-gap:1.25rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-5-desktop-only{--bulma-column-gap:1.25rem}}@media screen and (min-width:1216px){.columns.is-5-widescreen{--bulma-column-gap:1.25rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-5-widescreen-only{--bulma-column-gap:1.25rem}}@media screen and (min-width:1408px){.columns.is-5-fullhd{--bulma-column-gap:1.25rem}}.columns.is-6{--bulma-column-gap:1.5rem}@media screen and (max-width:768px){.columns.is-6-mobile{--bulma-column-gap:1.5rem}}@media print,screen and (min-width:769px){.columns.is-6-tablet{--bulma-column-gap:1.5rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-6-tablet-only{--bulma-column-gap:1.5rem}}@media screen and (max-width:1023px){.columns.is-6-touch{--bulma-column-gap:1.5rem}}@media screen and (min-width:1024px){.columns.is-6-desktop{--bulma-column-gap:1.5rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-6-desktop-only{--bulma-column-gap:1.5rem}}@media screen and (min-width:1216px){.columns.is-6-widescreen{--bulma-column-gap:1.5rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-6-widescreen-only{--bulma-column-gap:1.5rem}}@media screen and (min-width:1408px){.columns.is-6-fullhd{--bulma-column-gap:1.5rem}}.columns.is-7{--bulma-column-gap:1.75rem}@media screen and (max-width:768px){.columns.is-7-mobile{--bulma-column-gap:1.75rem}}@media print,screen and (min-width:769px){.columns.is-7-tablet{--bulma-column-gap:1.75rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-7-tablet-only{--bulma-column-gap:1.75rem}}@media screen and (max-width:1023px){.columns.is-7-touch{--bulma-column-gap:1.75rem}}@media screen and (min-width:1024px){.columns.is-7-desktop{--bulma-column-gap:1.75rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-7-desktop-only{--bulma-column-gap:1.75rem}}@media screen and (min-width:1216px){.columns.is-7-widescreen{--bulma-column-gap:1.75rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-7-widescreen-only{--bulma-column-gap:1.75rem}}@media screen and (min-width:1408px){.columns.is-7-fullhd{--bulma-column-gap:1.75rem}}.columns.is-8{--bulma-column-gap:2rem}@media screen and (max-width:768px){.columns.is-8-mobile{--bulma-column-gap:2rem}}@media print,screen and (min-width:769px){.columns.is-8-tablet{--bulma-column-gap:2rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-8-tablet-only{--bulma-column-gap:2rem}}@media screen and (max-width:1023px){.columns.is-8-touch{--bulma-column-gap:2rem}}@media screen and (min-width:1024px){.columns.is-8-desktop{--bulma-column-gap:2rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-8-desktop-only{--bulma-column-gap:2rem}}@media screen and (min-width:1216px){.columns.is-8-widescreen{--bulma-column-gap:2rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-8-widescreen-only{--bulma-column-gap:2rem}}@media screen and (min-width:1408px){.columns.is-8-fullhd{--bulma-column-gap:2rem}}.fixed-grid{container-name:bulma-fixed-grid;container-type:inline-size}.fixed-grid>.grid{--bulma-grid-gap-count:calc(var(--bulma-grid-column-count) - 1);--bulma-grid-column-count:2;grid-template-columns:repeat(var(--bulma-grid-column-count),1fr)}.fixed-grid.has-1-cols>.grid{--bulma-grid-column-count:1}.fixed-grid.has-2-cols>.grid{--bulma-grid-column-count:2}.fixed-grid.has-3-cols>.grid{--bulma-grid-column-count:3}.fixed-grid.has-4-cols>.grid{--bulma-grid-column-count:4}.fixed-grid.has-5-cols>.grid{--bulma-grid-column-count:5}.fixed-grid.has-6-cols>.grid{--bulma-grid-column-count:6}.fixed-grid.has-7-cols>.grid{--bulma-grid-column-count:7}.fixed-grid.has-8-cols>.grid{--bulma-grid-column-count:8}.fixed-grid.has-9-cols>.grid{--bulma-grid-column-count:9}.fixed-grid.has-10-cols>.grid{--bulma-grid-column-count:10}.fixed-grid.has-11-cols>.grid{--bulma-grid-column-count:11}.fixed-grid.has-12-cols>.grid{--bulma-grid-column-count:12}@container bulma-fixed-grid (max-width: 768px){.fixed-grid.has-1-cols-mobile>.grid{--bulma-grid-column-count:1}.fixed-grid.has-2-cols-mobile>.grid{--bulma-grid-column-count:2}.fixed-grid.has-3-cols-mobile>.grid{--bulma-grid-column-count:3}.fixed-grid.has-4-cols-mobile>.grid{--bulma-grid-column-count:4}.fixed-grid.has-5-cols-mobile>.grid{--bulma-grid-column-count:5}.fixed-grid.has-6-cols-mobile>.grid{--bulma-grid-column-count:6}.fixed-grid.has-7-cols-mobile>.grid{--bulma-grid-column-count:7}.fixed-grid.has-8-cols-mobile>.grid{--bulma-grid-column-count:8}.fixed-grid.has-9-cols-mobile>.grid{--bulma-grid-column-count:9}.fixed-grid.has-10-cols-mobile>.grid{--bulma-grid-column-count:10}.fixed-grid.has-11-cols-mobile>.grid{--bulma-grid-column-count:11}.fixed-grid.has-12-cols-mobile>.grid{--bulma-grid-column-count:12}}@container bulma-fixed-grid (min-width: 769px){.fixed-grid.has-1-cols-tablet>.grid{--bulma-grid-column-count:1}.fixed-grid.has-2-cols-tablet>.grid{--bulma-grid-column-count:2}.fixed-grid.has-3-cols-tablet>.grid{--bulma-grid-column-count:3}.fixed-grid.has-4-cols-tablet>.grid{--bulma-grid-column-count:4}.fixed-grid.has-5-cols-tablet>.grid{--bulma-grid-column-count:5}.fixed-grid.has-6-cols-tablet>.grid{--bulma-grid-column-count:6}.fixed-grid.has-7-cols-tablet>.grid{--bulma-grid-column-count:7}.fixed-grid.has-8-cols-tablet>.grid{--bulma-grid-column-count:8}.fixed-grid.has-9-cols-tablet>.grid{--bulma-grid-column-count:9}.fixed-grid.has-10-cols-tablet>.grid{--bulma-grid-column-count:10}.fixed-grid.has-11-cols-tablet>.grid{--bulma-grid-column-count:11}.fixed-grid.has-12-cols-tablet>.grid{--bulma-grid-column-count:12}}@container bulma-fixed-grid (min-width: 1024px){.fixed-grid.has-1-cols-desktop>.grid{--bulma-grid-column-count:1}.fixed-grid.has-2-cols-desktop>.grid{--bulma-grid-column-count:2}.fixed-grid.has-3-cols-desktop>.grid{--bulma-grid-column-count:3}.fixed-grid.has-4-cols-desktop>.grid{--bulma-grid-column-count:4}.fixed-grid.has-5-cols-desktop>.grid{--bulma-grid-column-count:5}.fixed-grid.has-6-cols-desktop>.grid{--bulma-grid-column-count:6}.fixed-grid.has-7-cols-desktop>.grid{--bulma-grid-column-count:7}.fixed-grid.has-8-cols-desktop>.grid{--bulma-grid-column-count:8}.fixed-grid.has-9-cols-desktop>.grid{--bulma-grid-column-count:9}.fixed-grid.has-10-cols-desktop>.grid{--bulma-grid-column-count:10}.fixed-grid.has-11-cols-desktop>.grid{--bulma-grid-column-count:11}.fixed-grid.has-12-cols-desktop>.grid{--bulma-grid-column-count:12}}@container bulma-fixed-grid (min-width: 1216px){.fixed-grid.has-1-cols-widescreen>.grid{--bulma-grid-column-count:1}.fixed-grid.has-2-cols-widescreen>.grid{--bulma-grid-column-count:2}.fixed-grid.has-3-cols-widescreen>.grid{--bulma-grid-column-count:3}.fixed-grid.has-4-cols-widescreen>.grid{--bulma-grid-column-count:4}.fixed-grid.has-5-cols-widescreen>.grid{--bulma-grid-column-count:5}.fixed-grid.has-6-cols-widescreen>.grid{--bulma-grid-column-count:6}.fixed-grid.has-7-cols-widescreen>.grid{--bulma-grid-column-count:7}.fixed-grid.has-8-cols-widescreen>.grid{--bulma-grid-column-count:8}.fixed-grid.has-9-cols-widescreen>.grid{--bulma-grid-column-count:9}.fixed-grid.has-10-cols-widescreen>.grid{--bulma-grid-column-count:10}.fixed-grid.has-11-cols-widescreen>.grid{--bulma-grid-column-count:11}.fixed-grid.has-12-cols-widescreen>.grid{--bulma-grid-column-count:12}}@container bulma-fixed-grid (min-width: 1408px){.fixed-grid.has-1-cols-fullhd>.grid{--bulma-grid-column-count:1}.fixed-grid.has-2-cols-fullhd>.grid{--bulma-grid-column-count:2}.fixed-grid.has-3-cols-fullhd>.grid{--bulma-grid-column-count:3}.fixed-grid.has-4-cols-fullhd>.grid{--bulma-grid-column-count:4}.fixed-grid.has-5-cols-fullhd>.grid{--bulma-grid-column-count:5}.fixed-grid.has-6-cols-fullhd>.grid{--bulma-grid-column-count:6}.fixed-grid.has-7-cols-fullhd>.grid{--bulma-grid-column-count:7}.fixed-grid.has-8-cols-fullhd>.grid{--bulma-grid-column-count:8}.fixed-grid.has-9-cols-fullhd>.grid{--bulma-grid-column-count:9}.fixed-grid.has-10-cols-fullhd>.grid{--bulma-grid-column-count:10}.fixed-grid.has-11-cols-fullhd>.grid{--bulma-grid-column-count:11}.fixed-grid.has-12-cols-fullhd>.grid{--bulma-grid-column-count:12}}@container bulma-fixed-grid (max-width: 768px){.fixed-grid.has-auto-count .grid{--bulma-grid-column-count:2}}@container bulma-fixed-grid (min-width: 769px){.fixed-grid.has-auto-count .grid{--bulma-grid-column-count:4}}@container bulma-fixed-grid (min-width: 1024px){.fixed-grid.has-auto-count .grid{--bulma-grid-column-count:8}}@container bulma-fixed-grid (min-width: 1216px){.fixed-grid.has-auto-count .grid{--bulma-grid-column-count:12}}@container bulma-fixed-grid (min-width: 1408px){.fixed-grid.has-auto-count .grid{--bulma-grid-column-count:16}}.grid{--bulma-grid-gap:0.75rem;--bulma-grid-column-min:9rem;--bulma-grid-cell-column-span:1;--bulma-grid-cell-row-span:1;display:grid;gap:var(--bulma-grid-gap);column-gap:var(--bulma-grid-column-gap,var(--bulma-grid-gap));grid-template-columns:repeat(auto-fit,minmax(var(--bulma-grid-column-min),1fr));grid-template-rows:auto;row-gap:var(--bulma-grid-row-gap,var(--bulma-grid-gap))}.grid.is-auto-fill{grid-template-columns:repeat(auto-fill,minmax(var(--bulma-grid-column-min),1fr))}.grid.is-col-min-1{--bulma-grid-column-min:1.5rem}.grid.is-col-min-2{--bulma-grid-column-min:3rem}.grid.is-col-min-3{--bulma-grid-column-min:4.5rem}.grid.is-col-min-4{--bulma-grid-column-min:6rem}.grid.is-col-min-5{--bulma-grid-column-min:7.5rem}.grid.is-col-min-6{--bulma-grid-column-min:9rem}.grid.is-col-min-7{--bulma-grid-column-min:10.5rem}.grid.is-col-min-8{--bulma-grid-column-min:12rem}.grid.is-col-min-9{--bulma-grid-column-min:13.5rem}.grid.is-col-min-10{--bulma-grid-column-min:15rem}.grid.is-col-min-11{--bulma-grid-column-min:16.5rem}.grid.is-col-min-12{--bulma-grid-column-min:18rem}.grid.is-col-min-13{--bulma-grid-column-min:19.5rem}.grid.is-col-min-14{--bulma-grid-column-min:21rem}.grid.is-col-min-15{--bulma-grid-column-min:22.5rem}.grid.is-col-min-16{--bulma-grid-column-min:24rem}.grid.is-col-min-17{--bulma-grid-column-min:25.5rem}.grid.is-col-min-18{--bulma-grid-column-min:27rem}.grid.is-col-min-19{--bulma-grid-column-min:28.5rem}.grid.is-col-min-20{--bulma-grid-column-min:30rem}.grid.is-col-min-21{--bulma-grid-column-min:31.5rem}.grid.is-col-min-22{--bulma-grid-column-min:33rem}.grid.is-col-min-23{--bulma-grid-column-min:34.5rem}.grid.is-col-min-24{--bulma-grid-column-min:36rem}.grid.is-col-min-25{--bulma-grid-column-min:37.5rem}.grid.is-col-min-26{--bulma-grid-column-min:39rem}.grid.is-col-min-27{--bulma-grid-column-min:40.5rem}.grid.is-col-min-28{--bulma-grid-column-min:42rem}.grid.is-col-min-29{--bulma-grid-column-min:43.5rem}.grid.is-col-min-30{--bulma-grid-column-min:45rem}.grid.is-col-min-31{--bulma-grid-column-min:46.5rem}.grid.is-col-min-32{--bulma-grid-column-min:48rem}.cell{grid-column-end:span var(--bulma-grid-cell-column-span);grid-column-start:var(--bulma-grid-cell-column-start);grid-row-end:span var(--bulma-grid-cell-row-span);grid-row-start:var(--bulma-grid-cell-row-start)}.cell.is-col-start-end{--bulma-grid-cell-column-start:-1}.cell.is-row-start-end{--bulma-grid-cell-row-start:-1}.cell.is-col-start-1{--bulma-grid-cell-column-start:1}.cell.is-col-end-1{--bulma-grid-cell-column-end:1}.cell.is-col-from-end-1{--bulma-grid-cell-column-start:-1}.cell.is-col-span-1{--bulma-grid-cell-column-span:1}.cell.is-row-start-1{--bulma-grid-cell-row-start:1}.cell.is-row-end-1{--bulma-grid-cell-row-end:1}.cell.is-row-from-end-1{--bulma-grid-cell-row-start:-1}.cell.is-row-span-1{--bulma-grid-cell-row-span:1}.cell.is-col-start-2{--bulma-grid-cell-column-start:2}.cell.is-col-end-2{--bulma-grid-cell-column-end:2}.cell.is-col-from-end-2{--bulma-grid-cell-column-start:-2}.cell.is-col-span-2{--bulma-grid-cell-column-span:2}.cell.is-row-start-2{--bulma-grid-cell-row-start:2}.cell.is-row-end-2{--bulma-grid-cell-row-end:2}.cell.is-row-from-end-2{--bulma-grid-cell-row-start:-2}.cell.is-row-span-2{--bulma-grid-cell-row-span:2}.cell.is-col-start-3{--bulma-grid-cell-column-start:3}.cell.is-col-end-3{--bulma-grid-cell-column-end:3}.cell.is-col-from-end-3{--bulma-grid-cell-column-start:-3}.cell.is-col-span-3{--bulma-grid-cell-column-span:3}.cell.is-row-start-3{--bulma-grid-cell-row-start:3}.cell.is-row-end-3{--bulma-grid-cell-row-end:3}.cell.is-row-from-end-3{--bulma-grid-cell-row-start:-3}.cell.is-row-span-3{--bulma-grid-cell-row-span:3}.cell.is-col-start-4{--bulma-grid-cell-column-start:4}.cell.is-col-end-4{--bulma-grid-cell-column-end:4}.cell.is-col-from-end-4{--bulma-grid-cell-column-start:-4}.cell.is-col-span-4{--bulma-grid-cell-column-span:4}.cell.is-row-start-4{--bulma-grid-cell-row-start:4}.cell.is-row-end-4{--bulma-grid-cell-row-end:4}.cell.is-row-from-end-4{--bulma-grid-cell-row-start:-4}.cell.is-row-span-4{--bulma-grid-cell-row-span:4}.cell.is-col-start-5{--bulma-grid-cell-column-start:5}.cell.is-col-end-5{--bulma-grid-cell-column-end:5}.cell.is-col-from-end-5{--bulma-grid-cell-column-start:-5}.cell.is-col-span-5{--bulma-grid-cell-column-span:5}.cell.is-row-start-5{--bulma-grid-cell-row-start:5}.cell.is-row-end-5{--bulma-grid-cell-row-end:5}.cell.is-row-from-end-5{--bulma-grid-cell-row-start:-5}.cell.is-row-span-5{--bulma-grid-cell-row-span:5}.cell.is-col-start-6{--bulma-grid-cell-column-start:6}.cell.is-col-end-6{--bulma-grid-cell-column-end:6}.cell.is-col-from-end-6{--bulma-grid-cell-column-start:-6}.cell.is-col-span-6{--bulma-grid-cell-column-span:6}.cell.is-row-start-6{--bulma-grid-cell-row-start:6}.cell.is-row-end-6{--bulma-grid-cell-row-end:6}.cell.is-row-from-end-6{--bulma-grid-cell-row-start:-6}.cell.is-row-span-6{--bulma-grid-cell-row-span:6}.cell.is-col-start-7{--bulma-grid-cell-column-start:7}.cell.is-col-end-7{--bulma-grid-cell-column-end:7}.cell.is-col-from-end-7{--bulma-grid-cell-column-start:-7}.cell.is-col-span-7{--bulma-grid-cell-column-span:7}.cell.is-row-start-7{--bulma-grid-cell-row-start:7}.cell.is-row-end-7{--bulma-grid-cell-row-end:7}.cell.is-row-from-end-7{--bulma-grid-cell-row-start:-7}.cell.is-row-span-7{--bulma-grid-cell-row-span:7}.cell.is-col-start-8{--bulma-grid-cell-column-start:8}.cell.is-col-end-8{--bulma-grid-cell-column-end:8}.cell.is-col-from-end-8{--bulma-grid-cell-column-start:-8}.cell.is-col-span-8{--bulma-grid-cell-column-span:8}.cell.is-row-start-8{--bulma-grid-cell-row-start:8}.cell.is-row-end-8{--bulma-grid-cell-row-end:8}.cell.is-row-from-end-8{--bulma-grid-cell-row-start:-8}.cell.is-row-span-8{--bulma-grid-cell-row-span:8}.cell.is-col-start-9{--bulma-grid-cell-column-start:9}.cell.is-col-end-9{--bulma-grid-cell-column-end:9}.cell.is-col-from-end-9{--bulma-grid-cell-column-start:-9}.cell.is-col-span-9{--bulma-grid-cell-column-span:9}.cell.is-row-start-9{--bulma-grid-cell-row-start:9}.cell.is-row-end-9{--bulma-grid-cell-row-end:9}.cell.is-row-from-end-9{--bulma-grid-cell-row-start:-9}.cell.is-row-span-9{--bulma-grid-cell-row-span:9}.cell.is-col-start-10{--bulma-grid-cell-column-start:10}.cell.is-col-end-10{--bulma-grid-cell-column-end:10}.cell.is-col-from-end-10{--bulma-grid-cell-column-start:-10}.cell.is-col-span-10{--bulma-grid-cell-column-span:10}.cell.is-row-start-10{--bulma-grid-cell-row-start:10}.cell.is-row-end-10{--bulma-grid-cell-row-end:10}.cell.is-row-from-end-10{--bulma-grid-cell-row-start:-10}.cell.is-row-span-10{--bulma-grid-cell-row-span:10}.cell.is-col-start-11{--bulma-grid-cell-column-start:11}.cell.is-col-end-11{--bulma-grid-cell-column-end:11}.cell.is-col-from-end-11{--bulma-grid-cell-column-start:-11}.cell.is-col-span-11{--bulma-grid-cell-column-span:11}.cell.is-row-start-11{--bulma-grid-cell-row-start:11}.cell.is-row-end-11{--bulma-grid-cell-row-end:11}.cell.is-row-from-end-11{--bulma-grid-cell-row-start:-11}.cell.is-row-span-11{--bulma-grid-cell-row-span:11}.cell.is-col-start-12{--bulma-grid-cell-column-start:12}.cell.is-col-end-12{--bulma-grid-cell-column-end:12}.cell.is-col-from-end-12{--bulma-grid-cell-column-start:-12}.cell.is-col-span-12{--bulma-grid-cell-column-span:12}.cell.is-row-start-12{--bulma-grid-cell-row-start:12}.cell.is-row-end-12{--bulma-grid-cell-row-end:12}.cell.is-row-from-end-12{--bulma-grid-cell-row-start:-12}.cell.is-row-span-12{--bulma-grid-cell-row-span:12}@media screen and (max-width:768px){.cell.is-col-start-1-mobile{--bulma-grid-cell-column-start:1}.cell.is-col-end-1-mobile{--bulma-grid-cell-column-end:1}.cell.is-col-from-end-1-mobile{--bulma-grid-cell-column-start:-1}.cell.is-col-span-1-mobile{--bulma-grid-cell-column-span:1}.cell.is-row-start-1-mobile{--bulma-grid-cell-row-start:1}.cell.is-row-end-1-mobile{--bulma-grid-cell-row-end:1}.cell.is-row-from-end-1-mobile{--bulma-grid-cell-row-start:-1}.cell.is-row-span-1-mobile{--bulma-grid-cell-row-span:1}.cell.is-col-start-2-mobile{--bulma-grid-cell-column-start:2}.cell.is-col-end-2-mobile{--bulma-grid-cell-column-end:2}.cell.is-col-from-end-2-mobile{--bulma-grid-cell-column-start:-2}.cell.is-col-span-2-mobile{--bulma-grid-cell-column-span:2}.cell.is-row-start-2-mobile{--bulma-grid-cell-row-start:2}.cell.is-row-end-2-mobile{--bulma-grid-cell-row-end:2}.cell.is-row-from-end-2-mobile{--bulma-grid-cell-row-start:-2}.cell.is-row-span-2-mobile{--bulma-grid-cell-row-span:2}.cell.is-col-start-3-mobile{--bulma-grid-cell-column-start:3}.cell.is-col-end-3-mobile{--bulma-grid-cell-column-end:3}.cell.is-col-from-end-3-mobile{--bulma-grid-cell-column-start:-3}.cell.is-col-span-3-mobile{--bulma-grid-cell-column-span:3}.cell.is-row-start-3-mobile{--bulma-grid-cell-row-start:3}.cell.is-row-end-3-mobile{--bulma-grid-cell-row-end:3}.cell.is-row-from-end-3-mobile{--bulma-grid-cell-row-start:-3}.cell.is-row-span-3-mobile{--bulma-grid-cell-row-span:3}.cell.is-col-start-4-mobile{--bulma-grid-cell-column-start:4}.cell.is-col-end-4-mobile{--bulma-grid-cell-column-end:4}.cell.is-col-from-end-4-mobile{--bulma-grid-cell-column-start:-4}.cell.is-col-span-4-mobile{--bulma-grid-cell-column-span:4}.cell.is-row-start-4-mobile{--bulma-grid-cell-row-start:4}.cell.is-row-end-4-mobile{--bulma-grid-cell-row-end:4}.cell.is-row-from-end-4-mobile{--bulma-grid-cell-row-start:-4}.cell.is-row-span-4-mobile{--bulma-grid-cell-row-span:4}.cell.is-col-start-5-mobile{--bulma-grid-cell-column-start:5}.cell.is-col-end-5-mobile{--bulma-grid-cell-column-end:5}.cell.is-col-from-end-5-mobile{--bulma-grid-cell-column-start:-5}.cell.is-col-span-5-mobile{--bulma-grid-cell-column-span:5}.cell.is-row-start-5-mobile{--bulma-grid-cell-row-start:5}.cell.is-row-end-5-mobile{--bulma-grid-cell-row-end:5}.cell.is-row-from-end-5-mobile{--bulma-grid-cell-row-start:-5}.cell.is-row-span-5-mobile{--bulma-grid-cell-row-span:5}.cell.is-col-start-6-mobile{--bulma-grid-cell-column-start:6}.cell.is-col-end-6-mobile{--bulma-grid-cell-column-end:6}.cell.is-col-from-end-6-mobile{--bulma-grid-cell-column-start:-6}.cell.is-col-span-6-mobile{--bulma-grid-cell-column-span:6}.cell.is-row-start-6-mobile{--bulma-grid-cell-row-start:6}.cell.is-row-end-6-mobile{--bulma-grid-cell-row-end:6}.cell.is-row-from-end-6-mobile{--bulma-grid-cell-row-start:-6}.cell.is-row-span-6-mobile{--bulma-grid-cell-row-span:6}.cell.is-col-start-7-mobile{--bulma-grid-cell-column-start:7}.cell.is-col-end-7-mobile{--bulma-grid-cell-column-end:7}.cell.is-col-from-end-7-mobile{--bulma-grid-cell-column-start:-7}.cell.is-col-span-7-mobile{--bulma-grid-cell-column-span:7}.cell.is-row-start-7-mobile{--bulma-grid-cell-row-start:7}.cell.is-row-end-7-mobile{--bulma-grid-cell-row-end:7}.cell.is-row-from-end-7-mobile{--bulma-grid-cell-row-start:-7}.cell.is-row-span-7-mobile{--bulma-grid-cell-row-span:7}.cell.is-col-start-8-mobile{--bulma-grid-cell-column-start:8}.cell.is-col-end-8-mobile{--bulma-grid-cell-column-end:8}.cell.is-col-from-end-8-mobile{--bulma-grid-cell-column-start:-8}.cell.is-col-span-8-mobile{--bulma-grid-cell-column-span:8}.cell.is-row-start-8-mobile{--bulma-grid-cell-row-start:8}.cell.is-row-end-8-mobile{--bulma-grid-cell-row-end:8}.cell.is-row-from-end-8-mobile{--bulma-grid-cell-row-start:-8}.cell.is-row-span-8-mobile{--bulma-grid-cell-row-span:8}.cell.is-col-start-9-mobile{--bulma-grid-cell-column-start:9}.cell.is-col-end-9-mobile{--bulma-grid-cell-column-end:9}.cell.is-col-from-end-9-mobile{--bulma-grid-cell-column-start:-9}.cell.is-col-span-9-mobile{--bulma-grid-cell-column-span:9}.cell.is-row-start-9-mobile{--bulma-grid-cell-row-start:9}.cell.is-row-end-9-mobile{--bulma-grid-cell-row-end:9}.cell.is-row-from-end-9-mobile{--bulma-grid-cell-row-start:-9}.cell.is-row-span-9-mobile{--bulma-grid-cell-row-span:9}.cell.is-col-start-10-mobile{--bulma-grid-cell-column-start:10}.cell.is-col-end-10-mobile{--bulma-grid-cell-column-end:10}.cell.is-col-from-end-10-mobile{--bulma-grid-cell-column-start:-10}.cell.is-col-span-10-mobile{--bulma-grid-cell-column-span:10}.cell.is-row-start-10-mobile{--bulma-grid-cell-row-start:10}.cell.is-row-end-10-mobile{--bulma-grid-cell-row-end:10}.cell.is-row-from-end-10-mobile{--bulma-grid-cell-row-start:-10}.cell.is-row-span-10-mobile{--bulma-grid-cell-row-span:10}.cell.is-col-start-11-mobile{--bulma-grid-cell-column-start:11}.cell.is-col-end-11-mobile{--bulma-grid-cell-column-end:11}.cell.is-col-from-end-11-mobile{--bulma-grid-cell-column-start:-11}.cell.is-col-span-11-mobile{--bulma-grid-cell-column-span:11}.cell.is-row-start-11-mobile{--bulma-grid-cell-row-start:11}.cell.is-row-end-11-mobile{--bulma-grid-cell-row-end:11}.cell.is-row-from-end-11-mobile{--bulma-grid-cell-row-start:-11}.cell.is-row-span-11-mobile{--bulma-grid-cell-row-span:11}.cell.is-col-start-12-mobile{--bulma-grid-cell-column-start:12}.cell.is-col-end-12-mobile{--bulma-grid-cell-column-end:12}.cell.is-col-from-end-12-mobile{--bulma-grid-cell-column-start:-12}.cell.is-col-span-12-mobile{--bulma-grid-cell-column-span:12}.cell.is-row-start-12-mobile{--bulma-grid-cell-row-start:12}.cell.is-row-end-12-mobile{--bulma-grid-cell-row-end:12}.cell.is-row-from-end-12-mobile{--bulma-grid-cell-row-start:-12}.cell.is-row-span-12-mobile{--bulma-grid-cell-row-span:12}}@media print,screen and (min-width:769px){.cell.is-col-start-1-tablet{--bulma-grid-cell-column-start:1}.cell.is-col-end-1-tablet{--bulma-grid-cell-column-end:1}.cell.is-col-from-end-1-tablet{--bulma-grid-cell-column-start:-1}.cell.is-col-span-1-tablet{--bulma-grid-cell-column-span:1}.cell.is-row-start-1-tablet{--bulma-grid-cell-row-start:1}.cell.is-row-end-1-tablet{--bulma-grid-cell-row-end:1}.cell.is-row-from-end-1-tablet{--bulma-grid-cell-row-start:-1}.cell.is-row-span-1-tablet{--bulma-grid-cell-row-span:1}.cell.is-col-start-2-tablet{--bulma-grid-cell-column-start:2}.cell.is-col-end-2-tablet{--bulma-grid-cell-column-end:2}.cell.is-col-from-end-2-tablet{--bulma-grid-cell-column-start:-2}.cell.is-col-span-2-tablet{--bulma-grid-cell-column-span:2}.cell.is-row-start-2-tablet{--bulma-grid-cell-row-start:2}.cell.is-row-end-2-tablet{--bulma-grid-cell-row-end:2}.cell.is-row-from-end-2-tablet{--bulma-grid-cell-row-start:-2}.cell.is-row-span-2-tablet{--bulma-grid-cell-row-span:2}.cell.is-col-start-3-tablet{--bulma-grid-cell-column-start:3}.cell.is-col-end-3-tablet{--bulma-grid-cell-column-end:3}.cell.is-col-from-end-3-tablet{--bulma-grid-cell-column-start:-3}.cell.is-col-span-3-tablet{--bulma-grid-cell-column-span:3}.cell.is-row-start-3-tablet{--bulma-grid-cell-row-start:3}.cell.is-row-end-3-tablet{--bulma-grid-cell-row-end:3}.cell.is-row-from-end-3-tablet{--bulma-grid-cell-row-start:-3}.cell.is-row-span-3-tablet{--bulma-grid-cell-row-span:3}.cell.is-col-start-4-tablet{--bulma-grid-cell-column-start:4}.cell.is-col-end-4-tablet{--bulma-grid-cell-column-end:4}.cell.is-col-from-end-4-tablet{--bulma-grid-cell-column-start:-4}.cell.is-col-span-4-tablet{--bulma-grid-cell-column-span:4}.cell.is-row-start-4-tablet{--bulma-grid-cell-row-start:4}.cell.is-row-end-4-tablet{--bulma-grid-cell-row-end:4}.cell.is-row-from-end-4-tablet{--bulma-grid-cell-row-start:-4}.cell.is-row-span-4-tablet{--bulma-grid-cell-row-span:4}.cell.is-col-start-5-tablet{--bulma-grid-cell-column-start:5}.cell.is-col-end-5-tablet{--bulma-grid-cell-column-end:5}.cell.is-col-from-end-5-tablet{--bulma-grid-cell-column-start:-5}.cell.is-col-span-5-tablet{--bulma-grid-cell-column-span:5}.cell.is-row-start-5-tablet{--bulma-grid-cell-row-start:5}.cell.is-row-end-5-tablet{--bulma-grid-cell-row-end:5}.cell.is-row-from-end-5-tablet{--bulma-grid-cell-row-start:-5}.cell.is-row-span-5-tablet{--bulma-grid-cell-row-span:5}.cell.is-col-start-6-tablet{--bulma-grid-cell-column-start:6}.cell.is-col-end-6-tablet{--bulma-grid-cell-column-end:6}.cell.is-col-from-end-6-tablet{--bulma-grid-cell-column-start:-6}.cell.is-col-span-6-tablet{--bulma-grid-cell-column-span:6}.cell.is-row-start-6-tablet{--bulma-grid-cell-row-start:6}.cell.is-row-end-6-tablet{--bulma-grid-cell-row-end:6}.cell.is-row-from-end-6-tablet{--bulma-grid-cell-row-start:-6}.cell.is-row-span-6-tablet{--bulma-grid-cell-row-span:6}.cell.is-col-start-7-tablet{--bulma-grid-cell-column-start:7}.cell.is-col-end-7-tablet{--bulma-grid-cell-column-end:7}.cell.is-col-from-end-7-tablet{--bulma-grid-cell-column-start:-7}.cell.is-col-span-7-tablet{--bulma-grid-cell-column-span:7}.cell.is-row-start-7-tablet{--bulma-grid-cell-row-start:7}.cell.is-row-end-7-tablet{--bulma-grid-cell-row-end:7}.cell.is-row-from-end-7-tablet{--bulma-grid-cell-row-start:-7}.cell.is-row-span-7-tablet{--bulma-grid-cell-row-span:7}.cell.is-col-start-8-tablet{--bulma-grid-cell-column-start:8}.cell.is-col-end-8-tablet{--bulma-grid-cell-column-end:8}.cell.is-col-from-end-8-tablet{--bulma-grid-cell-column-start:-8}.cell.is-col-span-8-tablet{--bulma-grid-cell-column-span:8}.cell.is-row-start-8-tablet{--bulma-grid-cell-row-start:8}.cell.is-row-end-8-tablet{--bulma-grid-cell-row-end:8}.cell.is-row-from-end-8-tablet{--bulma-grid-cell-row-start:-8}.cell.is-row-span-8-tablet{--bulma-grid-cell-row-span:8}.cell.is-col-start-9-tablet{--bulma-grid-cell-column-start:9}.cell.is-col-end-9-tablet{--bulma-grid-cell-column-end:9}.cell.is-col-from-end-9-tablet{--bulma-grid-cell-column-start:-9}.cell.is-col-span-9-tablet{--bulma-grid-cell-column-span:9}.cell.is-row-start-9-tablet{--bulma-grid-cell-row-start:9}.cell.is-row-end-9-tablet{--bulma-grid-cell-row-end:9}.cell.is-row-from-end-9-tablet{--bulma-grid-cell-row-start:-9}.cell.is-row-span-9-tablet{--bulma-grid-cell-row-span:9}.cell.is-col-start-10-tablet{--bulma-grid-cell-column-start:10}.cell.is-col-end-10-tablet{--bulma-grid-cell-column-end:10}.cell.is-col-from-end-10-tablet{--bulma-grid-cell-column-start:-10}.cell.is-col-span-10-tablet{--bulma-grid-cell-column-span:10}.cell.is-row-start-10-tablet{--bulma-grid-cell-row-start:10}.cell.is-row-end-10-tablet{--bulma-grid-cell-row-end:10}.cell.is-row-from-end-10-tablet{--bulma-grid-cell-row-start:-10}.cell.is-row-span-10-tablet{--bulma-grid-cell-row-span:10}.cell.is-col-start-11-tablet{--bulma-grid-cell-column-start:11}.cell.is-col-end-11-tablet{--bulma-grid-cell-column-end:11}.cell.is-col-from-end-11-tablet{--bulma-grid-cell-column-start:-11}.cell.is-col-span-11-tablet{--bulma-grid-cell-column-span:11}.cell.is-row-start-11-tablet{--bulma-grid-cell-row-start:11}.cell.is-row-end-11-tablet{--bulma-grid-cell-row-end:11}.cell.is-row-from-end-11-tablet{--bulma-grid-cell-row-start:-11}.cell.is-row-span-11-tablet{--bulma-grid-cell-row-span:11}.cell.is-col-start-12-tablet{--bulma-grid-cell-column-start:12}.cell.is-col-end-12-tablet{--bulma-grid-cell-column-end:12}.cell.is-col-from-end-12-tablet{--bulma-grid-cell-column-start:-12}.cell.is-col-span-12-tablet{--bulma-grid-cell-column-span:12}.cell.is-row-start-12-tablet{--bulma-grid-cell-row-start:12}.cell.is-row-end-12-tablet{--bulma-grid-cell-row-end:12}.cell.is-row-from-end-12-tablet{--bulma-grid-cell-row-start:-12}.cell.is-row-span-12-tablet{--bulma-grid-cell-row-span:12}}@media screen and (min-width:769px) and (max-width:1023px){.cell.is-col-start-1-tablet-only{--bulma-grid-cell-column-start:1}.cell.is-col-end-1-tablet-only{--bulma-grid-cell-column-end:1}.cell.is-col-from-end-1-tablet-only{--bulma-grid-cell-column-start:-1}.cell.is-col-span-1-tablet-only{--bulma-grid-cell-column-span:1}.cell.is-row-start-1-tablet-only{--bulma-grid-cell-row-start:1}.cell.is-row-end-1-tablet-only{--bulma-grid-cell-row-end:1}.cell.is-row-from-end-1-tablet-only{--bulma-grid-cell-row-start:-1}.cell.is-row-span-1-tablet-only{--bulma-grid-cell-row-span:1}.cell.is-col-start-2-tablet-only{--bulma-grid-cell-column-start:2}.cell.is-col-end-2-tablet-only{--bulma-grid-cell-column-end:2}.cell.is-col-from-end-2-tablet-only{--bulma-grid-cell-column-start:-2}.cell.is-col-span-2-tablet-only{--bulma-grid-cell-column-span:2}.cell.is-row-start-2-tablet-only{--bulma-grid-cell-row-start:2}.cell.is-row-end-2-tablet-only{--bulma-grid-cell-row-end:2}.cell.is-row-from-end-2-tablet-only{--bulma-grid-cell-row-start:-2}.cell.is-row-span-2-tablet-only{--bulma-grid-cell-row-span:2}.cell.is-col-start-3-tablet-only{--bulma-grid-cell-column-start:3}.cell.is-col-end-3-tablet-only{--bulma-grid-cell-column-end:3}.cell.is-col-from-end-3-tablet-only{--bulma-grid-cell-column-start:-3}.cell.is-col-span-3-tablet-only{--bulma-grid-cell-column-span:3}.cell.is-row-start-3-tablet-only{--bulma-grid-cell-row-start:3}.cell.is-row-end-3-tablet-only{--bulma-grid-cell-row-end:3}.cell.is-row-from-end-3-tablet-only{--bulma-grid-cell-row-start:-3}.cell.is-row-span-3-tablet-only{--bulma-grid-cell-row-span:3}.cell.is-col-start-4-tablet-only{--bulma-grid-cell-column-start:4}.cell.is-col-end-4-tablet-only{--bulma-grid-cell-column-end:4}.cell.is-col-from-end-4-tablet-only{--bulma-grid-cell-column-start:-4}.cell.is-col-span-4-tablet-only{--bulma-grid-cell-column-span:4}.cell.is-row-start-4-tablet-only{--bulma-grid-cell-row-start:4}.cell.is-row-end-4-tablet-only{--bulma-grid-cell-row-end:4}.cell.is-row-from-end-4-tablet-only{--bulma-grid-cell-row-start:-4}.cell.is-row-span-4-tablet-only{--bulma-grid-cell-row-span:4}.cell.is-col-start-5-tablet-only{--bulma-grid-cell-column-start:5}.cell.is-col-end-5-tablet-only{--bulma-grid-cell-column-end:5}.cell.is-col-from-end-5-tablet-only{--bulma-grid-cell-column-start:-5}.cell.is-col-span-5-tablet-only{--bulma-grid-cell-column-span:5}.cell.is-row-start-5-tablet-only{--bulma-grid-cell-row-start:5}.cell.is-row-end-5-tablet-only{--bulma-grid-cell-row-end:5}.cell.is-row-from-end-5-tablet-only{--bulma-grid-cell-row-start:-5}.cell.is-row-span-5-tablet-only{--bulma-grid-cell-row-span:5}.cell.is-col-start-6-tablet-only{--bulma-grid-cell-column-start:6}.cell.is-col-end-6-tablet-only{--bulma-grid-cell-column-end:6}.cell.is-col-from-end-6-tablet-only{--bulma-grid-cell-column-start:-6}.cell.is-col-span-6-tablet-only{--bulma-grid-cell-column-span:6}.cell.is-row-start-6-tablet-only{--bulma-grid-cell-row-start:6}.cell.is-row-end-6-tablet-only{--bulma-grid-cell-row-end:6}.cell.is-row-from-end-6-tablet-only{--bulma-grid-cell-row-start:-6}.cell.is-row-span-6-tablet-only{--bulma-grid-cell-row-span:6}.cell.is-col-start-7-tablet-only{--bulma-grid-cell-column-start:7}.cell.is-col-end-7-tablet-only{--bulma-grid-cell-column-end:7}.cell.is-col-from-end-7-tablet-only{--bulma-grid-cell-column-start:-7}.cell.is-col-span-7-tablet-only{--bulma-grid-cell-column-span:7}.cell.is-row-start-7-tablet-only{--bulma-grid-cell-row-start:7}.cell.is-row-end-7-tablet-only{--bulma-grid-cell-row-end:7}.cell.is-row-from-end-7-tablet-only{--bulma-grid-cell-row-start:-7}.cell.is-row-span-7-tablet-only{--bulma-grid-cell-row-span:7}.cell.is-col-start-8-tablet-only{--bulma-grid-cell-column-start:8}.cell.is-col-end-8-tablet-only{--bulma-grid-cell-column-end:8}.cell.is-col-from-end-8-tablet-only{--bulma-grid-cell-column-start:-8}.cell.is-col-span-8-tablet-only{--bulma-grid-cell-column-span:8}.cell.is-row-start-8-tablet-only{--bulma-grid-cell-row-start:8}.cell.is-row-end-8-tablet-only{--bulma-grid-cell-row-end:8}.cell.is-row-from-end-8-tablet-only{--bulma-grid-cell-row-start:-8}.cell.is-row-span-8-tablet-only{--bulma-grid-cell-row-span:8}.cell.is-col-start-9-tablet-only{--bulma-grid-cell-column-start:9}.cell.is-col-end-9-tablet-only{--bulma-grid-cell-column-end:9}.cell.is-col-from-end-9-tablet-only{--bulma-grid-cell-column-start:-9}.cell.is-col-span-9-tablet-only{--bulma-grid-cell-column-span:9}.cell.is-row-start-9-tablet-only{--bulma-grid-cell-row-start:9}.cell.is-row-end-9-tablet-only{--bulma-grid-cell-row-end:9}.cell.is-row-from-end-9-tablet-only{--bulma-grid-cell-row-start:-9}.cell.is-row-span-9-tablet-only{--bulma-grid-cell-row-span:9}.cell.is-col-start-10-tablet-only{--bulma-grid-cell-column-start:10}.cell.is-col-end-10-tablet-only{--bulma-grid-cell-column-end:10}.cell.is-col-from-end-10-tablet-only{--bulma-grid-cell-column-start:-10}.cell.is-col-span-10-tablet-only{--bulma-grid-cell-column-span:10}.cell.is-row-start-10-tablet-only{--bulma-grid-cell-row-start:10}.cell.is-row-end-10-tablet-only{--bulma-grid-cell-row-end:10}.cell.is-row-from-end-10-tablet-only{--bulma-grid-cell-row-start:-10}.cell.is-row-span-10-tablet-only{--bulma-grid-cell-row-span:10}.cell.is-col-start-11-tablet-only{--bulma-grid-cell-column-start:11}.cell.is-col-end-11-tablet-only{--bulma-grid-cell-column-end:11}.cell.is-col-from-end-11-tablet-only{--bulma-grid-cell-column-start:-11}.cell.is-col-span-11-tablet-only{--bulma-grid-cell-column-span:11}.cell.is-row-start-11-tablet-only{--bulma-grid-cell-row-start:11}.cell.is-row-end-11-tablet-only{--bulma-grid-cell-row-end:11}.cell.is-row-from-end-11-tablet-only{--bulma-grid-cell-row-start:-11}.cell.is-row-span-11-tablet-only{--bulma-grid-cell-row-span:11}.cell.is-col-start-12-tablet-only{--bulma-grid-cell-column-start:12}.cell.is-col-end-12-tablet-only{--bulma-grid-cell-column-end:12}.cell.is-col-from-end-12-tablet-only{--bulma-grid-cell-column-start:-12}.cell.is-col-span-12-tablet-only{--bulma-grid-cell-column-span:12}.cell.is-row-start-12-tablet-only{--bulma-grid-cell-row-start:12}.cell.is-row-end-12-tablet-only{--bulma-grid-cell-row-end:12}.cell.is-row-from-end-12-tablet-only{--bulma-grid-cell-row-start:-12}.cell.is-row-span-12-tablet-only{--bulma-grid-cell-row-span:12}}@media screen and (min-width:1024px){.cell.is-col-start-1-desktop{--bulma-grid-cell-column-start:1}.cell.is-col-end-1-desktop{--bulma-grid-cell-column-end:1}.cell.is-col-from-end-1-desktop{--bulma-grid-cell-column-start:-1}.cell.is-col-span-1-desktop{--bulma-grid-cell-column-span:1}.cell.is-row-start-1-desktop{--bulma-grid-cell-row-start:1}.cell.is-row-end-1-desktop{--bulma-grid-cell-row-end:1}.cell.is-row-from-end-1-desktop{--bulma-grid-cell-row-start:-1}.cell.is-row-span-1-desktop{--bulma-grid-cell-row-span:1}.cell.is-col-start-2-desktop{--bulma-grid-cell-column-start:2}.cell.is-col-end-2-desktop{--bulma-grid-cell-column-end:2}.cell.is-col-from-end-2-desktop{--bulma-grid-cell-column-start:-2}.cell.is-col-span-2-desktop{--bulma-grid-cell-column-span:2}.cell.is-row-start-2-desktop{--bulma-grid-cell-row-start:2}.cell.is-row-end-2-desktop{--bulma-grid-cell-row-end:2}.cell.is-row-from-end-2-desktop{--bulma-grid-cell-row-start:-2}.cell.is-row-span-2-desktop{--bulma-grid-cell-row-span:2}.cell.is-col-start-3-desktop{--bulma-grid-cell-column-start:3}.cell.is-col-end-3-desktop{--bulma-grid-cell-column-end:3}.cell.is-col-from-end-3-desktop{--bulma-grid-cell-column-start:-3}.cell.is-col-span-3-desktop{--bulma-grid-cell-column-span:3}.cell.is-row-start-3-desktop{--bulma-grid-cell-row-start:3}.cell.is-row-end-3-desktop{--bulma-grid-cell-row-end:3}.cell.is-row-from-end-3-desktop{--bulma-grid-cell-row-start:-3}.cell.is-row-span-3-desktop{--bulma-grid-cell-row-span:3}.cell.is-col-start-4-desktop{--bulma-grid-cell-column-start:4}.cell.is-col-end-4-desktop{--bulma-grid-cell-column-end:4}.cell.is-col-from-end-4-desktop{--bulma-grid-cell-column-start:-4}.cell.is-col-span-4-desktop{--bulma-grid-cell-column-span:4}.cell.is-row-start-4-desktop{--bulma-grid-cell-row-start:4}.cell.is-row-end-4-desktop{--bulma-grid-cell-row-end:4}.cell.is-row-from-end-4-desktop{--bulma-grid-cell-row-start:-4}.cell.is-row-span-4-desktop{--bulma-grid-cell-row-span:4}.cell.is-col-start-5-desktop{--bulma-grid-cell-column-start:5}.cell.is-col-end-5-desktop{--bulma-grid-cell-column-end:5}.cell.is-col-from-end-5-desktop{--bulma-grid-cell-column-start:-5}.cell.is-col-span-5-desktop{--bulma-grid-cell-column-span:5}.cell.is-row-start-5-desktop{--bulma-grid-cell-row-start:5}.cell.is-row-end-5-desktop{--bulma-grid-cell-row-end:5}.cell.is-row-from-end-5-desktop{--bulma-grid-cell-row-start:-5}.cell.is-row-span-5-desktop{--bulma-grid-cell-row-span:5}.cell.is-col-start-6-desktop{--bulma-grid-cell-column-start:6}.cell.is-col-end-6-desktop{--bulma-grid-cell-column-end:6}.cell.is-col-from-end-6-desktop{--bulma-grid-cell-column-start:-6}.cell.is-col-span-6-desktop{--bulma-grid-cell-column-span:6}.cell.is-row-start-6-desktop{--bulma-grid-cell-row-start:6}.cell.is-row-end-6-desktop{--bulma-grid-cell-row-end:6}.cell.is-row-from-end-6-desktop{--bulma-grid-cell-row-start:-6}.cell.is-row-span-6-desktop{--bulma-grid-cell-row-span:6}.cell.is-col-start-7-desktop{--bulma-grid-cell-column-start:7}.cell.is-col-end-7-desktop{--bulma-grid-cell-column-end:7}.cell.is-col-from-end-7-desktop{--bulma-grid-cell-column-start:-7}.cell.is-col-span-7-desktop{--bulma-grid-cell-column-span:7}.cell.is-row-start-7-desktop{--bulma-grid-cell-row-start:7}.cell.is-row-end-7-desktop{--bulma-grid-cell-row-end:7}.cell.is-row-from-end-7-desktop{--bulma-grid-cell-row-start:-7}.cell.is-row-span-7-desktop{--bulma-grid-cell-row-span:7}.cell.is-col-start-8-desktop{--bulma-grid-cell-column-start:8}.cell.is-col-end-8-desktop{--bulma-grid-cell-column-end:8}.cell.is-col-from-end-8-desktop{--bulma-grid-cell-column-start:-8}.cell.is-col-span-8-desktop{--bulma-grid-cell-column-span:8}.cell.is-row-start-8-desktop{--bulma-grid-cell-row-start:8}.cell.is-row-end-8-desktop{--bulma-grid-cell-row-end:8}.cell.is-row-from-end-8-desktop{--bulma-grid-cell-row-start:-8}.cell.is-row-span-8-desktop{--bulma-grid-cell-row-span:8}.cell.is-col-start-9-desktop{--bulma-grid-cell-column-start:9}.cell.is-col-end-9-desktop{--bulma-grid-cell-column-end:9}.cell.is-col-from-end-9-desktop{--bulma-grid-cell-column-start:-9}.cell.is-col-span-9-desktop{--bulma-grid-cell-column-span:9}.cell.is-row-start-9-desktop{--bulma-grid-cell-row-start:9}.cell.is-row-end-9-desktop{--bulma-grid-cell-row-end:9}.cell.is-row-from-end-9-desktop{--bulma-grid-cell-row-start:-9}.cell.is-row-span-9-desktop{--bulma-grid-cell-row-span:9}.cell.is-col-start-10-desktop{--bulma-grid-cell-column-start:10}.cell.is-col-end-10-desktop{--bulma-grid-cell-column-end:10}.cell.is-col-from-end-10-desktop{--bulma-grid-cell-column-start:-10}.cell.is-col-span-10-desktop{--bulma-grid-cell-column-span:10}.cell.is-row-start-10-desktop{--bulma-grid-cell-row-start:10}.cell.is-row-end-10-desktop{--bulma-grid-cell-row-end:10}.cell.is-row-from-end-10-desktop{--bulma-grid-cell-row-start:-10}.cell.is-row-span-10-desktop{--bulma-grid-cell-row-span:10}.cell.is-col-start-11-desktop{--bulma-grid-cell-column-start:11}.cell.is-col-end-11-desktop{--bulma-grid-cell-column-end:11}.cell.is-col-from-end-11-desktop{--bulma-grid-cell-column-start:-11}.cell.is-col-span-11-desktop{--bulma-grid-cell-column-span:11}.cell.is-row-start-11-desktop{--bulma-grid-cell-row-start:11}.cell.is-row-end-11-desktop{--bulma-grid-cell-row-end:11}.cell.is-row-from-end-11-desktop{--bulma-grid-cell-row-start:-11}.cell.is-row-span-11-desktop{--bulma-grid-cell-row-span:11}.cell.is-col-start-12-desktop{--bulma-grid-cell-column-start:12}.cell.is-col-end-12-desktop{--bulma-grid-cell-column-end:12}.cell.is-col-from-end-12-desktop{--bulma-grid-cell-column-start:-12}.cell.is-col-span-12-desktop{--bulma-grid-cell-column-span:12}.cell.is-row-start-12-desktop{--bulma-grid-cell-row-start:12}.cell.is-row-end-12-desktop{--bulma-grid-cell-row-end:12}.cell.is-row-from-end-12-desktop{--bulma-grid-cell-row-start:-12}.cell.is-row-span-12-desktop{--bulma-grid-cell-row-span:12}}@media screen and (min-width:1024px) and (max-width:1215px){.cell.is-col-start-1-desktop-only{--bulma-grid-cell-column-start:1}.cell.is-col-end-1-desktop-only{--bulma-grid-cell-column-end:1}.cell.is-col-from-end-1-desktop-only{--bulma-grid-cell-column-start:-1}.cell.is-col-span-1-desktop-only{--bulma-grid-cell-column-span:1}.cell.is-row-start-1-desktop-only{--bulma-grid-cell-row-start:1}.cell.is-row-end-1-desktop-only{--bulma-grid-cell-row-end:1}.cell.is-row-from-end-1-desktop-only{--bulma-grid-cell-row-start:-1}.cell.is-row-span-1-desktop-only{--bulma-grid-cell-row-span:1}.cell.is-col-start-2-desktop-only{--bulma-grid-cell-column-start:2}.cell.is-col-end-2-desktop-only{--bulma-grid-cell-column-end:2}.cell.is-col-from-end-2-desktop-only{--bulma-grid-cell-column-start:-2}.cell.is-col-span-2-desktop-only{--bulma-grid-cell-column-span:2}.cell.is-row-start-2-desktop-only{--bulma-grid-cell-row-start:2}.cell.is-row-end-2-desktop-only{--bulma-grid-cell-row-end:2}.cell.is-row-from-end-2-desktop-only{--bulma-grid-cell-row-start:-2}.cell.is-row-span-2-desktop-only{--bulma-grid-cell-row-span:2}.cell.is-col-start-3-desktop-only{--bulma-grid-cell-column-start:3}.cell.is-col-end-3-desktop-only{--bulma-grid-cell-column-end:3}.cell.is-col-from-end-3-desktop-only{--bulma-grid-cell-column-start:-3}.cell.is-col-span-3-desktop-only{--bulma-grid-cell-column-span:3}.cell.is-row-start-3-desktop-only{--bulma-grid-cell-row-start:3}.cell.is-row-end-3-desktop-only{--bulma-grid-cell-row-end:3}.cell.is-row-from-end-3-desktop-only{--bulma-grid-cell-row-start:-3}.cell.is-row-span-3-desktop-only{--bulma-grid-cell-row-span:3}.cell.is-col-start-4-desktop-only{--bulma-grid-cell-column-start:4}.cell.is-col-end-4-desktop-only{--bulma-grid-cell-column-end:4}.cell.is-col-from-end-4-desktop-only{--bulma-grid-cell-column-start:-4}.cell.is-col-span-4-desktop-only{--bulma-grid-cell-column-span:4}.cell.is-row-start-4-desktop-only{--bulma-grid-cell-row-start:4}.cell.is-row-end-4-desktop-only{--bulma-grid-cell-row-end:4}.cell.is-row-from-end-4-desktop-only{--bulma-grid-cell-row-start:-4}.cell.is-row-span-4-desktop-only{--bulma-grid-cell-row-span:4}.cell.is-col-start-5-desktop-only{--bulma-grid-cell-column-start:5}.cell.is-col-end-5-desktop-only{--bulma-grid-cell-column-end:5}.cell.is-col-from-end-5-desktop-only{--bulma-grid-cell-column-start:-5}.cell.is-col-span-5-desktop-only{--bulma-grid-cell-column-span:5}.cell.is-row-start-5-desktop-only{--bulma-grid-cell-row-start:5}.cell.is-row-end-5-desktop-only{--bulma-grid-cell-row-end:5}.cell.is-row-from-end-5-desktop-only{--bulma-grid-cell-row-start:-5}.cell.is-row-span-5-desktop-only{--bulma-grid-cell-row-span:5}.cell.is-col-start-6-desktop-only{--bulma-grid-cell-column-start:6}.cell.is-col-end-6-desktop-only{--bulma-grid-cell-column-end:6}.cell.is-col-from-end-6-desktop-only{--bulma-grid-cell-column-start:-6}.cell.is-col-span-6-desktop-only{--bulma-grid-cell-column-span:6}.cell.is-row-start-6-desktop-only{--bulma-grid-cell-row-start:6}.cell.is-row-end-6-desktop-only{--bulma-grid-cell-row-end:6}.cell.is-row-from-end-6-desktop-only{--bulma-grid-cell-row-start:-6}.cell.is-row-span-6-desktop-only{--bulma-grid-cell-row-span:6}.cell.is-col-start-7-desktop-only{--bulma-grid-cell-column-start:7}.cell.is-col-end-7-desktop-only{--bulma-grid-cell-column-end:7}.cell.is-col-from-end-7-desktop-only{--bulma-grid-cell-column-start:-7}.cell.is-col-span-7-desktop-only{--bulma-grid-cell-column-span:7}.cell.is-row-start-7-desktop-only{--bulma-grid-cell-row-start:7}.cell.is-row-end-7-desktop-only{--bulma-grid-cell-row-end:7}.cell.is-row-from-end-7-desktop-only{--bulma-grid-cell-row-start:-7}.cell.is-row-span-7-desktop-only{--bulma-grid-cell-row-span:7}.cell.is-col-start-8-desktop-only{--bulma-grid-cell-column-start:8}.cell.is-col-end-8-desktop-only{--bulma-grid-cell-column-end:8}.cell.is-col-from-end-8-desktop-only{--bulma-grid-cell-column-start:-8}.cell.is-col-span-8-desktop-only{--bulma-grid-cell-column-span:8}.cell.is-row-start-8-desktop-only{--bulma-grid-cell-row-start:8}.cell.is-row-end-8-desktop-only{--bulma-grid-cell-row-end:8}.cell.is-row-from-end-8-desktop-only{--bulma-grid-cell-row-start:-8}.cell.is-row-span-8-desktop-only{--bulma-grid-cell-row-span:8}.cell.is-col-start-9-desktop-only{--bulma-grid-cell-column-start:9}.cell.is-col-end-9-desktop-only{--bulma-grid-cell-column-end:9}.cell.is-col-from-end-9-desktop-only{--bulma-grid-cell-column-start:-9}.cell.is-col-span-9-desktop-only{--bulma-grid-cell-column-span:9}.cell.is-row-start-9-desktop-only{--bulma-grid-cell-row-start:9}.cell.is-row-end-9-desktop-only{--bulma-grid-cell-row-end:9}.cell.is-row-from-end-9-desktop-only{--bulma-grid-cell-row-start:-9}.cell.is-row-span-9-desktop-only{--bulma-grid-cell-row-span:9}.cell.is-col-start-10-desktop-only{--bulma-grid-cell-column-start:10}.cell.is-col-end-10-desktop-only{--bulma-grid-cell-column-end:10}.cell.is-col-from-end-10-desktop-only{--bulma-grid-cell-column-start:-10}.cell.is-col-span-10-desktop-only{--bulma-grid-cell-column-span:10}.cell.is-row-start-10-desktop-only{--bulma-grid-cell-row-start:10}.cell.is-row-end-10-desktop-only{--bulma-grid-cell-row-end:10}.cell.is-row-from-end-10-desktop-only{--bulma-grid-cell-row-start:-10}.cell.is-row-span-10-desktop-only{--bulma-grid-cell-row-span:10}.cell.is-col-start-11-desktop-only{--bulma-grid-cell-column-start:11}.cell.is-col-end-11-desktop-only{--bulma-grid-cell-column-end:11}.cell.is-col-from-end-11-desktop-only{--bulma-grid-cell-column-start:-11}.cell.is-col-span-11-desktop-only{--bulma-grid-cell-column-span:11}.cell.is-row-start-11-desktop-only{--bulma-grid-cell-row-start:11}.cell.is-row-end-11-desktop-only{--bulma-grid-cell-row-end:11}.cell.is-row-from-end-11-desktop-only{--bulma-grid-cell-row-start:-11}.cell.is-row-span-11-desktop-only{--bulma-grid-cell-row-span:11}.cell.is-col-start-12-desktop-only{--bulma-grid-cell-column-start:12}.cell.is-col-end-12-desktop-only{--bulma-grid-cell-column-end:12}.cell.is-col-from-end-12-desktop-only{--bulma-grid-cell-column-start:-12}.cell.is-col-span-12-desktop-only{--bulma-grid-cell-column-span:12}.cell.is-row-start-12-desktop-only{--bulma-grid-cell-row-start:12}.cell.is-row-end-12-desktop-only{--bulma-grid-cell-row-end:12}.cell.is-row-from-end-12-desktop-only{--bulma-grid-cell-row-start:-12}.cell.is-row-span-12-desktop-only{--bulma-grid-cell-row-span:12}}@media screen and (min-width:1216px){.cell.is-col-start-1-widescreen{--bulma-grid-cell-column-start:1}.cell.is-col-end-1-widescreen{--bulma-grid-cell-column-end:1}.cell.is-col-from-end-1-widescreen{--bulma-grid-cell-column-start:-1}.cell.is-col-span-1-widescreen{--bulma-grid-cell-column-span:1}.cell.is-row-start-1-widescreen{--bulma-grid-cell-row-start:1}.cell.is-row-end-1-widescreen{--bulma-grid-cell-row-end:1}.cell.is-row-from-end-1-widescreen{--bulma-grid-cell-row-start:-1}.cell.is-row-span-1-widescreen{--bulma-grid-cell-row-span:1}.cell.is-col-start-2-widescreen{--bulma-grid-cell-column-start:2}.cell.is-col-end-2-widescreen{--bulma-grid-cell-column-end:2}.cell.is-col-from-end-2-widescreen{--bulma-grid-cell-column-start:-2}.cell.is-col-span-2-widescreen{--bulma-grid-cell-column-span:2}.cell.is-row-start-2-widescreen{--bulma-grid-cell-row-start:2}.cell.is-row-end-2-widescreen{--bulma-grid-cell-row-end:2}.cell.is-row-from-end-2-widescreen{--bulma-grid-cell-row-start:-2}.cell.is-row-span-2-widescreen{--bulma-grid-cell-row-span:2}.cell.is-col-start-3-widescreen{--bulma-grid-cell-column-start:3}.cell.is-col-end-3-widescreen{--bulma-grid-cell-column-end:3}.cell.is-col-from-end-3-widescreen{--bulma-grid-cell-column-start:-3}.cell.is-col-span-3-widescreen{--bulma-grid-cell-column-span:3}.cell.is-row-start-3-widescreen{--bulma-grid-cell-row-start:3}.cell.is-row-end-3-widescreen{--bulma-grid-cell-row-end:3}.cell.is-row-from-end-3-widescreen{--bulma-grid-cell-row-start:-3}.cell.is-row-span-3-widescreen{--bulma-grid-cell-row-span:3}.cell.is-col-start-4-widescreen{--bulma-grid-cell-column-start:4}.cell.is-col-end-4-widescreen{--bulma-grid-cell-column-end:4}.cell.is-col-from-end-4-widescreen{--bulma-grid-cell-column-start:-4}.cell.is-col-span-4-widescreen{--bulma-grid-cell-column-span:4}.cell.is-row-start-4-widescreen{--bulma-grid-cell-row-start:4}.cell.is-row-end-4-widescreen{--bulma-grid-cell-row-end:4}.cell.is-row-from-end-4-widescreen{--bulma-grid-cell-row-start:-4}.cell.is-row-span-4-widescreen{--bulma-grid-cell-row-span:4}.cell.is-col-start-5-widescreen{--bulma-grid-cell-column-start:5}.cell.is-col-end-5-widescreen{--bulma-grid-cell-column-end:5}.cell.is-col-from-end-5-widescreen{--bulma-grid-cell-column-start:-5}.cell.is-col-span-5-widescreen{--bulma-grid-cell-column-span:5}.cell.is-row-start-5-widescreen{--bulma-grid-cell-row-start:5}.cell.is-row-end-5-widescreen{--bulma-grid-cell-row-end:5}.cell.is-row-from-end-5-widescreen{--bulma-grid-cell-row-start:-5}.cell.is-row-span-5-widescreen{--bulma-grid-cell-row-span:5}.cell.is-col-start-6-widescreen{--bulma-grid-cell-column-start:6}.cell.is-col-end-6-widescreen{--bulma-grid-cell-column-end:6}.cell.is-col-from-end-6-widescreen{--bulma-grid-cell-column-start:-6}.cell.is-col-span-6-widescreen{--bulma-grid-cell-column-span:6}.cell.is-row-start-6-widescreen{--bulma-grid-cell-row-start:6}.cell.is-row-end-6-widescreen{--bulma-grid-cell-row-end:6}.cell.is-row-from-end-6-widescreen{--bulma-grid-cell-row-start:-6}.cell.is-row-span-6-widescreen{--bulma-grid-cell-row-span:6}.cell.is-col-start-7-widescreen{--bulma-grid-cell-column-start:7}.cell.is-col-end-7-widescreen{--bulma-grid-cell-column-end:7}.cell.is-col-from-end-7-widescreen{--bulma-grid-cell-column-start:-7}.cell.is-col-span-7-widescreen{--bulma-grid-cell-column-span:7}.cell.is-row-start-7-widescreen{--bulma-grid-cell-row-start:7}.cell.is-row-end-7-widescreen{--bulma-grid-cell-row-end:7}.cell.is-row-from-end-7-widescreen{--bulma-grid-cell-row-start:-7}.cell.is-row-span-7-widescreen{--bulma-grid-cell-row-span:7}.cell.is-col-start-8-widescreen{--bulma-grid-cell-column-start:8}.cell.is-col-end-8-widescreen{--bulma-grid-cell-column-end:8}.cell.is-col-from-end-8-widescreen{--bulma-grid-cell-column-start:-8}.cell.is-col-span-8-widescreen{--bulma-grid-cell-column-span:8}.cell.is-row-start-8-widescreen{--bulma-grid-cell-row-start:8}.cell.is-row-end-8-widescreen{--bulma-grid-cell-row-end:8}.cell.is-row-from-end-8-widescreen{--bulma-grid-cell-row-start:-8}.cell.is-row-span-8-widescreen{--bulma-grid-cell-row-span:8}.cell.is-col-start-9-widescreen{--bulma-grid-cell-column-start:9}.cell.is-col-end-9-widescreen{--bulma-grid-cell-column-end:9}.cell.is-col-from-end-9-widescreen{--bulma-grid-cell-column-start:-9}.cell.is-col-span-9-widescreen{--bulma-grid-cell-column-span:9}.cell.is-row-start-9-widescreen{--bulma-grid-cell-row-start:9}.cell.is-row-end-9-widescreen{--bulma-grid-cell-row-end:9}.cell.is-row-from-end-9-widescreen{--bulma-grid-cell-row-start:-9}.cell.is-row-span-9-widescreen{--bulma-grid-cell-row-span:9}.cell.is-col-start-10-widescreen{--bulma-grid-cell-column-start:10}.cell.is-col-end-10-widescreen{--bulma-grid-cell-column-end:10}.cell.is-col-from-end-10-widescreen{--bulma-grid-cell-column-start:-10}.cell.is-col-span-10-widescreen{--bulma-grid-cell-column-span:10}.cell.is-row-start-10-widescreen{--bulma-grid-cell-row-start:10}.cell.is-row-end-10-widescreen{--bulma-grid-cell-row-end:10}.cell.is-row-from-end-10-widescreen{--bulma-grid-cell-row-start:-10}.cell.is-row-span-10-widescreen{--bulma-grid-cell-row-span:10}.cell.is-col-start-11-widescreen{--bulma-grid-cell-column-start:11}.cell.is-col-end-11-widescreen{--bulma-grid-cell-column-end:11}.cell.is-col-from-end-11-widescreen{--bulma-grid-cell-column-start:-11}.cell.is-col-span-11-widescreen{--bulma-grid-cell-column-span:11}.cell.is-row-start-11-widescreen{--bulma-grid-cell-row-start:11}.cell.is-row-end-11-widescreen{--bulma-grid-cell-row-end:11}.cell.is-row-from-end-11-widescreen{--bulma-grid-cell-row-start:-11}.cell.is-row-span-11-widescreen{--bulma-grid-cell-row-span:11}.cell.is-col-start-12-widescreen{--bulma-grid-cell-column-start:12}.cell.is-col-end-12-widescreen{--bulma-grid-cell-column-end:12}.cell.is-col-from-end-12-widescreen{--bulma-grid-cell-column-start:-12}.cell.is-col-span-12-widescreen{--bulma-grid-cell-column-span:12}.cell.is-row-start-12-widescreen{--bulma-grid-cell-row-start:12}.cell.is-row-end-12-widescreen{--bulma-grid-cell-row-end:12}.cell.is-row-from-end-12-widescreen{--bulma-grid-cell-row-start:-12}.cell.is-row-span-12-widescreen{--bulma-grid-cell-row-span:12}}@media screen and (min-width:1216px) and (max-width:1407px){.cell.is-col-start-1-widescreen-only{--bulma-grid-cell-column-start:1}.cell.is-col-end-1-widescreen-only{--bulma-grid-cell-column-end:1}.cell.is-col-from-end-1-widescreen-only{--bulma-grid-cell-column-start:-1}.cell.is-col-span-1-widescreen-only{--bulma-grid-cell-column-span:1}.cell.is-row-start-1-widescreen-only{--bulma-grid-cell-row-start:1}.cell.is-row-end-1-widescreen-only{--bulma-grid-cell-row-end:1}.cell.is-row-from-end-1-widescreen-only{--bulma-grid-cell-row-start:-1}.cell.is-row-span-1-widescreen-only{--bulma-grid-cell-row-span:1}.cell.is-col-start-2-widescreen-only{--bulma-grid-cell-column-start:2}.cell.is-col-end-2-widescreen-only{--bulma-grid-cell-column-end:2}.cell.is-col-from-end-2-widescreen-only{--bulma-grid-cell-column-start:-2}.cell.is-col-span-2-widescreen-only{--bulma-grid-cell-column-span:2}.cell.is-row-start-2-widescreen-only{--bulma-grid-cell-row-start:2}.cell.is-row-end-2-widescreen-only{--bulma-grid-cell-row-end:2}.cell.is-row-from-end-2-widescreen-only{--bulma-grid-cell-row-start:-2}.cell.is-row-span-2-widescreen-only{--bulma-grid-cell-row-span:2}.cell.is-col-start-3-widescreen-only{--bulma-grid-cell-column-start:3}.cell.is-col-end-3-widescreen-only{--bulma-grid-cell-column-end:3}.cell.is-col-from-end-3-widescreen-only{--bulma-grid-cell-column-start:-3}.cell.is-col-span-3-widescreen-only{--bulma-grid-cell-column-span:3}.cell.is-row-start-3-widescreen-only{--bulma-grid-cell-row-start:3}.cell.is-row-end-3-widescreen-only{--bulma-grid-cell-row-end:3}.cell.is-row-from-end-3-widescreen-only{--bulma-grid-cell-row-start:-3}.cell.is-row-span-3-widescreen-only{--bulma-grid-cell-row-span:3}.cell.is-col-start-4-widescreen-only{--bulma-grid-cell-column-start:4}.cell.is-col-end-4-widescreen-only{--bulma-grid-cell-column-end:4}.cell.is-col-from-end-4-widescreen-only{--bulma-grid-cell-column-start:-4}.cell.is-col-span-4-widescreen-only{--bulma-grid-cell-column-span:4}.cell.is-row-start-4-widescreen-only{--bulma-grid-cell-row-start:4}.cell.is-row-end-4-widescreen-only{--bulma-grid-cell-row-end:4}.cell.is-row-from-end-4-widescreen-only{--bulma-grid-cell-row-start:-4}.cell.is-row-span-4-widescreen-only{--bulma-grid-cell-row-span:4}.cell.is-col-start-5-widescreen-only{--bulma-grid-cell-column-start:5}.cell.is-col-end-5-widescreen-only{--bulma-grid-cell-column-end:5}.cell.is-col-from-end-5-widescreen-only{--bulma-grid-cell-column-start:-5}.cell.is-col-span-5-widescreen-only{--bulma-grid-cell-column-span:5}.cell.is-row-start-5-widescreen-only{--bulma-grid-cell-row-start:5}.cell.is-row-end-5-widescreen-only{--bulma-grid-cell-row-end:5}.cell.is-row-from-end-5-widescreen-only{--bulma-grid-cell-row-start:-5}.cell.is-row-span-5-widescreen-only{--bulma-grid-cell-row-span:5}.cell.is-col-start-6-widescreen-only{--bulma-grid-cell-column-start:6}.cell.is-col-end-6-widescreen-only{--bulma-grid-cell-column-end:6}.cell.is-col-from-end-6-widescreen-only{--bulma-grid-cell-column-start:-6}.cell.is-col-span-6-widescreen-only{--bulma-grid-cell-column-span:6}.cell.is-row-start-6-widescreen-only{--bulma-grid-cell-row-start:6}.cell.is-row-end-6-widescreen-only{--bulma-grid-cell-row-end:6}.cell.is-row-from-end-6-widescreen-only{--bulma-grid-cell-row-start:-6}.cell.is-row-span-6-widescreen-only{--bulma-grid-cell-row-span:6}.cell.is-col-start-7-widescreen-only{--bulma-grid-cell-column-start:7}.cell.is-col-end-7-widescreen-only{--bulma-grid-cell-column-end:7}.cell.is-col-from-end-7-widescreen-only{--bulma-grid-cell-column-start:-7}.cell.is-col-span-7-widescreen-only{--bulma-grid-cell-column-span:7}.cell.is-row-start-7-widescreen-only{--bulma-grid-cell-row-start:7}.cell.is-row-end-7-widescreen-only{--bulma-grid-cell-row-end:7}.cell.is-row-from-end-7-widescreen-only{--bulma-grid-cell-row-start:-7}.cell.is-row-span-7-widescreen-only{--bulma-grid-cell-row-span:7}.cell.is-col-start-8-widescreen-only{--bulma-grid-cell-column-start:8}.cell.is-col-end-8-widescreen-only{--bulma-grid-cell-column-end:8}.cell.is-col-from-end-8-widescreen-only{--bulma-grid-cell-column-start:-8}.cell.is-col-span-8-widescreen-only{--bulma-grid-cell-column-span:8}.cell.is-row-start-8-widescreen-only{--bulma-grid-cell-row-start:8}.cell.is-row-end-8-widescreen-only{--bulma-grid-cell-row-end:8}.cell.is-row-from-end-8-widescreen-only{--bulma-grid-cell-row-start:-8}.cell.is-row-span-8-widescreen-only{--bulma-grid-cell-row-span:8}.cell.is-col-start-9-widescreen-only{--bulma-grid-cell-column-start:9}.cell.is-col-end-9-widescreen-only{--bulma-grid-cell-column-end:9}.cell.is-col-from-end-9-widescreen-only{--bulma-grid-cell-column-start:-9}.cell.is-col-span-9-widescreen-only{--bulma-grid-cell-column-span:9}.cell.is-row-start-9-widescreen-only{--bulma-grid-cell-row-start:9}.cell.is-row-end-9-widescreen-only{--bulma-grid-cell-row-end:9}.cell.is-row-from-end-9-widescreen-only{--bulma-grid-cell-row-start:-9}.cell.is-row-span-9-widescreen-only{--bulma-grid-cell-row-span:9}.cell.is-col-start-10-widescreen-only{--bulma-grid-cell-column-start:10}.cell.is-col-end-10-widescreen-only{--bulma-grid-cell-column-end:10}.cell.is-col-from-end-10-widescreen-only{--bulma-grid-cell-column-start:-10}.cell.is-col-span-10-widescreen-only{--bulma-grid-cell-column-span:10}.cell.is-row-start-10-widescreen-only{--bulma-grid-cell-row-start:10}.cell.is-row-end-10-widescreen-only{--bulma-grid-cell-row-end:10}.cell.is-row-from-end-10-widescreen-only{--bulma-grid-cell-row-start:-10}.cell.is-row-span-10-widescreen-only{--bulma-grid-cell-row-span:10}.cell.is-col-start-11-widescreen-only{--bulma-grid-cell-column-start:11}.cell.is-col-end-11-widescreen-only{--bulma-grid-cell-column-end:11}.cell.is-col-from-end-11-widescreen-only{--bulma-grid-cell-column-start:-11}.cell.is-col-span-11-widescreen-only{--bulma-grid-cell-column-span:11}.cell.is-row-start-11-widescreen-only{--bulma-grid-cell-row-start:11}.cell.is-row-end-11-widescreen-only{--bulma-grid-cell-row-end:11}.cell.is-row-from-end-11-widescreen-only{--bulma-grid-cell-row-start:-11}.cell.is-row-span-11-widescreen-only{--bulma-grid-cell-row-span:11}.cell.is-col-start-12-widescreen-only{--bulma-grid-cell-column-start:12}.cell.is-col-end-12-widescreen-only{--bulma-grid-cell-column-end:12}.cell.is-col-from-end-12-widescreen-only{--bulma-grid-cell-column-start:-12}.cell.is-col-span-12-widescreen-only{--bulma-grid-cell-column-span:12}.cell.is-row-start-12-widescreen-only{--bulma-grid-cell-row-start:12}.cell.is-row-end-12-widescreen-only{--bulma-grid-cell-row-end:12}.cell.is-row-from-end-12-widescreen-only{--bulma-grid-cell-row-start:-12}.cell.is-row-span-12-widescreen-only{--bulma-grid-cell-row-span:12}}@media screen and (min-width:1408px){.cell.is-col-start-1-fullhd{--bulma-grid-cell-column-start:1}.cell.is-col-end-1-fullhd{--bulma-grid-cell-column-end:1}.cell.is-col-from-end-1-fullhd{--bulma-grid-cell-column-start:-1}.cell.is-col-span-1-fullhd{--bulma-grid-cell-column-span:1}.cell.is-row-start-1-fullhd{--bulma-grid-cell-row-start:1}.cell.is-row-end-1-fullhd{--bulma-grid-cell-row-end:1}.cell.is-row-from-end-1-fullhd{--bulma-grid-cell-row-start:-1}.cell.is-row-span-1-fullhd{--bulma-grid-cell-row-span:1}.cell.is-col-start-2-fullhd{--bulma-grid-cell-column-start:2}.cell.is-col-end-2-fullhd{--bulma-grid-cell-column-end:2}.cell.is-col-from-end-2-fullhd{--bulma-grid-cell-column-start:-2}.cell.is-col-span-2-fullhd{--bulma-grid-cell-column-span:2}.cell.is-row-start-2-fullhd{--bulma-grid-cell-row-start:2}.cell.is-row-end-2-fullhd{--bulma-grid-cell-row-end:2}.cell.is-row-from-end-2-fullhd{--bulma-grid-cell-row-start:-2}.cell.is-row-span-2-fullhd{--bulma-grid-cell-row-span:2}.cell.is-col-start-3-fullhd{--bulma-grid-cell-column-start:3}.cell.is-col-end-3-fullhd{--bulma-grid-cell-column-end:3}.cell.is-col-from-end-3-fullhd{--bulma-grid-cell-column-start:-3}.cell.is-col-span-3-fullhd{--bulma-grid-cell-column-span:3}.cell.is-row-start-3-fullhd{--bulma-grid-cell-row-start:3}.cell.is-row-end-3-fullhd{--bulma-grid-cell-row-end:3}.cell.is-row-from-end-3-fullhd{--bulma-grid-cell-row-start:-3}.cell.is-row-span-3-fullhd{--bulma-grid-cell-row-span:3}.cell.is-col-start-4-fullhd{--bulma-grid-cell-column-start:4}.cell.is-col-end-4-fullhd{--bulma-grid-cell-column-end:4}.cell.is-col-from-end-4-fullhd{--bulma-grid-cell-column-start:-4}.cell.is-col-span-4-fullhd{--bulma-grid-cell-column-span:4}.cell.is-row-start-4-fullhd{--bulma-grid-cell-row-start:4}.cell.is-row-end-4-fullhd{--bulma-grid-cell-row-end:4}.cell.is-row-from-end-4-fullhd{--bulma-grid-cell-row-start:-4}.cell.is-row-span-4-fullhd{--bulma-grid-cell-row-span:4}.cell.is-col-start-5-fullhd{--bulma-grid-cell-column-start:5}.cell.is-col-end-5-fullhd{--bulma-grid-cell-column-end:5}.cell.is-col-from-end-5-fullhd{--bulma-grid-cell-column-start:-5}.cell.is-col-span-5-fullhd{--bulma-grid-cell-column-span:5}.cell.is-row-start-5-fullhd{--bulma-grid-cell-row-start:5}.cell.is-row-end-5-fullhd{--bulma-grid-cell-row-end:5}.cell.is-row-from-end-5-fullhd{--bulma-grid-cell-row-start:-5}.cell.is-row-span-5-fullhd{--bulma-grid-cell-row-span:5}.cell.is-col-start-6-fullhd{--bulma-grid-cell-column-start:6}.cell.is-col-end-6-fullhd{--bulma-grid-cell-column-end:6}.cell.is-col-from-end-6-fullhd{--bulma-grid-cell-column-start:-6}.cell.is-col-span-6-fullhd{--bulma-grid-cell-column-span:6}.cell.is-row-start-6-fullhd{--bulma-grid-cell-row-start:6}.cell.is-row-end-6-fullhd{--bulma-grid-cell-row-end:6}.cell.is-row-from-end-6-fullhd{--bulma-grid-cell-row-start:-6}.cell.is-row-span-6-fullhd{--bulma-grid-cell-row-span:6}.cell.is-col-start-7-fullhd{--bulma-grid-cell-column-start:7}.cell.is-col-end-7-fullhd{--bulma-grid-cell-column-end:7}.cell.is-col-from-end-7-fullhd{--bulma-grid-cell-column-start:-7}.cell.is-col-span-7-fullhd{--bulma-grid-cell-column-span:7}.cell.is-row-start-7-fullhd{--bulma-grid-cell-row-start:7}.cell.is-row-end-7-fullhd{--bulma-grid-cell-row-end:7}.cell.is-row-from-end-7-fullhd{--bulma-grid-cell-row-start:-7}.cell.is-row-span-7-fullhd{--bulma-grid-cell-row-span:7}.cell.is-col-start-8-fullhd{--bulma-grid-cell-column-start:8}.cell.is-col-end-8-fullhd{--bulma-grid-cell-column-end:8}.cell.is-col-from-end-8-fullhd{--bulma-grid-cell-column-start:-8}.cell.is-col-span-8-fullhd{--bulma-grid-cell-column-span:8}.cell.is-row-start-8-fullhd{--bulma-grid-cell-row-start:8}.cell.is-row-end-8-fullhd{--bulma-grid-cell-row-end:8}.cell.is-row-from-end-8-fullhd{--bulma-grid-cell-row-start:-8}.cell.is-row-span-8-fullhd{--bulma-grid-cell-row-span:8}.cell.is-col-start-9-fullhd{--bulma-grid-cell-column-start:9}.cell.is-col-end-9-fullhd{--bulma-grid-cell-column-end:9}.cell.is-col-from-end-9-fullhd{--bulma-grid-cell-column-start:-9}.cell.is-col-span-9-fullhd{--bulma-grid-cell-column-span:9}.cell.is-row-start-9-fullhd{--bulma-grid-cell-row-start:9}.cell.is-row-end-9-fullhd{--bulma-grid-cell-row-end:9}.cell.is-row-from-end-9-fullhd{--bulma-grid-cell-row-start:-9}.cell.is-row-span-9-fullhd{--bulma-grid-cell-row-span:9}.cell.is-col-start-10-fullhd{--bulma-grid-cell-column-start:10}.cell.is-col-end-10-fullhd{--bulma-grid-cell-column-end:10}.cell.is-col-from-end-10-fullhd{--bulma-grid-cell-column-start:-10}.cell.is-col-span-10-fullhd{--bulma-grid-cell-column-span:10}.cell.is-row-start-10-fullhd{--bulma-grid-cell-row-start:10}.cell.is-row-end-10-fullhd{--bulma-grid-cell-row-end:10}.cell.is-row-from-end-10-fullhd{--bulma-grid-cell-row-start:-10}.cell.is-row-span-10-fullhd{--bulma-grid-cell-row-span:10}.cell.is-col-start-11-fullhd{--bulma-grid-cell-column-start:11}.cell.is-col-end-11-fullhd{--bulma-grid-cell-column-end:11}.cell.is-col-from-end-11-fullhd{--bulma-grid-cell-column-start:-11}.cell.is-col-span-11-fullhd{--bulma-grid-cell-column-span:11}.cell.is-row-start-11-fullhd{--bulma-grid-cell-row-start:11}.cell.is-row-end-11-fullhd{--bulma-grid-cell-row-end:11}.cell.is-row-from-end-11-fullhd{--bulma-grid-cell-row-start:-11}.cell.is-row-span-11-fullhd{--bulma-grid-cell-row-span:11}.cell.is-col-start-12-fullhd{--bulma-grid-cell-column-start:12}.cell.is-col-end-12-fullhd{--bulma-grid-cell-column-end:12}.cell.is-col-from-end-12-fullhd{--bulma-grid-cell-column-start:-12}.cell.is-col-span-12-fullhd{--bulma-grid-cell-column-span:12}.cell.is-row-start-12-fullhd{--bulma-grid-cell-row-start:12}.cell.is-row-end-12-fullhd{--bulma-grid-cell-row-end:12}.cell.is-row-from-end-12-fullhd{--bulma-grid-cell-row-start:-12}.cell.is-row-span-12-fullhd{--bulma-grid-cell-row-span:12}}.container{flex-grow:1;margin:0 auto;position:relative;width:100%}.container.is-fluid{max-width:none!important;padding-left:32px;padding-right:32px;width:100%}.container.is-max-tablet{max-width:705px}@media screen and (min-width:1024px){.container{max-width:960px}}@media screen and (max-width:1215px){.container.is-widescreen:not(.is-max-tablet):not(.is-max-desktop){max-width:1152px}}@media screen and (max-width:1407px){.container.is-fullhd:not(.is-max-tablet):not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}@media screen and (min-width:1216px){.container:not(.is-max-tablet):not(.is-max-desktop){max-width:1152px}}@media screen and (min-width:1408px){.container:not(.is-max-tablet):not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}.footer{--bulma-footer-background-color:var(--bulma-scheme-main-bis);--bulma-footer-color:false;--bulma-footer-padding:3rem 1.5rem 6rem;background-color:var(--bulma-footer-background-color);padding:var(--bulma-footer-padding)}.hero{--bulma-hero-body-padding:3rem 1.5rem;--bulma-hero-body-padding-tablet:3rem 3rem;--bulma-hero-body-padding-small:1.5rem;--bulma-hero-body-padding-medium:9rem 4.5rem;--bulma-hero-body-padding-large:18rem 6rem;align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:none}.hero .tabs ul{border-bottom:none}.hero.is-white{--bulma-hero-h:var(--bulma-white-h);--bulma-hero-s:var(--bulma-white-s);--bulma-hero-background-l:var(--bulma-white-l);--bulma-hero-color-l:var(--bulma-white-invert-l);background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-white .navbar{--bulma-navbar-item-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-navbar-item-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-white .tabs{--bulma-tabs-link-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-border-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-tabs-link-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-white .subtitle{--bulma-subtitle-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-subtitle-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-white .title{--bulma-title-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-title-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-white.is-bold{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}@media screen and (max-width:768px){.hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}}.hero.is-black{--bulma-hero-h:var(--bulma-black-h);--bulma-hero-s:var(--bulma-black-s);--bulma-hero-background-l:var(--bulma-black-l);--bulma-hero-color-l:var(--bulma-black-invert-l);background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-black .navbar{--bulma-navbar-item-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-navbar-item-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-black .tabs{--bulma-tabs-link-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-border-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-tabs-link-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-black .subtitle{--bulma-subtitle-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-subtitle-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-black .title{--bulma-title-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-title-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-black.is-bold{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}@media screen and (max-width:768px){.hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}}.hero.is-light{--bulma-hero-h:var(--bulma-light-h);--bulma-hero-s:var(--bulma-light-s);--bulma-hero-background-l:var(--bulma-light-l);--bulma-hero-color-l:var(--bulma-light-invert-l);background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-light .navbar{--bulma-navbar-item-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-navbar-item-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-light .tabs{--bulma-tabs-link-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-border-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-tabs-link-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-light .subtitle{--bulma-subtitle-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-subtitle-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-light .title{--bulma-title-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-title-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-light.is-bold{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}@media screen and (max-width:768px){.hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}}.hero.is-dark{--bulma-hero-h:var(--bulma-dark-h);--bulma-hero-s:var(--bulma-dark-s);--bulma-hero-background-l:var(--bulma-dark-l);--bulma-hero-color-l:var(--bulma-dark-invert-l);background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-dark .navbar{--bulma-navbar-item-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-navbar-item-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-dark .tabs{--bulma-tabs-link-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-border-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-tabs-link-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-dark .subtitle{--bulma-subtitle-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-subtitle-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-dark .title{--bulma-title-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-title-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-dark.is-bold{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}@media screen and (max-width:768px){.hero.is-dark.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}}.hero.is-text{--bulma-hero-h:var(--bulma-text-h);--bulma-hero-s:var(--bulma-text-s);--bulma-hero-background-l:var(--bulma-text-l);--bulma-hero-color-l:var(--bulma-text-invert-l);background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-text .navbar{--bulma-navbar-item-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-navbar-item-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-text .tabs{--bulma-tabs-link-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-border-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-tabs-link-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-text .subtitle{--bulma-subtitle-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-subtitle-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-text .title{--bulma-title-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-title-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-text.is-bold{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}@media screen and (max-width:768px){.hero.is-text.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}}.hero.is-primary{--bulma-hero-h:var(--bulma-primary-h);--bulma-hero-s:var(--bulma-primary-s);--bulma-hero-background-l:var(--bulma-primary-l);--bulma-hero-color-l:var(--bulma-primary-invert-l);background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-primary .navbar{--bulma-navbar-item-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-navbar-item-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-primary .tabs{--bulma-tabs-link-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-border-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-tabs-link-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-primary .subtitle{--bulma-subtitle-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-subtitle-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-primary .title{--bulma-title-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-title-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-primary.is-bold{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}@media screen and (max-width:768px){.hero.is-primary.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}}.hero.is-link{--bulma-hero-h:var(--bulma-link-h);--bulma-hero-s:var(--bulma-link-s);--bulma-hero-background-l:var(--bulma-link-l);--bulma-hero-color-l:var(--bulma-link-invert-l);background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-link .navbar{--bulma-navbar-item-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-navbar-item-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-link .tabs{--bulma-tabs-link-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-border-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-tabs-link-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-link .subtitle{--bulma-subtitle-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-subtitle-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-link .title{--bulma-title-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-title-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-link.is-bold{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}@media screen and (max-width:768px){.hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}}.hero.is-info{--bulma-hero-h:var(--bulma-info-h);--bulma-hero-s:var(--bulma-info-s);--bulma-hero-background-l:var(--bulma-info-l);--bulma-hero-color-l:var(--bulma-info-invert-l);background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-info .navbar{--bulma-navbar-item-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-navbar-item-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-info .tabs{--bulma-tabs-link-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-border-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-tabs-link-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-info .subtitle{--bulma-subtitle-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-subtitle-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-info .title{--bulma-title-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-title-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-info.is-bold{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}@media screen and (max-width:768px){.hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}}.hero.is-success{--bulma-hero-h:var(--bulma-success-h);--bulma-hero-s:var(--bulma-success-s);--bulma-hero-background-l:var(--bulma-success-l);--bulma-hero-color-l:var(--bulma-success-invert-l);background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-success .navbar{--bulma-navbar-item-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-navbar-item-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-success .tabs{--bulma-tabs-link-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-border-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-tabs-link-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-success .subtitle{--bulma-subtitle-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-subtitle-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-success .title{--bulma-title-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-title-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-success.is-bold{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}@media screen and (max-width:768px){.hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}}.hero.is-warning{--bulma-hero-h:var(--bulma-warning-h);--bulma-hero-s:var(--bulma-warning-s);--bulma-hero-background-l:var(--bulma-warning-l);--bulma-hero-color-l:var(--bulma-warning-invert-l);background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-warning .navbar{--bulma-navbar-item-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-navbar-item-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-warning .tabs{--bulma-tabs-link-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-border-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-tabs-link-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-warning .subtitle{--bulma-subtitle-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-subtitle-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-warning .title{--bulma-title-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-title-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-warning.is-bold{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}@media screen and (max-width:768px){.hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}}.hero.is-danger{--bulma-hero-h:var(--bulma-danger-h);--bulma-hero-s:var(--bulma-danger-s);--bulma-hero-background-l:var(--bulma-danger-l);--bulma-hero-color-l:var(--bulma-danger-invert-l);background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-danger .navbar{--bulma-navbar-item-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-hover-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-navbar-item-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-navbar-item-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-danger .tabs{--bulma-tabs-link-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-background-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-tabs-boxed-link-active-border-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l));--bulma-tabs-link-active-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l))}.hero.is-danger .subtitle{--bulma-subtitle-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-subtitle-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-danger .title{--bulma-title-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l));--bulma-title-strong-color:hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l))}.hero.is-danger.is-bold{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-background-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}@media screen and (max-width:768px){.hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(calc(var(--bulma-hero-h) - 5deg),calc(var(--bulma-hero-s) + 10%),calc(var(--bulma-hero-background-l) + 5%)) 0,hsl(var(--bulma-hero-h),var(--bulma-hero-s),var(--bulma-hero-color-l)) 71%,hsl(calc(var(--bulma-hero-h) + 5deg),calc(var(--bulma-hero-s) - 10%),calc(var(--bulma-hero-background-l) - 5%)) 100%)}}.hero.is-small .hero-body{padding:var(--bulma-hero-body-padding-small)}@media print,screen and (min-width:769px){.hero.is-medium .hero-body{padding:var(--bulma-hero-body-padding-medium)}.hero.is-large .hero-body{padding:var(--bulma-hero-body-padding-large)}}.hero.is-fullheight .hero-body,.hero.is-fullheight-with-navbar .hero-body,.hero.is-halfheight .hero-body{align-items:center;display:flex}.hero.is-fullheight .hero-body>.container,.hero.is-fullheight-with-navbar .hero-body>.container,.hero.is-halfheight .hero-body>.container{flex-grow:1;flex-shrink:1}.hero.is-halfheight{min-height:50vh}.hero.is-fullheight{min-height:100vh}.hero-video{overflow:hidden}.hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0)}.hero-video.is-transparent{opacity:.3}@media screen and (max-width:768px){.hero-video{display:none}}.hero-buttons{margin-top:1.5rem}@media screen and (max-width:768px){.hero-buttons .button{display:flex}.hero-buttons .button:not(:last-child){margin-bottom:.75rem}}@media print,screen and (min-width:769px){.hero-buttons{display:flex;justify-content:center}.hero-buttons .button:not(:last-child){margin-inline-end:1.5rem}}.hero-foot,.hero-head{flex-grow:0;flex-shrink:0}.hero-body{flex-grow:1;flex-shrink:0;padding:var(--bulma-hero-body-padding)}@media print,screen and (min-width:769px){.hero-body{padding:var(--bulma-hero-body-padding-tablet)}}.level{--bulma-level-item-spacing:calc(var(--bulma-block-spacing)*0.5);align-items:center;display:flex;flex-direction:column;gap:var(--bulma-level-item-spacing);justify-content:space-between}.level code{border-radius:var(--bulma-radius)}.level img{display:inline-block;vertical-align:top}.level.is-mobile{display:flex;flex-direction:row}.level.is-mobile .level-left,.level.is-mobile .level-right{display:flex}.level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media print,screen and (min-width:769px){.level{display:flex;flex-direction:row}.level>.level-item:not(.is-narrow){flex-grow:1}}.level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.level-item .subtitle,.level-item .title{margin-bottom:0}.level-left,.level-right{flex-basis:auto;flex-grow:0;flex-shrink:0;gap:calc(var(--bulma-block-spacing)*.5)}.level-left .level-item.is-flexible,.level-right .level-item.is-flexible{flex-grow:1}.level-left{align-items:center;display:flex;flex-direction:column;justify-content:flex-start}@media print,screen and (min-width:769px){.level-left{flex-direction:row}}.level-right{align-items:center;display:flex;flex-direction:column;justify-content:flex-end}@media print,screen and (min-width:769px){.level-right{flex-direction:row}}.media{--bulma-media-border-color:hsla(var(--bulma-scheme-h),var(--bulma-scheme-s),var(--bulma-border-l),0.5);--bulma-media-border-size:1px;--bulma-media-spacing:1rem;--bulma-media-spacing-large:1.5rem;--bulma-media-content-spacing:0.75rem;--bulma-media-level-1-spacing:0.75rem;--bulma-media-level-1-content-spacing:0.5rem;--bulma-media-level-2-spacing:0.5rem;align-items:flex-start;display:flex;text-align:inherit}.media .content:not(:last-child){margin-bottom:var(--bulma-media-content-spacing)}.media .media{border-top:var(--bulma-media-border-size) solid var(--bulma-media-border-color);display:flex;padding-top:var(--bulma-media-level-1-spacing)}.media .media .content:not(:last-child),.media .media .control:not(:last-child){margin-bottom:var(--bulma-media-level-1-content-spacing)}.media .media .media{padding-top:var(--bulma-media-level-2-spacing)}.media .media .media+.media{margin-top:var(--bulma-media-level-2-spacing)}.media+.media{border-top:var(--bulma-media-border-size) solid var(--bulma-media-border-color);margin-top:var(--bulma-media-spacing);padding-top:var(--bulma-media-spacing)}.media.is-large+.media{margin-top:var(--bulma-media-spacing-large);padding-top:var(--bulma-media-spacing-large)}.media-left,.media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-inline-end:var(--bulma-media-spacing)}.media-right{margin-inline-start:var(--bulma-media-spacing)}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:inherit}@media screen and (max-width:768px){.media-content{overflow-x:auto}}.section{--bulma-section-padding:3rem 1.5rem;--bulma-section-padding-desktop:3rem 3rem;--bulma-section-padding-medium:9rem 4.5rem;--bulma-section-padding-large:18rem 6rem;padding:var(--bulma-section-padding)}@media screen and (min-width:1024px){.section{padding:var(--bulma-section-padding-desktop)}.section.is-medium{padding:var(--bulma-section-padding-medium)}.section.is-large{padding:var(--bulma-section-padding-large)}}.section.is-fullheight{min-height:100vh}:root{--bulma-skeleton-background:var(--bulma-border);--bulma-skeleton-radius:var(--bulma-radius-small);--bulma-skeleton-block-min-height:4.5em;--bulma-skeleton-lines-gap:0.75em;--bulma-skeleton-line-height:0.75em}.has-skeleton:after,.is-skeleton,.skeleton-block,.skeleton-lines>div{animation-duration:2s;animation-iteration-count:infinite;animation-name:pulsate;animation-timing-function:cubic-bezier(.4,0,.6,1);background-color:var(--bulma-skeleton-background);border-radius:var(--bulma-skeleton-radius);box-shadow:none;pointer-events:none}.is-skeleton{color:transparent!important}.is-skeleton em,.is-skeleton strong{color:inherit}.is-skeleton img{visibility:hidden}.is-skeleton.checkbox input{opacity:0}.is-skeleton.delete{border-radius:var(--bulma-radius-rounded)}.is-skeleton.delete:after,.is-skeleton.delete:before{display:none}input.is-skeleton,textarea.is-skeleton{resize:none}input.is-skeleton::-moz-placeholder,textarea.is-skeleton::-moz-placeholder{color:transparent!important}input.is-skeleton::-webkit-input-placeholder,textarea.is-skeleton::-webkit-input-placeholder{color:transparent!important}input.is-skeleton:-moz-placeholder,textarea.is-skeleton:-moz-placeholder{color:transparent!important}input.is-skeleton:-ms-input-placeholder,textarea.is-skeleton:-ms-input-placeholder{color:transparent!important}.has-skeleton{color:transparent!important;position:relative}.has-skeleton:after{content:"";display:block;height:100%;left:0;max-width:100%;min-width:10%;position:absolute;top:0;width:7em}.skeleton-block{color:transparent!important;min-height:var(--bulma-skeleton-block-min-height)}.skeleton-lines{color:transparent!important;display:flex;flex-direction:column;gap:var(--bulma-skeleton-lines-gap);position:relative}.skeleton-lines>div{height:var(--bulma-skeleton-line-height)}.skeleton-lines>div:last-child{min-width:4em;width:30%}.is-aspect-ratio-1by1{aspect-ratio:1/1}.is-aspect-ratio-5by4{aspect-ratio:5/4}.is-aspect-ratio-4by3{aspect-ratio:4/3}.is-aspect-ratio-3by2{aspect-ratio:3/2}.is-aspect-ratio-5by3{aspect-ratio:5/3}.is-aspect-ratio-16by9{aspect-ratio:16/9}.is-aspect-ratio-2by1{aspect-ratio:2/1}.is-aspect-ratio-3by1{aspect-ratio:3/1}.is-aspect-ratio-4by5{aspect-ratio:4/5}.is-aspect-ratio-3by4{aspect-ratio:3/4}.is-aspect-ratio-2by3{aspect-ratio:2/3}.is-aspect-ratio-3by5{aspect-ratio:3/5}.is-aspect-ratio-9by16{aspect-ratio:9/16}.is-aspect-ratio-1by2{aspect-ratio:1/2}.is-aspect-ratio-1by3{aspect-ratio:1/3}.has-radius-small{border-radius:var(--bulma-radius-small)}.has-radius-normal{border-radius:var(--bulma-radius)}.has-radius-large{border-radius:var(--bulma-radius-large)}.has-radius-rounded{border-radius:var(--bulma-radius-rounded)}.has-background{background-color:var(--bulma-background)}.has-text-white{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-l))!important}.has-background-white{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-l))!important}.has-text-white-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-invert-l))!important}.has-background-white-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-invert-l))!important}.has-text-white-on-scheme{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-on-scheme-l))!important}.has-background-white-on-scheme{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-on-scheme-l))!important}.has-text-white-light{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-light-l))!important}.has-background-white-light{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-light-l))!important}.has-text-white-light-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-light-invert-l))!important}.has-background-white-light-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-light-invert-l))!important}.has-text-white-dark{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-dark-l))!important}.has-background-white-dark{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-dark-l))!important}.has-text-white-dark-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-dark-invert-l))!important}.has-background-white-dark-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-dark-invert-l))!important}.has-text-white-soft{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-soft-l))!important}.has-background-white-soft{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-soft-l))!important}.has-text-white-bold{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-bold-l))!important}.has-background-white-bold{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-bold-l))!important}.has-text-white-soft-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-soft-invert-l))!important}.has-background-white-soft-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-soft-invert-l))!important}.has-text-white-bold-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-bold-invert-l))!important}.has-background-white-bold-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-bold-invert-l))!important}.has-text-white-00{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-00-l))!important}.has-background-white-00{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-00-l))!important}.has-text-white-00-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-00-invert-l))!important}.has-background-white-00-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-00-invert-l))!important}.has-text-white-05{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-05-l))!important}.has-background-white-05{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-05-l))!important}.has-text-white-05-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-05-invert-l))!important}.has-background-white-05-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-05-invert-l))!important}.has-text-white-10{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-10-l))!important}.has-background-white-10{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-10-l))!important}.has-text-white-10-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-10-invert-l))!important}.has-background-white-10-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-10-invert-l))!important}.has-text-white-15{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-15-l))!important}.has-background-white-15{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-15-l))!important}.has-text-white-15-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-15-invert-l))!important}.has-background-white-15-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-15-invert-l))!important}.has-text-white-20{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-20-l))!important}.has-background-white-20{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-20-l))!important}.has-text-white-20-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-20-invert-l))!important}.has-background-white-20-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-20-invert-l))!important}.has-text-white-25{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-25-l))!important}.has-background-white-25{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-25-l))!important}.has-text-white-25-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-25-invert-l))!important}.has-background-white-25-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-25-invert-l))!important}.has-text-white-30{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-30-l))!important}.has-background-white-30{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-30-l))!important}.has-text-white-30-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-30-invert-l))!important}.has-background-white-30-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-30-invert-l))!important}.has-text-white-35{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-35-l))!important}.has-background-white-35{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-35-l))!important}.has-text-white-35-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-35-invert-l))!important}.has-background-white-35-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-35-invert-l))!important}.has-text-white-40{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-40-l))!important}.has-background-white-40{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-40-l))!important}.has-text-white-40-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-40-invert-l))!important}.has-background-white-40-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-40-invert-l))!important}.has-text-white-45{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-45-l))!important}.has-background-white-45{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-45-l))!important}.has-text-white-45-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-45-invert-l))!important}.has-background-white-45-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-45-invert-l))!important}.has-text-white-50{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-50-l))!important}.has-background-white-50{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-50-l))!important}.has-text-white-50-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-50-invert-l))!important}.has-background-white-50-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-50-invert-l))!important}.has-text-white-55{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-55-l))!important}.has-background-white-55{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-55-l))!important}.has-text-white-55-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-55-invert-l))!important}.has-background-white-55-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-55-invert-l))!important}.has-text-white-60{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-60-l))!important}.has-background-white-60{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-60-l))!important}.has-text-white-60-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-60-invert-l))!important}.has-background-white-60-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-60-invert-l))!important}.has-text-white-65{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-65-l))!important}.has-background-white-65{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-65-l))!important}.has-text-white-65-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-65-invert-l))!important}.has-background-white-65-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-65-invert-l))!important}.has-text-white-70{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-70-l))!important}.has-background-white-70{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-70-l))!important}.has-text-white-70-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-70-invert-l))!important}.has-background-white-70-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-70-invert-l))!important}.has-text-white-75{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-75-l))!important}.has-background-white-75{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-75-l))!important}.has-text-white-75-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-75-invert-l))!important}.has-background-white-75-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-75-invert-l))!important}.has-text-white-80{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-80-l))!important}.has-background-white-80{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-80-l))!important}.has-text-white-80-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-80-invert-l))!important}.has-background-white-80-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-80-invert-l))!important}.has-text-white-85{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-85-l))!important}.has-background-white-85{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-85-l))!important}.has-text-white-85-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-85-invert-l))!important}.has-background-white-85-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-85-invert-l))!important}.has-text-white-90{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-90-l))!important}.has-background-white-90{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-90-l))!important}.has-text-white-90-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-90-invert-l))!important}.has-background-white-90-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-90-invert-l))!important}.has-text-white-95{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-95-l))!important}.has-background-white-95{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-95-l))!important}.has-text-white-95-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-95-invert-l))!important}.has-background-white-95-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-95-invert-l))!important}.has-text-white-100{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-100-l))!important}.has-background-white-100{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-100-l))!important}.has-text-white-100-invert{color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-100-invert-l))!important}.has-background-white-100-invert{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),var(--bulma-white-100-invert-l))!important}a.has-text-white:focus-visible,a.has-text-white:hover,button.has-text-white:focus-visible,button.has-text-white:hover,has-text-white.is-hoverable:focus-visible,has-text-white.is-hoverable:hover{color:hsl(var(--bulma-white-h),var(--bulma-white-s),calc(var(--bulma-white-l) + var(--bulma-hover-color-l-delta)))!important}a.has-text-white:active,button.has-text-white:active,has-text-white.is-hoverable:active{color:hsl(var(--bulma-white-h),var(--bulma-white-s),calc(var(--bulma-white-l) + var(--bulma-active-color-l-delta)))!important}a.has-background-white:focus-visible,a.has-background-white:hover,button.has-background-white:focus-visible,button.has-background-white:hover,has-background-white.is-hoverable:focus-visible,has-background-white.is-hoverable:hover{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),calc(var(--bulma-white-l) + var(--bulma-hover-background-l-delta)))!important}a.has-background-white:active,button.has-background-white:active,has-background-white.is-hoverable:active{background-color:hsl(var(--bulma-white-h),var(--bulma-white-s),calc(var(--bulma-white-l) + var(--bulma-active-background-l-delta)))!important}.is-palette-white{--h:var(--bulma-white-h);--s:var(--bulma-white-s);--l:var(--bulma-white-l);--color:hsl(var(--h),var(--s),var(--l));--00-l:var(--bulma-white-00-l);--color-00:hsl(var(--h),var(--s),var(--00-l));--05-l:var(--bulma-white-05-l);--color-05:hsl(var(--h),var(--s),var(--05-l));--10-l:var(--bulma-white-10-l);--color-10:hsl(var(--h),var(--s),var(--10-l));--15-l:var(--bulma-white-15-l);--color-15:hsl(var(--h),var(--s),var(--15-l));--20-l:var(--bulma-white-20-l);--color-20:hsl(var(--h),var(--s),var(--20-l));--25-l:var(--bulma-white-25-l);--color-25:hsl(var(--h),var(--s),var(--25-l));--30-l:var(--bulma-white-30-l);--color-30:hsl(var(--h),var(--s),var(--30-l));--35-l:var(--bulma-white-35-l);--color-35:hsl(var(--h),var(--s),var(--35-l));--40-l:var(--bulma-white-40-l);--color-40:hsl(var(--h),var(--s),var(--40-l));--45-l:var(--bulma-white-45-l);--color-45:hsl(var(--h),var(--s),var(--45-l));--50-l:var(--bulma-white-50-l);--color-50:hsl(var(--h),var(--s),var(--50-l));--55-l:var(--bulma-white-55-l);--color-55:hsl(var(--h),var(--s),var(--55-l));--60-l:var(--bulma-white-60-l);--color-60:hsl(var(--h),var(--s),var(--60-l));--65-l:var(--bulma-white-65-l);--color-65:hsl(var(--h),var(--s),var(--65-l));--70-l:var(--bulma-white-70-l);--color-70:hsl(var(--h),var(--s),var(--70-l));--75-l:var(--bulma-white-75-l);--color-75:hsl(var(--h),var(--s),var(--75-l));--80-l:var(--bulma-white-80-l);--color-80:hsl(var(--h),var(--s),var(--80-l));--85-l:var(--bulma-white-85-l);--color-85:hsl(var(--h),var(--s),var(--85-l));--90-l:var(--bulma-white-90-l);--color-90:hsl(var(--h),var(--s),var(--90-l));--95-l:var(--bulma-white-95-l);--color-95:hsl(var(--h),var(--s),var(--95-l));--100-l:var(--bulma-white-100-l);--color-100:hsl(var(--h),var(--s),var(--100-l))}.has-text-black{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-l))!important}.has-background-black{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-l))!important}.has-text-black-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-invert-l))!important}.has-background-black-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-invert-l))!important}.has-text-black-on-scheme{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-on-scheme-l))!important}.has-background-black-on-scheme{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-on-scheme-l))!important}.has-text-black-light{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-light-l))!important}.has-background-black-light{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-light-l))!important}.has-text-black-light-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-light-invert-l))!important}.has-background-black-light-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-light-invert-l))!important}.has-text-black-dark{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-dark-l))!important}.has-background-black-dark{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-dark-l))!important}.has-text-black-dark-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-dark-invert-l))!important}.has-background-black-dark-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-dark-invert-l))!important}.has-text-black-soft{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-soft-l))!important}.has-background-black-soft{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-soft-l))!important}.has-text-black-bold{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-bold-l))!important}.has-background-black-bold{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-bold-l))!important}.has-text-black-soft-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-soft-invert-l))!important}.has-background-black-soft-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-soft-invert-l))!important}.has-text-black-bold-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-bold-invert-l))!important}.has-background-black-bold-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-bold-invert-l))!important}.has-text-black-00{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-00-l))!important}.has-background-black-00{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-00-l))!important}.has-text-black-00-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-00-invert-l))!important}.has-background-black-00-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-00-invert-l))!important}.has-text-black-05{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-05-l))!important}.has-background-black-05{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-05-l))!important}.has-text-black-05-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-05-invert-l))!important}.has-background-black-05-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-05-invert-l))!important}.has-text-black-10{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-10-l))!important}.has-background-black-10{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-10-l))!important}.has-text-black-10-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-10-invert-l))!important}.has-background-black-10-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-10-invert-l))!important}.has-text-black-15{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-15-l))!important}.has-background-black-15{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-15-l))!important}.has-text-black-15-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-15-invert-l))!important}.has-background-black-15-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-15-invert-l))!important}.has-text-black-20{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-20-l))!important}.has-background-black-20{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-20-l))!important}.has-text-black-20-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-20-invert-l))!important}.has-background-black-20-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-20-invert-l))!important}.has-text-black-25{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-25-l))!important}.has-background-black-25{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-25-l))!important}.has-text-black-25-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-25-invert-l))!important}.has-background-black-25-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-25-invert-l))!important}.has-text-black-30{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-30-l))!important}.has-background-black-30{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-30-l))!important}.has-text-black-30-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-30-invert-l))!important}.has-background-black-30-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-30-invert-l))!important}.has-text-black-35{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-35-l))!important}.has-background-black-35{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-35-l))!important}.has-text-black-35-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-35-invert-l))!important}.has-background-black-35-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-35-invert-l))!important}.has-text-black-40{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-40-l))!important}.has-background-black-40{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-40-l))!important}.has-text-black-40-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-40-invert-l))!important}.has-background-black-40-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-40-invert-l))!important}.has-text-black-45{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-45-l))!important}.has-background-black-45{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-45-l))!important}.has-text-black-45-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-45-invert-l))!important}.has-background-black-45-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-45-invert-l))!important}.has-text-black-50{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-50-l))!important}.has-background-black-50{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-50-l))!important}.has-text-black-50-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-50-invert-l))!important}.has-background-black-50-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-50-invert-l))!important}.has-text-black-55{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-55-l))!important}.has-background-black-55{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-55-l))!important}.has-text-black-55-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-55-invert-l))!important}.has-background-black-55-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-55-invert-l))!important}.has-text-black-60{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-60-l))!important}.has-background-black-60{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-60-l))!important}.has-text-black-60-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-60-invert-l))!important}.has-background-black-60-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-60-invert-l))!important}.has-text-black-65{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-65-l))!important}.has-background-black-65{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-65-l))!important}.has-text-black-65-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-65-invert-l))!important}.has-background-black-65-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-65-invert-l))!important}.has-text-black-70{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-70-l))!important}.has-background-black-70{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-70-l))!important}.has-text-black-70-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-70-invert-l))!important}.has-background-black-70-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-70-invert-l))!important}.has-text-black-75{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-75-l))!important}.has-background-black-75{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-75-l))!important}.has-text-black-75-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-75-invert-l))!important}.has-background-black-75-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-75-invert-l))!important}.has-text-black-80{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-80-l))!important}.has-background-black-80{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-80-l))!important}.has-text-black-80-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-80-invert-l))!important}.has-background-black-80-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-80-invert-l))!important}.has-text-black-85{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-85-l))!important}.has-background-black-85{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-85-l))!important}.has-text-black-85-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-85-invert-l))!important}.has-background-black-85-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-85-invert-l))!important}.has-text-black-90{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-90-l))!important}.has-background-black-90{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-90-l))!important}.has-text-black-90-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-90-invert-l))!important}.has-background-black-90-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-90-invert-l))!important}.has-text-black-95{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-95-l))!important}.has-background-black-95{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-95-l))!important}.has-text-black-95-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-95-invert-l))!important}.has-background-black-95-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-95-invert-l))!important}.has-text-black-100{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-100-l))!important}.has-background-black-100{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-100-l))!important}.has-text-black-100-invert{color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-100-invert-l))!important}.has-background-black-100-invert{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),var(--bulma-black-100-invert-l))!important}a.has-text-black:focus-visible,a.has-text-black:hover,button.has-text-black:focus-visible,button.has-text-black:hover,has-text-black.is-hoverable:focus-visible,has-text-black.is-hoverable:hover{color:hsl(var(--bulma-black-h),var(--bulma-black-s),calc(var(--bulma-black-l) + var(--bulma-hover-color-l-delta)))!important}a.has-text-black:active,button.has-text-black:active,has-text-black.is-hoverable:active{color:hsl(var(--bulma-black-h),var(--bulma-black-s),calc(var(--bulma-black-l) + var(--bulma-active-color-l-delta)))!important}a.has-background-black:focus-visible,a.has-background-black:hover,button.has-background-black:focus-visible,button.has-background-black:hover,has-background-black.is-hoverable:focus-visible,has-background-black.is-hoverable:hover{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),calc(var(--bulma-black-l) + var(--bulma-hover-background-l-delta)))!important}a.has-background-black:active,button.has-background-black:active,has-background-black.is-hoverable:active{background-color:hsl(var(--bulma-black-h),var(--bulma-black-s),calc(var(--bulma-black-l) + var(--bulma-active-background-l-delta)))!important}.is-palette-black{--h:var(--bulma-black-h);--s:var(--bulma-black-s);--l:var(--bulma-black-l);--color:hsl(var(--h),var(--s),var(--l));--00-l:var(--bulma-black-00-l);--color-00:hsl(var(--h),var(--s),var(--00-l));--05-l:var(--bulma-black-05-l);--color-05:hsl(var(--h),var(--s),var(--05-l));--10-l:var(--bulma-black-10-l);--color-10:hsl(var(--h),var(--s),var(--10-l));--15-l:var(--bulma-black-15-l);--color-15:hsl(var(--h),var(--s),var(--15-l));--20-l:var(--bulma-black-20-l);--color-20:hsl(var(--h),var(--s),var(--20-l));--25-l:var(--bulma-black-25-l);--color-25:hsl(var(--h),var(--s),var(--25-l));--30-l:var(--bulma-black-30-l);--color-30:hsl(var(--h),var(--s),var(--30-l));--35-l:var(--bulma-black-35-l);--color-35:hsl(var(--h),var(--s),var(--35-l));--40-l:var(--bulma-black-40-l);--color-40:hsl(var(--h),var(--s),var(--40-l));--45-l:var(--bulma-black-45-l);--color-45:hsl(var(--h),var(--s),var(--45-l));--50-l:var(--bulma-black-50-l);--color-50:hsl(var(--h),var(--s),var(--50-l));--55-l:var(--bulma-black-55-l);--color-55:hsl(var(--h),var(--s),var(--55-l));--60-l:var(--bulma-black-60-l);--color-60:hsl(var(--h),var(--s),var(--60-l));--65-l:var(--bulma-black-65-l);--color-65:hsl(var(--h),var(--s),var(--65-l));--70-l:var(--bulma-black-70-l);--color-70:hsl(var(--h),var(--s),var(--70-l));--75-l:var(--bulma-black-75-l);--color-75:hsl(var(--h),var(--s),var(--75-l));--80-l:var(--bulma-black-80-l);--color-80:hsl(var(--h),var(--s),var(--80-l));--85-l:var(--bulma-black-85-l);--color-85:hsl(var(--h),var(--s),var(--85-l));--90-l:var(--bulma-black-90-l);--color-90:hsl(var(--h),var(--s),var(--90-l));--95-l:var(--bulma-black-95-l);--color-95:hsl(var(--h),var(--s),var(--95-l));--100-l:var(--bulma-black-100-l);--color-100:hsl(var(--h),var(--s),var(--100-l))}.has-text-light{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-l))!important}.has-background-light{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-l))!important}.has-text-light-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-invert-l))!important}.has-background-light-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-invert-l))!important}.has-text-light-on-scheme{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-on-scheme-l))!important}.has-background-light-on-scheme{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-on-scheme-l))!important}.has-text-light-light{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-light-l))!important}.has-background-light-light{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-light-l))!important}.has-text-light-light-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-light-invert-l))!important}.has-background-light-light-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-light-invert-l))!important}.has-text-light-dark{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-dark-l))!important}.has-background-light-dark{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-dark-l))!important}.has-text-light-dark-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-dark-invert-l))!important}.has-background-light-dark-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-dark-invert-l))!important}.has-text-light-soft{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-soft-l))!important}.has-background-light-soft{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-soft-l))!important}.has-text-light-bold{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-bold-l))!important}.has-background-light-bold{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-bold-l))!important}.has-text-light-soft-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-soft-invert-l))!important}.has-background-light-soft-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-soft-invert-l))!important}.has-text-light-bold-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-bold-invert-l))!important}.has-background-light-bold-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-bold-invert-l))!important}.has-text-light-00{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-00-l))!important}.has-background-light-00{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-00-l))!important}.has-text-light-00-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-00-invert-l))!important}.has-background-light-00-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-00-invert-l))!important}.has-text-light-05{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-05-l))!important}.has-background-light-05{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-05-l))!important}.has-text-light-05-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-05-invert-l))!important}.has-background-light-05-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-05-invert-l))!important}.has-text-light-10{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-10-l))!important}.has-background-light-10{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-10-l))!important}.has-text-light-10-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-10-invert-l))!important}.has-background-light-10-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-10-invert-l))!important}.has-text-light-15{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-15-l))!important}.has-background-light-15{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-15-l))!important}.has-text-light-15-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-15-invert-l))!important}.has-background-light-15-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-15-invert-l))!important}.has-text-light-20{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-20-l))!important}.has-background-light-20{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-20-l))!important}.has-text-light-20-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-20-invert-l))!important}.has-background-light-20-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-20-invert-l))!important}.has-text-light-25{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-25-l))!important}.has-background-light-25{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-25-l))!important}.has-text-light-25-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-25-invert-l))!important}.has-background-light-25-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-25-invert-l))!important}.has-text-light-30{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-30-l))!important}.has-background-light-30{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-30-l))!important}.has-text-light-30-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-30-invert-l))!important}.has-background-light-30-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-30-invert-l))!important}.has-text-light-35{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-35-l))!important}.has-background-light-35{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-35-l))!important}.has-text-light-35-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-35-invert-l))!important}.has-background-light-35-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-35-invert-l))!important}.has-text-light-40{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-40-l))!important}.has-background-light-40{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-40-l))!important}.has-text-light-40-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-40-invert-l))!important}.has-background-light-40-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-40-invert-l))!important}.has-text-light-45{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-45-l))!important}.has-background-light-45{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-45-l))!important}.has-text-light-45-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-45-invert-l))!important}.has-background-light-45-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-45-invert-l))!important}.has-text-light-50{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-50-l))!important}.has-background-light-50{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-50-l))!important}.has-text-light-50-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-50-invert-l))!important}.has-background-light-50-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-50-invert-l))!important}.has-text-light-55{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-55-l))!important}.has-background-light-55{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-55-l))!important}.has-text-light-55-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-55-invert-l))!important}.has-background-light-55-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-55-invert-l))!important}.has-text-light-60{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-60-l))!important}.has-background-light-60{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-60-l))!important}.has-text-light-60-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-60-invert-l))!important}.has-background-light-60-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-60-invert-l))!important}.has-text-light-65{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-65-l))!important}.has-background-light-65{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-65-l))!important}.has-text-light-65-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-65-invert-l))!important}.has-background-light-65-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-65-invert-l))!important}.has-text-light-70{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-70-l))!important}.has-background-light-70{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-70-l))!important}.has-text-light-70-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-70-invert-l))!important}.has-background-light-70-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-70-invert-l))!important}.has-text-light-75{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-75-l))!important}.has-background-light-75{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-75-l))!important}.has-text-light-75-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-75-invert-l))!important}.has-background-light-75-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-75-invert-l))!important}.has-text-light-80{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-80-l))!important}.has-background-light-80{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-80-l))!important}.has-text-light-80-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-80-invert-l))!important}.has-background-light-80-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-80-invert-l))!important}.has-text-light-85{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-85-l))!important}.has-background-light-85{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-85-l))!important}.has-text-light-85-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-85-invert-l))!important}.has-background-light-85-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-85-invert-l))!important}.has-text-light-90{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-90-l))!important}.has-background-light-90{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-90-l))!important}.has-text-light-90-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-90-invert-l))!important}.has-background-light-90-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-90-invert-l))!important}.has-text-light-95{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-95-l))!important}.has-background-light-95{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-95-l))!important}.has-text-light-95-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-95-invert-l))!important}.has-background-light-95-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-95-invert-l))!important}.has-text-light-100{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-100-l))!important}.has-background-light-100{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-100-l))!important}.has-text-light-100-invert{color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-100-invert-l))!important}.has-background-light-100-invert{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),var(--bulma-light-100-invert-l))!important}a.has-text-light:focus-visible,a.has-text-light:hover,button.has-text-light:focus-visible,button.has-text-light:hover,has-text-light.is-hoverable:focus-visible,has-text-light.is-hoverable:hover{color:hsl(var(--bulma-light-h),var(--bulma-light-s),calc(var(--bulma-light-l) + var(--bulma-hover-color-l-delta)))!important}a.has-text-light:active,button.has-text-light:active,has-text-light.is-hoverable:active{color:hsl(var(--bulma-light-h),var(--bulma-light-s),calc(var(--bulma-light-l) + var(--bulma-active-color-l-delta)))!important}a.has-background-light:focus-visible,a.has-background-light:hover,button.has-background-light:focus-visible,button.has-background-light:hover,has-background-light.is-hoverable:focus-visible,has-background-light.is-hoverable:hover{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),calc(var(--bulma-light-l) + var(--bulma-hover-background-l-delta)))!important}a.has-background-light:active,button.has-background-light:active,has-background-light.is-hoverable:active{background-color:hsl(var(--bulma-light-h),var(--bulma-light-s),calc(var(--bulma-light-l) + var(--bulma-active-background-l-delta)))!important}.is-palette-light{--h:var(--bulma-light-h);--s:var(--bulma-light-s);--l:var(--bulma-light-l);--color:hsl(var(--h),var(--s),var(--l));--00-l:var(--bulma-light-00-l);--color-00:hsl(var(--h),var(--s),var(--00-l));--05-l:var(--bulma-light-05-l);--color-05:hsl(var(--h),var(--s),var(--05-l));--10-l:var(--bulma-light-10-l);--color-10:hsl(var(--h),var(--s),var(--10-l));--15-l:var(--bulma-light-15-l);--color-15:hsl(var(--h),var(--s),var(--15-l));--20-l:var(--bulma-light-20-l);--color-20:hsl(var(--h),var(--s),var(--20-l));--25-l:var(--bulma-light-25-l);--color-25:hsl(var(--h),var(--s),var(--25-l));--30-l:var(--bulma-light-30-l);--color-30:hsl(var(--h),var(--s),var(--30-l));--35-l:var(--bulma-light-35-l);--color-35:hsl(var(--h),var(--s),var(--35-l));--40-l:var(--bulma-light-40-l);--color-40:hsl(var(--h),var(--s),var(--40-l));--45-l:var(--bulma-light-45-l);--color-45:hsl(var(--h),var(--s),var(--45-l));--50-l:var(--bulma-light-50-l);--color-50:hsl(var(--h),var(--s),var(--50-l));--55-l:var(--bulma-light-55-l);--color-55:hsl(var(--h),var(--s),var(--55-l));--60-l:var(--bulma-light-60-l);--color-60:hsl(var(--h),var(--s),var(--60-l));--65-l:var(--bulma-light-65-l);--color-65:hsl(var(--h),var(--s),var(--65-l));--70-l:var(--bulma-light-70-l);--color-70:hsl(var(--h),var(--s),var(--70-l));--75-l:var(--bulma-light-75-l);--color-75:hsl(var(--h),var(--s),var(--75-l));--80-l:var(--bulma-light-80-l);--color-80:hsl(var(--h),var(--s),var(--80-l));--85-l:var(--bulma-light-85-l);--color-85:hsl(var(--h),var(--s),var(--85-l));--90-l:var(--bulma-light-90-l);--color-90:hsl(var(--h),var(--s),var(--90-l));--95-l:var(--bulma-light-95-l);--color-95:hsl(var(--h),var(--s),var(--95-l));--100-l:var(--bulma-light-100-l);--color-100:hsl(var(--h),var(--s),var(--100-l))}.has-text-dark{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-l))!important}.has-background-dark{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-l))!important}.has-text-dark-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-invert-l))!important}.has-background-dark-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-invert-l))!important}.has-text-dark-on-scheme{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-on-scheme-l))!important}.has-background-dark-on-scheme{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-on-scheme-l))!important}.has-text-dark-light{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-light-l))!important}.has-background-dark-light{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-light-l))!important}.has-text-dark-light-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-light-invert-l))!important}.has-background-dark-light-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-light-invert-l))!important}.has-text-dark-dark{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-dark-l))!important}.has-background-dark-dark{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-dark-l))!important}.has-text-dark-dark-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-dark-invert-l))!important}.has-background-dark-dark-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-dark-invert-l))!important}.has-text-dark-soft{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-soft-l))!important}.has-background-dark-soft{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-soft-l))!important}.has-text-dark-bold{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-bold-l))!important}.has-background-dark-bold{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-bold-l))!important}.has-text-dark-soft-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-soft-invert-l))!important}.has-background-dark-soft-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-soft-invert-l))!important}.has-text-dark-bold-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-bold-invert-l))!important}.has-background-dark-bold-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-bold-invert-l))!important}.has-text-dark-00{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-00-l))!important}.has-background-dark-00{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-00-l))!important}.has-text-dark-00-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-00-invert-l))!important}.has-background-dark-00-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-00-invert-l))!important}.has-text-dark-05{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-05-l))!important}.has-background-dark-05{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-05-l))!important}.has-text-dark-05-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-05-invert-l))!important}.has-background-dark-05-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-05-invert-l))!important}.has-text-dark-10{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-10-l))!important}.has-background-dark-10{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-10-l))!important}.has-text-dark-10-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-10-invert-l))!important}.has-background-dark-10-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-10-invert-l))!important}.has-text-dark-15{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-15-l))!important}.has-background-dark-15{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-15-l))!important}.has-text-dark-15-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-15-invert-l))!important}.has-background-dark-15-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-15-invert-l))!important}.has-text-dark-20{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-20-l))!important}.has-background-dark-20{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-20-l))!important}.has-text-dark-20-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-20-invert-l))!important}.has-background-dark-20-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-20-invert-l))!important}.has-text-dark-25{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-25-l))!important}.has-background-dark-25{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-25-l))!important}.has-text-dark-25-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-25-invert-l))!important}.has-background-dark-25-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-25-invert-l))!important}.has-text-dark-30{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-30-l))!important}.has-background-dark-30{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-30-l))!important}.has-text-dark-30-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-30-invert-l))!important}.has-background-dark-30-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-30-invert-l))!important}.has-text-dark-35{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-35-l))!important}.has-background-dark-35{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-35-l))!important}.has-text-dark-35-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-35-invert-l))!important}.has-background-dark-35-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-35-invert-l))!important}.has-text-dark-40{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-40-l))!important}.has-background-dark-40{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-40-l))!important}.has-text-dark-40-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-40-invert-l))!important}.has-background-dark-40-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-40-invert-l))!important}.has-text-dark-45{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-45-l))!important}.has-background-dark-45{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-45-l))!important}.has-text-dark-45-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-45-invert-l))!important}.has-background-dark-45-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-45-invert-l))!important}.has-text-dark-50{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-50-l))!important}.has-background-dark-50{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-50-l))!important}.has-text-dark-50-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-50-invert-l))!important}.has-background-dark-50-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-50-invert-l))!important}.has-text-dark-55{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-55-l))!important}.has-background-dark-55{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-55-l))!important}.has-text-dark-55-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-55-invert-l))!important}.has-background-dark-55-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-55-invert-l))!important}.has-text-dark-60{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-60-l))!important}.has-background-dark-60{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-60-l))!important}.has-text-dark-60-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-60-invert-l))!important}.has-background-dark-60-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-60-invert-l))!important}.has-text-dark-65{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-65-l))!important}.has-background-dark-65{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-65-l))!important}.has-text-dark-65-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-65-invert-l))!important}.has-background-dark-65-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-65-invert-l))!important}.has-text-dark-70{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-70-l))!important}.has-background-dark-70{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-70-l))!important}.has-text-dark-70-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-70-invert-l))!important}.has-background-dark-70-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-70-invert-l))!important}.has-text-dark-75{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-75-l))!important}.has-background-dark-75{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-75-l))!important}.has-text-dark-75-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-75-invert-l))!important}.has-background-dark-75-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-75-invert-l))!important}.has-text-dark-80{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-80-l))!important}.has-background-dark-80{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-80-l))!important}.has-text-dark-80-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-80-invert-l))!important}.has-background-dark-80-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-80-invert-l))!important}.has-text-dark-85{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-85-l))!important}.has-background-dark-85{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-85-l))!important}.has-text-dark-85-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-85-invert-l))!important}.has-background-dark-85-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-85-invert-l))!important}.has-text-dark-90{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-90-l))!important}.has-background-dark-90{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-90-l))!important}.has-text-dark-90-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-90-invert-l))!important}.has-background-dark-90-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-90-invert-l))!important}.has-text-dark-95{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-95-l))!important}.has-background-dark-95{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-95-l))!important}.has-text-dark-95-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-95-invert-l))!important}.has-background-dark-95-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-95-invert-l))!important}.has-text-dark-100{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-100-l))!important}.has-background-dark-100{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-100-l))!important}.has-text-dark-100-invert{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-100-invert-l))!important}.has-background-dark-100-invert{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),var(--bulma-dark-100-invert-l))!important}a.has-text-dark:focus-visible,a.has-text-dark:hover,button.has-text-dark:focus-visible,button.has-text-dark:hover,has-text-dark.is-hoverable:focus-visible,has-text-dark.is-hoverable:hover{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),calc(var(--bulma-dark-l) + var(--bulma-hover-color-l-delta)))!important}a.has-text-dark:active,button.has-text-dark:active,has-text-dark.is-hoverable:active{color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),calc(var(--bulma-dark-l) + var(--bulma-active-color-l-delta)))!important}a.has-background-dark:focus-visible,a.has-background-dark:hover,button.has-background-dark:focus-visible,button.has-background-dark:hover,has-background-dark.is-hoverable:focus-visible,has-background-dark.is-hoverable:hover{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),calc(var(--bulma-dark-l) + var(--bulma-hover-background-l-delta)))!important}a.has-background-dark:active,button.has-background-dark:active,has-background-dark.is-hoverable:active{background-color:hsl(var(--bulma-dark-h),var(--bulma-dark-s),calc(var(--bulma-dark-l) + var(--bulma-active-background-l-delta)))!important}.is-palette-dark{--h:var(--bulma-dark-h);--s:var(--bulma-dark-s);--l:var(--bulma-dark-l);--color:hsl(var(--h),var(--s),var(--l));--00-l:var(--bulma-dark-00-l);--color-00:hsl(var(--h),var(--s),var(--00-l));--05-l:var(--bulma-dark-05-l);--color-05:hsl(var(--h),var(--s),var(--05-l));--10-l:var(--bulma-dark-10-l);--color-10:hsl(var(--h),var(--s),var(--10-l));--15-l:var(--bulma-dark-15-l);--color-15:hsl(var(--h),var(--s),var(--15-l));--20-l:var(--bulma-dark-20-l);--color-20:hsl(var(--h),var(--s),var(--20-l));--25-l:var(--bulma-dark-25-l);--color-25:hsl(var(--h),var(--s),var(--25-l));--30-l:var(--bulma-dark-30-l);--color-30:hsl(var(--h),var(--s),var(--30-l));--35-l:var(--bulma-dark-35-l);--color-35:hsl(var(--h),var(--s),var(--35-l));--40-l:var(--bulma-dark-40-l);--color-40:hsl(var(--h),var(--s),var(--40-l));--45-l:var(--bulma-dark-45-l);--color-45:hsl(var(--h),var(--s),var(--45-l));--50-l:var(--bulma-dark-50-l);--color-50:hsl(var(--h),var(--s),var(--50-l));--55-l:var(--bulma-dark-55-l);--color-55:hsl(var(--h),var(--s),var(--55-l));--60-l:var(--bulma-dark-60-l);--color-60:hsl(var(--h),var(--s),var(--60-l));--65-l:var(--bulma-dark-65-l);--color-65:hsl(var(--h),var(--s),var(--65-l));--70-l:var(--bulma-dark-70-l);--color-70:hsl(var(--h),var(--s),var(--70-l));--75-l:var(--bulma-dark-75-l);--color-75:hsl(var(--h),var(--s),var(--75-l));--80-l:var(--bulma-dark-80-l);--color-80:hsl(var(--h),var(--s),var(--80-l));--85-l:var(--bulma-dark-85-l);--color-85:hsl(var(--h),var(--s),var(--85-l));--90-l:var(--bulma-dark-90-l);--color-90:hsl(var(--h),var(--s),var(--90-l));--95-l:var(--bulma-dark-95-l);--color-95:hsl(var(--h),var(--s),var(--95-l));--100-l:var(--bulma-dark-100-l);--color-100:hsl(var(--h),var(--s),var(--100-l))}.has-text-text{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-l))!important}.has-background-text{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-l))!important}.has-text-text-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-invert-l))!important}.has-background-text-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-invert-l))!important}.has-text-text-on-scheme{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-on-scheme-l))!important}.has-background-text-on-scheme{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-on-scheme-l))!important}.has-text-text-light{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-light-l))!important}.has-background-text-light{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-light-l))!important}.has-text-text-light-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-light-invert-l))!important}.has-background-text-light-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-light-invert-l))!important}.has-text-text-dark{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-dark-l))!important}.has-background-text-dark{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-dark-l))!important}.has-text-text-dark-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-dark-invert-l))!important}.has-background-text-dark-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-dark-invert-l))!important}.has-text-text-soft{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-soft-l))!important}.has-background-text-soft{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-soft-l))!important}.has-text-text-bold{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-bold-l))!important}.has-background-text-bold{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-bold-l))!important}.has-text-text-soft-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-soft-invert-l))!important}.has-background-text-soft-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-soft-invert-l))!important}.has-text-text-bold-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-bold-invert-l))!important}.has-background-text-bold-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-bold-invert-l))!important}.has-text-text-00{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-00-l))!important}.has-background-text-00{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-00-l))!important}.has-text-text-00-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-00-invert-l))!important}.has-background-text-00-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-00-invert-l))!important}.has-text-text-05{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-05-l))!important}.has-background-text-05{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-05-l))!important}.has-text-text-05-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-05-invert-l))!important}.has-background-text-05-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-05-invert-l))!important}.has-text-text-10{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-10-l))!important}.has-background-text-10{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-10-l))!important}.has-text-text-10-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-10-invert-l))!important}.has-background-text-10-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-10-invert-l))!important}.has-text-text-15{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-15-l))!important}.has-background-text-15{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-15-l))!important}.has-text-text-15-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-15-invert-l))!important}.has-background-text-15-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-15-invert-l))!important}.has-text-text-20{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-20-l))!important}.has-background-text-20{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-20-l))!important}.has-text-text-20-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-20-invert-l))!important}.has-background-text-20-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-20-invert-l))!important}.has-text-text-25{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-25-l))!important}.has-background-text-25{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-25-l))!important}.has-text-text-25-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-25-invert-l))!important}.has-background-text-25-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-25-invert-l))!important}.has-text-text-30{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-30-l))!important}.has-background-text-30{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-30-l))!important}.has-text-text-30-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-30-invert-l))!important}.has-background-text-30-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-30-invert-l))!important}.has-text-text-35{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-35-l))!important}.has-background-text-35{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-35-l))!important}.has-text-text-35-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-35-invert-l))!important}.has-background-text-35-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-35-invert-l))!important}.has-text-text-40{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-40-l))!important}.has-background-text-40{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-40-l))!important}.has-text-text-40-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-40-invert-l))!important}.has-background-text-40-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-40-invert-l))!important}.has-text-text-45{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-45-l))!important}.has-background-text-45{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-45-l))!important}.has-text-text-45-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-45-invert-l))!important}.has-background-text-45-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-45-invert-l))!important}.has-text-text-50{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-50-l))!important}.has-background-text-50{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-50-l))!important}.has-text-text-50-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-50-invert-l))!important}.has-background-text-50-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-50-invert-l))!important}.has-text-text-55{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-55-l))!important}.has-background-text-55{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-55-l))!important}.has-text-text-55-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-55-invert-l))!important}.has-background-text-55-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-55-invert-l))!important}.has-text-text-60{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-60-l))!important}.has-background-text-60{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-60-l))!important}.has-text-text-60-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-60-invert-l))!important}.has-background-text-60-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-60-invert-l))!important}.has-text-text-65{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-65-l))!important}.has-background-text-65{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-65-l))!important}.has-text-text-65-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-65-invert-l))!important}.has-background-text-65-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-65-invert-l))!important}.has-text-text-70{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-70-l))!important}.has-background-text-70{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-70-l))!important}.has-text-text-70-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-70-invert-l))!important}.has-background-text-70-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-70-invert-l))!important}.has-text-text-75{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-75-l))!important}.has-background-text-75{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-75-l))!important}.has-text-text-75-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-75-invert-l))!important}.has-background-text-75-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-75-invert-l))!important}.has-text-text-80{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-80-l))!important}.has-background-text-80{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-80-l))!important}.has-text-text-80-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-80-invert-l))!important}.has-background-text-80-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-80-invert-l))!important}.has-text-text-85{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-85-l))!important}.has-background-text-85{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-85-l))!important}.has-text-text-85-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-85-invert-l))!important}.has-background-text-85-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-85-invert-l))!important}.has-text-text-90{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-90-l))!important}.has-background-text-90{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-90-l))!important}.has-text-text-90-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-90-invert-l))!important}.has-background-text-90-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-90-invert-l))!important}.has-text-text-95{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-95-l))!important}.has-background-text-95{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-95-l))!important}.has-text-text-95-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-95-invert-l))!important}.has-background-text-95-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-95-invert-l))!important}.has-text-text-100{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-100-l))!important}.has-background-text-100{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-100-l))!important}.has-text-text-100-invert{color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-100-invert-l))!important}.has-background-text-100-invert{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),var(--bulma-text-100-invert-l))!important}a.has-text-text:focus-visible,a.has-text-text:hover,button.has-text-text:focus-visible,button.has-text-text:hover,has-text-text.is-hoverable:focus-visible,has-text-text.is-hoverable:hover{color:hsl(var(--bulma-text-h),var(--bulma-text-s),calc(var(--bulma-text-l) + var(--bulma-hover-color-l-delta)))!important}a.has-text-text:active,button.has-text-text:active,has-text-text.is-hoverable:active{color:hsl(var(--bulma-text-h),var(--bulma-text-s),calc(var(--bulma-text-l) + var(--bulma-active-color-l-delta)))!important}a.has-background-text:focus-visible,a.has-background-text:hover,button.has-background-text:focus-visible,button.has-background-text:hover,has-background-text.is-hoverable:focus-visible,has-background-text.is-hoverable:hover{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),calc(var(--bulma-text-l) + var(--bulma-hover-background-l-delta)))!important}a.has-background-text:active,button.has-background-text:active,has-background-text.is-hoverable:active{background-color:hsl(var(--bulma-text-h),var(--bulma-text-s),calc(var(--bulma-text-l) + var(--bulma-active-background-l-delta)))!important}.is-palette-text{--h:var(--bulma-text-h);--s:var(--bulma-text-s);--l:var(--bulma-text-l);--color:hsl(var(--h),var(--s),var(--l));--00-l:var(--bulma-text-00-l);--color-00:hsl(var(--h),var(--s),var(--00-l));--05-l:var(--bulma-text-05-l);--color-05:hsl(var(--h),var(--s),var(--05-l));--10-l:var(--bulma-text-10-l);--color-10:hsl(var(--h),var(--s),var(--10-l));--15-l:var(--bulma-text-15-l);--color-15:hsl(var(--h),var(--s),var(--15-l));--20-l:var(--bulma-text-20-l);--color-20:hsl(var(--h),var(--s),var(--20-l));--25-l:var(--bulma-text-25-l);--color-25:hsl(var(--h),var(--s),var(--25-l));--30-l:var(--bulma-text-30-l);--color-30:hsl(var(--h),var(--s),var(--30-l));--35-l:var(--bulma-text-35-l);--color-35:hsl(var(--h),var(--s),var(--35-l));--40-l:var(--bulma-text-40-l);--color-40:hsl(var(--h),var(--s),var(--40-l));--45-l:var(--bulma-text-45-l);--color-45:hsl(var(--h),var(--s),var(--45-l));--50-l:var(--bulma-text-50-l);--color-50:hsl(var(--h),var(--s),var(--50-l));--55-l:var(--bulma-text-55-l);--color-55:hsl(var(--h),var(--s),var(--55-l));--60-l:var(--bulma-text-60-l);--color-60:hsl(var(--h),var(--s),var(--60-l));--65-l:var(--bulma-text-65-l);--color-65:hsl(var(--h),var(--s),var(--65-l));--70-l:var(--bulma-text-70-l);--color-70:hsl(var(--h),var(--s),var(--70-l));--75-l:var(--bulma-text-75-l);--color-75:hsl(var(--h),var(--s),var(--75-l));--80-l:var(--bulma-text-80-l);--color-80:hsl(var(--h),var(--s),var(--80-l));--85-l:var(--bulma-text-85-l);--color-85:hsl(var(--h),var(--s),var(--85-l));--90-l:var(--bulma-text-90-l);--color-90:hsl(var(--h),var(--s),var(--90-l));--95-l:var(--bulma-text-95-l);--color-95:hsl(var(--h),var(--s),var(--95-l));--100-l:var(--bulma-text-100-l);--color-100:hsl(var(--h),var(--s),var(--100-l))}.has-text-primary{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-l))!important}.has-background-primary{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-l))!important}.has-text-primary-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-invert-l))!important}.has-background-primary-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-invert-l))!important}.has-text-primary-on-scheme{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-on-scheme-l))!important}.has-background-primary-on-scheme{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-on-scheme-l))!important}.has-text-primary-light{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-light-l))!important}.has-background-primary-light{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-light-l))!important}.has-text-primary-light-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-light-invert-l))!important}.has-background-primary-light-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-light-invert-l))!important}.has-text-primary-dark{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-dark-l))!important}.has-background-primary-dark{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-dark-l))!important}.has-text-primary-dark-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-dark-invert-l))!important}.has-background-primary-dark-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-dark-invert-l))!important}.has-text-primary-soft{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-soft-l))!important}.has-background-primary-soft{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-soft-l))!important}.has-text-primary-bold{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-bold-l))!important}.has-background-primary-bold{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-bold-l))!important}.has-text-primary-soft-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-soft-invert-l))!important}.has-background-primary-soft-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-soft-invert-l))!important}.has-text-primary-bold-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-bold-invert-l))!important}.has-background-primary-bold-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-bold-invert-l))!important}.has-text-primary-00{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-00-l))!important}.has-background-primary-00{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-00-l))!important}.has-text-primary-00-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-00-invert-l))!important}.has-background-primary-00-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-00-invert-l))!important}.has-text-primary-05{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-05-l))!important}.has-background-primary-05{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-05-l))!important}.has-text-primary-05-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-05-invert-l))!important}.has-background-primary-05-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-05-invert-l))!important}.has-text-primary-10{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-10-l))!important}.has-background-primary-10{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-10-l))!important}.has-text-primary-10-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-10-invert-l))!important}.has-background-primary-10-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-10-invert-l))!important}.has-text-primary-15{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-15-l))!important}.has-background-primary-15{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-15-l))!important}.has-text-primary-15-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-15-invert-l))!important}.has-background-primary-15-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-15-invert-l))!important}.has-text-primary-20{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-20-l))!important}.has-background-primary-20{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-20-l))!important}.has-text-primary-20-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-20-invert-l))!important}.has-background-primary-20-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-20-invert-l))!important}.has-text-primary-25{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-25-l))!important}.has-background-primary-25{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-25-l))!important}.has-text-primary-25-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-25-invert-l))!important}.has-background-primary-25-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-25-invert-l))!important}.has-text-primary-30{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-30-l))!important}.has-background-primary-30{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-30-l))!important}.has-text-primary-30-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-30-invert-l))!important}.has-background-primary-30-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-30-invert-l))!important}.has-text-primary-35{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-35-l))!important}.has-background-primary-35{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-35-l))!important}.has-text-primary-35-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-35-invert-l))!important}.has-background-primary-35-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-35-invert-l))!important}.has-text-primary-40{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-40-l))!important}.has-background-primary-40{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-40-l))!important}.has-text-primary-40-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-40-invert-l))!important}.has-background-primary-40-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-40-invert-l))!important}.has-text-primary-45{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-45-l))!important}.has-background-primary-45{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-45-l))!important}.has-text-primary-45-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-45-invert-l))!important}.has-background-primary-45-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-45-invert-l))!important}.has-text-primary-50{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-50-l))!important}.has-background-primary-50{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-50-l))!important}.has-text-primary-50-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-50-invert-l))!important}.has-background-primary-50-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-50-invert-l))!important}.has-text-primary-55{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-55-l))!important}.has-background-primary-55{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-55-l))!important}.has-text-primary-55-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-55-invert-l))!important}.has-background-primary-55-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-55-invert-l))!important}.has-text-primary-60{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-60-l))!important}.has-background-primary-60{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-60-l))!important}.has-text-primary-60-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-60-invert-l))!important}.has-background-primary-60-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-60-invert-l))!important}.has-text-primary-65{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-65-l))!important}.has-background-primary-65{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-65-l))!important}.has-text-primary-65-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-65-invert-l))!important}.has-background-primary-65-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-65-invert-l))!important}.has-text-primary-70{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-70-l))!important}.has-background-primary-70{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-70-l))!important}.has-text-primary-70-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-70-invert-l))!important}.has-background-primary-70-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-70-invert-l))!important}.has-text-primary-75{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-75-l))!important}.has-background-primary-75{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-75-l))!important}.has-text-primary-75-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-75-invert-l))!important}.has-background-primary-75-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-75-invert-l))!important}.has-text-primary-80{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-80-l))!important}.has-background-primary-80{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-80-l))!important}.has-text-primary-80-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-80-invert-l))!important}.has-background-primary-80-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-80-invert-l))!important}.has-text-primary-85{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-85-l))!important}.has-background-primary-85{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-85-l))!important}.has-text-primary-85-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-85-invert-l))!important}.has-background-primary-85-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-85-invert-l))!important}.has-text-primary-90{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-90-l))!important}.has-background-primary-90{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-90-l))!important}.has-text-primary-90-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-90-invert-l))!important}.has-background-primary-90-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-90-invert-l))!important}.has-text-primary-95{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-95-l))!important}.has-background-primary-95{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-95-l))!important}.has-text-primary-95-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-95-invert-l))!important}.has-background-primary-95-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-95-invert-l))!important}.has-text-primary-100{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-100-l))!important}.has-background-primary-100{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-100-l))!important}.has-text-primary-100-invert{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-100-invert-l))!important}.has-background-primary-100-invert{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),var(--bulma-primary-100-invert-l))!important}a.has-text-primary:focus-visible,a.has-text-primary:hover,button.has-text-primary:focus-visible,button.has-text-primary:hover,has-text-primary.is-hoverable:focus-visible,has-text-primary.is-hoverable:hover{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),calc(var(--bulma-primary-l) + var(--bulma-hover-color-l-delta)))!important}a.has-text-primary:active,button.has-text-primary:active,has-text-primary.is-hoverable:active{color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),calc(var(--bulma-primary-l) + var(--bulma-active-color-l-delta)))!important}a.has-background-primary:focus-visible,a.has-background-primary:hover,button.has-background-primary:focus-visible,button.has-background-primary:hover,has-background-primary.is-hoverable:focus-visible,has-background-primary.is-hoverable:hover{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),calc(var(--bulma-primary-l) + var(--bulma-hover-background-l-delta)))!important}a.has-background-primary:active,button.has-background-primary:active,has-background-primary.is-hoverable:active{background-color:hsl(var(--bulma-primary-h),var(--bulma-primary-s),calc(var(--bulma-primary-l) + var(--bulma-active-background-l-delta)))!important}.is-palette-primary{--h:var(--bulma-primary-h);--s:var(--bulma-primary-s);--l:var(--bulma-primary-l);--color:hsl(var(--h),var(--s),var(--l));--00-l:var(--bulma-primary-00-l);--color-00:hsl(var(--h),var(--s),var(--00-l));--05-l:var(--bulma-primary-05-l);--color-05:hsl(var(--h),var(--s),var(--05-l));--10-l:var(--bulma-primary-10-l);--color-10:hsl(var(--h),var(--s),var(--10-l));--15-l:var(--bulma-primary-15-l);--color-15:hsl(var(--h),var(--s),var(--15-l));--20-l:var(--bulma-primary-20-l);--color-20:hsl(var(--h),var(--s),var(--20-l));--25-l:var(--bulma-primary-25-l);--color-25:hsl(var(--h),var(--s),var(--25-l));--30-l:var(--bulma-primary-30-l);--color-30:hsl(var(--h),var(--s),var(--30-l));--35-l:var(--bulma-primary-35-l);--color-35:hsl(var(--h),var(--s),var(--35-l));--40-l:var(--bulma-primary-40-l);--color-40:hsl(var(--h),var(--s),var(--40-l));--45-l:var(--bulma-primary-45-l);--color-45:hsl(var(--h),var(--s),var(--45-l));--50-l:var(--bulma-primary-50-l);--color-50:hsl(var(--h),var(--s),var(--50-l));--55-l:var(--bulma-primary-55-l);--color-55:hsl(var(--h),var(--s),var(--55-l));--60-l:var(--bulma-primary-60-l);--color-60:hsl(var(--h),var(--s),var(--60-l));--65-l:var(--bulma-primary-65-l);--color-65:hsl(var(--h),var(--s),var(--65-l));--70-l:var(--bulma-primary-70-l);--color-70:hsl(var(--h),var(--s),var(--70-l));--75-l:var(--bulma-primary-75-l);--color-75:hsl(var(--h),var(--s),var(--75-l));--80-l:var(--bulma-primary-80-l);--color-80:hsl(var(--h),var(--s),var(--80-l));--85-l:var(--bulma-primary-85-l);--color-85:hsl(var(--h),var(--s),var(--85-l));--90-l:var(--bulma-primary-90-l);--color-90:hsl(var(--h),var(--s),var(--90-l));--95-l:var(--bulma-primary-95-l);--color-95:hsl(var(--h),var(--s),var(--95-l));--100-l:var(--bulma-primary-100-l);--color-100:hsl(var(--h),var(--s),var(--100-l))}.has-text-link{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-l))!important}.has-background-link{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-l))!important}.has-text-link-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-invert-l))!important}.has-background-link-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-invert-l))!important}.has-text-link-on-scheme{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-on-scheme-l))!important}.has-background-link-on-scheme{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-on-scheme-l))!important}.has-text-link-light{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-light-l))!important}.has-background-link-light{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-light-l))!important}.has-text-link-light-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-light-invert-l))!important}.has-background-link-light-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-light-invert-l))!important}.has-text-link-dark{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-dark-l))!important}.has-background-link-dark{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-dark-l))!important}.has-text-link-dark-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-dark-invert-l))!important}.has-background-link-dark-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-dark-invert-l))!important}.has-text-link-soft{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-soft-l))!important}.has-background-link-soft{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-soft-l))!important}.has-text-link-bold{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-bold-l))!important}.has-background-link-bold{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-bold-l))!important}.has-text-link-soft-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-soft-invert-l))!important}.has-background-link-soft-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-soft-invert-l))!important}.has-text-link-bold-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-bold-invert-l))!important}.has-background-link-bold-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-bold-invert-l))!important}.has-text-link-00{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-00-l))!important}.has-background-link-00{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-00-l))!important}.has-text-link-00-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-00-invert-l))!important}.has-background-link-00-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-00-invert-l))!important}.has-text-link-05{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-05-l))!important}.has-background-link-05{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-05-l))!important}.has-text-link-05-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-05-invert-l))!important}.has-background-link-05-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-05-invert-l))!important}.has-text-link-10{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-10-l))!important}.has-background-link-10{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-10-l))!important}.has-text-link-10-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-10-invert-l))!important}.has-background-link-10-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-10-invert-l))!important}.has-text-link-15{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-15-l))!important}.has-background-link-15{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-15-l))!important}.has-text-link-15-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-15-invert-l))!important}.has-background-link-15-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-15-invert-l))!important}.has-text-link-20{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-20-l))!important}.has-background-link-20{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-20-l))!important}.has-text-link-20-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-20-invert-l))!important}.has-background-link-20-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-20-invert-l))!important}.has-text-link-25{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-25-l))!important}.has-background-link-25{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-25-l))!important}.has-text-link-25-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-25-invert-l))!important}.has-background-link-25-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-25-invert-l))!important}.has-text-link-30{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-30-l))!important}.has-background-link-30{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-30-l))!important}.has-text-link-30-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-30-invert-l))!important}.has-background-link-30-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-30-invert-l))!important}.has-text-link-35{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-35-l))!important}.has-background-link-35{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-35-l))!important}.has-text-link-35-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-35-invert-l))!important}.has-background-link-35-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-35-invert-l))!important}.has-text-link-40{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-40-l))!important}.has-background-link-40{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-40-l))!important}.has-text-link-40-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-40-invert-l))!important}.has-background-link-40-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-40-invert-l))!important}.has-text-link-45{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-45-l))!important}.has-background-link-45{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-45-l))!important}.has-text-link-45-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-45-invert-l))!important}.has-background-link-45-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-45-invert-l))!important}.has-text-link-50{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-50-l))!important}.has-background-link-50{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-50-l))!important}.has-text-link-50-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-50-invert-l))!important}.has-background-link-50-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-50-invert-l))!important}.has-text-link-55{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-55-l))!important}.has-background-link-55{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-55-l))!important}.has-text-link-55-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-55-invert-l))!important}.has-background-link-55-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-55-invert-l))!important}.has-text-link-60{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-60-l))!important}.has-background-link-60{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-60-l))!important}.has-text-link-60-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-60-invert-l))!important}.has-background-link-60-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-60-invert-l))!important}.has-text-link-65{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-65-l))!important}.has-background-link-65{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-65-l))!important}.has-text-link-65-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-65-invert-l))!important}.has-background-link-65-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-65-invert-l))!important}.has-text-link-70{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-70-l))!important}.has-background-link-70{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-70-l))!important}.has-text-link-70-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-70-invert-l))!important}.has-background-link-70-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-70-invert-l))!important}.has-text-link-75{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-75-l))!important}.has-background-link-75{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-75-l))!important}.has-text-link-75-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-75-invert-l))!important}.has-background-link-75-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-75-invert-l))!important}.has-text-link-80{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-80-l))!important}.has-background-link-80{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-80-l))!important}.has-text-link-80-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-80-invert-l))!important}.has-background-link-80-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-80-invert-l))!important}.has-text-link-85{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-85-l))!important}.has-background-link-85{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-85-l))!important}.has-text-link-85-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-85-invert-l))!important}.has-background-link-85-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-85-invert-l))!important}.has-text-link-90{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-90-l))!important}.has-background-link-90{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-90-l))!important}.has-text-link-90-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-90-invert-l))!important}.has-background-link-90-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-90-invert-l))!important}.has-text-link-95{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-95-l))!important}.has-background-link-95{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-95-l))!important}.has-text-link-95-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-95-invert-l))!important}.has-background-link-95-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-95-invert-l))!important}.has-text-link-100{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-100-l))!important}.has-background-link-100{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-100-l))!important}.has-text-link-100-invert{color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-100-invert-l))!important}.has-background-link-100-invert{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),var(--bulma-link-100-invert-l))!important}a.has-text-link:focus-visible,a.has-text-link:hover,button.has-text-link:focus-visible,button.has-text-link:hover,has-text-link.is-hoverable:focus-visible,has-text-link.is-hoverable:hover{color:hsl(var(--bulma-link-h),var(--bulma-link-s),calc(var(--bulma-link-l) + var(--bulma-hover-color-l-delta)))!important}a.has-text-link:active,button.has-text-link:active,has-text-link.is-hoverable:active{color:hsl(var(--bulma-link-h),var(--bulma-link-s),calc(var(--bulma-link-l) + var(--bulma-active-color-l-delta)))!important}a.has-background-link:focus-visible,a.has-background-link:hover,button.has-background-link:focus-visible,button.has-background-link:hover,has-background-link.is-hoverable:focus-visible,has-background-link.is-hoverable:hover{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),calc(var(--bulma-link-l) + var(--bulma-hover-background-l-delta)))!important}a.has-background-link:active,button.has-background-link:active,has-background-link.is-hoverable:active{background-color:hsl(var(--bulma-link-h),var(--bulma-link-s),calc(var(--bulma-link-l) + var(--bulma-active-background-l-delta)))!important}.is-palette-link{--h:var(--bulma-link-h);--s:var(--bulma-link-s);--l:var(--bulma-link-l);--color:hsl(var(--h),var(--s),var(--l));--00-l:var(--bulma-link-00-l);--color-00:hsl(var(--h),var(--s),var(--00-l));--05-l:var(--bulma-link-05-l);--color-05:hsl(var(--h),var(--s),var(--05-l));--10-l:var(--bulma-link-10-l);--color-10:hsl(var(--h),var(--s),var(--10-l));--15-l:var(--bulma-link-15-l);--color-15:hsl(var(--h),var(--s),var(--15-l));--20-l:var(--bulma-link-20-l);--color-20:hsl(var(--h),var(--s),var(--20-l));--25-l:var(--bulma-link-25-l);--color-25:hsl(var(--h),var(--s),var(--25-l));--30-l:var(--bulma-link-30-l);--color-30:hsl(var(--h),var(--s),var(--30-l));--35-l:var(--bulma-link-35-l);--color-35:hsl(var(--h),var(--s),var(--35-l));--40-l:var(--bulma-link-40-l);--color-40:hsl(var(--h),var(--s),var(--40-l));--45-l:var(--bulma-link-45-l);--color-45:hsl(var(--h),var(--s),var(--45-l));--50-l:var(--bulma-link-50-l);--color-50:hsl(var(--h),var(--s),var(--50-l));--55-l:var(--bulma-link-55-l);--color-55:hsl(var(--h),var(--s),var(--55-l));--60-l:var(--bulma-link-60-l);--color-60:hsl(var(--h),var(--s),var(--60-l));--65-l:var(--bulma-link-65-l);--color-65:hsl(var(--h),var(--s),var(--65-l));--70-l:var(--bulma-link-70-l);--color-70:hsl(var(--h),var(--s),var(--70-l));--75-l:var(--bulma-link-75-l);--color-75:hsl(var(--h),var(--s),var(--75-l));--80-l:var(--bulma-link-80-l);--color-80:hsl(var(--h),var(--s),var(--80-l));--85-l:var(--bulma-link-85-l);--color-85:hsl(var(--h),var(--s),var(--85-l));--90-l:var(--bulma-link-90-l);--color-90:hsl(var(--h),var(--s),var(--90-l));--95-l:var(--bulma-link-95-l);--color-95:hsl(var(--h),var(--s),var(--95-l));--100-l:var(--bulma-link-100-l);--color-100:hsl(var(--h),var(--s),var(--100-l))}.has-text-info{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-l))!important}.has-background-info{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-l))!important}.has-text-info-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-invert-l))!important}.has-background-info-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-invert-l))!important}.has-text-info-on-scheme{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-on-scheme-l))!important}.has-background-info-on-scheme{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-on-scheme-l))!important}.has-text-info-light{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-light-l))!important}.has-background-info-light{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-light-l))!important}.has-text-info-light-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-light-invert-l))!important}.has-background-info-light-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-light-invert-l))!important}.has-text-info-dark{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-dark-l))!important}.has-background-info-dark{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-dark-l))!important}.has-text-info-dark-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-dark-invert-l))!important}.has-background-info-dark-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-dark-invert-l))!important}.has-text-info-soft{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-soft-l))!important}.has-background-info-soft{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-soft-l))!important}.has-text-info-bold{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-bold-l))!important}.has-background-info-bold{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-bold-l))!important}.has-text-info-soft-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-soft-invert-l))!important}.has-background-info-soft-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-soft-invert-l))!important}.has-text-info-bold-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-bold-invert-l))!important}.has-background-info-bold-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-bold-invert-l))!important}.has-text-info-00{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-00-l))!important}.has-background-info-00{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-00-l))!important}.has-text-info-00-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-00-invert-l))!important}.has-background-info-00-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-00-invert-l))!important}.has-text-info-05{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-05-l))!important}.has-background-info-05{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-05-l))!important}.has-text-info-05-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-05-invert-l))!important}.has-background-info-05-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-05-invert-l))!important}.has-text-info-10{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-10-l))!important}.has-background-info-10{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-10-l))!important}.has-text-info-10-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-10-invert-l))!important}.has-background-info-10-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-10-invert-l))!important}.has-text-info-15{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-15-l))!important}.has-background-info-15{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-15-l))!important}.has-text-info-15-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-15-invert-l))!important}.has-background-info-15-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-15-invert-l))!important}.has-text-info-20{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-20-l))!important}.has-background-info-20{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-20-l))!important}.has-text-info-20-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-20-invert-l))!important}.has-background-info-20-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-20-invert-l))!important}.has-text-info-25{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-25-l))!important}.has-background-info-25{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-25-l))!important}.has-text-info-25-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-25-invert-l))!important}.has-background-info-25-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-25-invert-l))!important}.has-text-info-30{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-30-l))!important}.has-background-info-30{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-30-l))!important}.has-text-info-30-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-30-invert-l))!important}.has-background-info-30-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-30-invert-l))!important}.has-text-info-35{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-35-l))!important}.has-background-info-35{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-35-l))!important}.has-text-info-35-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-35-invert-l))!important}.has-background-info-35-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-35-invert-l))!important}.has-text-info-40{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-40-l))!important}.has-background-info-40{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-40-l))!important}.has-text-info-40-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-40-invert-l))!important}.has-background-info-40-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-40-invert-l))!important}.has-text-info-45{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-45-l))!important}.has-background-info-45{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-45-l))!important}.has-text-info-45-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-45-invert-l))!important}.has-background-info-45-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-45-invert-l))!important}.has-text-info-50{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-50-l))!important}.has-background-info-50{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-50-l))!important}.has-text-info-50-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-50-invert-l))!important}.has-background-info-50-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-50-invert-l))!important}.has-text-info-55{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-55-l))!important}.has-background-info-55{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-55-l))!important}.has-text-info-55-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-55-invert-l))!important}.has-background-info-55-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-55-invert-l))!important}.has-text-info-60{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-60-l))!important}.has-background-info-60{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-60-l))!important}.has-text-info-60-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-60-invert-l))!important}.has-background-info-60-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-60-invert-l))!important}.has-text-info-65{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-65-l))!important}.has-background-info-65{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-65-l))!important}.has-text-info-65-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-65-invert-l))!important}.has-background-info-65-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-65-invert-l))!important}.has-text-info-70{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-70-l))!important}.has-background-info-70{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-70-l))!important}.has-text-info-70-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-70-invert-l))!important}.has-background-info-70-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-70-invert-l))!important}.has-text-info-75{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-75-l))!important}.has-background-info-75{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-75-l))!important}.has-text-info-75-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-75-invert-l))!important}.has-background-info-75-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-75-invert-l))!important}.has-text-info-80{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-80-l))!important}.has-background-info-80{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-80-l))!important}.has-text-info-80-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-80-invert-l))!important}.has-background-info-80-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-80-invert-l))!important}.has-text-info-85{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-85-l))!important}.has-background-info-85{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-85-l))!important}.has-text-info-85-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-85-invert-l))!important}.has-background-info-85-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-85-invert-l))!important}.has-text-info-90{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-90-l))!important}.has-background-info-90{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-90-l))!important}.has-text-info-90-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-90-invert-l))!important}.has-background-info-90-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-90-invert-l))!important}.has-text-info-95{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-95-l))!important}.has-background-info-95{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-95-l))!important}.has-text-info-95-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-95-invert-l))!important}.has-background-info-95-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-95-invert-l))!important}.has-text-info-100{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-100-l))!important}.has-background-info-100{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-100-l))!important}.has-text-info-100-invert{color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-100-invert-l))!important}.has-background-info-100-invert{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),var(--bulma-info-100-invert-l))!important}a.has-text-info:focus-visible,a.has-text-info:hover,button.has-text-info:focus-visible,button.has-text-info:hover,has-text-info.is-hoverable:focus-visible,has-text-info.is-hoverable:hover{color:hsl(var(--bulma-info-h),var(--bulma-info-s),calc(var(--bulma-info-l) + var(--bulma-hover-color-l-delta)))!important}a.has-text-info:active,button.has-text-info:active,has-text-info.is-hoverable:active{color:hsl(var(--bulma-info-h),var(--bulma-info-s),calc(var(--bulma-info-l) + var(--bulma-active-color-l-delta)))!important}a.has-background-info:focus-visible,a.has-background-info:hover,button.has-background-info:focus-visible,button.has-background-info:hover,has-background-info.is-hoverable:focus-visible,has-background-info.is-hoverable:hover{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),calc(var(--bulma-info-l) + var(--bulma-hover-background-l-delta)))!important}a.has-background-info:active,button.has-background-info:active,has-background-info.is-hoverable:active{background-color:hsl(var(--bulma-info-h),var(--bulma-info-s),calc(var(--bulma-info-l) + var(--bulma-active-background-l-delta)))!important}.is-palette-info{--h:var(--bulma-info-h);--s:var(--bulma-info-s);--l:var(--bulma-info-l);--color:hsl(var(--h),var(--s),var(--l));--00-l:var(--bulma-info-00-l);--color-00:hsl(var(--h),var(--s),var(--00-l));--05-l:var(--bulma-info-05-l);--color-05:hsl(var(--h),var(--s),var(--05-l));--10-l:var(--bulma-info-10-l);--color-10:hsl(var(--h),var(--s),var(--10-l));--15-l:var(--bulma-info-15-l);--color-15:hsl(var(--h),var(--s),var(--15-l));--20-l:var(--bulma-info-20-l);--color-20:hsl(var(--h),var(--s),var(--20-l));--25-l:var(--bulma-info-25-l);--color-25:hsl(var(--h),var(--s),var(--25-l));--30-l:var(--bulma-info-30-l);--color-30:hsl(var(--h),var(--s),var(--30-l));--35-l:var(--bulma-info-35-l);--color-35:hsl(var(--h),var(--s),var(--35-l));--40-l:var(--bulma-info-40-l);--color-40:hsl(var(--h),var(--s),var(--40-l));--45-l:var(--bulma-info-45-l);--color-45:hsl(var(--h),var(--s),var(--45-l));--50-l:var(--bulma-info-50-l);--color-50:hsl(var(--h),var(--s),var(--50-l));--55-l:var(--bulma-info-55-l);--color-55:hsl(var(--h),var(--s),var(--55-l));--60-l:var(--bulma-info-60-l);--color-60:hsl(var(--h),var(--s),var(--60-l));--65-l:var(--bulma-info-65-l);--color-65:hsl(var(--h),var(--s),var(--65-l));--70-l:var(--bulma-info-70-l);--color-70:hsl(var(--h),var(--s),var(--70-l));--75-l:var(--bulma-info-75-l);--color-75:hsl(var(--h),var(--s),var(--75-l));--80-l:var(--bulma-info-80-l);--color-80:hsl(var(--h),var(--s),var(--80-l));--85-l:var(--bulma-info-85-l);--color-85:hsl(var(--h),var(--s),var(--85-l));--90-l:var(--bulma-info-90-l);--color-90:hsl(var(--h),var(--s),var(--90-l));--95-l:var(--bulma-info-95-l);--color-95:hsl(var(--h),var(--s),var(--95-l));--100-l:var(--bulma-info-100-l);--color-100:hsl(var(--h),var(--s),var(--100-l))}.has-text-success{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-l))!important}.has-background-success{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-l))!important}.has-text-success-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-invert-l))!important}.has-background-success-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-invert-l))!important}.has-text-success-on-scheme{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-on-scheme-l))!important}.has-background-success-on-scheme{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-on-scheme-l))!important}.has-text-success-light{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-light-l))!important}.has-background-success-light{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-light-l))!important}.has-text-success-light-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-light-invert-l))!important}.has-background-success-light-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-light-invert-l))!important}.has-text-success-dark{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-dark-l))!important}.has-background-success-dark{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-dark-l))!important}.has-text-success-dark-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-dark-invert-l))!important}.has-background-success-dark-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-dark-invert-l))!important}.has-text-success-soft{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-soft-l))!important}.has-background-success-soft{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-soft-l))!important}.has-text-success-bold{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-bold-l))!important}.has-background-success-bold{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-bold-l))!important}.has-text-success-soft-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-soft-invert-l))!important}.has-background-success-soft-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-soft-invert-l))!important}.has-text-success-bold-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-bold-invert-l))!important}.has-background-success-bold-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-bold-invert-l))!important}.has-text-success-00{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-00-l))!important}.has-background-success-00{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-00-l))!important}.has-text-success-00-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-00-invert-l))!important}.has-background-success-00-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-00-invert-l))!important}.has-text-success-05{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-05-l))!important}.has-background-success-05{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-05-l))!important}.has-text-success-05-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-05-invert-l))!important}.has-background-success-05-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-05-invert-l))!important}.has-text-success-10{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-10-l))!important}.has-background-success-10{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-10-l))!important}.has-text-success-10-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-10-invert-l))!important}.has-background-success-10-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-10-invert-l))!important}.has-text-success-15{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-15-l))!important}.has-background-success-15{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-15-l))!important}.has-text-success-15-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-15-invert-l))!important}.has-background-success-15-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-15-invert-l))!important}.has-text-success-20{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-20-l))!important}.has-background-success-20{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-20-l))!important}.has-text-success-20-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-20-invert-l))!important}.has-background-success-20-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-20-invert-l))!important}.has-text-success-25{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-25-l))!important}.has-background-success-25{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-25-l))!important}.has-text-success-25-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-25-invert-l))!important}.has-background-success-25-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-25-invert-l))!important}.has-text-success-30{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-30-l))!important}.has-background-success-30{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-30-l))!important}.has-text-success-30-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-30-invert-l))!important}.has-background-success-30-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-30-invert-l))!important}.has-text-success-35{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-35-l))!important}.has-background-success-35{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-35-l))!important}.has-text-success-35-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-35-invert-l))!important}.has-background-success-35-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-35-invert-l))!important}.has-text-success-40{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-40-l))!important}.has-background-success-40{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-40-l))!important}.has-text-success-40-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-40-invert-l))!important}.has-background-success-40-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-40-invert-l))!important}.has-text-success-45{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-45-l))!important}.has-background-success-45{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-45-l))!important}.has-text-success-45-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-45-invert-l))!important}.has-background-success-45-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-45-invert-l))!important}.has-text-success-50{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-50-l))!important}.has-background-success-50{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-50-l))!important}.has-text-success-50-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-50-invert-l))!important}.has-background-success-50-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-50-invert-l))!important}.has-text-success-55{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-55-l))!important}.has-background-success-55{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-55-l))!important}.has-text-success-55-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-55-invert-l))!important}.has-background-success-55-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-55-invert-l))!important}.has-text-success-60{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-60-l))!important}.has-background-success-60{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-60-l))!important}.has-text-success-60-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-60-invert-l))!important}.has-background-success-60-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-60-invert-l))!important}.has-text-success-65{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-65-l))!important}.has-background-success-65{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-65-l))!important}.has-text-success-65-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-65-invert-l))!important}.has-background-success-65-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-65-invert-l))!important}.has-text-success-70{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-70-l))!important}.has-background-success-70{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-70-l))!important}.has-text-success-70-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-70-invert-l))!important}.has-background-success-70-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-70-invert-l))!important}.has-text-success-75{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-75-l))!important}.has-background-success-75{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-75-l))!important}.has-text-success-75-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-75-invert-l))!important}.has-background-success-75-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-75-invert-l))!important}.has-text-success-80{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-80-l))!important}.has-background-success-80{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-80-l))!important}.has-text-success-80-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-80-invert-l))!important}.has-background-success-80-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-80-invert-l))!important}.has-text-success-85{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-85-l))!important}.has-background-success-85{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-85-l))!important}.has-text-success-85-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-85-invert-l))!important}.has-background-success-85-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-85-invert-l))!important}.has-text-success-90{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-90-l))!important}.has-background-success-90{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-90-l))!important}.has-text-success-90-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-90-invert-l))!important}.has-background-success-90-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-90-invert-l))!important}.has-text-success-95{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-95-l))!important}.has-background-success-95{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-95-l))!important}.has-text-success-95-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-95-invert-l))!important}.has-background-success-95-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-95-invert-l))!important}.has-text-success-100{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-100-l))!important}.has-background-success-100{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-100-l))!important}.has-text-success-100-invert{color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-100-invert-l))!important}.has-background-success-100-invert{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),var(--bulma-success-100-invert-l))!important}a.has-text-success:focus-visible,a.has-text-success:hover,button.has-text-success:focus-visible,button.has-text-success:hover,has-text-success.is-hoverable:focus-visible,has-text-success.is-hoverable:hover{color:hsl(var(--bulma-success-h),var(--bulma-success-s),calc(var(--bulma-success-l) + var(--bulma-hover-color-l-delta)))!important}a.has-text-success:active,button.has-text-success:active,has-text-success.is-hoverable:active{color:hsl(var(--bulma-success-h),var(--bulma-success-s),calc(var(--bulma-success-l) + var(--bulma-active-color-l-delta)))!important}a.has-background-success:focus-visible,a.has-background-success:hover,button.has-background-success:focus-visible,button.has-background-success:hover,has-background-success.is-hoverable:focus-visible,has-background-success.is-hoverable:hover{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),calc(var(--bulma-success-l) + var(--bulma-hover-background-l-delta)))!important}a.has-background-success:active,button.has-background-success:active,has-background-success.is-hoverable:active{background-color:hsl(var(--bulma-success-h),var(--bulma-success-s),calc(var(--bulma-success-l) + var(--bulma-active-background-l-delta)))!important}.is-palette-success{--h:var(--bulma-success-h);--s:var(--bulma-success-s);--l:var(--bulma-success-l);--color:hsl(var(--h),var(--s),var(--l));--00-l:var(--bulma-success-00-l);--color-00:hsl(var(--h),var(--s),var(--00-l));--05-l:var(--bulma-success-05-l);--color-05:hsl(var(--h),var(--s),var(--05-l));--10-l:var(--bulma-success-10-l);--color-10:hsl(var(--h),var(--s),var(--10-l));--15-l:var(--bulma-success-15-l);--color-15:hsl(var(--h),var(--s),var(--15-l));--20-l:var(--bulma-success-20-l);--color-20:hsl(var(--h),var(--s),var(--20-l));--25-l:var(--bulma-success-25-l);--color-25:hsl(var(--h),var(--s),var(--25-l));--30-l:var(--bulma-success-30-l);--color-30:hsl(var(--h),var(--s),var(--30-l));--35-l:var(--bulma-success-35-l);--color-35:hsl(var(--h),var(--s),var(--35-l));--40-l:var(--bulma-success-40-l);--color-40:hsl(var(--h),var(--s),var(--40-l));--45-l:var(--bulma-success-45-l);--color-45:hsl(var(--h),var(--s),var(--45-l));--50-l:var(--bulma-success-50-l);--color-50:hsl(var(--h),var(--s),var(--50-l));--55-l:var(--bulma-success-55-l);--color-55:hsl(var(--h),var(--s),var(--55-l));--60-l:var(--bulma-success-60-l);--color-60:hsl(var(--h),var(--s),var(--60-l));--65-l:var(--bulma-success-65-l);--color-65:hsl(var(--h),var(--s),var(--65-l));--70-l:var(--bulma-success-70-l);--color-70:hsl(var(--h),var(--s),var(--70-l));--75-l:var(--bulma-success-75-l);--color-75:hsl(var(--h),var(--s),var(--75-l));--80-l:var(--bulma-success-80-l);--color-80:hsl(var(--h),var(--s),var(--80-l));--85-l:var(--bulma-success-85-l);--color-85:hsl(var(--h),var(--s),var(--85-l));--90-l:var(--bulma-success-90-l);--color-90:hsl(var(--h),var(--s),var(--90-l));--95-l:var(--bulma-success-95-l);--color-95:hsl(var(--h),var(--s),var(--95-l));--100-l:var(--bulma-success-100-l);--color-100:hsl(var(--h),var(--s),var(--100-l))}.has-text-warning{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-l))!important}.has-background-warning{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-l))!important}.has-text-warning-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-invert-l))!important}.has-background-warning-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-invert-l))!important}.has-text-warning-on-scheme{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-on-scheme-l))!important}.has-background-warning-on-scheme{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-on-scheme-l))!important}.has-text-warning-light{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-light-l))!important}.has-background-warning-light{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-light-l))!important}.has-text-warning-light-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-light-invert-l))!important}.has-background-warning-light-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-light-invert-l))!important}.has-text-warning-dark{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-dark-l))!important}.has-background-warning-dark{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-dark-l))!important}.has-text-warning-dark-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-dark-invert-l))!important}.has-background-warning-dark-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-dark-invert-l))!important}.has-text-warning-soft{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-soft-l))!important}.has-background-warning-soft{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-soft-l))!important}.has-text-warning-bold{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-bold-l))!important}.has-background-warning-bold{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-bold-l))!important}.has-text-warning-soft-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-soft-invert-l))!important}.has-background-warning-soft-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-soft-invert-l))!important}.has-text-warning-bold-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-bold-invert-l))!important}.has-background-warning-bold-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-bold-invert-l))!important}.has-text-warning-00{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-00-l))!important}.has-background-warning-00{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-00-l))!important}.has-text-warning-00-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-00-invert-l))!important}.has-background-warning-00-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-00-invert-l))!important}.has-text-warning-05{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-05-l))!important}.has-background-warning-05{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-05-l))!important}.has-text-warning-05-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-05-invert-l))!important}.has-background-warning-05-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-05-invert-l))!important}.has-text-warning-10{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-10-l))!important}.has-background-warning-10{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-10-l))!important}.has-text-warning-10-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-10-invert-l))!important}.has-background-warning-10-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-10-invert-l))!important}.has-text-warning-15{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-15-l))!important}.has-background-warning-15{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-15-l))!important}.has-text-warning-15-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-15-invert-l))!important}.has-background-warning-15-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-15-invert-l))!important}.has-text-warning-20{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-20-l))!important}.has-background-warning-20{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-20-l))!important}.has-text-warning-20-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-20-invert-l))!important}.has-background-warning-20-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-20-invert-l))!important}.has-text-warning-25{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-25-l))!important}.has-background-warning-25{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-25-l))!important}.has-text-warning-25-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-25-invert-l))!important}.has-background-warning-25-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-25-invert-l))!important}.has-text-warning-30{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-30-l))!important}.has-background-warning-30{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-30-l))!important}.has-text-warning-30-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-30-invert-l))!important}.has-background-warning-30-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-30-invert-l))!important}.has-text-warning-35{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-35-l))!important}.has-background-warning-35{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-35-l))!important}.has-text-warning-35-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-35-invert-l))!important}.has-background-warning-35-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-35-invert-l))!important}.has-text-warning-40{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-40-l))!important}.has-background-warning-40{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-40-l))!important}.has-text-warning-40-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-40-invert-l))!important}.has-background-warning-40-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-40-invert-l))!important}.has-text-warning-45{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-45-l))!important}.has-background-warning-45{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-45-l))!important}.has-text-warning-45-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-45-invert-l))!important}.has-background-warning-45-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-45-invert-l))!important}.has-text-warning-50{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-50-l))!important}.has-background-warning-50{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-50-l))!important}.has-text-warning-50-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-50-invert-l))!important}.has-background-warning-50-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-50-invert-l))!important}.has-text-warning-55{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-55-l))!important}.has-background-warning-55{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-55-l))!important}.has-text-warning-55-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-55-invert-l))!important}.has-background-warning-55-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-55-invert-l))!important}.has-text-warning-60{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-60-l))!important}.has-background-warning-60{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-60-l))!important}.has-text-warning-60-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-60-invert-l))!important}.has-background-warning-60-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-60-invert-l))!important}.has-text-warning-65{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-65-l))!important}.has-background-warning-65{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-65-l))!important}.has-text-warning-65-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-65-invert-l))!important}.has-background-warning-65-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-65-invert-l))!important}.has-text-warning-70{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-70-l))!important}.has-background-warning-70{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-70-l))!important}.has-text-warning-70-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-70-invert-l))!important}.has-background-warning-70-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-70-invert-l))!important}.has-text-warning-75{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-75-l))!important}.has-background-warning-75{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-75-l))!important}.has-text-warning-75-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-75-invert-l))!important}.has-background-warning-75-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-75-invert-l))!important}.has-text-warning-80{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-80-l))!important}.has-background-warning-80{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-80-l))!important}.has-text-warning-80-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-80-invert-l))!important}.has-background-warning-80-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-80-invert-l))!important}.has-text-warning-85{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-85-l))!important}.has-background-warning-85{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-85-l))!important}.has-text-warning-85-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-85-invert-l))!important}.has-background-warning-85-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-85-invert-l))!important}.has-text-warning-90{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-90-l))!important}.has-background-warning-90{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-90-l))!important}.has-text-warning-90-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-90-invert-l))!important}.has-background-warning-90-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-90-invert-l))!important}.has-text-warning-95{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-95-l))!important}.has-background-warning-95{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-95-l))!important}.has-text-warning-95-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-95-invert-l))!important}.has-background-warning-95-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-95-invert-l))!important}.has-text-warning-100{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-100-l))!important}.has-background-warning-100{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-100-l))!important}.has-text-warning-100-invert{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-100-invert-l))!important}.has-background-warning-100-invert{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),var(--bulma-warning-100-invert-l))!important}a.has-text-warning:focus-visible,a.has-text-warning:hover,button.has-text-warning:focus-visible,button.has-text-warning:hover,has-text-warning.is-hoverable:focus-visible,has-text-warning.is-hoverable:hover{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),calc(var(--bulma-warning-l) + var(--bulma-hover-color-l-delta)))!important}a.has-text-warning:active,button.has-text-warning:active,has-text-warning.is-hoverable:active{color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),calc(var(--bulma-warning-l) + var(--bulma-active-color-l-delta)))!important}a.has-background-warning:focus-visible,a.has-background-warning:hover,button.has-background-warning:focus-visible,button.has-background-warning:hover,has-background-warning.is-hoverable:focus-visible,has-background-warning.is-hoverable:hover{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),calc(var(--bulma-warning-l) + var(--bulma-hover-background-l-delta)))!important}a.has-background-warning:active,button.has-background-warning:active,has-background-warning.is-hoverable:active{background-color:hsl(var(--bulma-warning-h),var(--bulma-warning-s),calc(var(--bulma-warning-l) + var(--bulma-active-background-l-delta)))!important}.is-palette-warning{--h:var(--bulma-warning-h);--s:var(--bulma-warning-s);--l:var(--bulma-warning-l);--color:hsl(var(--h),var(--s),var(--l));--00-l:var(--bulma-warning-00-l);--color-00:hsl(var(--h),var(--s),var(--00-l));--05-l:var(--bulma-warning-05-l);--color-05:hsl(var(--h),var(--s),var(--05-l));--10-l:var(--bulma-warning-10-l);--color-10:hsl(var(--h),var(--s),var(--10-l));--15-l:var(--bulma-warning-15-l);--color-15:hsl(var(--h),var(--s),var(--15-l));--20-l:var(--bulma-warning-20-l);--color-20:hsl(var(--h),var(--s),var(--20-l));--25-l:var(--bulma-warning-25-l);--color-25:hsl(var(--h),var(--s),var(--25-l));--30-l:var(--bulma-warning-30-l);--color-30:hsl(var(--h),var(--s),var(--30-l));--35-l:var(--bulma-warning-35-l);--color-35:hsl(var(--h),var(--s),var(--35-l));--40-l:var(--bulma-warning-40-l);--color-40:hsl(var(--h),var(--s),var(--40-l));--45-l:var(--bulma-warning-45-l);--color-45:hsl(var(--h),var(--s),var(--45-l));--50-l:var(--bulma-warning-50-l);--color-50:hsl(var(--h),var(--s),var(--50-l));--55-l:var(--bulma-warning-55-l);--color-55:hsl(var(--h),var(--s),var(--55-l));--60-l:var(--bulma-warning-60-l);--color-60:hsl(var(--h),var(--s),var(--60-l));--65-l:var(--bulma-warning-65-l);--color-65:hsl(var(--h),var(--s),var(--65-l));--70-l:var(--bulma-warning-70-l);--color-70:hsl(var(--h),var(--s),var(--70-l));--75-l:var(--bulma-warning-75-l);--color-75:hsl(var(--h),var(--s),var(--75-l));--80-l:var(--bulma-warning-80-l);--color-80:hsl(var(--h),var(--s),var(--80-l));--85-l:var(--bulma-warning-85-l);--color-85:hsl(var(--h),var(--s),var(--85-l));--90-l:var(--bulma-warning-90-l);--color-90:hsl(var(--h),var(--s),var(--90-l));--95-l:var(--bulma-warning-95-l);--color-95:hsl(var(--h),var(--s),var(--95-l));--100-l:var(--bulma-warning-100-l);--color-100:hsl(var(--h),var(--s),var(--100-l))}.has-text-danger{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-l))!important}.has-background-danger{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-l))!important}.has-text-danger-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-invert-l))!important}.has-background-danger-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-invert-l))!important}.has-text-danger-on-scheme{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-on-scheme-l))!important}.has-background-danger-on-scheme{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-on-scheme-l))!important}.has-text-danger-light{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-light-l))!important}.has-background-danger-light{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-light-l))!important}.has-text-danger-light-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-light-invert-l))!important}.has-background-danger-light-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-light-invert-l))!important}.has-text-danger-dark{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-dark-l))!important}.has-background-danger-dark{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-dark-l))!important}.has-text-danger-dark-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-dark-invert-l))!important}.has-background-danger-dark-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-dark-invert-l))!important}.has-text-danger-soft{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-soft-l))!important}.has-background-danger-soft{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-soft-l))!important}.has-text-danger-bold{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-bold-l))!important}.has-background-danger-bold{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-bold-l))!important}.has-text-danger-soft-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-soft-invert-l))!important}.has-background-danger-soft-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-soft-invert-l))!important}.has-text-danger-bold-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-bold-invert-l))!important}.has-background-danger-bold-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-bold-invert-l))!important}.has-text-danger-00{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-00-l))!important}.has-background-danger-00{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-00-l))!important}.has-text-danger-00-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-00-invert-l))!important}.has-background-danger-00-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-00-invert-l))!important}.has-text-danger-05{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-05-l))!important}.has-background-danger-05{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-05-l))!important}.has-text-danger-05-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-05-invert-l))!important}.has-background-danger-05-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-05-invert-l))!important}.has-text-danger-10{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-10-l))!important}.has-background-danger-10{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-10-l))!important}.has-text-danger-10-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-10-invert-l))!important}.has-background-danger-10-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-10-invert-l))!important}.has-text-danger-15{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-15-l))!important}.has-background-danger-15{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-15-l))!important}.has-text-danger-15-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-15-invert-l))!important}.has-background-danger-15-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-15-invert-l))!important}.has-text-danger-20{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-20-l))!important}.has-background-danger-20{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-20-l))!important}.has-text-danger-20-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-20-invert-l))!important}.has-background-danger-20-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-20-invert-l))!important}.has-text-danger-25{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-25-l))!important}.has-background-danger-25{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-25-l))!important}.has-text-danger-25-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-25-invert-l))!important}.has-background-danger-25-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-25-invert-l))!important}.has-text-danger-30{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-30-l))!important}.has-background-danger-30{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-30-l))!important}.has-text-danger-30-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-30-invert-l))!important}.has-background-danger-30-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-30-invert-l))!important}.has-text-danger-35{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-35-l))!important}.has-background-danger-35{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-35-l))!important}.has-text-danger-35-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-35-invert-l))!important}.has-background-danger-35-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-35-invert-l))!important}.has-text-danger-40{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-40-l))!important}.has-background-danger-40{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-40-l))!important}.has-text-danger-40-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-40-invert-l))!important}.has-background-danger-40-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-40-invert-l))!important}.has-text-danger-45{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-45-l))!important}.has-background-danger-45{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-45-l))!important}.has-text-danger-45-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-45-invert-l))!important}.has-background-danger-45-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-45-invert-l))!important}.has-text-danger-50{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-50-l))!important}.has-background-danger-50{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-50-l))!important}.has-text-danger-50-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-50-invert-l))!important}.has-background-danger-50-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-50-invert-l))!important}.has-text-danger-55{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-55-l))!important}.has-background-danger-55{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-55-l))!important}.has-text-danger-55-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-55-invert-l))!important}.has-background-danger-55-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-55-invert-l))!important}.has-text-danger-60{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-60-l))!important}.has-background-danger-60{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-60-l))!important}.has-text-danger-60-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-60-invert-l))!important}.has-background-danger-60-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-60-invert-l))!important}.has-text-danger-65{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-65-l))!important}.has-background-danger-65{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-65-l))!important}.has-text-danger-65-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-65-invert-l))!important}.has-background-danger-65-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-65-invert-l))!important}.has-text-danger-70{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-70-l))!important}.has-background-danger-70{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-70-l))!important}.has-text-danger-70-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-70-invert-l))!important}.has-background-danger-70-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-70-invert-l))!important}.has-text-danger-75{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-75-l))!important}.has-background-danger-75{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-75-l))!important}.has-text-danger-75-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-75-invert-l))!important}.has-background-danger-75-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-75-invert-l))!important}.has-text-danger-80{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-80-l))!important}.has-background-danger-80{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-80-l))!important}.has-text-danger-80-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-80-invert-l))!important}.has-background-danger-80-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-80-invert-l))!important}.has-text-danger-85{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-85-l))!important}.has-background-danger-85{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-85-l))!important}.has-text-danger-85-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-85-invert-l))!important}.has-background-danger-85-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-85-invert-l))!important}.has-text-danger-90{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-90-l))!important}.has-background-danger-90{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-90-l))!important}.has-text-danger-90-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-90-invert-l))!important}.has-background-danger-90-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-90-invert-l))!important}.has-text-danger-95{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-95-l))!important}.has-background-danger-95{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-95-l))!important}.has-text-danger-95-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-95-invert-l))!important}.has-background-danger-95-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-95-invert-l))!important}.has-text-danger-100{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-100-l))!important}.has-background-danger-100{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-100-l))!important}.has-text-danger-100-invert{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-100-invert-l))!important}.has-background-danger-100-invert{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),var(--bulma-danger-100-invert-l))!important}a.has-text-danger:focus-visible,a.has-text-danger:hover,button.has-text-danger:focus-visible,button.has-text-danger:hover,has-text-danger.is-hoverable:focus-visible,has-text-danger.is-hoverable:hover{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),calc(var(--bulma-danger-l) + var(--bulma-hover-color-l-delta)))!important}a.has-text-danger:active,button.has-text-danger:active,has-text-danger.is-hoverable:active{color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),calc(var(--bulma-danger-l) + var(--bulma-active-color-l-delta)))!important}a.has-background-danger:focus-visible,a.has-background-danger:hover,button.has-background-danger:focus-visible,button.has-background-danger:hover,has-background-danger.is-hoverable:focus-visible,has-background-danger.is-hoverable:hover{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),calc(var(--bulma-danger-l) + var(--bulma-hover-background-l-delta)))!important}a.has-background-danger:active,button.has-background-danger:active,has-background-danger.is-hoverable:active{background-color:hsl(var(--bulma-danger-h),var(--bulma-danger-s),calc(var(--bulma-danger-l) + var(--bulma-active-background-l-delta)))!important}.is-palette-danger{--h:var(--bulma-danger-h);--s:var(--bulma-danger-s);--l:var(--bulma-danger-l);--color:hsl(var(--h),var(--s),var(--l));--00-l:var(--bulma-danger-00-l);--color-00:hsl(var(--h),var(--s),var(--00-l));--05-l:var(--bulma-danger-05-l);--color-05:hsl(var(--h),var(--s),var(--05-l));--10-l:var(--bulma-danger-10-l);--color-10:hsl(var(--h),var(--s),var(--10-l));--15-l:var(--bulma-danger-15-l);--color-15:hsl(var(--h),var(--s),var(--15-l));--20-l:var(--bulma-danger-20-l);--color-20:hsl(var(--h),var(--s),var(--20-l));--25-l:var(--bulma-danger-25-l);--color-25:hsl(var(--h),var(--s),var(--25-l));--30-l:var(--bulma-danger-30-l);--color-30:hsl(var(--h),var(--s),var(--30-l));--35-l:var(--bulma-danger-35-l);--color-35:hsl(var(--h),var(--s),var(--35-l));--40-l:var(--bulma-danger-40-l);--color-40:hsl(var(--h),var(--s),var(--40-l));--45-l:var(--bulma-danger-45-l);--color-45:hsl(var(--h),var(--s),var(--45-l));--50-l:var(--bulma-danger-50-l);--color-50:hsl(var(--h),var(--s),var(--50-l));--55-l:var(--bulma-danger-55-l);--color-55:hsl(var(--h),var(--s),var(--55-l));--60-l:var(--bulma-danger-60-l);--color-60:hsl(var(--h),var(--s),var(--60-l));--65-l:var(--bulma-danger-65-l);--color-65:hsl(var(--h),var(--s),var(--65-l));--70-l:var(--bulma-danger-70-l);--color-70:hsl(var(--h),var(--s),var(--70-l));--75-l:var(--bulma-danger-75-l);--color-75:hsl(var(--h),var(--s),var(--75-l));--80-l:var(--bulma-danger-80-l);--color-80:hsl(var(--h),var(--s),var(--80-l));--85-l:var(--bulma-danger-85-l);--color-85:hsl(var(--h),var(--s),var(--85-l));--90-l:var(--bulma-danger-90-l);--color-90:hsl(var(--h),var(--s),var(--90-l));--95-l:var(--bulma-danger-95-l);--color-95:hsl(var(--h),var(--s),var(--95-l));--100-l:var(--bulma-danger-100-l);--color-100:hsl(var(--h),var(--s),var(--100-l))}.has-text-black-bis{color:#14161a!important}.has-background-black-bis{background-color:#14161a!important}.has-text-black-ter{color:#1f2229!important}.has-background-black-ter{background-color:#1f2229!important}.has-text-grey-darker{color:#2e333d!important}.has-background-grey-darker{background-color:#2e333d!important}.has-text-grey-dark{color:#404654!important}.has-background-grey-dark{background-color:#404654!important}.has-text-grey{color:#69748c!important}.has-background-grey{background-color:#69748c!important}.has-text-grey-light{color:#abb1bf!important}.has-background-grey-light{background-color:#abb1bf!important}.has-text-grey-lighter{color:#d6d9e0!important}.has-background-grey-lighter{background-color:#d6d9e0!important}.has-text-white-ter{color:#f3f4f6!important}.has-background-white-ter{background-color:#f3f4f6!important}.has-text-white-bis{color:#f9fafb!important}.has-background-white-bis{background-color:#f9fafb!important}.has-text-current{color:currentColor!important}.has-text-inherit{color:inherit!important}.has-background-current{background-color:currentColor!important}.has-background-inherit{background-color:inherit!important}.is-flex-direction-row{flex-direction:row!important}.is-flex-direction-row-reverse{flex-direction:row-reverse!important}.is-flex-direction-column{flex-direction:column!important}.is-flex-direction-column-reverse{flex-direction:column-reverse!important}.is-flex-wrap-nowrap{flex-wrap:nowrap!important}.is-flex-wrap-wrap{flex-wrap:wrap!important}.is-flex-wrap-wrap-reverse{flex-wrap:wrap-reverse!important}.is-justify-content-flex-start{justify-content:flex-start!important}.is-justify-content-flex-end{justify-content:flex-end!important}.is-justify-content-center{justify-content:center!important}.is-justify-content-space-between{justify-content:space-between!important}.is-justify-content-space-around{justify-content:space-around!important}.is-justify-content-space-evenly{justify-content:space-evenly!important}.is-justify-content-start{justify-content:start!important}.is-justify-content-end{justify-content:end!important}.is-justify-content-left{justify-content:left!important}.is-justify-content-right{justify-content:right!important}.is-align-content-flex-start{align-content:flex-start!important}.is-align-content-flex-end{align-content:flex-end!important}.is-align-content-center{align-content:center!important}.is-align-content-space-between{align-content:space-between!important}.is-align-content-space-around{align-content:space-around!important}.is-align-content-space-evenly{align-content:space-evenly!important}.is-align-content-stretch{align-content:stretch!important}.is-align-content-start{align-content:start!important}.is-align-content-end{align-content:end!important}.is-align-content-baseline{align-content:baseline!important}.is-align-items-stretch{align-items:stretch!important}.is-align-items-flex-start{align-items:flex-start!important}.is-align-items-flex-end{align-items:flex-end!important}.is-align-items-center{align-items:center!important}.is-align-items-baseline{align-items:baseline!important}.is-align-items-start{align-items:start!important}.is-align-items-end{align-items:end!important}.is-align-items-self-start{align-items:self-start!important}.is-align-items-self-end{align-items:self-end!important}.is-align-self-auto{align-self:auto!important}.is-align-self-flex-start{align-self:flex-start!important}.is-align-self-flex-end{align-self:flex-end!important}.is-align-self-center{align-self:center!important}.is-align-self-baseline{align-self:baseline!important}.is-align-self-stretch{align-self:stretch!important}.is-flex-grow-0{flex-grow:0!important}.is-flex-grow-1{flex-grow:1!important}.is-flex-grow-2{flex-grow:2!important}.is-flex-grow-3{flex-grow:3!important}.is-flex-grow-4{flex-grow:4!important}.is-flex-grow-5{flex-grow:5!important}.is-flex-shrink-0{flex-shrink:0!important}.is-flex-shrink-1{flex-shrink:1!important}.is-flex-shrink-2{flex-shrink:2!important}.is-flex-shrink-3{flex-shrink:3!important}.is-flex-shrink-4{flex-shrink:4!important}.is-flex-shrink-5{flex-shrink:5!important}.is-clearfix:after{clear:both;content:" ";display:table}.is-float-left,.is-pulled-left{float:left!important}.is-float-right,.is-pulled-right{float:right!important}.is-float-none{float:none!important}.is-clear-both{clear:both!important}.is-clear-left{clear:left!important}.is-clear-none{clear:none!important}.is-clear-right{clear:right!important}.is-gap-0,.is-gapless{gap:0!important}.is-gap-0\.5{gap:.25rem!important}.is-gap-1{gap:.5rem!important}.is-gap-1\.5{gap:.75rem!important}.is-gap-2{gap:1rem!important}.is-gap-2\.5{gap:1.25rem!important}.is-gap-3{gap:1.5rem!important}.is-gap-3\.5{gap:1.75rem!important}.is-gap-4{gap:2rem!important}.is-gap-4\.5{gap:2.25rem!important}.is-gap-5{gap:2.5rem!important}.is-gap-5\.5{gap:2.75rem!important}.is-gap-6{gap:3rem!important}.is-gap-6\.5{gap:3.25rem!important}.is-gap-7{gap:3.5rem!important}.is-gap-7\.5{gap:3.75rem!important}.is-gap-8{gap:4rem!important}.is-column-gap-0{column-gap:0!important}.is-column-gap-0\.5{column-gap:.25rem!important}.is-column-gap-1{column-gap:.5rem!important}.is-column-gap-1\.5{column-gap:.75rem!important}.is-column-gap-2{column-gap:1rem!important}.is-column-gap-2\.5{column-gap:1.25rem!important}.is-column-gap-3{column-gap:1.5rem!important}.is-column-gap-3\.5{column-gap:1.75rem!important}.is-column-gap-4{column-gap:2rem!important}.is-column-gap-4\.5{column-gap:2.25rem!important}.is-column-gap-5{column-gap:2.5rem!important}.is-column-gap-5\.5{column-gap:2.75rem!important}.is-column-gap-6{column-gap:3rem!important}.is-column-gap-6\.5{column-gap:3.25rem!important}.is-column-gap-7{column-gap:3.5rem!important}.is-column-gap-7\.5{column-gap:3.75rem!important}.is-column-gap-8{column-gap:4rem!important}.is-row-gap-0{row-gap:0!important}.is-row-gap-0\.5{row-gap:.25rem!important}.is-row-gap-1{row-gap:.5rem!important}.is-row-gap-1\.5{row-gap:.75rem!important}.is-row-gap-2{row-gap:1rem!important}.is-row-gap-2\.5{row-gap:1.25rem!important}.is-row-gap-3{row-gap:1.5rem!important}.is-row-gap-3\.5{row-gap:1.75rem!important}.is-row-gap-4{row-gap:2rem!important}.is-row-gap-4\.5{row-gap:2.25rem!important}.is-row-gap-5{row-gap:2.5rem!important}.is-row-gap-5\.5{row-gap:2.75rem!important}.is-row-gap-6{row-gap:3rem!important}.is-row-gap-6\.5{row-gap:3.25rem!important}.is-row-gap-7{row-gap:3.5rem!important}.is-row-gap-7\.5{row-gap:3.75rem!important}.is-row-gap-8{row-gap:4rem!important}.is-clipped{overflow:hidden!important}.is-overflow-auto{overflow:auto!important}.is-overflow-x-auto{overflow-x:auto!important}.is-overflow-y-auto{overflow-y:auto!important}.is-overflow-clip{overflow:clip!important}.is-overflow-x-clip{overflow-x:clip!important}.is-overflow-y-clip{overflow-y:clip!important}.is-overflow-hidden{overflow:hidden!important}.is-overflow-x-hidden{overflow-x:hidden!important}.is-overflow-y-hidden{overflow-y:hidden!important}.is-overflow-scroll{overflow:scroll!important}.is-overflow-x-scroll{overflow-x:scroll!important}.is-overflow-y-scroll{overflow-y:scroll!important}.is-overflow-visible{overflow:visible!important}.is-overflow-x-visible{overflow-x:visible!important}.is-overflow-y-visible{overflow-y:visible!important}.is-relative{position:relative!important}.is-position-absolute{position:absolute!important}.is-position-fixed{position:fixed!important}.is-position-relative{position:relative!important}.is-position-static{position:static!important}.is-position-sticky{position:sticky!important}.marginless{margin:0!important}.paddingless{padding:0!important}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.mx-0{margin-right:0!important}.my-0{margin-bottom:0!important;margin-top:0!important}.m-1{margin:.25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important}.my-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.m-2{margin:.5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important}.my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.m-3{margin:.75rem!important}.mt-3{margin-top:.75rem!important}.mr-3{margin-right:.75rem!important}.mb-3{margin-bottom:.75rem!important}.ml-3,.mx-3{margin-left:.75rem!important}.mx-3{margin-right:.75rem!important}.my-3{margin-bottom:.75rem!important;margin-top:.75rem!important}.m-4{margin:1rem!important}.mt-4{margin-top:1rem!important}.mr-4{margin-right:1rem!important}.mb-4{margin-bottom:1rem!important}.ml-4,.mx-4{margin-left:1rem!important}.mx-4{margin-right:1rem!important}.my-4{margin-bottom:1rem!important;margin-top:1rem!important}.m-5{margin:1.5rem!important}.mt-5{margin-top:1.5rem!important}.mr-5{margin-right:1.5rem!important}.mb-5{margin-bottom:1.5rem!important}.ml-5,.mx-5{margin-left:1.5rem!important}.mx-5{margin-right:1.5rem!important}.my-5{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.m-6{margin:3rem!important}.mt-6{margin-top:3rem!important}.mr-6{margin-right:3rem!important}.mb-6{margin-bottom:3rem!important}.ml-6,.mx-6{margin-left:3rem!important}.mx-6{margin-right:3rem!important}.my-6{margin-bottom:3rem!important;margin-top:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important}.my-auto{margin-bottom:auto!important;margin-top:auto!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.px-0{padding-right:0!important}.py-0{padding-bottom:0!important;padding-top:0!important}.p-1{padding:.25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important}.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.p-2{padding:.5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important}.py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.p-3{padding:.75rem!important}.pt-3{padding-top:.75rem!important}.pr-3{padding-right:.75rem!important}.pb-3{padding-bottom:.75rem!important}.pl-3,.px-3{padding-left:.75rem!important}.px-3{padding-right:.75rem!important}.py-3{padding-bottom:.75rem!important;padding-top:.75rem!important}.p-4{padding:1rem!important}.pt-4{padding-top:1rem!important}.pr-4{padding-right:1rem!important}.pb-4{padding-bottom:1rem!important}.pl-4,.px-4{padding-left:1rem!important}.px-4{padding-right:1rem!important}.py-4{padding-bottom:1rem!important;padding-top:1rem!important}.p-5{padding:1.5rem!important}.pt-5{padding-top:1.5rem!important}.pr-5{padding-right:1.5rem!important}.pb-5{padding-bottom:1.5rem!important}.pl-5,.px-5{padding-left:1.5rem!important}.px-5{padding-right:1.5rem!important}.py-5{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.p-6{padding:3rem!important}.pt-6{padding-top:3rem!important}.pr-6{padding-right:3rem!important}.pb-6{padding-bottom:3rem!important}.pl-6,.px-6{padding-left:3rem!important}.px-6{padding-right:3rem!important}.py-6{padding-bottom:3rem!important;padding-top:3rem!important}.p-auto{padding:auto!important}.pt-auto{padding-top:auto!important}.pr-auto{padding-right:auto!important}.pb-auto{padding-bottom:auto!important}.pl-auto,.px-auto{padding-left:auto!important}.px-auto{padding-right:auto!important}.py-auto{padding-bottom:auto!important;padding-top:auto!important}.is-size-1{font-size:3rem!important}.is-size-2{font-size:2.5rem!important}.is-size-3{font-size:2rem!important}.is-size-4{font-size:1.5rem!important}.is-size-5{font-size:1.25rem!important}.is-size-6{font-size:1rem!important}.is-size-7{font-size:.75rem!important}@media screen and (max-width:768px){.is-size-1-mobile{font-size:3rem!important}.is-size-2-mobile{font-size:2.5rem!important}.is-size-3-mobile{font-size:2rem!important}.is-size-4-mobile{font-size:1.5rem!important}.is-size-5-mobile{font-size:1.25rem!important}.is-size-6-mobile{font-size:1rem!important}.is-size-7-mobile{font-size:.75rem!important}}@media print,screen and (min-width:769px){.is-size-1-tablet{font-size:3rem!important}.is-size-2-tablet{font-size:2.5rem!important}.is-size-3-tablet{font-size:2rem!important}.is-size-4-tablet{font-size:1.5rem!important}.is-size-5-tablet{font-size:1.25rem!important}.is-size-6-tablet{font-size:1rem!important}.is-size-7-tablet{font-size:.75rem!important}}@media screen and (max-width:1023px){.is-size-1-touch{font-size:3rem!important}.is-size-2-touch{font-size:2.5rem!important}.is-size-3-touch{font-size:2rem!important}.is-size-4-touch{font-size:1.5rem!important}.is-size-5-touch{font-size:1.25rem!important}.is-size-6-touch{font-size:1rem!important}.is-size-7-touch{font-size:.75rem!important}}@media screen and (min-width:1024px){.is-size-1-desktop{font-size:3rem!important}.is-size-2-desktop{font-size:2.5rem!important}.is-size-3-desktop{font-size:2rem!important}.is-size-4-desktop{font-size:1.5rem!important}.is-size-5-desktop{font-size:1.25rem!important}.is-size-6-desktop{font-size:1rem!important}.is-size-7-desktop{font-size:.75rem!important}}@media screen and (min-width:1216px){.is-size-1-widescreen{font-size:3rem!important}.is-size-2-widescreen{font-size:2.5rem!important}.is-size-3-widescreen{font-size:2rem!important}.is-size-4-widescreen{font-size:1.5rem!important}.is-size-5-widescreen{font-size:1.25rem!important}.is-size-6-widescreen{font-size:1rem!important}.is-size-7-widescreen{font-size:.75rem!important}}@media screen and (min-width:1408px){.is-size-1-fullhd{font-size:3rem!important}.is-size-2-fullhd{font-size:2.5rem!important}.is-size-3-fullhd{font-size:2rem!important}.is-size-4-fullhd{font-size:1.5rem!important}.is-size-5-fullhd{font-size:1.25rem!important}.is-size-6-fullhd{font-size:1rem!important}.is-size-7-fullhd{font-size:.75rem!important}}.has-text-centered{text-align:center!important}.has-text-justified{text-align:justify!important}.has-text-left{text-align:left!important}.has-text-right{text-align:right!important}@media screen and (max-width:768px){.has-text-centered-mobile{text-align:center!important}}@media print,screen and (min-width:769px){.has-text-centered-tablet{text-align:center!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-centered-tablet-only{text-align:center!important}}@media screen and (max-width:1023px){.has-text-centered-touch{text-align:center!important}}@media screen and (min-width:1024px){.has-text-centered-desktop{text-align:center!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-centered-desktop-only{text-align:center!important}}@media screen and (min-width:1216px){.has-text-centered-widescreen{text-align:center!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-centered-widescreen-only{text-align:center!important}}@media screen and (min-width:1408px){.has-text-centered-fullhd{text-align:center!important}}@media screen and (max-width:768px){.has-text-justified-mobile{text-align:justify!important}}@media print,screen and (min-width:769px){.has-text-justified-tablet{text-align:justify!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-justified-tablet-only{text-align:justify!important}}@media screen and (max-width:1023px){.has-text-justified-touch{text-align:justify!important}}@media screen and (min-width:1024px){.has-text-justified-desktop{text-align:justify!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-justified-desktop-only{text-align:justify!important}}@media screen and (min-width:1216px){.has-text-justified-widescreen{text-align:justify!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-justified-widescreen-only{text-align:justify!important}}@media screen and (min-width:1408px){.has-text-justified-fullhd{text-align:justify!important}}@media screen and (max-width:768px){.has-text-left-mobile{text-align:left!important}}@media print,screen and (min-width:769px){.has-text-left-tablet{text-align:left!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-left-tablet-only{text-align:left!important}}@media screen and (max-width:1023px){.has-text-left-touch{text-align:left!important}}@media screen and (min-width:1024px){.has-text-left-desktop{text-align:left!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-left-desktop-only{text-align:left!important}}@media screen and (min-width:1216px){.has-text-left-widescreen{text-align:left!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-left-widescreen-only{text-align:left!important}}@media screen and (min-width:1408px){.has-text-left-fullhd{text-align:left!important}}@media screen and (max-width:768px){.has-text-right-mobile{text-align:right!important}}@media print,screen and (min-width:769px){.has-text-right-tablet{text-align:right!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-right-tablet-only{text-align:right!important}}@media screen and (max-width:1023px){.has-text-right-touch{text-align:right!important}}@media screen and (min-width:1024px){.has-text-right-desktop{text-align:right!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-right-desktop-only{text-align:right!important}}@media screen and (min-width:1216px){.has-text-right-widescreen{text-align:right!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-right-widescreen-only{text-align:right!important}}@media screen and (min-width:1408px){.has-text-right-fullhd{text-align:right!important}}.is-capitalized{text-transform:capitalize!important}.is-lowercase{text-transform:lowercase!important}.is-uppercase{text-transform:uppercase!important}.is-italic{font-style:italic!important}.is-underlined{text-decoration:underline!important}.has-text-weight-light{font-weight:300!important}.has-text-weight-normal{font-weight:400!important}.has-text-weight-medium{font-weight:500!important}.has-text-weight-semibold{font-weight:600!important}.has-text-weight-bold{font-weight:700!important}.is-family-primary,.is-family-sans-serif,.is-family-secondary{font-family:Inter,SF Pro,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Helvetica,Arial,sans-serif!important}.is-family-code,.is-family-monospace{font-family:Inconsolata,Hack,SF Mono,Roboto Mono,Source Code Pro,Ubuntu Mono,monospace!important}.is-display-none,.is-hidden{display:none!important}.is-block,.is-display-block{display:block!important}@media screen and (max-width:768px){.is-block-mobile,.is-display-block-mobile{display:block!important}}@media print,screen and (min-width:769px){.is-block-tablet,.is-display-block-tablet{display:block!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-block-tablet-only,.is-display-block-tablet-only{display:block!important}}@media screen and (max-width:1023px){.is-block-touch,.is-display-block-touch{display:block!important}}@media screen and (min-width:1024px){.is-block-desktop,.is-display-block-desktop{display:block!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-block-desktop-only,.is-display-block-desktop-only{display:block!important}}@media screen and (min-width:1216px){.is-block-widescreen,.is-display-block-widescreen{display:block!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-block-widescreen-only,.is-display-block-widescreen-only{display:block!important}}@media screen and (min-width:1408px){.is-block-fullhd,.is-display-block-fullhd{display:block!important}}.is-display-flex,.is-flex{display:flex!important}@media screen and (max-width:768px){.is-display-flex-mobile,.is-flex-mobile{display:flex!important}}@media print,screen and (min-width:769px){.is-display-flex-tablet,.is-flex-tablet{display:flex!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-display-flex-tablet-only,.is-flex-tablet-only{display:flex!important}}@media screen and (max-width:1023px){.is-display-flex-touch,.is-flex-touch{display:flex!important}}@media screen and (min-width:1024px){.is-display-flex-desktop,.is-flex-desktop{display:flex!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-display-flex-desktop-only,.is-flex-desktop-only{display:flex!important}}@media screen and (min-width:1216px){.is-display-flex-widescreen,.is-flex-widescreen{display:flex!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-display-flex-widescreen-only,.is-flex-widescreen-only{display:flex!important}}@media screen and (min-width:1408px){.is-display-flex-fullhd,.is-flex-fullhd{display:flex!important}}.is-display-inline,.is-inline{display:inline!important}@media screen and (max-width:768px){.is-display-inline-mobile,.is-inline-mobile{display:inline!important}}@media print,screen and (min-width:769px){.is-display-inline-tablet,.is-inline-tablet{display:inline!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-display-inline-tablet-only,.is-inline-tablet-only{display:inline!important}}@media screen and (max-width:1023px){.is-display-inline-touch,.is-inline-touch{display:inline!important}}@media screen and (min-width:1024px){.is-display-inline-desktop,.is-inline-desktop{display:inline!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-display-inline-desktop-only,.is-inline-desktop-only{display:inline!important}}@media screen and (min-width:1216px){.is-display-inline-widescreen,.is-inline-widescreen{display:inline!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-display-inline-widescreen-only,.is-inline-widescreen-only{display:inline!important}}@media screen and (min-width:1408px){.is-display-inline-fullhd,.is-inline-fullhd{display:inline!important}}.is-display-inline-block,.is-inline-block{display:inline-block!important}@media screen and (max-width:768px){.is-display-inline-block-mobile,.is-inline-block-mobile{display:inline-block!important}}@media print,screen and (min-width:769px){.is-display-inline-block-tablet,.is-inline-block-tablet{display:inline-block!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-display-inline-block-tablet-only,.is-inline-block-tablet-only{display:inline-block!important}}@media screen and (max-width:1023px){.is-display-inline-block-touch,.is-inline-block-touch{display:inline-block!important}}@media screen and (min-width:1024px){.is-display-inline-block-desktop,.is-inline-block-desktop{display:inline-block!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-display-inline-block-desktop-only,.is-inline-block-desktop-only{display:inline-block!important}}@media screen and (min-width:1216px){.is-display-inline-block-widescreen,.is-inline-block-widescreen{display:inline-block!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-display-inline-block-widescreen-only,.is-inline-block-widescreen-only{display:inline-block!important}}@media screen and (min-width:1408px){.is-display-inline-block-fullhd,.is-inline-block-fullhd{display:inline-block!important}}.is-display-inline-flex,.is-inline-flex{display:inline-flex!important}@media screen and (max-width:768px){.is-display-inline-flex-mobile,.is-inline-flex-mobile{display:inline-flex!important}}@media print,screen and (min-width:769px){.is-display-inline-flex-tablet,.is-inline-flex-tablet{display:inline-flex!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-display-inline-flex-tablet-only,.is-inline-flex-tablet-only{display:inline-flex!important}}@media screen and (max-width:1023px){.is-display-inline-flex-touch,.is-inline-flex-touch{display:inline-flex!important}}@media screen and (min-width:1024px){.is-display-inline-flex-desktop,.is-inline-flex-desktop{display:inline-flex!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-display-inline-flex-desktop-only,.is-inline-flex-desktop-only{display:inline-flex!important}}@media screen and (min-width:1216px){.is-display-inline-flex-widescreen,.is-inline-flex-widescreen{display:inline-flex!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-display-inline-flex-widescreen-only,.is-inline-flex-widescreen-only{display:inline-flex!important}}@media screen and (min-width:1408px){.is-display-inline-flex-fullhd,.is-inline-flex-fullhd{display:inline-flex!important}}.is-display-grid,.is-grid{display:grid!important}@media screen and (max-width:768px){.is-display-grid-mobile,.is-grid-mobile{display:grid!important}}@media print,screen and (min-width:769px){.is-display-grid-tablet,.is-grid-tablet{display:grid!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-display-grid-tablet-only,.is-grid-tablet-only{display:grid!important}}@media screen and (max-width:1023px){.is-display-grid-touch,.is-grid-touch{display:grid!important}}@media screen and (min-width:1024px){.is-display-grid-desktop,.is-grid-desktop{display:grid!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-display-grid-desktop-only,.is-grid-desktop-only{display:grid!important}}@media screen and (min-width:1216px){.is-display-grid-widescreen,.is-grid-widescreen{display:grid!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-display-grid-widescreen-only,.is-grid-widescreen-only{display:grid!important}}@media screen and (min-width:1408px){.is-display-grid-fullhd,.is-grid-fullhd{display:grid!important}}.is-sr-only{border:none!important;clip:rect(0,0,0,0)!important;height:.01em!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:.01em!important}@media screen and (max-width:768px){.is-display-none-mobile,.is-hidden-mobile{display:none!important}}@media print,screen and (min-width:769px){.is-display-none-tablet,.is-hidden-tablet{display:none!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-display-none-tablet-only,.is-hidden-tablet-only{display:none!important}}@media screen and (max-width:1023px){.is-display-none-touch,.is-hidden-touch{display:none!important}}@media screen and (min-width:1024px){.is-display-none-desktop,.is-hidden-desktop{display:none!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-display-none-desktop-only,.is-hidden-desktop-only{display:none!important}}@media screen and (min-width:1216px){.is-display-none-widescreen,.is-hidden-widescreen{display:none!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-display-none-widescreen-only,.is-hidden-widescreen-only{display:none!important}}@media screen and (min-width:1408px){.is-display-none-fullhd,.is-hidden-fullhd{display:none!important}}.is-invisible,.is-visibility-hidden{visibility:hidden!important}@media screen and (max-width:768px){.is-invisible-mobile,.is-visibility-hidden-mobile{visibility:hidden!important}}@media print,screen and (min-width:769px){.is-invisible-tablet,.is-visibility-hidden-tablet{visibility:hidden!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-invisible-tablet-only,.is-visibility-hidden-tablet-only{visibility:hidden!important}}@media screen and (max-width:1023px){.is-invisible-touch,.is-visibility-hidden-touch{visibility:hidden!important}}@media screen and (min-width:1024px){.is-invisible-desktop,.is-visibility-hidden-desktop{visibility:hidden!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-invisible-desktop-only,.is-visibility-hidden-desktop-only{visibility:hidden!important}}@media screen and (min-width:1216px){.is-invisible-widescreen,.is-visibility-hidden-widescreen{visibility:hidden!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-invisible-widescreen-only,.is-visibility-hidden-widescreen-only{visibility:hidden!important}}@media screen and (min-width:1408px){.is-invisible-fullhd,.is-visibility-hidden-fullhd{visibility:hidden!important}}.is-radiusless{border-radius:0!important}.is-shadowless{box-shadow:none!important}.is-clickable{cursor:pointer!important;pointer-events:all!important} \ No newline at end of file From 651c272136eb877b3556435d47b06d72cfb6151f Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Thu, 9 Jan 2025 13:06:53 +0100 Subject: [PATCH 084/137] simplify --- src/main/javacc/CSS3Parser.jj | 56 ++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index fc0b5b4..a2bc94f 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -2146,10 +2146,7 @@ LexicalUnit hslColor(LexicalUnit prev) : (op = unaryOperator() )? ( next = number(next, op) - | t = { next = LexicalUnitImpl.createDegree(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } + | next = angle(next, op) | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } | next = calc(next) @@ -2215,10 +2212,7 @@ LexicalUnit hslColor(LexicalUnit prev) : ( { param = LexicalUnitImpl.createNone(null); } | param = number(null, op) - | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } + | param = angle(null, op) | param = calc(null) | param = var(null) @@ -2328,10 +2322,7 @@ LexicalUnit hwbColor(LexicalUnit prev) : (op = unaryOperator() )? ( next = number(next, op) - | t = { next = LexicalUnitImpl.createDegree(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } + | next = angle(next, op) | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } | next = calc(next) @@ -2396,10 +2387,7 @@ LexicalUnit hwbColor(LexicalUnit prev) : ( { param = LexicalUnitImpl.createNone(null); } | param = number(null, op) - | t = { param = LexicalUnitImpl.createDegree(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createRadian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createGradian(null, doubleValue(op, t.image)); } - | t = { param = LexicalUnitImpl.createTurn(null, doubleValue(op, t.image)); } + | param = angle(null, op) | param = calc(null) | param = var(null) @@ -2698,10 +2686,7 @@ LexicalUnit lchColor(LexicalUnit prev) : ( (op = unaryOperator() )? ( - t = { next = LexicalUnitImpl.createDegree(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } + next = angle(next, op) | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } | next = calc(next) @@ -2767,10 +2752,7 @@ LexicalUnit lchColor(LexicalUnit prev) : (op = unaryOperator() )? ( { next = LexicalUnitImpl.createNone(next); } - | t = { next = LexicalUnitImpl.createDegree(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createRadian(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createGradian(next, doubleValue(op, t.image)); } - | t = { next = LexicalUnitImpl.createTurn(next, doubleValue(op, t.image)); } + | next = angle(next, op) | next = calc(next) | next = var(next) @@ -2981,6 +2963,32 @@ LexicalUnit dimension(LexicalUnit prev, char op) : } } + +// +// angle() +// +LexicalUnit angle(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + + // // unicodeRange // From 7f01003f1cf600bb88d8d32d8952d04615696b06 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Thu, 9 Jan 2025 14:03:23 +0100 Subject: [PATCH 085/137] one more test --- .../parser/CSS3ParserRealWorldTest.java | 27 + src/test/resources/realworld/picnic.css | 3937 +++++++++++++++++ src/test/resources/realworld/picnic.min.css | 1 + 3 files changed, 3965 insertions(+) create mode 100644 src/test/resources/realworld/picnic.css create mode 100644 src/test/resources/realworld/picnic.min.css diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java index 1bd9309..74e0047 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -411,6 +411,33 @@ public void bulma_1_0_2() throws Exception { realWorld("realworld/bulma_1_0_2.min.css", 3011, 7180, media, 13, 13); } + /** + * @throws Exception if any error occurs + */ + @Test + public void picnic() throws Exception { + final String media = "(max-width: 60em);" + + "all and (max-width: 60em);" + + "all and (min-width: 1000px);" + + "all and (min-width: 1100px);" + + "all and (min-width: 1200px);" + + "all and (min-width: 1300px);" + + "all and (min-width: 1400px);" + + "all and (min-width: 1500px);" + + "all and (min-width: 1600px);" + + "all and (min-width: 1700px);" + + "all and (min-width: 1800px);" + + "all and (min-width: 1900px);" + + "all and (min-width: 2000px);" + + "all and (min-width: 500px);" + + "all and (min-width: 600px);" + + "all and (min-width: 700px);" + + "all and (min-width: 800px);" + + "all and (min-width: 900px);"; + realWorld("realworld/picnic.css", 292, 524, media, 0, 0); + realWorld("realworld/picnic.min.css", 291, 524, media, 0, 0); + } + /** * @throws Exception if any error occurs */ diff --git a/src/test/resources/realworld/picnic.css b/src/test/resources/realworld/picnic.css new file mode 100644 index 0000000..31de804 --- /dev/null +++ b/src/test/resources/realworld/picnic.css @@ -0,0 +1,3937 @@ +@charset "UTF-8"; +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ +html { + font-family: sans-serif; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} + +/** + * Remove default margin. + */ +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ +audio, +canvas, +progress, +video { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ +/** + * Remove the gray background color from active links in IE 10. + */ +a { + background: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ +mark { + background: #fff; + color: #111; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ +/** + * Remove border when inside `a` element in IE 8/9/10. + */ +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ +/** + * Address margin not present in IE 8/9 and Safari. + */ +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ +button, +input, +optgroup, +select, +textarea { + color: inherit; + /* 1 */ + font: inherit; + /* 2 */ + margin: 0; + /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ +button, +html input[type=button], +input[type=reset], +input[type=submit] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ +button[disabled], +input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ +input[type=checkbox], +input[type=radio] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button { + height: auto; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ +input[type=search]::-webkit-search-cancel-button, +input[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ +fieldset { + border: 0; + padding: 0; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ +legend { + border: 0; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ +/** + * Remove most spacing between table cells. + */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +* { + box-sizing: inherit; +} + +html, +body { + font-family: Arial, Helvetica, sans-serif; + box-sizing: border-box; + height: 100%; +} + +body { + color: #111; + font-size: 1.1em; + line-height: 1.5; + background: #fff; +} + +main { + display: block; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0; + padding: 0.6em 0; +} + +li { + margin: 0 0 0.3em; +} + +a { + color: #0074d9; + text-decoration: none; + box-shadow: none; + transition: all 0.3s; +} + +code { + padding: 0.3em 0.6em; + font-size: 0.8em; + background: #f5f5f5; +} + +pre { + text-align: left; + padding: 0.3em; + background: #f5f5f5; + border-radius: 0.2em; +} +pre code { + padding: 0; +} + +blockquote { + padding: 0 0 0 1em; + margin: 0 0 0 0.1em; + box-shadow: inset 5px 0 rgba(17, 17, 17, 0.3); +} + +label { + cursor: pointer; +} + +[class^=icon-]:before, +[class*=" icon-"]:before { + margin: 0 0.6em 0 0; +} + +i[class^=icon-]:before, +i[class*=" icon-"]:before { + margin: 0; +} + +.dropimage, button, +.button, +[type=submit], .label, [data-tooltip]:after { + display: inline-block; + text-align: center; + letter-spacing: inherit; + margin: 0; + padding: 0.3em 0.9em; + vertical-align: middle; + background: #0074d9; + color: #fff; + border: 0; + border-radius: 0.2em; + width: auto; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.success.dropimage, button.success, +.success.button, +.success[type=submit], .success.label, .success[data-tooltip]:after { + background: #2ecc40; +} +.warning.dropimage, button.warning, +.warning.button, +.warning[type=submit], .warning.label, .warning[data-tooltip]:after { + background: #ff851b; +} +.error.dropimage, button.error, +.error.button, +.error[type=submit], .error.label, .error[data-tooltip]:after { + background: #ff4136; +} +.pseudo.dropimage, button.pseudo, +.pseudo.button, +.pseudo[type=submit], .pseudo.label, .pseudo[data-tooltip]:after { + background-color: transparent; + color: inherit; +} + +.label, [data-tooltip]:after { + font-size: 0.6em; + padding: 0.4em 0.6em; + margin-left: 1em; + line-height: 1; +} + +.dropimage, button, +.button, +[type=submit] { + margin: 0.3em 0; + cursor: pointer; + transition: all 0.3s; + border-radius: 0.2em; + height: auto; + vertical-align: baseline; + box-shadow: 0 0 rgba(17, 17, 17, 0) inset; +} +.dropimage:hover, button:hover, +.button:hover, +[type=submit]:hover, .dropimage:focus, button:focus, +.button:focus, +[type=submit]:focus { + box-shadow: inset 0 0 0 99em rgba(255, 255, 255, 0.2); + border: 0; +} +.pseudo.dropimage:hover, button.pseudo:hover, +.pseudo.button:hover, +.pseudo[type=submit]:hover, .pseudo.dropimage:focus, button.pseudo:focus, +.pseudo.button:focus, +.pseudo[type=submit]:focus { + box-shadow: inset 0 0 0 99em rgba(17, 17, 17, 0.1); +} +.active.dropimage, button.active, +.active.button, +.active[type=submit], .dropimage:active, button:active, +.button:active, +[type=submit]:active { + box-shadow: inset 0 0 0 99em rgba(17, 17, 17, 0.2); +} +[disabled].dropimage, button[disabled], +[disabled].button, +[disabled][type=submit] { + cursor: default; + box-shadow: none; + background: #aaa; +} + +:checked + .toggle, +:checked + .toggle:hover { + box-shadow: inset 0 0 0 99em rgba(17, 17, 17, 0.2); +} + +[type] + .toggle { + padding: 0.3em 0.9em; + margin-right: 0; +} +[type] + .toggle:after, [type] + .toggle:before { + display: none; +} + +input, +textarea, +.select select { + line-height: 1.5; + margin: 0; + height: 2.1em; + padding: 0.3em 0.6em; + border: 1px solid #aaa; + background-color: #fff; + border-radius: 0.2em; + transition: all 0.3s; + width: 100%; +} +input:focus, +textarea:focus, +.select select:focus { + border: 1px solid #0074d9; + outline: 0; +} + +textarea { + height: auto; +} + +[type=file], +[type=color] { + cursor: pointer; +} + +[type=file] { + height: auto; +} + +select { + background: #fff url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyIiBoZWlnaHQ9IjMiPjxwYXRoIGQ9Im0gMCwxIDEsMiAxLC0yIHoiLz48L3N2Zz4=) no-repeat scroll 95% center/10px 15px; + background-position: calc(100% - 15px) center; + border: 1px solid #aaa; + border-radius: 0.2em; + cursor: pointer; + width: 100%; + height: 2.2em; + box-sizing: border-box; + padding: 0.3em 0.45em; + transition: all 0.3s; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; +} +select::-ms-expand { + display: none; +} +select:focus, select:active { + border: 1px solid #0074d9; + transition: outline 0s; +} +select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #111; +} +select option { + font-size: inherit; + padding: 0.45em; +} +select[multiple] { + height: auto; + background: none; + padding: 0; +} + +[type=checkbox], [type=radio] { + opacity: 0; + width: 0; + position: absolute; + display: inline-block; +} +[type=checkbox] + .checkable:hover:before, [type=radio] + .checkable:hover:before, [type=checkbox]:focus + .checkable:before, [type=radio]:focus + .checkable:before { + border: 1px solid #0074d9; +} +[type=checkbox] + .checkable, [type=radio] + .checkable { + position: relative; + cursor: pointer; + padding-left: 1.5em; + margin-right: 0.6em; +} +[type=checkbox] + .checkable:before, [type=radio] + .checkable:before, [type=checkbox] + .checkable:after, [type=radio] + .checkable:after { + content: ""; + position: absolute; + display: inline-block; + left: 0; + top: 50%; + transform: translateY(-50%); + font-size: 1em; + line-height: 1em; + color: transparent; + font-family: sans; + text-align: center; + box-sizing: border-box; + width: 1em; + height: 1em; + border-radius: 50%; + transition: all 0.3s; +} +[type=checkbox] + .checkable:before, [type=radio] + .checkable:before { + border: 1px solid #aaa; +} +[type=checkbox]:checked + .checkable:after, [type=radio]:checked + .checkable:after { + background: #111; + transform: scale(0.5) translateY(-100%); +} + +[type=checkbox] + .checkable:before { + border-radius: 0.2em; +} +[type=checkbox] + .checkable:after { + content: "✔"; + background: none; + transform: scale(2) translateY(-25%); + visibility: hidden; + opacity: 0; +} +[type=checkbox]:checked + .checkable:after { + color: #111; + background: none; + transform: translateY(-50%); + transition: all 0.3s; + visibility: visible; + opacity: 1; +} + +table { + text-align: left; +} + +td, +th { + padding: 0.3em 2.4em 0.3em 0.6em; +} + +th { + text-align: left; + font-weight: 900; + color: #fff; + background-color: #0074d9; +} + +.success th { + background-color: #2ecc40; +} + +.warning th { + background-color: #ff851b; +} + +.error th { + background-color: #ff4136; +} + +.dull th { + background-color: #aaa; +} + +tr:nth-child(even) { + background: rgba(17, 17, 17, 0.05); +} + +.flex { + display: -ms-flexbox; + display: flex; + margin-left: -0.6em; + width: calc(100% + 0.6em); + flex-wrap: wrap; + transition: all 0.3s ease; +} + +.flex > * { + box-sizing: border-box; + flex: 1 1 auto; + /* Default for IE10 bug */ + padding-left: 0.6em; + padding-bottom: 0.6em; +} + +.flex[class*=one] > *, .flex[class*=two] > *, .flex[class*=three] > *, .flex[class*=four] > *, .flex[class*=five] > *, .flex[class*=six] > *, .flex[class*=seven] > *, .flex[class*=eight] > *, .flex[class*=nine] > *, .flex[class*=ten] > *, .flex[class*=eleven] > *, .flex[class*=twelve] > * { + flex-grow: 0; +} + +.flex.grow > * { + flex-grow: 1; +} + +.center { + justify-content: center; +} + +.one > * { + width: 100%; +} + +.two > * { + width: 50%; +} + +.three > * { + width: 33.33333%; +} + +.four > * { + width: 25%; +} + +.five > * { + width: 20%; +} + +.six > * { + width: 16.66666%; +} + +.seven > * { + width: 14.28571%; +} + +.eight > * { + width: 12.5%; +} + +.nine > * { + width: 11.11111%; +} + +.ten > * { + width: 10%; +} + +.eleven > * { + width: 9.09091%; +} + +.twelve > * { + width: 8.33333%; +} + +@media all and (min-width: 500px) { + .one-500 > * { + width: 100%; + } + + .two-500 > * { + width: 50%; + } + + .three-500 > * { + width: 33.33333%; + } + + .four-500 > * { + width: 25%; + } + + .five-500 > * { + width: 20%; + } + + .six-500 > * { + width: 16.66666%; + } + + .seven-500 > * { + width: 14.28571%; + } + + .eight-500 > * { + width: 12.5%; + } + + .nine-500 > * { + width: 11.11111%; + } + + .ten-500 > * { + width: 10%; + } + + .eleven-500 > * { + width: 9.09091%; + } + + .twelve-500 > * { + width: 8.33333%; + } +} +@media all and (min-width: 600px) { + .one-600 > * { + width: 100%; + } + + .two-600 > * { + width: 50%; + } + + .three-600 > * { + width: 33.33333%; + } + + .four-600 > * { + width: 25%; + } + + .five-600 > * { + width: 20%; + } + + .six-600 > * { + width: 16.66666%; + } + + .seven-600 > * { + width: 14.28571%; + } + + .eight-600 > * { + width: 12.5%; + } + + .nine-600 > * { + width: 11.11111%; + } + + .ten-600 > * { + width: 10%; + } + + .eleven-600 > * { + width: 9.09091%; + } + + .twelve-600 > * { + width: 8.33333%; + } +} +@media all and (min-width: 700px) { + .one-700 > * { + width: 100%; + } + + .two-700 > * { + width: 50%; + } + + .three-700 > * { + width: 33.33333%; + } + + .four-700 > * { + width: 25%; + } + + .five-700 > * { + width: 20%; + } + + .six-700 > * { + width: 16.66666%; + } + + .seven-700 > * { + width: 14.28571%; + } + + .eight-700 > * { + width: 12.5%; + } + + .nine-700 > * { + width: 11.11111%; + } + + .ten-700 > * { + width: 10%; + } + + .eleven-700 > * { + width: 9.09091%; + } + + .twelve-700 > * { + width: 8.33333%; + } +} +@media all and (min-width: 800px) { + .one-800 > * { + width: 100%; + } + + .two-800 > * { + width: 50%; + } + + .three-800 > * { + width: 33.33333%; + } + + .four-800 > * { + width: 25%; + } + + .five-800 > * { + width: 20%; + } + + .six-800 > * { + width: 16.66666%; + } + + .seven-800 > * { + width: 14.28571%; + } + + .eight-800 > * { + width: 12.5%; + } + + .nine-800 > * { + width: 11.11111%; + } + + .ten-800 > * { + width: 10%; + } + + .eleven-800 > * { + width: 9.09091%; + } + + .twelve-800 > * { + width: 8.33333%; + } +} +@media all and (min-width: 900px) { + .one-900 > * { + width: 100%; + } + + .two-900 > * { + width: 50%; + } + + .three-900 > * { + width: 33.33333%; + } + + .four-900 > * { + width: 25%; + } + + .five-900 > * { + width: 20%; + } + + .six-900 > * { + width: 16.66666%; + } + + .seven-900 > * { + width: 14.28571%; + } + + .eight-900 > * { + width: 12.5%; + } + + .nine-900 > * { + width: 11.11111%; + } + + .ten-900 > * { + width: 10%; + } + + .eleven-900 > * { + width: 9.09091%; + } + + .twelve-900 > * { + width: 8.33333%; + } +} +@media all and (min-width: 1000px) { + .one-1000 > * { + width: 100%; + } + + .two-1000 > * { + width: 50%; + } + + .three-1000 > * { + width: 33.33333%; + } + + .four-1000 > * { + width: 25%; + } + + .five-1000 > * { + width: 20%; + } + + .six-1000 > * { + width: 16.66666%; + } + + .seven-1000 > * { + width: 14.28571%; + } + + .eight-1000 > * { + width: 12.5%; + } + + .nine-1000 > * { + width: 11.11111%; + } + + .ten-1000 > * { + width: 10%; + } + + .eleven-1000 > * { + width: 9.09091%; + } + + .twelve-1000 > * { + width: 8.33333%; + } +} +@media all and (min-width: 1100px) { + .one-1100 > * { + width: 100%; + } + + .two-1100 > * { + width: 50%; + } + + .three-1100 > * { + width: 33.33333%; + } + + .four-1100 > * { + width: 25%; + } + + .five-1100 > * { + width: 20%; + } + + .six-1100 > * { + width: 16.66666%; + } + + .seven-1100 > * { + width: 14.28571%; + } + + .eight-1100 > * { + width: 12.5%; + } + + .nine-1100 > * { + width: 11.11111%; + } + + .ten-1100 > * { + width: 10%; + } + + .eleven-1100 > * { + width: 9.09091%; + } + + .twelve-1100 > * { + width: 8.33333%; + } +} +@media all and (min-width: 1200px) { + .one-1200 > * { + width: 100%; + } + + .two-1200 > * { + width: 50%; + } + + .three-1200 > * { + width: 33.33333%; + } + + .four-1200 > * { + width: 25%; + } + + .five-1200 > * { + width: 20%; + } + + .six-1200 > * { + width: 16.66666%; + } + + .seven-1200 > * { + width: 14.28571%; + } + + .eight-1200 > * { + width: 12.5%; + } + + .nine-1200 > * { + width: 11.11111%; + } + + .ten-1200 > * { + width: 10%; + } + + .eleven-1200 > * { + width: 9.09091%; + } + + .twelve-1200 > * { + width: 8.33333%; + } +} +@media all and (min-width: 1300px) { + .one-1300 > * { + width: 100%; + } + + .two-1300 > * { + width: 50%; + } + + .three-1300 > * { + width: 33.33333%; + } + + .four-1300 > * { + width: 25%; + } + + .five-1300 > * { + width: 20%; + } + + .six-1300 > * { + width: 16.66666%; + } + + .seven-1300 > * { + width: 14.28571%; + } + + .eight-1300 > * { + width: 12.5%; + } + + .nine-1300 > * { + width: 11.11111%; + } + + .ten-1300 > * { + width: 10%; + } + + .eleven-1300 > * { + width: 9.09091%; + } + + .twelve-1300 > * { + width: 8.33333%; + } +} +@media all and (min-width: 1400px) { + .one-1400 > * { + width: 100%; + } + + .two-1400 > * { + width: 50%; + } + + .three-1400 > * { + width: 33.33333%; + } + + .four-1400 > * { + width: 25%; + } + + .five-1400 > * { + width: 20%; + } + + .six-1400 > * { + width: 16.66666%; + } + + .seven-1400 > * { + width: 14.28571%; + } + + .eight-1400 > * { + width: 12.5%; + } + + .nine-1400 > * { + width: 11.11111%; + } + + .ten-1400 > * { + width: 10%; + } + + .eleven-1400 > * { + width: 9.09091%; + } + + .twelve-1400 > * { + width: 8.33333%; + } +} +@media all and (min-width: 1500px) { + .one-1500 > * { + width: 100%; + } + + .two-1500 > * { + width: 50%; + } + + .three-1500 > * { + width: 33.33333%; + } + + .four-1500 > * { + width: 25%; + } + + .five-1500 > * { + width: 20%; + } + + .six-1500 > * { + width: 16.66666%; + } + + .seven-1500 > * { + width: 14.28571%; + } + + .eight-1500 > * { + width: 12.5%; + } + + .nine-1500 > * { + width: 11.11111%; + } + + .ten-1500 > * { + width: 10%; + } + + .eleven-1500 > * { + width: 9.09091%; + } + + .twelve-1500 > * { + width: 8.33333%; + } +} +@media all and (min-width: 1600px) { + .one-1600 > * { + width: 100%; + } + + .two-1600 > * { + width: 50%; + } + + .three-1600 > * { + width: 33.33333%; + } + + .four-1600 > * { + width: 25%; + } + + .five-1600 > * { + width: 20%; + } + + .six-1600 > * { + width: 16.66666%; + } + + .seven-1600 > * { + width: 14.28571%; + } + + .eight-1600 > * { + width: 12.5%; + } + + .nine-1600 > * { + width: 11.11111%; + } + + .ten-1600 > * { + width: 10%; + } + + .eleven-1600 > * { + width: 9.09091%; + } + + .twelve-1600 > * { + width: 8.33333%; + } +} +@media all and (min-width: 1700px) { + .one-1700 > * { + width: 100%; + } + + .two-1700 > * { + width: 50%; + } + + .three-1700 > * { + width: 33.33333%; + } + + .four-1700 > * { + width: 25%; + } + + .five-1700 > * { + width: 20%; + } + + .six-1700 > * { + width: 16.66666%; + } + + .seven-1700 > * { + width: 14.28571%; + } + + .eight-1700 > * { + width: 12.5%; + } + + .nine-1700 > * { + width: 11.11111%; + } + + .ten-1700 > * { + width: 10%; + } + + .eleven-1700 > * { + width: 9.09091%; + } + + .twelve-1700 > * { + width: 8.33333%; + } +} +@media all and (min-width: 1800px) { + .one-1800 > * { + width: 100%; + } + + .two-1800 > * { + width: 50%; + } + + .three-1800 > * { + width: 33.33333%; + } + + .four-1800 > * { + width: 25%; + } + + .five-1800 > * { + width: 20%; + } + + .six-1800 > * { + width: 16.66666%; + } + + .seven-1800 > * { + width: 14.28571%; + } + + .eight-1800 > * { + width: 12.5%; + } + + .nine-1800 > * { + width: 11.11111%; + } + + .ten-1800 > * { + width: 10%; + } + + .eleven-1800 > * { + width: 9.09091%; + } + + .twelve-1800 > * { + width: 8.33333%; + } +} +@media all and (min-width: 1900px) { + .one-1900 > * { + width: 100%; + } + + .two-1900 > * { + width: 50%; + } + + .three-1900 > * { + width: 33.33333%; + } + + .four-1900 > * { + width: 25%; + } + + .five-1900 > * { + width: 20%; + } + + .six-1900 > * { + width: 16.66666%; + } + + .seven-1900 > * { + width: 14.28571%; + } + + .eight-1900 > * { + width: 12.5%; + } + + .nine-1900 > * { + width: 11.11111%; + } + + .ten-1900 > * { + width: 10%; + } + + .eleven-1900 > * { + width: 9.09091%; + } + + .twelve-1900 > * { + width: 8.33333%; + } +} +@media all and (min-width: 2000px) { + .one-2000 > * { + width: 100%; + } + + .two-2000 > * { + width: 50%; + } + + .three-2000 > * { + width: 33.33333%; + } + + .four-2000 > * { + width: 25%; + } + + .five-2000 > * { + width: 20%; + } + + .six-2000 > * { + width: 16.66666%; + } + + .seven-2000 > * { + width: 14.28571%; + } + + .eight-2000 > * { + width: 12.5%; + } + + .nine-2000 > * { + width: 11.11111%; + } + + .ten-2000 > * { + width: 10%; + } + + .eleven-2000 > * { + width: 9.09091%; + } + + .twelve-2000 > * { + width: 8.33333%; + } +} +.full { + width: 100%; +} + +.half { + width: 50%; +} + +.third { + width: 33.33333%; +} + +.two-third { + width: 66.66666%; +} + +.fourth { + width: 25%; +} + +.three-fourth { + width: 75%; +} + +.fifth { + width: 20%; +} + +.two-fifth { + width: 40%; +} + +.three-fifth { + width: 60%; +} + +.four-fifth { + width: 80%; +} + +.sixth { + width: 16.66666%; +} + +.none { + display: none; +} + +@media all and (min-width: 500px) { + .full-500 { + width: 100%; + display: block; + } + + .half-500 { + width: 50%; + display: block; + } + + .third-500 { + width: 33.33333%; + display: block; + } + + .two-third-500 { + width: 66.66666%; + display: block; + } + + .fourth-500 { + width: 25%; + display: block; + } + + .three-fourth-500 { + width: 75%; + display: block; + } + + .fifth-500 { + width: 20%; + display: block; + } + + .two-fifth-500 { + width: 40%; + display: block; + } + + .three-fifth-500 { + width: 60%; + display: block; + } + + .four-fifth-500 { + width: 80%; + display: block; + } + + .sixth-500 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 600px) { + .full-600 { + width: 100%; + display: block; + } + + .half-600 { + width: 50%; + display: block; + } + + .third-600 { + width: 33.33333%; + display: block; + } + + .two-third-600 { + width: 66.66666%; + display: block; + } + + .fourth-600 { + width: 25%; + display: block; + } + + .three-fourth-600 { + width: 75%; + display: block; + } + + .fifth-600 { + width: 20%; + display: block; + } + + .two-fifth-600 { + width: 40%; + display: block; + } + + .three-fifth-600 { + width: 60%; + display: block; + } + + .four-fifth-600 { + width: 80%; + display: block; + } + + .sixth-600 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 700px) { + .full-700 { + width: 100%; + display: block; + } + + .half-700 { + width: 50%; + display: block; + } + + .third-700 { + width: 33.33333%; + display: block; + } + + .two-third-700 { + width: 66.66666%; + display: block; + } + + .fourth-700 { + width: 25%; + display: block; + } + + .three-fourth-700 { + width: 75%; + display: block; + } + + .fifth-700 { + width: 20%; + display: block; + } + + .two-fifth-700 { + width: 40%; + display: block; + } + + .three-fifth-700 { + width: 60%; + display: block; + } + + .four-fifth-700 { + width: 80%; + display: block; + } + + .sixth-700 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 800px) { + .full-800 { + width: 100%; + display: block; + } + + .half-800 { + width: 50%; + display: block; + } + + .third-800 { + width: 33.33333%; + display: block; + } + + .two-third-800 { + width: 66.66666%; + display: block; + } + + .fourth-800 { + width: 25%; + display: block; + } + + .three-fourth-800 { + width: 75%; + display: block; + } + + .fifth-800 { + width: 20%; + display: block; + } + + .two-fifth-800 { + width: 40%; + display: block; + } + + .three-fifth-800 { + width: 60%; + display: block; + } + + .four-fifth-800 { + width: 80%; + display: block; + } + + .sixth-800 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 900px) { + .full-900 { + width: 100%; + display: block; + } + + .half-900 { + width: 50%; + display: block; + } + + .third-900 { + width: 33.33333%; + display: block; + } + + .two-third-900 { + width: 66.66666%; + display: block; + } + + .fourth-900 { + width: 25%; + display: block; + } + + .three-fourth-900 { + width: 75%; + display: block; + } + + .fifth-900 { + width: 20%; + display: block; + } + + .two-fifth-900 { + width: 40%; + display: block; + } + + .three-fifth-900 { + width: 60%; + display: block; + } + + .four-fifth-900 { + width: 80%; + display: block; + } + + .sixth-900 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 1000px) { + .full-1000 { + width: 100%; + display: block; + } + + .half-1000 { + width: 50%; + display: block; + } + + .third-1000 { + width: 33.33333%; + display: block; + } + + .two-third-1000 { + width: 66.66666%; + display: block; + } + + .fourth-1000 { + width: 25%; + display: block; + } + + .three-fourth-1000 { + width: 75%; + display: block; + } + + .fifth-1000 { + width: 20%; + display: block; + } + + .two-fifth-1000 { + width: 40%; + display: block; + } + + .three-fifth-1000 { + width: 60%; + display: block; + } + + .four-fifth-1000 { + width: 80%; + display: block; + } + + .sixth-1000 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 1100px) { + .full-1100 { + width: 100%; + display: block; + } + + .half-1100 { + width: 50%; + display: block; + } + + .third-1100 { + width: 33.33333%; + display: block; + } + + .two-third-1100 { + width: 66.66666%; + display: block; + } + + .fourth-1100 { + width: 25%; + display: block; + } + + .three-fourth-1100 { + width: 75%; + display: block; + } + + .fifth-1100 { + width: 20%; + display: block; + } + + .two-fifth-1100 { + width: 40%; + display: block; + } + + .three-fifth-1100 { + width: 60%; + display: block; + } + + .four-fifth-1100 { + width: 80%; + display: block; + } + + .sixth-1100 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 1200px) { + .full-1200 { + width: 100%; + display: block; + } + + .half-1200 { + width: 50%; + display: block; + } + + .third-1200 { + width: 33.33333%; + display: block; + } + + .two-third-1200 { + width: 66.66666%; + display: block; + } + + .fourth-1200 { + width: 25%; + display: block; + } + + .three-fourth-1200 { + width: 75%; + display: block; + } + + .fifth-1200 { + width: 20%; + display: block; + } + + .two-fifth-1200 { + width: 40%; + display: block; + } + + .three-fifth-1200 { + width: 60%; + display: block; + } + + .four-fifth-1200 { + width: 80%; + display: block; + } + + .sixth-1200 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 1300px) { + .full-1300 { + width: 100%; + display: block; + } + + .half-1300 { + width: 50%; + display: block; + } + + .third-1300 { + width: 33.33333%; + display: block; + } + + .two-third-1300 { + width: 66.66666%; + display: block; + } + + .fourth-1300 { + width: 25%; + display: block; + } + + .three-fourth-1300 { + width: 75%; + display: block; + } + + .fifth-1300 { + width: 20%; + display: block; + } + + .two-fifth-1300 { + width: 40%; + display: block; + } + + .three-fifth-1300 { + width: 60%; + display: block; + } + + .four-fifth-1300 { + width: 80%; + display: block; + } + + .sixth-1300 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 1400px) { + .full-1400 { + width: 100%; + display: block; + } + + .half-1400 { + width: 50%; + display: block; + } + + .third-1400 { + width: 33.33333%; + display: block; + } + + .two-third-1400 { + width: 66.66666%; + display: block; + } + + .fourth-1400 { + width: 25%; + display: block; + } + + .three-fourth-1400 { + width: 75%; + display: block; + } + + .fifth-1400 { + width: 20%; + display: block; + } + + .two-fifth-1400 { + width: 40%; + display: block; + } + + .three-fifth-1400 { + width: 60%; + display: block; + } + + .four-fifth-1400 { + width: 80%; + display: block; + } + + .sixth-1400 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 1500px) { + .full-1500 { + width: 100%; + display: block; + } + + .half-1500 { + width: 50%; + display: block; + } + + .third-1500 { + width: 33.33333%; + display: block; + } + + .two-third-1500 { + width: 66.66666%; + display: block; + } + + .fourth-1500 { + width: 25%; + display: block; + } + + .three-fourth-1500 { + width: 75%; + display: block; + } + + .fifth-1500 { + width: 20%; + display: block; + } + + .two-fifth-1500 { + width: 40%; + display: block; + } + + .three-fifth-1500 { + width: 60%; + display: block; + } + + .four-fifth-1500 { + width: 80%; + display: block; + } + + .sixth-1500 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 1600px) { + .full-1600 { + width: 100%; + display: block; + } + + .half-1600 { + width: 50%; + display: block; + } + + .third-1600 { + width: 33.33333%; + display: block; + } + + .two-third-1600 { + width: 66.66666%; + display: block; + } + + .fourth-1600 { + width: 25%; + display: block; + } + + .three-fourth-1600 { + width: 75%; + display: block; + } + + .fifth-1600 { + width: 20%; + display: block; + } + + .two-fifth-1600 { + width: 40%; + display: block; + } + + .three-fifth-1600 { + width: 60%; + display: block; + } + + .four-fifth-1600 { + width: 80%; + display: block; + } + + .sixth-1600 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 1700px) { + .full-1700 { + width: 100%; + display: block; + } + + .half-1700 { + width: 50%; + display: block; + } + + .third-1700 { + width: 33.33333%; + display: block; + } + + .two-third-1700 { + width: 66.66666%; + display: block; + } + + .fourth-1700 { + width: 25%; + display: block; + } + + .three-fourth-1700 { + width: 75%; + display: block; + } + + .fifth-1700 { + width: 20%; + display: block; + } + + .two-fifth-1700 { + width: 40%; + display: block; + } + + .three-fifth-1700 { + width: 60%; + display: block; + } + + .four-fifth-1700 { + width: 80%; + display: block; + } + + .sixth-1700 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 1800px) { + .full-1800 { + width: 100%; + display: block; + } + + .half-1800 { + width: 50%; + display: block; + } + + .third-1800 { + width: 33.33333%; + display: block; + } + + .two-third-1800 { + width: 66.66666%; + display: block; + } + + .fourth-1800 { + width: 25%; + display: block; + } + + .three-fourth-1800 { + width: 75%; + display: block; + } + + .fifth-1800 { + width: 20%; + display: block; + } + + .two-fifth-1800 { + width: 40%; + display: block; + } + + .three-fifth-1800 { + width: 60%; + display: block; + } + + .four-fifth-1800 { + width: 80%; + display: block; + } + + .sixth-1800 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 1900px) { + .full-1900 { + width: 100%; + display: block; + } + + .half-1900 { + width: 50%; + display: block; + } + + .third-1900 { + width: 33.33333%; + display: block; + } + + .two-third-1900 { + width: 66.66666%; + display: block; + } + + .fourth-1900 { + width: 25%; + display: block; + } + + .three-fourth-1900 { + width: 75%; + display: block; + } + + .fifth-1900 { + width: 20%; + display: block; + } + + .two-fifth-1900 { + width: 40%; + display: block; + } + + .three-fifth-1900 { + width: 60%; + display: block; + } + + .four-fifth-1900 { + width: 80%; + display: block; + } + + .sixth-1900 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 2000px) { + .full-2000 { + width: 100%; + display: block; + } + + .half-2000 { + width: 50%; + display: block; + } + + .third-2000 { + width: 33.33333%; + display: block; + } + + .two-third-2000 { + width: 66.66666%; + display: block; + } + + .fourth-2000 { + width: 25%; + display: block; + } + + .three-fourth-2000 { + width: 75%; + display: block; + } + + .fifth-2000 { + width: 20%; + display: block; + } + + .two-fifth-2000 { + width: 40%; + display: block; + } + + .three-fifth-2000 { + width: 60%; + display: block; + } + + .four-fifth-2000 { + width: 80%; + display: block; + } + + .sixth-2000 { + width: 16.66666%; + display: block; + } +} +@media all and (min-width: 500px) { + .none-500 { + display: none; + } +} +@media all and (min-width: 600px) { + .none-600 { + display: none; + } +} +@media all and (min-width: 700px) { + .none-700 { + display: none; + } +} +@media all and (min-width: 800px) { + .none-800 { + display: none; + } +} +@media all and (min-width: 900px) { + .none-900 { + display: none; + } +} +@media all and (min-width: 1000px) { + .none-1000 { + display: none; + } +} +@media all and (min-width: 1100px) { + .none-1100 { + display: none; + } +} +@media all and (min-width: 1200px) { + .none-1200 { + display: none; + } +} +@media all and (min-width: 1300px) { + .none-1300 { + display: none; + } +} +@media all and (min-width: 1400px) { + .none-1400 { + display: none; + } +} +@media all and (min-width: 1500px) { + .none-1500 { + display: none; + } +} +@media all and (min-width: 1600px) { + .none-1600 { + display: none; + } +} +@media all and (min-width: 1700px) { + .none-1700 { + display: none; + } +} +@media all and (min-width: 1800px) { + .none-1800 { + display: none; + } +} +@media all and (min-width: 1900px) { + .none-1900 { + display: none; + } +} +@media all and (min-width: 2000px) { + .none-2000 { + display: none; + } +} +.off-none { + margin-left: 0; +} + +.off-half { + margin-left: 50%; +} + +.off-third { + margin-left: 33.33333%; +} + +.off-two-third { + margin-left: 66.66666%; +} + +.off-fourth { + margin-left: 25%; +} + +.off-three-fourth { + margin-left: 75%; +} + +.off-fifth { + margin-left: 20%; +} + +.off-two-fifth { + margin-left: 40%; +} + +.off-three-fifth { + margin-left: 60%; +} + +.off-four-fifth { + margin-left: 80%; +} + +.off-sixth { + margin-left: 16.66666%; +} + +@media all and (min-width: 500px) { + .off-none-500 { + margin-left: 0; + } + + .off-half-500 { + margin-left: 50%; + } + + .off-third-500 { + margin-left: 33.33333%; + } + + .off-two-third-500 { + margin-left: 66.66666%; + } + + .off-fourth-500 { + margin-left: 25%; + } + + .off-three-fourth-500 { + margin-left: 75%; + } + + .off-fifth-500 { + margin-left: 20%; + } + + .off-two-fifth-500 { + margin-left: 40%; + } + + .off-three-fifth-500 { + margin-left: 60%; + } + + .off-four-fifth-500 { + margin-left: 80%; + } + + .off-sixth-500 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 600px) { + .off-none-600 { + margin-left: 0; + } + + .off-half-600 { + margin-left: 50%; + } + + .off-third-600 { + margin-left: 33.33333%; + } + + .off-two-third-600 { + margin-left: 66.66666%; + } + + .off-fourth-600 { + margin-left: 25%; + } + + .off-three-fourth-600 { + margin-left: 75%; + } + + .off-fifth-600 { + margin-left: 20%; + } + + .off-two-fifth-600 { + margin-left: 40%; + } + + .off-three-fifth-600 { + margin-left: 60%; + } + + .off-four-fifth-600 { + margin-left: 80%; + } + + .off-sixth-600 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 700px) { + .off-none-700 { + margin-left: 0; + } + + .off-half-700 { + margin-left: 50%; + } + + .off-third-700 { + margin-left: 33.33333%; + } + + .off-two-third-700 { + margin-left: 66.66666%; + } + + .off-fourth-700 { + margin-left: 25%; + } + + .off-three-fourth-700 { + margin-left: 75%; + } + + .off-fifth-700 { + margin-left: 20%; + } + + .off-two-fifth-700 { + margin-left: 40%; + } + + .off-three-fifth-700 { + margin-left: 60%; + } + + .off-four-fifth-700 { + margin-left: 80%; + } + + .off-sixth-700 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 800px) { + .off-none-800 { + margin-left: 0; + } + + .off-half-800 { + margin-left: 50%; + } + + .off-third-800 { + margin-left: 33.33333%; + } + + .off-two-third-800 { + margin-left: 66.66666%; + } + + .off-fourth-800 { + margin-left: 25%; + } + + .off-three-fourth-800 { + margin-left: 75%; + } + + .off-fifth-800 { + margin-left: 20%; + } + + .off-two-fifth-800 { + margin-left: 40%; + } + + .off-three-fifth-800 { + margin-left: 60%; + } + + .off-four-fifth-800 { + margin-left: 80%; + } + + .off-sixth-800 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 900px) { + .off-none-900 { + margin-left: 0; + } + + .off-half-900 { + margin-left: 50%; + } + + .off-third-900 { + margin-left: 33.33333%; + } + + .off-two-third-900 { + margin-left: 66.66666%; + } + + .off-fourth-900 { + margin-left: 25%; + } + + .off-three-fourth-900 { + margin-left: 75%; + } + + .off-fifth-900 { + margin-left: 20%; + } + + .off-two-fifth-900 { + margin-left: 40%; + } + + .off-three-fifth-900 { + margin-left: 60%; + } + + .off-four-fifth-900 { + margin-left: 80%; + } + + .off-sixth-900 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 1000px) { + .off-none-1000 { + margin-left: 0; + } + + .off-half-1000 { + margin-left: 50%; + } + + .off-third-1000 { + margin-left: 33.33333%; + } + + .off-two-third-1000 { + margin-left: 66.66666%; + } + + .off-fourth-1000 { + margin-left: 25%; + } + + .off-three-fourth-1000 { + margin-left: 75%; + } + + .off-fifth-1000 { + margin-left: 20%; + } + + .off-two-fifth-1000 { + margin-left: 40%; + } + + .off-three-fifth-1000 { + margin-left: 60%; + } + + .off-four-fifth-1000 { + margin-left: 80%; + } + + .off-sixth-1000 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 1100px) { + .off-none-1100 { + margin-left: 0; + } + + .off-half-1100 { + margin-left: 50%; + } + + .off-third-1100 { + margin-left: 33.33333%; + } + + .off-two-third-1100 { + margin-left: 66.66666%; + } + + .off-fourth-1100 { + margin-left: 25%; + } + + .off-three-fourth-1100 { + margin-left: 75%; + } + + .off-fifth-1100 { + margin-left: 20%; + } + + .off-two-fifth-1100 { + margin-left: 40%; + } + + .off-three-fifth-1100 { + margin-left: 60%; + } + + .off-four-fifth-1100 { + margin-left: 80%; + } + + .off-sixth-1100 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 1200px) { + .off-none-1200 { + margin-left: 0; + } + + .off-half-1200 { + margin-left: 50%; + } + + .off-third-1200 { + margin-left: 33.33333%; + } + + .off-two-third-1200 { + margin-left: 66.66666%; + } + + .off-fourth-1200 { + margin-left: 25%; + } + + .off-three-fourth-1200 { + margin-left: 75%; + } + + .off-fifth-1200 { + margin-left: 20%; + } + + .off-two-fifth-1200 { + margin-left: 40%; + } + + .off-three-fifth-1200 { + margin-left: 60%; + } + + .off-four-fifth-1200 { + margin-left: 80%; + } + + .off-sixth-1200 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 1300px) { + .off-none-1300 { + margin-left: 0; + } + + .off-half-1300 { + margin-left: 50%; + } + + .off-third-1300 { + margin-left: 33.33333%; + } + + .off-two-third-1300 { + margin-left: 66.66666%; + } + + .off-fourth-1300 { + margin-left: 25%; + } + + .off-three-fourth-1300 { + margin-left: 75%; + } + + .off-fifth-1300 { + margin-left: 20%; + } + + .off-two-fifth-1300 { + margin-left: 40%; + } + + .off-three-fifth-1300 { + margin-left: 60%; + } + + .off-four-fifth-1300 { + margin-left: 80%; + } + + .off-sixth-1300 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 1400px) { + .off-none-1400 { + margin-left: 0; + } + + .off-half-1400 { + margin-left: 50%; + } + + .off-third-1400 { + margin-left: 33.33333%; + } + + .off-two-third-1400 { + margin-left: 66.66666%; + } + + .off-fourth-1400 { + margin-left: 25%; + } + + .off-three-fourth-1400 { + margin-left: 75%; + } + + .off-fifth-1400 { + margin-left: 20%; + } + + .off-two-fifth-1400 { + margin-left: 40%; + } + + .off-three-fifth-1400 { + margin-left: 60%; + } + + .off-four-fifth-1400 { + margin-left: 80%; + } + + .off-sixth-1400 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 1500px) { + .off-none-1500 { + margin-left: 0; + } + + .off-half-1500 { + margin-left: 50%; + } + + .off-third-1500 { + margin-left: 33.33333%; + } + + .off-two-third-1500 { + margin-left: 66.66666%; + } + + .off-fourth-1500 { + margin-left: 25%; + } + + .off-three-fourth-1500 { + margin-left: 75%; + } + + .off-fifth-1500 { + margin-left: 20%; + } + + .off-two-fifth-1500 { + margin-left: 40%; + } + + .off-three-fifth-1500 { + margin-left: 60%; + } + + .off-four-fifth-1500 { + margin-left: 80%; + } + + .off-sixth-1500 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 1600px) { + .off-none-1600 { + margin-left: 0; + } + + .off-half-1600 { + margin-left: 50%; + } + + .off-third-1600 { + margin-left: 33.33333%; + } + + .off-two-third-1600 { + margin-left: 66.66666%; + } + + .off-fourth-1600 { + margin-left: 25%; + } + + .off-three-fourth-1600 { + margin-left: 75%; + } + + .off-fifth-1600 { + margin-left: 20%; + } + + .off-two-fifth-1600 { + margin-left: 40%; + } + + .off-three-fifth-1600 { + margin-left: 60%; + } + + .off-four-fifth-1600 { + margin-left: 80%; + } + + .off-sixth-1600 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 1700px) { + .off-none-1700 { + margin-left: 0; + } + + .off-half-1700 { + margin-left: 50%; + } + + .off-third-1700 { + margin-left: 33.33333%; + } + + .off-two-third-1700 { + margin-left: 66.66666%; + } + + .off-fourth-1700 { + margin-left: 25%; + } + + .off-three-fourth-1700 { + margin-left: 75%; + } + + .off-fifth-1700 { + margin-left: 20%; + } + + .off-two-fifth-1700 { + margin-left: 40%; + } + + .off-three-fifth-1700 { + margin-left: 60%; + } + + .off-four-fifth-1700 { + margin-left: 80%; + } + + .off-sixth-1700 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 1800px) { + .off-none-1800 { + margin-left: 0; + } + + .off-half-1800 { + margin-left: 50%; + } + + .off-third-1800 { + margin-left: 33.33333%; + } + + .off-two-third-1800 { + margin-left: 66.66666%; + } + + .off-fourth-1800 { + margin-left: 25%; + } + + .off-three-fourth-1800 { + margin-left: 75%; + } + + .off-fifth-1800 { + margin-left: 20%; + } + + .off-two-fifth-1800 { + margin-left: 40%; + } + + .off-three-fifth-1800 { + margin-left: 60%; + } + + .off-four-fifth-1800 { + margin-left: 80%; + } + + .off-sixth-1800 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 1900px) { + .off-none-1900 { + margin-left: 0; + } + + .off-half-1900 { + margin-left: 50%; + } + + .off-third-1900 { + margin-left: 33.33333%; + } + + .off-two-third-1900 { + margin-left: 66.66666%; + } + + .off-fourth-1900 { + margin-left: 25%; + } + + .off-three-fourth-1900 { + margin-left: 75%; + } + + .off-fifth-1900 { + margin-left: 20%; + } + + .off-two-fifth-1900 { + margin-left: 40%; + } + + .off-three-fifth-1900 { + margin-left: 60%; + } + + .off-four-fifth-1900 { + margin-left: 80%; + } + + .off-sixth-1900 { + margin-left: 16.66666%; + } +} +@media all and (min-width: 2000px) { + .off-none-2000 { + margin-left: 0; + } + + .off-half-2000 { + margin-left: 50%; + } + + .off-third-2000 { + margin-left: 33.33333%; + } + + .off-two-third-2000 { + margin-left: 66.66666%; + } + + .off-fourth-2000 { + margin-left: 25%; + } + + .off-three-fourth-2000 { + margin-left: 75%; + } + + .off-fifth-2000 { + margin-left: 20%; + } + + .off-two-fifth-2000 { + margin-left: 40%; + } + + .off-three-fifth-2000 { + margin-left: 60%; + } + + .off-four-fifth-2000 { + margin-left: 80%; + } + + .off-sixth-2000 { + margin-left: 16.66666%; + } +} +nav { + position: fixed; + top: 0; + left: 0; + right: 0; + height: 3em; + padding: 0 0.6em; + background: #fff; + box-shadow: 0 0 0.2em rgba(170, 170, 170, 0.2); + z-index: 10000; + transition: all 0.3s; + transform-style: preserve-3d; +} +nav .brand, +nav .menu, +nav .burger { + float: right; + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} +nav .brand { + font-weight: 700; + float: left; + padding: 0 0.6em; + max-width: 50%; + white-space: nowrap; + color: inherit; +} +nav .brand * { + vertical-align: middle; +} +nav .logo { + height: 2em; + margin-right: 0.3em; +} +nav .select::after { + height: calc(100% - 1px); + padding: 0; + line-height: 2.4em; +} +nav .menu > * { + margin-right: 0.6em; +} + +nav .burger { + display: none; +} + +@media all and (max-width: 60em) { + nav .burger { + display: inline-block; + cursor: pointer; + bottom: -1000em; + margin: 0; + -webkit-tap-highlight-color: transparent; + } + nav .burger ~ .menu, +nav .show:checked ~ .burger { + position: fixed; + min-height: 100%; + top: 0; + right: 0; + bottom: -1000em; + margin: 0; + background: #fff; + transition: all 0.5s ease; + transform: none; + } + nav .burger ~ .menu { + z-index: 11; + } + nav .show:checked ~ .burger { + color: transparent; + width: 100%; + border-radius: 0; + background: rgba(17, 17, 17, 0.2); + transition: all 0.5s ease; + } + nav .show ~ .menu { + width: 70%; + max-width: 300px; + transform-origin: center right; + transition: all 0.25s ease; + transform: scaleX(0); + } + nav .show ~ .menu > * { + transform: translateX(100%); + transition: all 0s ease 0.5s; + } + nav .show:checked ~ .menu > *:nth-child(1) { + transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; + } + nav .show:checked ~ .menu > *:nth-child(2) { + transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s; + } + nav .show:checked ~ .menu > *:nth-child(3) { + transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.2s; + } + nav .show:checked ~ .menu > *:nth-child(4) { + transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s; + } + nav .show:checked ~ .menu > *:nth-child(5) { + transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s; + } + nav .show:checked ~ .menu > *:nth-child(6) { + transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.5s; + } + nav .show:checked ~ .menu { + transform: scaleX(1); + } + nav .show:checked ~ .menu > * { + transform: translateX(0); + transition: all 0.5s ease-in-out 0.6s; + } + nav .burger ~ .menu > * { + display: block; + margin: 0.3em; + text-align: left; + max-width: calc(100% - 0.6em); + } + nav .burger ~ .menu > a { + padding: 0.3em 0.9em; + } +} +.stack, +.stack .toggle { + margin-top: 0; + margin-bottom: 0; + display: block; + width: 100%; + text-align: left; + border-radius: 0; +} + +.stack:first-child, +.stack:first-child .toggle { + border-top-left-radius: 0.2em; + border-top-right-radius: 0.2em; +} + +.stack:last-child, +.stack:last-child .toggle { + border-bottom-left-radius: 0.2em; + border-bottom-right-radius: 0.2em; +} + +input.stack, +textarea.stack, +select.stack { + transition: border-bottom 0 ease 0; + border-bottom-width: 0; +} +input.stack:last-child, +textarea.stack:last-child, +select.stack:last-child { + border-bottom-width: 1px; +} +input.stack:focus + input, input.stack:focus + textarea, input.stack:focus + select, +textarea.stack:focus + input, +textarea.stack:focus + textarea, +textarea.stack:focus + select, +select.stack:focus + input, +select.stack:focus + textarea, +select.stack:focus + select { + border-top-color: #0074d9; +} + +.modal .overlay ~ *, .card { + position: relative; + box-shadow: none; + border-radius: 0.2em; + border: 1px solid #aaa; + overflow: hidden; + text-align: left; + background: #fff; + margin-bottom: 0.6em; + padding: 0; + transition: all 0.3s ease; +} +.modal .overlay ~ .hidden, .hidden.card, .modal .overlay ~ :checked + *, .modal .overlay:checked + *, :checked + .card { + font-size: 0; + padding: 0; + margin: 0; + border: 0; +} +.modal .overlay ~ * > *, .card > * { + max-width: 100%; + display: block; +} +.modal .overlay ~ * > *:last-child, .card > *:last-child { + margin-bottom: 0; +} +.modal .overlay ~ * header, .card header, +.modal .overlay ~ * section, +.card section, +.modal .overlay ~ * > p, +.card > p { + padding: 0.6em 0.8em; +} +.modal .overlay ~ * section, .card section { + padding: 0.6em 0.8em 0; +} +.modal .overlay ~ * hr, .card hr { + border: none; + height: 1px; + background-color: #aaa; +} +.modal .overlay ~ * header, .card header { + font-weight: bold; + position: relative; + border-bottom: 1px solid #aaa; +} +.modal .overlay ~ * header h1, .card header h1, +.modal .overlay ~ * header h2, +.card header h2, +.modal .overlay ~ * header h3, +.card header h3, +.modal .overlay ~ * header h4, +.card header h4, +.modal .overlay ~ * header h5, +.card header h5, +.modal .overlay ~ * header h6, +.card header h6 { + padding: 0; + margin: 0 2em 0 0; + line-height: 1; + display: inline-block; + vertical-align: text-bottom; +} +.modal .overlay ~ * header:last-child, .card header:last-child { + border-bottom: 0; +} +.modal .overlay ~ * footer, .card footer { + padding: 0.8em; +} +.modal .overlay ~ * p, .card p { + margin: 0.3em 0; +} +.modal .overlay ~ * p:first-child, .card p:first-child { + margin-top: 0; +} +.modal .overlay ~ * p:last-child, .card p:last-child { + margin-bottom: 0; +} +.modal .overlay ~ * > p, .card > p { + margin: 0; + padding-right: 2.5em; +} +.modal .overlay ~ * .close, .card .close { + position: absolute; + top: 0.4em; + right: 0.3em; + font-size: 1.2em; + padding: 0 0.5em; + cursor: pointer; + width: auto; +} +.modal .overlay ~ * .close:hover, .card .close:hover { + color: #ff4136; +} +.modal .overlay ~ * h1 + .close, .card h1 + .close { + margin: 0.2em; +} +.modal .overlay ~ * h2 + .close, .card h2 + .close { + margin: 0.1em; +} +.modal .overlay ~ * .dangerous, .card .dangerous { + background: #ff4136; + float: right; +} + +.modal { + text-align: center; +} +.modal > input { + display: none; +} +.modal > input ~ * { + opacity: 0; + max-height: 0; + overflow: hidden; +} +.modal .overlay { + top: 0; + left: 0; + bottom: 0; + right: 0; + position: fixed; + margin: 0; + border-radius: 0; + background: rgba(17, 17, 17, 0.2); + transition: all 0.3s; + z-index: 100000; +} +.modal .overlay:before, .modal .overlay:after { + display: none; +} +.modal .overlay ~ * { + border: 0; + position: fixed; + top: 50%; + left: 50%; + transform: translateX(-50%) translateY(-50%) scale(0.2, 0.2); + z-index: 1000000; + transition: all 0.3s; +} +.modal > input:checked ~ * { + display: block; + opacity: 1; + max-height: 10000px; + transition: all 0.3s; +} +.modal > input:checked ~ .overlay ~ * { + max-height: 90%; + overflow: auto; + -webkit-transform: translateX(-50%) translateY(-50%) scale(1, 1); + transform: translateX(-50%) translateY(-50%) scale(1, 1); +} + +@media (max-width: 60em) { + .modal .overlay ~ * { + min-width: 90%; + } +} +.dropimage { + position: relative; + display: block; + padding: 0; + padding-bottom: 56.25%; + overflow: hidden; + cursor: pointer; + border: 0; + margin: 0.3em 0; + border-radius: 0.2em; + background-color: #ddd; + background-size: cover; + background-position: center center; + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2NDAiIGhlaWdodD0iNjQwIiB2ZXJzaW9uPSIxLjEiPjxnIHN0eWxlPSJmaWxsOiMzMzMiPjxwYXRoIGQ9Ik0gMTg3IDIzMCBDIDE3NSAyMzAgMTY1IDI0MCAxNjUgMjUyIEwgMTY1IDMwMCBMIDE2NSA0MDggQyAxNjUgNDIwIDE3NSA0MzAgMTg3IDQzMCBMIDQ2MyA0MzAgQyA0NzUgNDMwIDQ4NSA0MjAgNDg1IDQwOCBMIDQ4NSAzMDAgTCA0ODUgMjUyIEMgNDg1IDI0MCA0NzUgMjMwIDQ2MyAyMzAgTCAxODcgMjMwIHogTSAzNjAgMjU2IEEgNzAgNzIgMCAwIDEgNDMwIDMyOCBBIDcwIDcyIDAgMCAxIDM2MCA0MDAgQSA3MCA3MiAwIDAgMSAyOTAgMzI4IEEgNzAgNzIgMCAwIDEgMzYwIDI1NiB6Ii8+PGNpcmNsZSBjeD0iMzYwIiBjeT0iMzMwIiByPSI0MSIvPjxwYXRoIGQ9Im0yMDUgMjI1IDUtMTAgMjAgMCA1IDEwLTMwIDAiLz48cGF0aCBkPSJNMjg1IDIwMEwyNzAgMjI1IDM3NiAyMjUgMzYxIDIwMCAyODUgMjAwek0zMTAgMjA1TDMzNyAyMDUgMzM3IDIxOCAzMTAgMjE4IDMxMCAyMDV6Ii8+PHBhdGggZD0ibTQwNSAyMjUgNS0xMCAyMCAwIDUgMTAtMzAgMCIvPjwvZz48L3N2Zz4=); +} +.dropimage input { + left: 0; + width: 100%; + height: 100%; + border: 0; + margin: 0; + padding: 0; + opacity: 0; + cursor: pointer; + position: absolute; +} + +.tabs { + position: relative; + overflow: hidden; +} +.tabs > label img { + float: left; + margin-left: 0.6em; +} +.tabs > .row { + width: calc(100% + 1.2em); + display: table; + table-layout: fixed; + position: relative; + padding-left: 0; + transition: all 0.3s; + border-spacing: 0; + margin: 0; +} +.tabs > .row:before, .tabs > .row:after { + display: none; +} +.tabs > .row > *, +.tabs > .row img { + display: table-cell; + vertical-align: top; + margin: 0; + width: 100%; +} +.tabs > input { + display: none; +} +.tabs > input + * { + width: 100%; +} +.tabs > input + label { + width: auto; +} +.two.tabs > .row { + width: 200%; + left: -100%; +} +.two.tabs > input:nth-of-type(1):checked ~ .row { + margin-left: 100%; +} +.two.tabs > label img { + width: 48%; + margin: 4% 0 4% 4%; +} +.three.tabs > .row { + width: 300%; + left: -200%; +} +.three.tabs > input:nth-of-type(1):checked ~ .row { + margin-left: 200%; +} +.three.tabs > input:nth-of-type(2):checked ~ .row { + margin-left: 100%; +} +.three.tabs > label img { + width: 30%; + margin: 5% 0 5% 5%; +} +.four.tabs > .row { + width: 400%; + left: -300%; +} +.four.tabs > input:nth-of-type(1):checked ~ .row { + margin-left: 300%; +} +.four.tabs > input:nth-of-type(2):checked ~ .row { + margin-left: 200%; +} +.four.tabs > input:nth-of-type(3):checked ~ .row { + margin-left: 100%; +} +.four.tabs > label img { + width: 22%; + margin: 4% 0 4% 4%; +} +.five.tabs > .row { + width: 500%; + left: -400%; +} +.five.tabs > input:nth-of-type(1):checked ~ .row { + margin-left: 400%; +} +.five.tabs > input:nth-of-type(2):checked ~ .row { + margin-left: 300%; +} +.five.tabs > input:nth-of-type(3):checked ~ .row { + margin-left: 200%; +} +.five.tabs > input:nth-of-type(4):checked ~ .row { + margin-left: 100%; +} +.five.tabs > label img { + width: 18%; + margin: 2% 0 2% 2%; +} +.six.tabs > .row { + width: 600%; + left: -500%; +} +.six.tabs > input:nth-of-type(1):checked ~ .row { + margin-left: 500%; +} +.six.tabs > input:nth-of-type(2):checked ~ .row { + margin-left: 400%; +} +.six.tabs > input:nth-of-type(3):checked ~ .row { + margin-left: 300%; +} +.six.tabs > input:nth-of-type(4):checked ~ .row { + margin-left: 200%; +} +.six.tabs > input:nth-of-type(5):checked ~ .row { + margin-left: 100%; +} +.six.tabs > label img { + width: 12%; + margin: 1% 0 1% 1%; +} +.tabs > label:first-of-type img { + margin-left: 0; +} + +[data-tooltip] { + position: relative; +} +[data-tooltip]:after, [data-tooltip]:before { + position: absolute; + z-index: 10; + opacity: 0; + border-width: 0; + height: 0; + padding: 0; + overflow: hidden; + transition: opacity 0.6s ease, height 0s ease 0.6s; + top: calc(100% - 6px); + left: 0; + margin-top: 12px; +} +[data-tooltip]:after { + margin-left: 0; + font-size: 0.8em; + background: #111; + content: attr(data-tooltip); + white-space: nowrap; +} +[data-tooltip]:before { + content: ""; + width: 0; + height: 0; + border-width: 0; + border-style: solid; + border-color: transparent transparent #111; + margin-top: 0; + left: 10px; +} +[data-tooltip]:hover:after, [data-tooltip]:focus:after, [data-tooltip]:hover:before, [data-tooltip]:focus:before { + opacity: 1; + border-width: 6px; + height: auto; +} +[data-tooltip]:hover:after, [data-tooltip]:focus:after { + padding: 0.45em 0.9em; +} + +.tooltip-top:after, .tooltip-top:before { + top: auto; + bottom: calc(100% - 6px); + left: 0; + margin-bottom: 12px; +} +.tooltip-top:before { + border-color: #111 transparent transparent; + margin-bottom: 0; + left: 10px; +} + +.tooltip-right:after, .tooltip-right:before { + left: 100%; + margin-left: 6px; + margin-top: 0; + top: 0; +} +.tooltip-right:before { + border-color: transparent #111 transparent transparent; + margin-left: -6px; + left: 100%; + top: 7px; +} + +.tooltip-left:after, .tooltip-left:before { + right: 100%; + margin-right: 6px; + left: auto; + margin-top: 0; + top: 0; +} +.tooltip-left:before { + border-color: transparent transparent transparent #111; + margin-right: -6px; + right: 100%; + top: 7px; +} diff --git a/src/test/resources/realworld/picnic.min.css b/src/test/resources/realworld/picnic.min.css new file mode 100644 index 0000000..f588afc --- /dev/null +++ b/src/test/resources/realworld/picnic.min.css @@ -0,0 +1 @@ +html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#fff;color:#111}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:0;padding:0}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:inherit}html,body{font-family:Arial,Helvetica,sans-serif;box-sizing:border-box;height:100%}body{color:#111;font-size:1.1em;line-height:1.5;background:#fff}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;padding:.6em 0}li{margin:0 0 .3em}a{color:#0074d9;text-decoration:none;box-shadow:none;transition:all .3s}code{padding:.3em .6em;font-size:.8em;background:#f5f5f5}pre{text-align:left;padding:.3em;background:#f5f5f5;border-radius:.2em}pre code{padding:0}blockquote{padding:0 0 0 1em;margin:0 0 0 .1em;box-shadow:inset 5px 0 rgba(17,17,17,.3)}label{cursor:pointer}[class^=icon-]:before,[class*=" icon-"]:before{margin:0 .6em 0 0}i[class^=icon-]:before,i[class*=" icon-"]:before{margin:0}.dropimage,button,.button,[type=submit],.label,[data-tooltip]:after{display:inline-block;text-align:center;letter-spacing:inherit;margin:0;padding:.3em .9em;vertical-align:middle;background:#0074d9;color:#fff;border:0;border-radius:.2em;width:auto;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.success.dropimage,button.success,.success.button,.success[type=submit],.success.label,.success[data-tooltip]:after{background:#2ecc40}.warning.dropimage,button.warning,.warning.button,.warning[type=submit],.warning.label,.warning[data-tooltip]:after{background:#ff851b}.error.dropimage,button.error,.error.button,.error[type=submit],.error.label,.error[data-tooltip]:after{background:#ff4136}.pseudo.dropimage,button.pseudo,.pseudo.button,.pseudo[type=submit],.pseudo.label,.pseudo[data-tooltip]:after{background-color:transparent;color:inherit}.label,[data-tooltip]:after{font-size:.6em;padding:.4em .6em;margin-left:1em;line-height:1}.dropimage,button,.button,[type=submit]{margin:.3em 0;cursor:pointer;transition:all .3s;border-radius:.2em;height:auto;vertical-align:baseline;box-shadow:0 0 rgba(17,17,17,0) inset}.dropimage:hover,button:hover,.button:hover,[type=submit]:hover,.dropimage:focus,button:focus,.button:focus,[type=submit]:focus{box-shadow:inset 0 0 0 99em rgba(255,255,255,.2);border:0}.pseudo.dropimage:hover,button.pseudo:hover,.pseudo.button:hover,.pseudo[type=submit]:hover,.pseudo.dropimage:focus,button.pseudo:focus,.pseudo.button:focus,.pseudo[type=submit]:focus{box-shadow:inset 0 0 0 99em rgba(17,17,17,.1)}.active.dropimage,button.active,.active.button,.active[type=submit],.dropimage:active,button:active,.button:active,[type=submit]:active{box-shadow:inset 0 0 0 99em rgba(17,17,17,.2)}[disabled].dropimage,button[disabled],[disabled].button,[disabled][type=submit]{cursor:default;box-shadow:none;background:#aaa}:checked+.toggle,:checked+.toggle:hover{box-shadow:inset 0 0 0 99em rgba(17,17,17,.2)}[type]+.toggle{padding:.3em .9em;margin-right:0}[type]+.toggle:after,[type]+.toggle:before{display:none}input,textarea,.select select{line-height:1.5;margin:0;height:2.1em;padding:.3em .6em;border:1px solid #aaa;background-color:#fff;border-radius:.2em;transition:all .3s;width:100%}input:focus,textarea:focus,.select select:focus{border:1px solid #0074d9;outline:0}textarea{height:auto}[type=file],[type=color]{cursor:pointer}[type=file]{height:auto}select{background:#fff url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyIiBoZWlnaHQ9IjMiPjxwYXRoIGQ9Im0gMCwxIDEsMiAxLC0yIHoiLz48L3N2Zz4=) no-repeat scroll 95% center/10px 15px;background-position:calc(100% - 15px) center;border:1px solid #aaa;border-radius:.2em;cursor:pointer;width:100%;height:2.2em;box-sizing:border-box;padding:.3em .45em;transition:all .3s;-moz-appearance:none;-webkit-appearance:none;appearance:none}select::-ms-expand{display:none}select:focus,select:active{border:1px solid #0074d9;transition:outline 0s}select:-moz-focusring{color:transparent;text-shadow:0 0 0 #111}select option{font-size:inherit;padding:.45em}select[multiple]{height:auto;background:none;padding:0}[type=checkbox],[type=radio]{opacity:0;width:0;position:absolute;display:inline-block}[type=checkbox]+.checkable:hover:before,[type=radio]+.checkable:hover:before,[type=checkbox]:focus+.checkable:before,[type=radio]:focus+.checkable:before{border:1px solid #0074d9}[type=checkbox]+.checkable,[type=radio]+.checkable{position:relative;cursor:pointer;padding-left:1.5em;margin-right:.6em}[type=checkbox]+.checkable:before,[type=radio]+.checkable:before,[type=checkbox]+.checkable:after,[type=radio]+.checkable:after{content:"";position:absolute;display:inline-block;left:0;top:50%;transform:translateY(-50%);font-size:1em;line-height:1em;color:transparent;font-family:sans;text-align:center;box-sizing:border-box;width:1em;height:1em;border-radius:50%;transition:all .3s}[type=checkbox]+.checkable:before,[type=radio]+.checkable:before{border:1px solid #aaa}[type=checkbox]:checked+.checkable:after,[type=radio]:checked+.checkable:after{background:#111;transform:scale(0.5) translateY(-100%)}[type=checkbox]+.checkable:before{border-radius:.2em}[type=checkbox]+.checkable:after{content:"✔";background:none;transform:scale(2) translateY(-25%);visibility:hidden;opacity:0}[type=checkbox]:checked+.checkable:after{color:#111;background:none;transform:translateY(-50%);transition:all .3s;visibility:visible;opacity:1}table{text-align:left}td,th{padding:.3em 2.4em .3em .6em}th{text-align:left;font-weight:900;color:#fff;background-color:#0074d9}.success th{background-color:#2ecc40}.warning th{background-color:#ff851b}.error th{background-color:#ff4136}.dull th{background-color:#aaa}tr:nth-child(even){background:rgba(17,17,17,.05)}.flex{display:-ms-flexbox;display:flex;margin-left:-0.6em;width:calc(100% + 0.6em);flex-wrap:wrap;transition:all .3s ease}.flex>*{box-sizing:border-box;flex:1 1 auto;padding-left:.6em;padding-bottom:.6em}.flex[class*=one]>*,.flex[class*=two]>*,.flex[class*=three]>*,.flex[class*=four]>*,.flex[class*=five]>*,.flex[class*=six]>*,.flex[class*=seven]>*,.flex[class*=eight]>*,.flex[class*=nine]>*,.flex[class*=ten]>*,.flex[class*=eleven]>*,.flex[class*=twelve]>*{flex-grow:0}.flex.grow>*{flex-grow:1}.center{justify-content:center}.one>*{width:100%}.two>*{width:50%}.three>*{width:33.33333%}.four>*{width:25%}.five>*{width:20%}.six>*{width:16.66666%}.seven>*{width:14.28571%}.eight>*{width:12.5%}.nine>*{width:11.11111%}.ten>*{width:10%}.eleven>*{width:9.09091%}.twelve>*{width:8.33333%}@media all and (min-width: 500px){.one-500>*{width:100%}.two-500>*{width:50%}.three-500>*{width:33.33333%}.four-500>*{width:25%}.five-500>*{width:20%}.six-500>*{width:16.66666%}.seven-500>*{width:14.28571%}.eight-500>*{width:12.5%}.nine-500>*{width:11.11111%}.ten-500>*{width:10%}.eleven-500>*{width:9.09091%}.twelve-500>*{width:8.33333%}}@media all and (min-width: 600px){.one-600>*{width:100%}.two-600>*{width:50%}.three-600>*{width:33.33333%}.four-600>*{width:25%}.five-600>*{width:20%}.six-600>*{width:16.66666%}.seven-600>*{width:14.28571%}.eight-600>*{width:12.5%}.nine-600>*{width:11.11111%}.ten-600>*{width:10%}.eleven-600>*{width:9.09091%}.twelve-600>*{width:8.33333%}}@media all and (min-width: 700px){.one-700>*{width:100%}.two-700>*{width:50%}.three-700>*{width:33.33333%}.four-700>*{width:25%}.five-700>*{width:20%}.six-700>*{width:16.66666%}.seven-700>*{width:14.28571%}.eight-700>*{width:12.5%}.nine-700>*{width:11.11111%}.ten-700>*{width:10%}.eleven-700>*{width:9.09091%}.twelve-700>*{width:8.33333%}}@media all and (min-width: 800px){.one-800>*{width:100%}.two-800>*{width:50%}.three-800>*{width:33.33333%}.four-800>*{width:25%}.five-800>*{width:20%}.six-800>*{width:16.66666%}.seven-800>*{width:14.28571%}.eight-800>*{width:12.5%}.nine-800>*{width:11.11111%}.ten-800>*{width:10%}.eleven-800>*{width:9.09091%}.twelve-800>*{width:8.33333%}}@media all and (min-width: 900px){.one-900>*{width:100%}.two-900>*{width:50%}.three-900>*{width:33.33333%}.four-900>*{width:25%}.five-900>*{width:20%}.six-900>*{width:16.66666%}.seven-900>*{width:14.28571%}.eight-900>*{width:12.5%}.nine-900>*{width:11.11111%}.ten-900>*{width:10%}.eleven-900>*{width:9.09091%}.twelve-900>*{width:8.33333%}}@media all and (min-width: 1000px){.one-1000>*{width:100%}.two-1000>*{width:50%}.three-1000>*{width:33.33333%}.four-1000>*{width:25%}.five-1000>*{width:20%}.six-1000>*{width:16.66666%}.seven-1000>*{width:14.28571%}.eight-1000>*{width:12.5%}.nine-1000>*{width:11.11111%}.ten-1000>*{width:10%}.eleven-1000>*{width:9.09091%}.twelve-1000>*{width:8.33333%}}@media all and (min-width: 1100px){.one-1100>*{width:100%}.two-1100>*{width:50%}.three-1100>*{width:33.33333%}.four-1100>*{width:25%}.five-1100>*{width:20%}.six-1100>*{width:16.66666%}.seven-1100>*{width:14.28571%}.eight-1100>*{width:12.5%}.nine-1100>*{width:11.11111%}.ten-1100>*{width:10%}.eleven-1100>*{width:9.09091%}.twelve-1100>*{width:8.33333%}}@media all and (min-width: 1200px){.one-1200>*{width:100%}.two-1200>*{width:50%}.three-1200>*{width:33.33333%}.four-1200>*{width:25%}.five-1200>*{width:20%}.six-1200>*{width:16.66666%}.seven-1200>*{width:14.28571%}.eight-1200>*{width:12.5%}.nine-1200>*{width:11.11111%}.ten-1200>*{width:10%}.eleven-1200>*{width:9.09091%}.twelve-1200>*{width:8.33333%}}@media all and (min-width: 1300px){.one-1300>*{width:100%}.two-1300>*{width:50%}.three-1300>*{width:33.33333%}.four-1300>*{width:25%}.five-1300>*{width:20%}.six-1300>*{width:16.66666%}.seven-1300>*{width:14.28571%}.eight-1300>*{width:12.5%}.nine-1300>*{width:11.11111%}.ten-1300>*{width:10%}.eleven-1300>*{width:9.09091%}.twelve-1300>*{width:8.33333%}}@media all and (min-width: 1400px){.one-1400>*{width:100%}.two-1400>*{width:50%}.three-1400>*{width:33.33333%}.four-1400>*{width:25%}.five-1400>*{width:20%}.six-1400>*{width:16.66666%}.seven-1400>*{width:14.28571%}.eight-1400>*{width:12.5%}.nine-1400>*{width:11.11111%}.ten-1400>*{width:10%}.eleven-1400>*{width:9.09091%}.twelve-1400>*{width:8.33333%}}@media all and (min-width: 1500px){.one-1500>*{width:100%}.two-1500>*{width:50%}.three-1500>*{width:33.33333%}.four-1500>*{width:25%}.five-1500>*{width:20%}.six-1500>*{width:16.66666%}.seven-1500>*{width:14.28571%}.eight-1500>*{width:12.5%}.nine-1500>*{width:11.11111%}.ten-1500>*{width:10%}.eleven-1500>*{width:9.09091%}.twelve-1500>*{width:8.33333%}}@media all and (min-width: 1600px){.one-1600>*{width:100%}.two-1600>*{width:50%}.three-1600>*{width:33.33333%}.four-1600>*{width:25%}.five-1600>*{width:20%}.six-1600>*{width:16.66666%}.seven-1600>*{width:14.28571%}.eight-1600>*{width:12.5%}.nine-1600>*{width:11.11111%}.ten-1600>*{width:10%}.eleven-1600>*{width:9.09091%}.twelve-1600>*{width:8.33333%}}@media all and (min-width: 1700px){.one-1700>*{width:100%}.two-1700>*{width:50%}.three-1700>*{width:33.33333%}.four-1700>*{width:25%}.five-1700>*{width:20%}.six-1700>*{width:16.66666%}.seven-1700>*{width:14.28571%}.eight-1700>*{width:12.5%}.nine-1700>*{width:11.11111%}.ten-1700>*{width:10%}.eleven-1700>*{width:9.09091%}.twelve-1700>*{width:8.33333%}}@media all and (min-width: 1800px){.one-1800>*{width:100%}.two-1800>*{width:50%}.three-1800>*{width:33.33333%}.four-1800>*{width:25%}.five-1800>*{width:20%}.six-1800>*{width:16.66666%}.seven-1800>*{width:14.28571%}.eight-1800>*{width:12.5%}.nine-1800>*{width:11.11111%}.ten-1800>*{width:10%}.eleven-1800>*{width:9.09091%}.twelve-1800>*{width:8.33333%}}@media all and (min-width: 1900px){.one-1900>*{width:100%}.two-1900>*{width:50%}.three-1900>*{width:33.33333%}.four-1900>*{width:25%}.five-1900>*{width:20%}.six-1900>*{width:16.66666%}.seven-1900>*{width:14.28571%}.eight-1900>*{width:12.5%}.nine-1900>*{width:11.11111%}.ten-1900>*{width:10%}.eleven-1900>*{width:9.09091%}.twelve-1900>*{width:8.33333%}}@media all and (min-width: 2000px){.one-2000>*{width:100%}.two-2000>*{width:50%}.three-2000>*{width:33.33333%}.four-2000>*{width:25%}.five-2000>*{width:20%}.six-2000>*{width:16.66666%}.seven-2000>*{width:14.28571%}.eight-2000>*{width:12.5%}.nine-2000>*{width:11.11111%}.ten-2000>*{width:10%}.eleven-2000>*{width:9.09091%}.twelve-2000>*{width:8.33333%}}.full{width:100%}.half{width:50%}.third{width:33.33333%}.two-third{width:66.66666%}.fourth{width:25%}.three-fourth{width:75%}.fifth{width:20%}.two-fifth{width:40%}.three-fifth{width:60%}.four-fifth{width:80%}.sixth{width:16.66666%}.none{display:none}@media all and (min-width: 500px){.full-500{width:100%;display:block}.half-500{width:50%;display:block}.third-500{width:33.33333%;display:block}.two-third-500{width:66.66666%;display:block}.fourth-500{width:25%;display:block}.three-fourth-500{width:75%;display:block}.fifth-500{width:20%;display:block}.two-fifth-500{width:40%;display:block}.three-fifth-500{width:60%;display:block}.four-fifth-500{width:80%;display:block}.sixth-500{width:16.66666%;display:block}}@media all and (min-width: 600px){.full-600{width:100%;display:block}.half-600{width:50%;display:block}.third-600{width:33.33333%;display:block}.two-third-600{width:66.66666%;display:block}.fourth-600{width:25%;display:block}.three-fourth-600{width:75%;display:block}.fifth-600{width:20%;display:block}.two-fifth-600{width:40%;display:block}.three-fifth-600{width:60%;display:block}.four-fifth-600{width:80%;display:block}.sixth-600{width:16.66666%;display:block}}@media all and (min-width: 700px){.full-700{width:100%;display:block}.half-700{width:50%;display:block}.third-700{width:33.33333%;display:block}.two-third-700{width:66.66666%;display:block}.fourth-700{width:25%;display:block}.three-fourth-700{width:75%;display:block}.fifth-700{width:20%;display:block}.two-fifth-700{width:40%;display:block}.three-fifth-700{width:60%;display:block}.four-fifth-700{width:80%;display:block}.sixth-700{width:16.66666%;display:block}}@media all and (min-width: 800px){.full-800{width:100%;display:block}.half-800{width:50%;display:block}.third-800{width:33.33333%;display:block}.two-third-800{width:66.66666%;display:block}.fourth-800{width:25%;display:block}.three-fourth-800{width:75%;display:block}.fifth-800{width:20%;display:block}.two-fifth-800{width:40%;display:block}.three-fifth-800{width:60%;display:block}.four-fifth-800{width:80%;display:block}.sixth-800{width:16.66666%;display:block}}@media all and (min-width: 900px){.full-900{width:100%;display:block}.half-900{width:50%;display:block}.third-900{width:33.33333%;display:block}.two-third-900{width:66.66666%;display:block}.fourth-900{width:25%;display:block}.three-fourth-900{width:75%;display:block}.fifth-900{width:20%;display:block}.two-fifth-900{width:40%;display:block}.three-fifth-900{width:60%;display:block}.four-fifth-900{width:80%;display:block}.sixth-900{width:16.66666%;display:block}}@media all and (min-width: 1000px){.full-1000{width:100%;display:block}.half-1000{width:50%;display:block}.third-1000{width:33.33333%;display:block}.two-third-1000{width:66.66666%;display:block}.fourth-1000{width:25%;display:block}.three-fourth-1000{width:75%;display:block}.fifth-1000{width:20%;display:block}.two-fifth-1000{width:40%;display:block}.three-fifth-1000{width:60%;display:block}.four-fifth-1000{width:80%;display:block}.sixth-1000{width:16.66666%;display:block}}@media all and (min-width: 1100px){.full-1100{width:100%;display:block}.half-1100{width:50%;display:block}.third-1100{width:33.33333%;display:block}.two-third-1100{width:66.66666%;display:block}.fourth-1100{width:25%;display:block}.three-fourth-1100{width:75%;display:block}.fifth-1100{width:20%;display:block}.two-fifth-1100{width:40%;display:block}.three-fifth-1100{width:60%;display:block}.four-fifth-1100{width:80%;display:block}.sixth-1100{width:16.66666%;display:block}}@media all and (min-width: 1200px){.full-1200{width:100%;display:block}.half-1200{width:50%;display:block}.third-1200{width:33.33333%;display:block}.two-third-1200{width:66.66666%;display:block}.fourth-1200{width:25%;display:block}.three-fourth-1200{width:75%;display:block}.fifth-1200{width:20%;display:block}.two-fifth-1200{width:40%;display:block}.three-fifth-1200{width:60%;display:block}.four-fifth-1200{width:80%;display:block}.sixth-1200{width:16.66666%;display:block}}@media all and (min-width: 1300px){.full-1300{width:100%;display:block}.half-1300{width:50%;display:block}.third-1300{width:33.33333%;display:block}.two-third-1300{width:66.66666%;display:block}.fourth-1300{width:25%;display:block}.three-fourth-1300{width:75%;display:block}.fifth-1300{width:20%;display:block}.two-fifth-1300{width:40%;display:block}.three-fifth-1300{width:60%;display:block}.four-fifth-1300{width:80%;display:block}.sixth-1300{width:16.66666%;display:block}}@media all and (min-width: 1400px){.full-1400{width:100%;display:block}.half-1400{width:50%;display:block}.third-1400{width:33.33333%;display:block}.two-third-1400{width:66.66666%;display:block}.fourth-1400{width:25%;display:block}.three-fourth-1400{width:75%;display:block}.fifth-1400{width:20%;display:block}.two-fifth-1400{width:40%;display:block}.three-fifth-1400{width:60%;display:block}.four-fifth-1400{width:80%;display:block}.sixth-1400{width:16.66666%;display:block}}@media all and (min-width: 1500px){.full-1500{width:100%;display:block}.half-1500{width:50%;display:block}.third-1500{width:33.33333%;display:block}.two-third-1500{width:66.66666%;display:block}.fourth-1500{width:25%;display:block}.three-fourth-1500{width:75%;display:block}.fifth-1500{width:20%;display:block}.two-fifth-1500{width:40%;display:block}.three-fifth-1500{width:60%;display:block}.four-fifth-1500{width:80%;display:block}.sixth-1500{width:16.66666%;display:block}}@media all and (min-width: 1600px){.full-1600{width:100%;display:block}.half-1600{width:50%;display:block}.third-1600{width:33.33333%;display:block}.two-third-1600{width:66.66666%;display:block}.fourth-1600{width:25%;display:block}.three-fourth-1600{width:75%;display:block}.fifth-1600{width:20%;display:block}.two-fifth-1600{width:40%;display:block}.three-fifth-1600{width:60%;display:block}.four-fifth-1600{width:80%;display:block}.sixth-1600{width:16.66666%;display:block}}@media all and (min-width: 1700px){.full-1700{width:100%;display:block}.half-1700{width:50%;display:block}.third-1700{width:33.33333%;display:block}.two-third-1700{width:66.66666%;display:block}.fourth-1700{width:25%;display:block}.three-fourth-1700{width:75%;display:block}.fifth-1700{width:20%;display:block}.two-fifth-1700{width:40%;display:block}.three-fifth-1700{width:60%;display:block}.four-fifth-1700{width:80%;display:block}.sixth-1700{width:16.66666%;display:block}}@media all and (min-width: 1800px){.full-1800{width:100%;display:block}.half-1800{width:50%;display:block}.third-1800{width:33.33333%;display:block}.two-third-1800{width:66.66666%;display:block}.fourth-1800{width:25%;display:block}.three-fourth-1800{width:75%;display:block}.fifth-1800{width:20%;display:block}.two-fifth-1800{width:40%;display:block}.three-fifth-1800{width:60%;display:block}.four-fifth-1800{width:80%;display:block}.sixth-1800{width:16.66666%;display:block}}@media all and (min-width: 1900px){.full-1900{width:100%;display:block}.half-1900{width:50%;display:block}.third-1900{width:33.33333%;display:block}.two-third-1900{width:66.66666%;display:block}.fourth-1900{width:25%;display:block}.three-fourth-1900{width:75%;display:block}.fifth-1900{width:20%;display:block}.two-fifth-1900{width:40%;display:block}.three-fifth-1900{width:60%;display:block}.four-fifth-1900{width:80%;display:block}.sixth-1900{width:16.66666%;display:block}}@media all and (min-width: 2000px){.full-2000{width:100%;display:block}.half-2000{width:50%;display:block}.third-2000{width:33.33333%;display:block}.two-third-2000{width:66.66666%;display:block}.fourth-2000{width:25%;display:block}.three-fourth-2000{width:75%;display:block}.fifth-2000{width:20%;display:block}.two-fifth-2000{width:40%;display:block}.three-fifth-2000{width:60%;display:block}.four-fifth-2000{width:80%;display:block}.sixth-2000{width:16.66666%;display:block}}@media all and (min-width: 500px){.none-500{display:none}}@media all and (min-width: 600px){.none-600{display:none}}@media all and (min-width: 700px){.none-700{display:none}}@media all and (min-width: 800px){.none-800{display:none}}@media all and (min-width: 900px){.none-900{display:none}}@media all and (min-width: 1000px){.none-1000{display:none}}@media all and (min-width: 1100px){.none-1100{display:none}}@media all and (min-width: 1200px){.none-1200{display:none}}@media all and (min-width: 1300px){.none-1300{display:none}}@media all and (min-width: 1400px){.none-1400{display:none}}@media all and (min-width: 1500px){.none-1500{display:none}}@media all and (min-width: 1600px){.none-1600{display:none}}@media all and (min-width: 1700px){.none-1700{display:none}}@media all and (min-width: 1800px){.none-1800{display:none}}@media all and (min-width: 1900px){.none-1900{display:none}}@media all and (min-width: 2000px){.none-2000{display:none}}.off-none{margin-left:0}.off-half{margin-left:50%}.off-third{margin-left:33.33333%}.off-two-third{margin-left:66.66666%}.off-fourth{margin-left:25%}.off-three-fourth{margin-left:75%}.off-fifth{margin-left:20%}.off-two-fifth{margin-left:40%}.off-three-fifth{margin-left:60%}.off-four-fifth{margin-left:80%}.off-sixth{margin-left:16.66666%}@media all and (min-width: 500px){.off-none-500{margin-left:0}.off-half-500{margin-left:50%}.off-third-500{margin-left:33.33333%}.off-two-third-500{margin-left:66.66666%}.off-fourth-500{margin-left:25%}.off-three-fourth-500{margin-left:75%}.off-fifth-500{margin-left:20%}.off-two-fifth-500{margin-left:40%}.off-three-fifth-500{margin-left:60%}.off-four-fifth-500{margin-left:80%}.off-sixth-500{margin-left:16.66666%}}@media all and (min-width: 600px){.off-none-600{margin-left:0}.off-half-600{margin-left:50%}.off-third-600{margin-left:33.33333%}.off-two-third-600{margin-left:66.66666%}.off-fourth-600{margin-left:25%}.off-three-fourth-600{margin-left:75%}.off-fifth-600{margin-left:20%}.off-two-fifth-600{margin-left:40%}.off-three-fifth-600{margin-left:60%}.off-four-fifth-600{margin-left:80%}.off-sixth-600{margin-left:16.66666%}}@media all and (min-width: 700px){.off-none-700{margin-left:0}.off-half-700{margin-left:50%}.off-third-700{margin-left:33.33333%}.off-two-third-700{margin-left:66.66666%}.off-fourth-700{margin-left:25%}.off-three-fourth-700{margin-left:75%}.off-fifth-700{margin-left:20%}.off-two-fifth-700{margin-left:40%}.off-three-fifth-700{margin-left:60%}.off-four-fifth-700{margin-left:80%}.off-sixth-700{margin-left:16.66666%}}@media all and (min-width: 800px){.off-none-800{margin-left:0}.off-half-800{margin-left:50%}.off-third-800{margin-left:33.33333%}.off-two-third-800{margin-left:66.66666%}.off-fourth-800{margin-left:25%}.off-three-fourth-800{margin-left:75%}.off-fifth-800{margin-left:20%}.off-two-fifth-800{margin-left:40%}.off-three-fifth-800{margin-left:60%}.off-four-fifth-800{margin-left:80%}.off-sixth-800{margin-left:16.66666%}}@media all and (min-width: 900px){.off-none-900{margin-left:0}.off-half-900{margin-left:50%}.off-third-900{margin-left:33.33333%}.off-two-third-900{margin-left:66.66666%}.off-fourth-900{margin-left:25%}.off-three-fourth-900{margin-left:75%}.off-fifth-900{margin-left:20%}.off-two-fifth-900{margin-left:40%}.off-three-fifth-900{margin-left:60%}.off-four-fifth-900{margin-left:80%}.off-sixth-900{margin-left:16.66666%}}@media all and (min-width: 1000px){.off-none-1000{margin-left:0}.off-half-1000{margin-left:50%}.off-third-1000{margin-left:33.33333%}.off-two-third-1000{margin-left:66.66666%}.off-fourth-1000{margin-left:25%}.off-three-fourth-1000{margin-left:75%}.off-fifth-1000{margin-left:20%}.off-two-fifth-1000{margin-left:40%}.off-three-fifth-1000{margin-left:60%}.off-four-fifth-1000{margin-left:80%}.off-sixth-1000{margin-left:16.66666%}}@media all and (min-width: 1100px){.off-none-1100{margin-left:0}.off-half-1100{margin-left:50%}.off-third-1100{margin-left:33.33333%}.off-two-third-1100{margin-left:66.66666%}.off-fourth-1100{margin-left:25%}.off-three-fourth-1100{margin-left:75%}.off-fifth-1100{margin-left:20%}.off-two-fifth-1100{margin-left:40%}.off-three-fifth-1100{margin-left:60%}.off-four-fifth-1100{margin-left:80%}.off-sixth-1100{margin-left:16.66666%}}@media all and (min-width: 1200px){.off-none-1200{margin-left:0}.off-half-1200{margin-left:50%}.off-third-1200{margin-left:33.33333%}.off-two-third-1200{margin-left:66.66666%}.off-fourth-1200{margin-left:25%}.off-three-fourth-1200{margin-left:75%}.off-fifth-1200{margin-left:20%}.off-two-fifth-1200{margin-left:40%}.off-three-fifth-1200{margin-left:60%}.off-four-fifth-1200{margin-left:80%}.off-sixth-1200{margin-left:16.66666%}}@media all and (min-width: 1300px){.off-none-1300{margin-left:0}.off-half-1300{margin-left:50%}.off-third-1300{margin-left:33.33333%}.off-two-third-1300{margin-left:66.66666%}.off-fourth-1300{margin-left:25%}.off-three-fourth-1300{margin-left:75%}.off-fifth-1300{margin-left:20%}.off-two-fifth-1300{margin-left:40%}.off-three-fifth-1300{margin-left:60%}.off-four-fifth-1300{margin-left:80%}.off-sixth-1300{margin-left:16.66666%}}@media all and (min-width: 1400px){.off-none-1400{margin-left:0}.off-half-1400{margin-left:50%}.off-third-1400{margin-left:33.33333%}.off-two-third-1400{margin-left:66.66666%}.off-fourth-1400{margin-left:25%}.off-three-fourth-1400{margin-left:75%}.off-fifth-1400{margin-left:20%}.off-two-fifth-1400{margin-left:40%}.off-three-fifth-1400{margin-left:60%}.off-four-fifth-1400{margin-left:80%}.off-sixth-1400{margin-left:16.66666%}}@media all and (min-width: 1500px){.off-none-1500{margin-left:0}.off-half-1500{margin-left:50%}.off-third-1500{margin-left:33.33333%}.off-two-third-1500{margin-left:66.66666%}.off-fourth-1500{margin-left:25%}.off-three-fourth-1500{margin-left:75%}.off-fifth-1500{margin-left:20%}.off-two-fifth-1500{margin-left:40%}.off-three-fifth-1500{margin-left:60%}.off-four-fifth-1500{margin-left:80%}.off-sixth-1500{margin-left:16.66666%}}@media all and (min-width: 1600px){.off-none-1600{margin-left:0}.off-half-1600{margin-left:50%}.off-third-1600{margin-left:33.33333%}.off-two-third-1600{margin-left:66.66666%}.off-fourth-1600{margin-left:25%}.off-three-fourth-1600{margin-left:75%}.off-fifth-1600{margin-left:20%}.off-two-fifth-1600{margin-left:40%}.off-three-fifth-1600{margin-left:60%}.off-four-fifth-1600{margin-left:80%}.off-sixth-1600{margin-left:16.66666%}}@media all and (min-width: 1700px){.off-none-1700{margin-left:0}.off-half-1700{margin-left:50%}.off-third-1700{margin-left:33.33333%}.off-two-third-1700{margin-left:66.66666%}.off-fourth-1700{margin-left:25%}.off-three-fourth-1700{margin-left:75%}.off-fifth-1700{margin-left:20%}.off-two-fifth-1700{margin-left:40%}.off-three-fifth-1700{margin-left:60%}.off-four-fifth-1700{margin-left:80%}.off-sixth-1700{margin-left:16.66666%}}@media all and (min-width: 1800px){.off-none-1800{margin-left:0}.off-half-1800{margin-left:50%}.off-third-1800{margin-left:33.33333%}.off-two-third-1800{margin-left:66.66666%}.off-fourth-1800{margin-left:25%}.off-three-fourth-1800{margin-left:75%}.off-fifth-1800{margin-left:20%}.off-two-fifth-1800{margin-left:40%}.off-three-fifth-1800{margin-left:60%}.off-four-fifth-1800{margin-left:80%}.off-sixth-1800{margin-left:16.66666%}}@media all and (min-width: 1900px){.off-none-1900{margin-left:0}.off-half-1900{margin-left:50%}.off-third-1900{margin-left:33.33333%}.off-two-third-1900{margin-left:66.66666%}.off-fourth-1900{margin-left:25%}.off-three-fourth-1900{margin-left:75%}.off-fifth-1900{margin-left:20%}.off-two-fifth-1900{margin-left:40%}.off-three-fifth-1900{margin-left:60%}.off-four-fifth-1900{margin-left:80%}.off-sixth-1900{margin-left:16.66666%}}@media all and (min-width: 2000px){.off-none-2000{margin-left:0}.off-half-2000{margin-left:50%}.off-third-2000{margin-left:33.33333%}.off-two-third-2000{margin-left:66.66666%}.off-fourth-2000{margin-left:25%}.off-three-fourth-2000{margin-left:75%}.off-fifth-2000{margin-left:20%}.off-two-fifth-2000{margin-left:40%}.off-three-fifth-2000{margin-left:60%}.off-four-fifth-2000{margin-left:80%}.off-sixth-2000{margin-left:16.66666%}}nav{position:fixed;top:0;left:0;right:0;height:3em;padding:0 .6em;background:#fff;box-shadow:0 0 .2em rgba(170,170,170,.2);z-index:10000;transition:all .3s;transform-style:preserve-3d}nav .brand,nav .menu,nav .burger{float:right;position:relative;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}nav .brand{font-weight:700;float:left;padding:0 .6em;max-width:50%;white-space:nowrap;color:inherit}nav .brand *{vertical-align:middle}nav .logo{height:2em;margin-right:.3em}nav .select::after{height:calc(100% - 1px);padding:0;line-height:2.4em}nav .menu>*{margin-right:.6em}nav .burger{display:none}@media all and (max-width: 60em){nav .burger{display:inline-block;cursor:pointer;bottom:-1000em;margin:0;-webkit-tap-highlight-color:transparent}nav .burger~.menu,nav .show:checked~.burger{position:fixed;min-height:100%;top:0;right:0;bottom:-1000em;margin:0;background:#fff;transition:all .5s ease;transform:none}nav .burger~.menu{z-index:11}nav .show:checked~.burger{color:transparent;width:100%;border-radius:0;background:rgba(17,17,17,.2);transition:all .5s ease}nav .show~.menu{width:70%;max-width:300px;transform-origin:center right;transition:all .25s ease;transform:scaleX(0)}nav .show~.menu>*{transform:translateX(100%);transition:all 0s ease .5s}nav .show:checked~.menu>*:nth-child(1){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) 0s}nav .show:checked~.menu>*:nth-child(2){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .1s}nav .show:checked~.menu>*:nth-child(3){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .2s}nav .show:checked~.menu>*:nth-child(4){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .3s}nav .show:checked~.menu>*:nth-child(5){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .4s}nav .show:checked~.menu>*:nth-child(6){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .5s}nav .show:checked~.menu{transform:scaleX(1)}nav .show:checked~.menu>*{transform:translateX(0);transition:all .5s ease-in-out .6s}nav .burger~.menu>*{display:block;margin:.3em;text-align:left;max-width:calc(100% - 0.6em)}nav .burger~.menu>a{padding:.3em .9em}}.stack,.stack .toggle{margin-top:0;margin-bottom:0;display:block;width:100%;text-align:left;border-radius:0}.stack:first-child,.stack:first-child .toggle{border-top-left-radius:.2em;border-top-right-radius:.2em}.stack:last-child,.stack:last-child .toggle{border-bottom-left-radius:.2em;border-bottom-right-radius:.2em}input.stack,textarea.stack,select.stack{transition:border-bottom 0 ease 0;border-bottom-width:0}input.stack:last-child,textarea.stack:last-child,select.stack:last-child{border-bottom-width:1px}input.stack:focus+input,input.stack:focus+textarea,input.stack:focus+select,textarea.stack:focus+input,textarea.stack:focus+textarea,textarea.stack:focus+select,select.stack:focus+input,select.stack:focus+textarea,select.stack:focus+select{border-top-color:#0074d9}.modal .overlay~*,.card{position:relative;box-shadow:none;border-radius:.2em;border:1px solid #aaa;overflow:hidden;text-align:left;background:#fff;margin-bottom:.6em;padding:0;transition:all .3s ease}.modal .overlay~.hidden,.hidden.card,.modal .overlay~:checked+*,.modal .overlay:checked+*,:checked+.card{font-size:0;padding:0;margin:0;border:0}.modal .overlay~*>*,.card>*{max-width:100%;display:block}.modal .overlay~*>*:last-child,.card>*:last-child{margin-bottom:0}.modal .overlay~* header,.card header,.modal .overlay~* section,.card section,.modal .overlay~*>p,.card>p{padding:.6em .8em}.modal .overlay~* section,.card section{padding:.6em .8em 0}.modal .overlay~* hr,.card hr{border:none;height:1px;background-color:#aaa}.modal .overlay~* header,.card header{font-weight:bold;position:relative;border-bottom:1px solid #aaa}.modal .overlay~* header h1,.card header h1,.modal .overlay~* header h2,.card header h2,.modal .overlay~* header h3,.card header h3,.modal .overlay~* header h4,.card header h4,.modal .overlay~* header h5,.card header h5,.modal .overlay~* header h6,.card header h6{padding:0;margin:0 2em 0 0;line-height:1;display:inline-block;vertical-align:text-bottom}.modal .overlay~* header:last-child,.card header:last-child{border-bottom:0}.modal .overlay~* footer,.card footer{padding:.8em}.modal .overlay~* p,.card p{margin:.3em 0}.modal .overlay~* p:first-child,.card p:first-child{margin-top:0}.modal .overlay~* p:last-child,.card p:last-child{margin-bottom:0}.modal .overlay~*>p,.card>p{margin:0;padding-right:2.5em}.modal .overlay~* .close,.card .close{position:absolute;top:.4em;right:.3em;font-size:1.2em;padding:0 .5em;cursor:pointer;width:auto}.modal .overlay~* .close:hover,.card .close:hover{color:#ff4136}.modal .overlay~* h1+.close,.card h1+.close{margin:.2em}.modal .overlay~* h2+.close,.card h2+.close{margin:.1em}.modal .overlay~* .dangerous,.card .dangerous{background:#ff4136;float:right}.modal{text-align:center}.modal>input{display:none}.modal>input~*{opacity:0;max-height:0;overflow:hidden}.modal .overlay{top:0;left:0;bottom:0;right:0;position:fixed;margin:0;border-radius:0;background:rgba(17,17,17,.2);transition:all .3s;z-index:100000}.modal .overlay:before,.modal .overlay:after{display:none}.modal .overlay~*{border:0;position:fixed;top:50%;left:50%;transform:translateX(-50%) translateY(-50%) scale(0.2, 0.2);z-index:1000000;transition:all .3s}.modal>input:checked~*{display:block;opacity:1;max-height:10000px;transition:all .3s}.modal>input:checked~.overlay~*{max-height:90%;overflow:auto;-webkit-transform:translateX(-50%) translateY(-50%) scale(1, 1);transform:translateX(-50%) translateY(-50%) scale(1, 1)}@media(max-width: 60em){.modal .overlay~*{min-width:90%}}.dropimage{position:relative;display:block;padding:0;padding-bottom:56.25%;overflow:hidden;cursor:pointer;border:0;margin:.3em 0;border-radius:.2em;background-color:#ddd;background-size:cover;background-position:center center;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2NDAiIGhlaWdodD0iNjQwIiB2ZXJzaW9uPSIxLjEiPjxnIHN0eWxlPSJmaWxsOiMzMzMiPjxwYXRoIGQ9Ik0gMTg3IDIzMCBDIDE3NSAyMzAgMTY1IDI0MCAxNjUgMjUyIEwgMTY1IDMwMCBMIDE2NSA0MDggQyAxNjUgNDIwIDE3NSA0MzAgMTg3IDQzMCBMIDQ2MyA0MzAgQyA0NzUgNDMwIDQ4NSA0MjAgNDg1IDQwOCBMIDQ4NSAzMDAgTCA0ODUgMjUyIEMgNDg1IDI0MCA0NzUgMjMwIDQ2MyAyMzAgTCAxODcgMjMwIHogTSAzNjAgMjU2IEEgNzAgNzIgMCAwIDEgNDMwIDMyOCBBIDcwIDcyIDAgMCAxIDM2MCA0MDAgQSA3MCA3MiAwIDAgMSAyOTAgMzI4IEEgNzAgNzIgMCAwIDEgMzYwIDI1NiB6Ii8+PGNpcmNsZSBjeD0iMzYwIiBjeT0iMzMwIiByPSI0MSIvPjxwYXRoIGQ9Im0yMDUgMjI1IDUtMTAgMjAgMCA1IDEwLTMwIDAiLz48cGF0aCBkPSJNMjg1IDIwMEwyNzAgMjI1IDM3NiAyMjUgMzYxIDIwMCAyODUgMjAwek0zMTAgMjA1TDMzNyAyMDUgMzM3IDIxOCAzMTAgMjE4IDMxMCAyMDV6Ii8+PHBhdGggZD0ibTQwNSAyMjUgNS0xMCAyMCAwIDUgMTAtMzAgMCIvPjwvZz48L3N2Zz4=)}.dropimage input{left:0;width:100%;height:100%;border:0;margin:0;padding:0;opacity:0;cursor:pointer;position:absolute}.tabs{position:relative;overflow:hidden}.tabs>label img{float:left;margin-left:.6em}.tabs>.row{width:calc(100% + 1.2em);display:table;table-layout:fixed;position:relative;padding-left:0;transition:all .3s;border-spacing:0;margin:0}.tabs>.row:before,.tabs>.row:after{display:none}.tabs>.row>*,.tabs>.row img{display:table-cell;vertical-align:top;margin:0;width:100%}.tabs>input{display:none}.tabs>input+*{width:100%}.tabs>input+label{width:auto}.two.tabs>.row{width:200%;left:-100%}.two.tabs>input:nth-of-type(1):checked~.row{margin-left:100%}.two.tabs>label img{width:48%;margin:4% 0 4% 4%}.three.tabs>.row{width:300%;left:-200%}.three.tabs>input:nth-of-type(1):checked~.row{margin-left:200%}.three.tabs>input:nth-of-type(2):checked~.row{margin-left:100%}.three.tabs>label img{width:30%;margin:5% 0 5% 5%}.four.tabs>.row{width:400%;left:-300%}.four.tabs>input:nth-of-type(1):checked~.row{margin-left:300%}.four.tabs>input:nth-of-type(2):checked~.row{margin-left:200%}.four.tabs>input:nth-of-type(3):checked~.row{margin-left:100%}.four.tabs>label img{width:22%;margin:4% 0 4% 4%}.five.tabs>.row{width:500%;left:-400%}.five.tabs>input:nth-of-type(1):checked~.row{margin-left:400%}.five.tabs>input:nth-of-type(2):checked~.row{margin-left:300%}.five.tabs>input:nth-of-type(3):checked~.row{margin-left:200%}.five.tabs>input:nth-of-type(4):checked~.row{margin-left:100%}.five.tabs>label img{width:18%;margin:2% 0 2% 2%}.six.tabs>.row{width:600%;left:-500%}.six.tabs>input:nth-of-type(1):checked~.row{margin-left:500%}.six.tabs>input:nth-of-type(2):checked~.row{margin-left:400%}.six.tabs>input:nth-of-type(3):checked~.row{margin-left:300%}.six.tabs>input:nth-of-type(4):checked~.row{margin-left:200%}.six.tabs>input:nth-of-type(5):checked~.row{margin-left:100%}.six.tabs>label img{width:12%;margin:1% 0 1% 1%}.tabs>label:first-of-type img{margin-left:0}[data-tooltip]{position:relative}[data-tooltip]:after,[data-tooltip]:before{position:absolute;z-index:10;opacity:0;border-width:0;height:0;padding:0;overflow:hidden;transition:opacity .6s ease,height 0s ease .6s;top:calc(100% - 6px);left:0;margin-top:12px}[data-tooltip]:after{margin-left:0;font-size:.8em;background:#111;content:attr(data-tooltip);white-space:nowrap}[data-tooltip]:before{content:"";width:0;height:0;border-width:0;border-style:solid;border-color:transparent transparent #111;margin-top:0;left:10px}[data-tooltip]:hover:after,[data-tooltip]:focus:after,[data-tooltip]:hover:before,[data-tooltip]:focus:before{opacity:1;border-width:6px;height:auto}[data-tooltip]:hover:after,[data-tooltip]:focus:after{padding:.45em .9em}.tooltip-top:after,.tooltip-top:before{top:auto;bottom:calc(100% - 6px);left:0;margin-bottom:12px}.tooltip-top:before{border-color:#111 transparent transparent;margin-bottom:0;left:10px}.tooltip-right:after,.tooltip-right:before{left:100%;margin-left:6px;margin-top:0;top:0}.tooltip-right:before{border-color:transparent #111 transparent transparent;margin-left:-6px;left:100%;top:7px}.tooltip-left:after,.tooltip-left:before{right:100%;margin-right:6px;left:auto;margin-top:0;top:0}.tooltip-left:before{border-color:transparent transparent transparent #111;margin-right:-6px;right:100%;top:7px} From 5e547e6451d977f6f9419b409441fcfdfed3393b Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 12 Jan 2025 11:29:41 +0100 Subject: [PATCH 086/137] 4.8.0 --- README.md | 17 +++++++---------- pom.xml | 6 +++--- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 9f28a2e..916e29c 100644 --- a/README.md +++ b/README.md @@ -14,11 +14,11 @@ We will try to stay in sync with CSSParser regarding the features in the future. ### Project News -**[Developer Blog][5]** +**[Developer Blog](https://htmlunit.github.io/htmlunit-blog/)** -[HtmlUnit@mastodon][4] | [HtmlUnit@Twitter][3] +[HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) -### Latest release Version 4.7.0 / November 29, 2024 +### Latest release Version 4.8.0 / January 12, 2024 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.7.0 + 4.8.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.7.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.8.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.8.0-SNAPSHOT + 4.9.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: @@ -162,7 +162,4 @@ This project is licensed under the Apache 2.0 License Many thanks to all of you contributing to HtmlUnit/CSSParser/Rhino in the past. -[2]: https://jenkins.wetator.org/job/HtmlUnit%20-%20CSS%20Parser/ "HtmlUnit - CSS Parser CI" -[3]: https://twitter.com/HtmlUnit "https://twitter.com/HtmlUnit" -[4]: https://fosstodon.org/@HtmlUnit -[5]: https://htmlunit.github.io/htmlunit-blog/ \ No newline at end of file +[2]: https://jenkins.wetator.org/job/HtmlUnit%20-%20CSS%20Parser/ "HtmlUnit - CSS Parser CI" \ No newline at end of file diff --git a/pom.xml b/pom.xml index a1a0cc0..71d4557 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.8.0-SNAPSHOT + 4.8.0 HtmlUnit CSS Parser HtmlUnit @@ -198,7 +198,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.11.1 + 3.11.2 --allow-script-in-comments org.htmlunit.cssparser.parser.javacc @@ -322,7 +322,7 @@ org.junit.jupiter junit-jupiter-engine - 5.11.3 + 5.11.4 test From a254e2875574ebabaf59428e58a6e7bf337fcd49 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 22 Jan 2025 07:36:23 +0100 Subject: [PATCH 087/137] 4.9.0 --- README.md | 8 ++++---- pom.xml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 916e29c..6876253 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) -### Latest release Version 4.8.0 / January 12, 2024 +### Latest release Version 4.9.0 / January 22, 2025 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.8.0 + 4.9.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.8.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.9.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.9.0-SNAPSHOT + 4.10.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index 71d4557..3834d5f 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.8.0 + 4.9.0 HtmlUnit CSS Parser HtmlUnit @@ -20,7 +20,7 @@ 8 8 - 10.20.1 + 10.21.1 10.0.4 From 052829c2ece4aa5a88e4b0fef67dab209d0030fd Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 21 Feb 2025 15:23:37 +0100 Subject: [PATCH 088/137] dep updates --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 3834d5f..477a462 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.9.0 + 4.10.0-SNAPSHOT HtmlUnit CSS Parser HtmlUnit @@ -74,7 +74,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.13.0 + 3.14.0 @@ -322,7 +322,7 @@ org.junit.jupiter junit-jupiter-engine - 5.11.4 + 5.12.0 test From d5b04f93258dbc9c1beac059594006df4b6f4332 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 21 Feb 2025 15:27:48 +0100 Subject: [PATCH 089/137] 4.9.0 --- README.md | 8 ++++---- pom.xml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6876253..533bcae 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) -### Latest release Version 4.9.0 / January 22, 2025 +### Latest release Version 4.10.0 / February 22, 2025 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.9.0 + 4.10.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.9.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.10.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.10.0-SNAPSHOT + 4.11.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index 477a462..52f1928 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.10.0-SNAPSHOT + 4.10.0 HtmlUnit CSS Parser HtmlUnit From 1cf4fa989e89674591cb7cd203b119fc341925d7 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 25 Feb 2025 13:24:55 +0100 Subject: [PATCH 090/137] improve parsing of var initial values --- src/main/javacc/CSS3Parser.jj | 6513 +++++++++-------- .../parser/CSS3ParserRealWorldTest.java | 9 + .../cssparser/parser/CSS3ParserTest.java | 3 + .../resources/realworld/filterscontainer.css | 1 + 4 files changed, 3280 insertions(+), 3246 deletions(-) create mode 100644 src/test/resources/realworld/filterscontainer.css diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index a2bc94f..593a39b 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1,3246 +1,3267 @@ -/* - * Copyright (c) 2019-2024 Ronald Brill. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -options { - IGNORE_CASE = true; - - UNICODE_INPUT = true; - USER_CHAR_STREAM = true; - -// DEBUG_TOKEN_MANAGER = true; -// DEBUG_PARSER = true; - - JDK_VERSION = "1.8"; -// JAVA_TEMPLATE_TYPE = "modern" -} - -PARSER_BEGIN(CSS3Parser) - -package org.htmlunit.cssparser.parser.javacc; - -import java.util.LinkedList; -import java.util.Locale; - -import org.htmlunit.cssparser.dom.CSSValueImpl; -import org.htmlunit.cssparser.dom.Property; -import org.htmlunit.cssparser.parser.AbstractCSSParser; -import org.htmlunit.cssparser.parser.CSSParseException; -import org.htmlunit.cssparser.parser.LexicalUnit; -import org.htmlunit.cssparser.parser.LexicalUnitImpl; -import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; -import org.htmlunit.cssparser.parser.Locatable; -import org.htmlunit.cssparser.parser.Locator; -import org.htmlunit.cssparser.parser.condition.AttributeCondition; -import org.htmlunit.cssparser.parser.condition.BeginHyphenAttributeCondition; -import org.htmlunit.cssparser.parser.condition.ClassCondition; -import org.htmlunit.cssparser.parser.condition.Condition; -import org.htmlunit.cssparser.parser.condition.IdCondition; -import org.htmlunit.cssparser.parser.condition.LangCondition; -import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; -import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; -import org.htmlunit.cssparser.parser.condition.PseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; -import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; -import org.htmlunit.cssparser.parser.media.MediaQuery; -import org.htmlunit.cssparser.parser.media.MediaQueryList; -import org.htmlunit.cssparser.parser.selector.ChildSelector; -import org.htmlunit.cssparser.parser.selector.DescendantSelector; -import org.htmlunit.cssparser.parser.selector.DirectAdjacentSelector; -import org.htmlunit.cssparser.parser.selector.ElementSelector; -import org.htmlunit.cssparser.parser.selector.GeneralAdjacentSelector; -import org.htmlunit.cssparser.parser.selector.PseudoElementSelector; -import org.htmlunit.cssparser.parser.selector.Selector; -import org.htmlunit.cssparser.parser.selector.SelectorList; -import org.htmlunit.cssparser.parser.selector.SelectorListImpl; -import org.htmlunit.cssparser.parser.selector.SimpleSelector; -import org.htmlunit.cssparser.util.ParserUtils; - -/** - * @author David Schweinsberg - * @author waldbaer - * @author Ahmed Ashour - * @author Ronald Brill - */ -public class CSS3Parser extends AbstractCSSParser { - - public CSS3Parser() { - this((CharStream) null); - } - - @Override - public String getParserVersion() { - return "http://www.w3.org/Style/CSS/"; - } - - protected String getGrammarUri() - { - return "http://www.w3.org/TR/WD-css3-syntax-20030813"; - } -} - -PARSER_END(CSS3Parser) - -TOKEN_MGR_DECLS : -{ -} - - TOKEN : -{ -// s [ \t\r\n\f]+ -// {s} {return S;} - < S: ( " "|"\t"|"\r"|"\n"|"\f" )+ > -// w {s}? -// | < W: ( )? > -} - - MORE : -{ - < "/*" > : COMMENT -} - - SKIP : -{ - < "*/" > : DEFAULT -} - - MORE : -{ - < ~[] > : COMMENT -} - - TOKEN : -{ -// h [0-9a-f] - < #H: ["0"-"9","a"-"f"] > -| < #HNUM: | | | | | > - -// nonascii [\200-\377] -// The two occurrences of "\377" represent the highest character number that -// current versions of Flex can deal with (decimal 255). They should be read as -// "\4177777" (decimal 1114111), which is the highest possible code point in -// Unicode/ISO-10646. -// Limitation: This parser can only handle Unicode characters up to \uFFFF -// (decimal 65535). -| < #NONASCII: ["\u0080"-"\uFFFF"] > - -// unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? -| < #UNICODE: "\\" ( "\r\n" | [" ","\t","\r","\n","\f"] )? > - -// escape {unicode}|\\[^\r\n\f0-9a-f] -| < #ESCAPE: | ( "\\" ~["\r","\n","\f","0"-"9","a"-"f"] ) > - -// nmstart [_a-z]|{nonascii}|{escape} -| < #NMSTART: ["_","a"-"z"] | | > - -// nmchar [_a-z0-9-]|{nonascii}|{escape} -| < #NMCHAR: ["_","a"-"z","0"-"9","-"] | | > - -// nl \n|\r\n|\r|\f -| < #NL: "\n" | "\r\n" | "\r" | "\f" > - -// string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\" -| < #STRING1: ( ~["\n","\r","\f","\\","\""] | "\\" | )* > - -// string2 \'([^\n\r\f\\']|\\{nl}|{escape})*\' -| < #STRING2: ( ~["\n","\r","\f","\\","\'"] | "\\" | )* > - -// comment \/\*[^*]*\*+([^/*][^*]*\*+)*\/ -| < #COMMENT_: "/" "*" ( ~["*"] )* ("*")+ ( ~["/","*"] ( ~["*"] )* ( "*" )+ )* "/"> - -| < AND: "and" > -| < NOT: "not" > -| < ONLY: "only" > - -// {num} {return NUMBER;} -| < NUMBER: > - -| < INHERIT: "inherit" > -| < NONE: "none" > -| < FROM: "from" > - -// ident -?{nmstart}{nmchar}* -// {ident} {return IDENT;} -| < IDENT: (< MINUS >)? ( )* > - -// name {nmchar}+ -| < #NAME: ( )+ > - -// num [0-9]+|[0-9]*"."[0-9]+ -| < NUM: ( ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ ) (["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+)? > - -// string {string1}|{string2} -// {string} {return STRING;} -| < STRING: ( "\"" "\"" ) | ( "\'" "\'" ) > { matchedToken.image = ParserUtils.trimBy(image, 1, 1); } - -// url ([!#$%&*-~]|{nonascii}|{escape})* -| < #URL: ( ["!","#","$","%","&","*"-"[","]"-"~"] | | )* > - -// A a|\\0{0,4}(41|61)(\r\n|[ \t\r\n\f])? -| < #A_LETTER: "a" | "\\" ("0")? ("0")? ("0")? ("0")? ( "41" | "61" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// C c|\\0{0,4}(43|63)(\r\n|[ \t\r\n\f])? -| < #C_LETTER: "c" | "\\" ("0")? ("0")? ("0")? ("0")? ( "43" | "63" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// D d|\\0{0,4}(44|64)(\r\n|[ \t\r\n\f])? -| < #D_LETTER: "d" | "\\" ("0")? ("0")? ("0")? ("0")? ( "44" | "64" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// E e|\\0{0,4}(45|65)(\r\n|[ \t\r\n\f])? -| < #E_LETTER: "e" | "\\" ("0")? ("0")? ("0")? ("0")? ( "45" | "65" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// F f|\\0{0,4}(46|66)(\r\n|[ \t\r\n\f])? -| < #F_LETTER: "f" | "\\" ("0")? ("0")? ("0")? ("0")? ( "46" | "66" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// G g|\\0{0,4}(47|67)(\r\n|[ \t\r\n\f])?|\\g -| < #G_LETTER: "g" | "\\" ("0")? ("0")? ("0")? ("0")? ( "47" | "67" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "g" > - -// H h|\\0{0,4}(48|68)(\r\n|[ \t\r\n\f])?|\\h -| < #H_LETTER: "h" | "\\" ("0")? ("0")? ("0")? ("0")? ( "48" | "68" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "h" > - -// I i|\\0{0,4}(49|69)(\r\n|[ \t\r\n\f])?|\\i -| < #I_LETTER: "i" | "\\" ("0")? ("0")? ("0")? ("0")? ( "49" | "69" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "i" > - -// K k|\\0{0,4}(4b|6b)(\r\n|[ \t\r\n\f])?|\\k -| < #K_LETTER: "k" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4b" | "6b" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "k" > - -// L l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l -| < #L_LETTER: "l" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4c" | "6c" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "l" > - -// M m|\\0{0,4}(4d|6d)(\r\n|[ \t\r\n\f])?|\\m -| < #M_LETTER: "m" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4d" | "6d" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "m" > - -// N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n -| < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > - -// O o|\\0{0,4}(51|71)(\r\n|[ \t\r\n\f])?|\\o -| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "51" | "71" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > - -// P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p -| < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > - -// R r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r -| < #R_LETTER: "r" | "\\" ("0")? ("0")? ("0")? ("0")? ( "52" | "72" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "r" > - -// S s|\\0{0,4}(53|73)(\r\n|[ \t\r\n\f])?|\\s -| < #S_LETTER: "s" | "\\" ("0")? ("0")? ("0")? ("0")? ( "53" | "73" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "s" > - -// T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t -| < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > - -// U v|\\0{0,4}(55|76)(\r\n|[ \t\r\n\f])?|\\v -| < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > - -// X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x -| < #X_LETTER: "x" | "\\" ("0")? ("0")? ("0")? ("0")? ( "58" | "78" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "x" > - -// Z z|\\0{0,4}(5a|7a)(\r\n|[ \t\r\n\f])?|\\z -| < #Z_LETTER: "z" | "\\" ("0")? ("0")? ("0")? ("0")? ( "5a" | "7a" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "z" > - -// "" {return CDC;} -| < CDC: "-->" > - -// "~=" {return INCLUDES;} -| < INCLUDES: "~=" > - -// "|=" {return DASHMATCH;} -| < DASHMATCH: "|=" > - -// "^=" {return PREFIXMATCH;} -| < PREFIXMATCH: "^=" > - -// "$=" {return SUFFIXMATCH;} -| < SUFFIXMATCH: "$=" > - -// "*=" {return SUBSTRINGMATCH;} -| < SUBSTRINGMATCH: "*=" > - -// {w}"{" {return LBRACE;} -| < LBRACE: "{" > -| < RBRACE: "}" > - -| < LROUND: "(" > -| < RROUND: ")" > - -| < DOT: "." > -| < SEMICOLON: ";" > -| < COLON: ":" > -| < ASTERISK: "*" > -| < SLASH: "/" > -| < MINUS: "-" > -| < EQUALS: "=" > -| < LSQUARE: "[" > -| < RSQUARE: "]" > - -// {w}"+" {return PLUS;} -| < PLUS: "+" > - -// {w}">" {return GREATER;} -| < GREATER: ">" > - -// {w}"~" {return TILDE;} -| < TILDE: "~" > - -// {w}"," {return COMMA;} -| < COMMA: "," > - -// "#"{name} {return HASH;} -| < HASH: "#" > - -// @{I}{M}{P}{O}{R}{T} {return IMPORT_SYM;} -| < IMPORT_SYM: "@" > - -// @{P}{A}{G}{E} {return PAGE_SYM;} -| < PAGE_SYM: "@" > - -// @{M}{E}{D}{I}{A} {return MEDIA_SYM;} -| < MEDIA_SYM: "@" > - -// "@{F}{O}{N}{T}-{F}{A}{C}{E}" {return FONT_FACE_SYM;} -| < FONT_FACE_SYM: "@" < MINUS > > - -// @{C}{H}{A}{R}{S}{E}{T} {return CHARSET_SYM;} -| < CHARSET_SYM: "@" > - -// "!"({w}|{comment})*{I}{M}{P}{O}{R}{T}{A}{N}{T} {return IMPORTANT_SYM;} -| < IMPORTANT_SYM: "!" ( | )* > - -// {num}{E}{M} {return EMS;} -| < EMS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{R}{E}{M} {return REM;} -| < REM: "rem" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{E}{X} {return EXS;} -| < EXS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{C}{H} {return CH;} -| < CH: "ch" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{W} {return VW;} -| < VW: "vw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{H} {return VH;} -| < VH: "vh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{M}{I}{N} {return VMIN;} -| < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{V}{M}{I}{N} {return VMAX;} -| < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{P}{X} {return LENGTH;} -| < LENGTH_PX: "px" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{C}{M} {return LENGTH;} -| < LENGTH_CM: "cm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{M}{M} {return LENGTH;} -| < LENGTH_MM: "mm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{I}{N} {return LENGTH;} -| < LENGTH_IN: "in" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{P}{T} {return LENGTH;} -| < LENGTH_PT: "pt" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{P}{C} {return LENGTH;} -| < LENGTH_PC: "pc" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{Q} {return LENGTH;} -| < LENGTH_Q: "Q" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{D}{E}{G} {return ANGLE;} -| < ANGLE_DEG: "deg" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{R}{A}{D} {return ANGLE;} -| < ANGLE_RAD: "rad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{G}{R}{A}{D} {return ANGLE;} -| < ANGLE_GRAD: "grad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{T}{U}{R}{N} {return ANGLE;} -| < ANGLE_TURN: "turn" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{M}{S} {return TIME;} -| < TIME_MS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{S} {return TIME;} -| < TIME_S: > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{H}{Z} {return FREQ;} -| < FREQ_HZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{K}{H}{Z} {return FREQ;} -| < FREQ_KHZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{D}{P}{I} {return RESOLUTION;} -| < RESOLUTION_DPI: "dpi" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{D}{P}{C}{M} {return RESOLUTION;} -| < RESOLUTION_DPCM: "dpcm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}% {return PERCENTAGE;} -| < PERCENTAGE: "%" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{ident} {return DIMENSION;} -| < DIMENSION: ( ["a"-"z","0"-"9"] | | )* > - -| < #H_PLACEHOLDER: ( | "?"){1,6} > -| < UNICODE_RANGE: "u+" (< MINUS > < H_PLACEHOLDER >)? > - -// "url("{w}{string}{w}")" {return URI;} -// "url("{w}{url}{w}")" {return URI;} -| < URI: "url" ( )* ( | ) ( )* > { matchedToken.image = ParserUtils.trimUrl(image); } - -// {N}{O}{T} "(" {return FUNCTION_NOT;} -| < FUNCTION_NOT: "not" > - -// {L}{A}{N}{G} "(" {return FUNCTION_LANG;} -| < FUNCTION_LANG: "lang" > - -// {C}{A}{L}{C} "(" {return FUNCTION_CALC;} -| < FUNCTION_CALC: "calc" > - -// {V}{A}{R} "(" {return FUNCTION_VAR;} -| < FUNCTION_VAR: "var" > - -| < FUNCTION_RGB: "rgb" ("a")? > -| < FUNCTION_HSL: "hsl" ("a")? > -| < FUNCTION_HWB: "hwb" > -| < FUNCTION_LAB: ("ok")? "lab" > -| < FUNCTION_LCH: ("ok")? "lch" > - -| < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > - -// {ident} "(" {return FUNCTION;} -| < FUNCTION: > - -| < ATKEYWORD: "@" > -} - -<*> TOKEN: -{ - < UNKNOWN: ~[] > - { - // System.err.println("Illegal character : " + image.toString()); - } -} - -// -// stylesheet -// : [ CHARSET_SYM STRING ';' ]? -// [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* -// [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* -// ; -// -void styleSheet() : -{ -} -{ - try - { - { handleStartDocument(); } - styleSheetRuleList() - - } - finally - { - handleEndDocument(); - } -} - -void styleSheetRuleList() : -{ - boolean ruleFound = false; -} -{ - ( | | )* - ( - charsetRule() - ( | | )* - )? - ( - ( - ( - importRule(ruleFound) - | - ( - styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() - ) - { - ruleFound = true; - } - ) - | - ( - // skip until the next RBRACE - { ParseException e = generateParseException(); } - invalidRule() - { - Token t = getNextToken(); - - boolean charsetProcessed = false; - if (t.kind == CHARSET_SYM) { - t = getNextToken(); - if (t.kind == S) { - t = getNextToken(); - if (t.kind == STRING) { - t = getNextToken(); - if (t.kind == SEMICOLON) { - getNextToken(); - charsetProcessed = true; - } - } - } - CSSParseException cpe = toCSSParseException("misplacedCharsetRule", e); - getErrorHandler().error(cpe); - getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - } - - if (!charsetProcessed) { - if (t.kind == EOF) { - return; - } - - CSSParseException cpe = toCSSParseException("invalidRule", e); - getErrorHandler().error(cpe); - getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - while (t.kind != RBRACE && t.kind != EOF ) { - t = getNextToken(); - } - if (t.kind == EOF) { - return; - } - } - } - ) - ) - ( | | )* - )* -} - -JAVACODE -void invalidRule() -{ -} - -// -// This is used by ASTStyleSheet.insertRule to parse a single rule -// -void styleSheetRuleSingle() : -{ -} -{ - ( )* - ( charsetRule() | importRule(false) | styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() ) - ( )* -} - -void charsetRule() : -{ - Token t; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - - t = - - { - handleCharset(t.toString(), locator); - } - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidCharsetRule", e)); - } -} - -void unknownAtRule() : -{ - String s; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - s = skip(); - handleIgnorableAtRule(s, locator); - } - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidUnknownRule", generateParseException())); - } -} - -// -// import -// : IMPORT_SYM S* -// [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S* -// ; -// -void importRule(final boolean nonImportRuleFoundBefore) : -{ - Token t; - MediaQueryList ml = new MediaQueryList(); - Locator locator; -} -{ - try - { - { - ParseException e = null; - if (nonImportRuleFoundBefore) - { - e = generateParseException(); - } - } - - { - locator = createLocator(token); - } - ( )* - ( t = | t = ) ( )* - ( mediaList(ml) )? - - { - if (nonImportRuleFoundBefore) - { - getErrorHandler().error(toCSSParseException("invalidImportRuleIgnored2", e)); - } - else - { - handleImportStyle(unescape(t.image, false), ml, null, locator); - } - } - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipAtRule(); - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidImportRule", e)); - error_skipAtRule(); - } -} - -// -// media -// : MEDIA_SYM S* medium [ COMMA S* medium ]* '{' S* ruleset* '}' S* -// ; -// -void mediaRule() : -{ - boolean start = false; - MediaQueryList ml = new MediaQueryList(); - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - ( )* - mediaList(ml) - { - start = true; - handleStartMedia(ml, locator); - } - ( )* - ( mediaRuleList() )? - - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidMediaRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringRule", cpe); - } - finally - { - if (start) { - handleEndMedia(ml); - } - } -} - -void mediaList(MediaQueryList ml) : -{ - MediaQuery mq; -} -{ - try - { - mq = mediaQuery() - { - ml.setLocator(createLocator(token)); - } - ( ( )* { ml.add(mq); } mq = mediaQuery() )* - { ml.add(mq); } - } - catch(ParseException e) - { - throw toCSSParseException("invalidMediaList", e); - } -} - -// -// media_query -// : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* -// | expression [ AND S* expression ]* -// ; -// -MediaQuery mediaQuery() : -{ - String s; - MediaQuery mq; - Property p; - boolean only = false; - boolean not = false; -} -{ - ( - ( - ( - ( - { only = true; } - | - { not = true; } - ) ( )* - )? - s = medium() - { mq = new MediaQuery(s, only, not); mq.setLocator(createLocator(token)); } - ( - ( )* - p = mediaExpression() - { - mq.addMediaProperty(p); - } - )* - ) - | - ( - p = mediaExpression() - { - mq = new MediaQuery(null, only, not); - mq.setLocator(createLocator(token)); - mq.addMediaProperty(p); - } - ( - ( )* - p = mediaExpression() - { - mq.addMediaProperty(p); - } - )* - ) - ) - { return mq; } -} - -// -// expression -// : '(' S* media_feature S* [ ':' S* expr ]? ')' S* -// ; -// -Property mediaExpression() : -{ - String p; - LexicalUnit e = null; - Property prop; - Token t; -} -{ - - ( )* - ( - t = identExcludingOnly() ( )* { p = unescape(t.image, false); } - | t = ( )* { p = unescape(t.image, false); } - ) - ( - ( )* - e = expr() - )? - - ( )* - { - if(e==null) - { - prop = new Property(p, null, false); - } - else - { - prop = new Property(p, new CSSValueImpl(e), false); - } - return prop; - } -} - -void mediaRuleList() : -{ -} -{ - ( ( styleRule() | mediaRule() | pageRule() | importRule(true) | unknownAtRule() ) ( )* )+ -} - -// -// medium -// : IDENT S* -// ; -// -String medium() : -{ - Token t; -} -{ - t = identExcludingOnly() ( )* - { - return unescape(t.image, false); - } -} - -// -// page -// : PAGE_SYM S* pseudo_page? S* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void pageRule() : -{ - String sel = null; - boolean start = false; - Locator locator; -} -{ - try { - - { - locator = createLocator(token); - } - ( )* - - ( sel = pageSelectorList() )? - - ( )* - { - start = true; - handleStartPage(null, sel, locator); - } - - styleDeclaration() - - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidPageRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringRule", cpe); - } - finally { - if (start) { - handleEndPage(null, sel); - } - } -} - -// -// pageSelectorList -// : [ pageSelector S* [ ',' pageSelector S* ]* ]? -// ; -// -String pageSelectorList() : -{ - String sel; - LinkedList selectors = new LinkedList<>(); -} -{ - sel = pageSelector() { selectors.add(sel); } - ( - ( )* sel = pageSelector() { selectors.add(sel); } - )* - - { return String.join(", ", selectors); } -} - -// -// pageSelector -// : pseudoPage+ | IDENT pseudoPage* -// ; -// -String pageSelector() : -{ - StringBuilder pseudos = new StringBuilder(); - String pseudo; - Token ident; -} -{ - ( - pseudo = pseudoPage() { pseudos.append(pseudo); } - | - ident = ident() { pseudos.append(unescape(ident.image, false)); } - ) - ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* - ( )* - - { return pseudos.toString(); } -} - -// -// pseudoPage -// : ':' IDENT -// ; -// -String pseudoPage() : -{ - Token t; -} -{ - t = ident() { return ":" + normalizeAndValidatePagePseudoClass(t); } -} - -// -// font_face -// : FONT_FACE_SYM S* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void fontFaceRule() : -{ - boolean start = false; - Locator locator; -} -{ - try { - - { - locator = createLocator(token); - } - ( )* - ( )* { start = true; handleStartFontFace(locator); } - styleDeclaration() - - } - catch(ParseException e) - { - throw toCSSParseException("invalidFontFaceRule", e); - } - finally { - if (start) { - handleEndFontFace(); - } - } -} - -// -// operator -// : '/' S* | COMMA S* | /* empty */ -// ; -// -LexicalUnit operator(LexicalUnit prev) : -{ -} -{ - ( )* { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_SLASH); } - | ( )* { return LexicalUnitImpl.createComma(prev); } -} - -// -// combinator -// : PLUS S* -// | GREATER S* -// | S -// ; -// -char combinator() : -{ - char c = ' '; -} -{ - ( - { c='+'; } ( )* - | { c='>'; } ( )* - | { c='~'; } ( )* - | ( ( { c='+'; } | { c='>'; } | { c='~'; } ) ( )* )? - ) - { return c; } -} - -// -// unary_operator -// : '-' | PLUS -// ; -// -char unaryOperator() : -{ -} -{ - ( { return '-'; } | { return '+'; } ) -} - - -// -// ruleset -// : selector [ COMMA S* selector ]* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void styleRule() : -{ - SelectorList selList = null; - boolean start = false; - Token t; -} -{ - try { - { - t = token; - } - selList = selectorList() - ( )* - { - start = true; - handleStartSelector(selList, createLocator(t.next)); - } - styleDeclaration() - ( | ) - } - catch(CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidStyleRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringFollowingDeclarations", cpe); - } - finally { - if (start) { - handleEndSelector(selList); - } - } -} - -SelectorList parseSelectorsInternal() : -{ - SelectorList selectors; -} -{ - ( )* - selectors = selectorList() - - { - return selectors; - } -} - -SelectorList selectorList() : -{ - SelectorListImpl selList = new SelectorListImpl(); - Selector sel; -} -{ - sel = selector() { selList.setLocator(sel.getLocator()); } - ( ( )* - { selList.add(sel); } - sel = selector() { selList.setLocator(sel.getLocator()); } - )* - { - selList.add(sel); - return selList; - } -} - -// -// selector -// : simple_selector_sequence [ combinator simple_selector_sequence ]* -// ; -// -Selector selector() : -{ - Selector sel; - char comb; -} -{ - try { - sel = simpleSelector(null, ' ') - ( LOOKAHEAD(2) comb = combinator() sel = simpleSelector(sel, comb) )* ( )* - { - return sel; - } - } catch (ParseException e) { - throw toCSSParseException("invalidSelector", e); - } -} - -// -// simple_selector -// : element_name [ HASH | class | attrib | pseudo ]* -// | [ HASH | class | attrib | pseudo ]+ -// ; -// -Selector simpleSelector(Selector sel, char comb) : -{ - ElementSelector elemSel = null; - SimpleSelector simpleSel = null; - Condition c = null; - SimpleSelector pseudoElementSel = null; - Object o = null; -} -{ - try - { - ( - ( elemSel = elementName() - ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } - | ( - o = pseudo(null != pseudoElementSel) - { if (o instanceof Condition) - { elemSel.addCondition((Condition) o); - } else { - pseudoElementSel = (SimpleSelector) o; - } - } - ) - )* - ) - | - ( { elemSel = new ElementSelector(null, createLocator(token)); } - ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } - | ( - o = pseudo(null != pseudoElementSel) - { if (o instanceof Condition) - { elemSel.addCondition((Condition) o); - } else { - pseudoElementSel = (SimpleSelector) o; - } - } - ) - )+ - ) - ) - - { - simpleSel = elemSel; - if (sel == null) { - sel = simpleSel; - } else { - switch (comb) { - case ' ': - sel = new DescendantSelector(sel, simpleSel); - break; - case '+': - sel = new DirectAdjacentSelector(sel, simpleSel); - break; - case '>': - sel = new ChildSelector(sel, simpleSel); - break; - case '~': - sel = new GeneralAdjacentSelector(sel, simpleSel); - break; - } - } - if (pseudoElementSel != null) - { - sel = new DescendantSelector(sel, pseudoElementSel); - } - - return sel; - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidSimpleSelector", e); - } -} - -// -// class -// : '.' IDENT -// ; -// -Condition _class(boolean pseudoElementFound) : -{ - Token t; - Locator locator; - ParseException pe = null; -} -{ - try - { - { if (pseudoElementFound) { pe = generateParseException(); } } - - { - locator = createLocator(token); - } - - t = ident() - { - if (pseudoElementFound) { throw pe; } - return new ClassCondition(unescape(t.image, false), locator); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidClassSelector", e); - } -} - -// -// element_name -// : IDENT | '*' -// ; -// -ElementSelector elementName() : -{ - Token t; -} -{ - try - { - t = ident() - { - return new ElementSelector(unescape(t.image, false), createLocator(t)); - } - | - { - return new ElementSelector(null, createLocator(token)); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidElementName", e); - } -} - -// -// attrib -// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH | PREFIXMATCH | SUFFIXMATCH | SUBSTRINGMATCH ] S* -// [ IDENT | STRING ] S* ]? ']' -// ; -// -Condition attrib(boolean pseudoElementFound) : -{ - Token t; - String name = null; - String value = null; - Boolean insensitive = null; - int type = 0; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - ( )* - { if (pseudoElementFound) { throw generateParseException(); } } - - t = ident() { name = unescape(t.image, false); } - ( )* - ( - ( - { type = 4; } - | - { type = 5; } - | - { type = 6; } - | - "=" { type = 1; } // don't use because of the leading whitespace - | - { type = 2; } - | - { type = 3; } - ) - ( )* - ( - ( - t = ident() { value = unescape(t.image, false); } - | - t = { value = unescape(t.image, false); } - ) - - ( )* - ) - ( - t = ident() { insensitive = handleCaseInSensitive(t); } - ( )* - )? - )? - - { - Condition c = null; - switch (type) { - case 0: - c = new AttributeCondition(name, null, insensitive); - break; - case 1: - c = new AttributeCondition(name, value, insensitive); - break; - case 2: - c = new OneOfAttributeCondition(name, value, insensitive); - break; - case 3: - c = new BeginHyphenAttributeCondition(name, value, insensitive); - break; - case 4: - c = new PrefixAttributeCondition(name, value, insensitive); - break; - case 5: - c = new SuffixAttributeCondition(name, value, insensitive); - break; - case 6: - c = new SubstringAttributeCondition(name, value, insensitive); - break; - } - c.setLocator(locator); - return c; - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidAttrib", e); - } -} - -// -// pseudo -// : ':' (':')? -// [ IDENT -// | FUNCTION_NOT S* selector() S* ')' -// | FUNCTION_LANG S* IDENT S* ')' -// | FUNCTION S* ((PLUS | MINUS | DIMENSION | NUMBER | STRING | IDENT)? S*)+ ')' -// ] -// ; -// -Object pseudo(boolean pseudoElementFound) : -{ - Token t; - String function; - boolean doubleColon = false; - SelectorList selectorList; - Locator locator; -} -{ - try - { - { locator = createLocator(token); } - ( { doubleColon = true; } )? - - ( - t = ident() - { - String s = unescape(t.image, false); - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } - if ("first-line".equals(s) - || "first-letter".equals(s) - || "before".equals(s) - || "after".equals(s)) - { - return new PseudoElementSelector(s, locator, doubleColon); - } - return new PseudoClassCondition(s, locator, doubleColon); - } - | - ( - t = { function = unescape(t.image, false); } - ( )* - selectorList = selectorList() - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } - return new NotPseudoClassCondition(selectorList, locator, doubleColon); - } - ) - | - ( - t = { function = unescape(t.image, false); } - ( )* - t = ident() { String lang = unescape(t.image, false); } - ( )* - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { "lang(" + lang + ")" }, locator); } - return new LangCondition(lang, locator); - } - ) - | - ( - t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } - ( )* - ( - (t = | t = | t = | t = | t = | t = ident()) - { args.append(unescape(t.image, false)); } - ( t = - { args.append(unescape(t.image, false)); } - )* - )+ - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + args.toString().trim() + ")" }, locator); } - return new PseudoClassCondition(function + args.toString().trim() + ")", locator, doubleColon); - } - ) - ) - } - catch (ParseException e) - { - throw toCSSParseException("invalidPseudo", e); - } -} - -Condition hash(boolean pseudoElementFound) : -{ - Token t; - ParseException pe = null; -} -{ - try - { - { if (pseudoElementFound) { pe = generateParseException(); } } - t = - { - if (pseudoElementFound) { throw pe; } - return new IdCondition(unescape(t.image.substring(1), false), createLocator(t)); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidHash", e); - } -} - -void styleDeclaration() : -{ -} -{ - ( declaration() )? - ( ( )* ( declaration() )? )* -} - -// -// declaration -// : property ':' S* expr prio? -// | -// ; -// -void declaration() : -{ - String p; - LexicalUnit e = null; - Token t; - boolean priority = false; - Locator starHack = null; - Locator locator = null; -} -{ - try - { - // at the moment i have no better idea how to handle the - // infamous css-star-hack (http://en.wikipedia.org/wiki/CSS_filter#Star_hack) - // smart (means: ignoring only one decl) - ( { starHack = createLocator(token); } )? - ( - ( - t = ident() { p = unescape(t.image, false); locator = createLocator(t); } - ( )* - ( )* - e = expr() - ) - | - ( - t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } - ( )* - ( e = expr() )? - ) - ) - - ( priority = prio() )? - - // maybe there are strange characters at the end - create error and skip - ( t = - { - locator = createLocator(t); - CSSParseException cpe = toCSSParseException("invalidDeclarationInvalidChar", new String[] {t.image}, locator); - getErrorHandler().error(cpe); - error_skipdecl(); - } - )? - - { - if (starHack != null) - { - CSSParseException cpe = toCSSParseException("invalidDeclarationStarHack", new Object[0], starHack); - getErrorHandler().error(cpe); - return; - } - handleProperty(p, e, priority, locator); - } - } - catch (CSSParseException ex) - { - getErrorHandler().error(ex); - error_skipdecl(); - } - catch (ParseException ex) - { - CSSParseException cpe = toCSSParseException("invalidDeclaration", ex); - getErrorHandler().error(cpe); - error_skipdecl(); - } -} - -// -// prio -// : IMPORTANT_SYM S* -// ; -boolean prio() : -{ -} -{ - ( )* - { return true; } -} - -// -// expr -// : term [ operator term ]* -// ; -LexicalUnit expr() : -{ - LexicalUnit head; - LexicalUnit body; -} -{ - try - { - head = term(null) { body = head; } - ( - ( body = operator(body) )? - body = term(body) - )* - { return head; } - } - catch (ParseException ex) - { - throw toCSSParseException("invalidExpr", ex); - } -} - -// -// term -// : unary_operator? -// [ NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | function ] -// | STRING | IDENT | URI | hexcolor | DIMENSION -// S* -// ; -// -LexicalUnit term(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit value = null; - Locator locator = null; -} -{ - ( op = unaryOperator() )? { if (op != ' ') { locator = createLocator(token); } } - ( - ( value = number(prev, op) - | value = dimension(prev, op) - | value = percentage(prev, op) - | value = function(prev) - | value = rgbColor(prev) - | value = hslColor(prev) - | value = hwbColor(prev) - | value = labColor(prev) - | value = lchColor(prev) - | value = calc(prev) - | value = var(prev) - ) - | t = { value = LexicalUnitImpl.createString(prev, unescape(t.image, false)); } - | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } - | - ( - t = identExcludingInherit() - ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? - ) - { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - | t = { value = LexicalUnitImpl.createURI(prev, unescape(t.image, true)); } - | value = unicodeRange(prev) - | value = hexcolor(prev) - | t = - { - int n = getLastNumPos(t.image); - value = LexicalUnitImpl.createDimension( - prev, - doubleValue(op, t.image.substring(0, n+1)), - t.image.substring(n+1)); - } - | t = { value = LexicalUnitImpl.createInherit(prev); } - ) - { - if (locator == null) - { - locator = createLocator(token); - } - } - ( )* - { - if(value != null) - { - value.setLocator(locator); - } - return value; - } -} - -// -// function -// : FUNCTION S* ((EQUALS | COMMA | (unaryOperator? NUMBER) | STRING | IDENT | URI)? S*)+ ')' S* -// ; -// -LexicalUnit function(LexicalUnit prev) : -{ - Token t; - LexicalUnit param = null; - LexicalUnit body = null; - String funct = ""; -} -{ - t = { funct = funct + unescape(t.image, false); } - ( )* - ( - param = term(null) { body = param; } - ( - ( - ( - t = { body = LexicalUnitImpl.createComma(body); } - | t = { body = LexicalUnitImpl.createIdent(body, t.image); } - ) - ( )* - )? - body = term(body) - )* - )? - - { - return functionInternal(prev, funct, param); - } -} - -// -// calc() -// https://www.w3.org/TR/css3-values/#calc-syntax -// = calc( ) -// -LexicalUnit calc(LexicalUnit prev) : -{ - Token t; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); - String funct = ""; -} -{ - t = { funct = unescape(t.image, false); } - ( )* - calcSum(head) - - { - return functionInternal(prev, funct, head.getNextLexicalUnit()); - } -} - -// -// calcSum() -// = [ [ '+' | '-' ] ]* -// -LexicalUnit calcSum(LexicalUnit prev) : -{ -} -{ - ( - prev = calcProduct(prev) - ( - ( - { prev = LexicalUnitImpl.createPlus(prev); } - | { prev = LexicalUnitImpl.createMinus(prev); } - ) - ( )* - prev = calcProduct(prev) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcProduct() -// = [ '*' | '/' ]* -// -LexicalUnit calcProduct(LexicalUnit prev) : -{ -} -{ - ( - prev = calcValue(prev) - ( - ( - { prev = LexicalUnitImpl.createMultiply(prev); } - ( )* - prev = calcValue(prev) - ) - | - ( - { prev = LexicalUnitImpl.createDivide(prev); } - ( )* - prev = calcNumberValue(prev) - ) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcValue() -// = | | | ( ) -// -LexicalUnit calcValue(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); -} -{ - ( - ( - ( - (op = unaryOperator() )? - ( - prev = number(prev, op) - | prev = dimension(prev, op) - | prev = percentage(prev, op) - | t = ident() { prev = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - ) - ) - | prev = var(prev) - | - ( - ( | ) - calcSum(head) - - ) - { - // use an empty function as block scope - prev = functionInternal(prev, "(", head.getNextLexicalUnit()); - } - ) - ( )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberSum() -// = [ [ '+' | '-' ] ]* -// -LexicalUnit calcNumberSum(LexicalUnit prev) : -{ -} -{ - ( - prev = calcNumberProduct(prev) - ( - ( - { prev = LexicalUnitImpl.createPlus(prev); } - | { prev = LexicalUnitImpl.createMinus(prev); } - ) - ( )* - prev = calcNumberProduct(prev) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberProduct() -// = [ '*' | '/' ]* -// -LexicalUnit calcNumberProduct(LexicalUnit prev) : -{ -} -{ - ( - prev = calcNumberValue(prev) - ( - ( - { prev = LexicalUnitImpl.createMultiply(prev); } - ( )* - prev = calcNumberValue(prev) - ) - | - ( - { prev = LexicalUnitImpl.createDivide(prev); } - ( )* - prev = calcNumberValue(prev) - ) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberValue() -// = | ( ) -// -LexicalUnit calcNumberValue(LexicalUnit prev) : -{ - Token t; - char op = ' '; - String funct = "("; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); -} -{ - ( - ( - ( - (op = unaryOperator() )? - prev = number(prev, op) - | t = ident() { prev = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - ) - | prev = var(prev) - | - ( - ( - t = { funct = unescape(t.image, false); } - | t = { funct = unescape(t.image, false); } - ) - calcNumberSum(head) - - ) - { - // use an empty function as block scope - prev = functionInternal(prev, funct, head.getNextLexicalUnit()); - } - ) - ( )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// var() -// https://developer.mozilla.org/en-US/docs/Web/CSS/var -// var( , ? ) -// -LexicalUnit var(LexicalUnit prev) : -{ - Token t; - LexicalUnit current, propertyName; - String funct = ""; -} -{ - t = { funct = unescape(t.image, false); } - ( )* - t = { current = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); propertyName = current; } - ( )* - ( - { current = LexicalUnitImpl.createComma(current); } - ( )* - ( current = term(current) )? - )* - - { - return functionInternal(prev, funct, propertyName); - } -} - - -// rgb() / rgba() -// -LexicalUnit rgbColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - ( { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( - t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } - ) - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) ) - - { - return rgbColorInternal(prev, funct, param); - } -} - - -// hsl() / hsla() -// -LexicalUnit hslColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( ( { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = angle(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = angle(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } - ) - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - ) - - { - return hslColorInternal(prev, funct, param); - } -} - - -// hwb() -// -LexicalUnit hwbColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( ( { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( - t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = angle(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = angle(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - ) - - { - return hwbColorInternal(prev, funct, param); - } -} - - -// lab() -// -LexicalUnit labColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - ( { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( - t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - ) - - { - return labColorInternal(prev, funct, param); - } -} - - -// lch() -// -LexicalUnit lchColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - ( { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( - t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = angle(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = angle(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) ) - - { - return lchColorInternal(prev, funct, param); - } -} - - -// -// Helper to process various keywords as IDENT -// -Token ident() : -{ - Token t; -} -{ - t = { return t; } - | - ( - t = - | t = - | t = - | t = - | t = - ) - { - Token ident = new Token(IDENT, unescape(t.image, false)); - ident.beginLine = t.beginLine; - ident.beginColumn = t.endColumn; - ident.endLine = t.beginLine; - ident.endColumn = t.endColumn; - ident.next = t.next; - ident.specialToken = t.specialToken; - return ident; - - } -} - -Token identExcludingInherit() : -{ - Token t; -} -{ - t = { return t; } - | - ( - t = - | t = - | t = - ) - { - Token ident = new Token(IDENT, unescape(t.image, false)); - ident.beginLine = t.beginLine; - ident.beginColumn = t.endColumn; - ident.endLine = t.beginLine; - ident.endColumn = t.endColumn; - ident.next = t.next; - ident.specialToken = t.specialToken; - return ident; - - } -} - -Token identExcludingOnly() : -{ - Token t; -} -{ - t = { return t; } - | - ( - t = - | t = - | t = - ) - { - Token ident = new Token(IDENT, unescape(t.image, false)); - ident.beginLine = t.beginLine; - ident.beginColumn = t.endColumn; - ident.endLine = t.beginLine; - ident.endColumn = t.endColumn; - ident.next = t.next; - ident.specialToken = t.specialToken; - return ident; - - } -} - - -// -// number() -// -LexicalUnit number(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = - ) - { - try - { - value = LexicalUnitImpl.createNumber(prev, intValue(op, t.image)); - } - catch (NumberFormatException e) - { - value = LexicalUnitImpl.createNumber(prev, doubleValue(op, t.image)); - } - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// percentage() -// -LexicalUnit percentage(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createPercentage(prev, doubleValue(op, t.image)); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// dimension() -// -LexicalUnit dimension(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createPixel(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createCentimeter(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createMillimeter(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createInch(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createPoint(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createPica(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createQuater(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createEm(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRem(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createEx(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createCh(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVw(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVh(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVMin(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVMax(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createMillisecond(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createSecond(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createHertz(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createKiloHertz(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpi"); } - | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpcm"); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - - -// -// angle() -// -LexicalUnit angle(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - - -// -// unicodeRange -// -LexicalUnit unicodeRange(LexicalUnit prev) : -{ - Token t; - StringBuilder range = new StringBuilder(); -} -{ - t = { range.append(unescape(t.image, false)); } - { - return LexicalUnitImpl.createIdent(prev, range.toString().toUpperCase(Locale.ROOT)); - } -} - -// -// hexcolor -// : HASH S* -// ; -// -LexicalUnit hexcolor(LexicalUnit prev) : -{ - Token t; -} -{ - t = - { - return hexColorInternal(prev, t); - } -} - -JAVACODE -String skip() { - StringBuilder sb = new StringBuilder(); - int nesting = 0; - Token t = getToken(0); - if (t.image != null) { - sb.append(t.image); - } - - do { - t = getNextToken(); - if (t.kind == EOF) { - break; - } - sb.append(t.image); - appendUnit(t, sb); - - if (t.kind == LBRACE) { - nesting++; - } - else if (t.kind == RBRACE) { - nesting--; - } - } - while ((t.kind != RBRACE && t.kind != SEMICOLON) || nesting > 0); - - return sb.toString(); -} - -JAVACODE -String skipUnit() { - StringBuilder sb = new StringBuilder(); - - Token t = token; - Token oldToken = null; - while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { - oldToken = t; - sb.append(oldToken.image); - appendUnit(t, sb); - - t = getNextToken(); - } - if (t.kind != EOF) { - token = oldToken; - } - - return sb.toString(); -} - -JAVACODE -void appendUnit(Token t, StringBuilder sb) { - if (t.kind == EMS) { - sb.append("em"); - return; - } - if (t.kind == REM) { - sb.append("rem"); - return; - } - if (t.kind == EXS) { - sb.append("ex"); - return; - } - if (t.kind == CH) { - sb.append("ch"); - return; - } - if (t.kind == VW) { - sb.append("vw"); - return; - } - if (t.kind == VH) { - sb.append("vh"); - return; - } - if (t.kind == VMIN) { - sb.append("vmin"); - return; - } - if (t.kind == VMAX) { - sb.append("vmax"); - return; - } - if (t.kind == LENGTH_PX) { - sb.append("px"); - return; - } - if (t.kind == LENGTH_CM) { - sb.append("cm"); - return; - } - if (t.kind == LENGTH_MM) { - sb.append("mm"); - return; - } - if (t.kind == LENGTH_IN) { - sb.append("in"); - return; - } - if (t.kind == LENGTH_PT) { - sb.append("pt"); - return; - } - if (t.kind == LENGTH_PC) { - sb.append("pc"); - return; - } - if (t.kind == LENGTH_Q) { - sb.append("Q"); - return; - } - if (t.kind == ANGLE_DEG) { - sb.append("deg"); - return; - } - if (t.kind == ANGLE_RAD) { - sb.append("rad"); - return; - } - if (t.kind == ANGLE_GRAD) { - sb.append("grad"); - return; - } - if (t.kind == ANGLE_TURN) { - sb.append("turn"); - return; - } - if (t.kind == TIME_MS) { - sb.append("ms"); - return; - } - if (t.kind == TIME_S) { - sb.append('s'); - return; - } - if (t.kind == FREQ_HZ) { - sb.append("hz"); - return; - } - if (t.kind == FREQ_KHZ) { - sb.append("khz"); - return; - } - if (t.kind == RESOLUTION_DPI) { - sb.append("dpi"); - return; - } - if (t.kind == RESOLUTION_DPCM) { - sb.append("dpcm"); - return; - } - if (t.kind == PERCENTAGE) { - sb.append('%'); - return; - } -} - -JAVACODE -void error_skipblock(String msgKey, CSSParseException e) -{ - if (msgKey != null) { - getErrorHandler().warning(createSkipWarning(msgKey, e)); - } - - Token t; - int nesting = 0; - do { - t = getNextToken(); - if (t.kind == LBRACE) { - nesting++; - } - else if (t.kind == RBRACE) { - nesting--; - } - } - while (t.kind != EOF && (t.kind != RBRACE || nesting > 0)); -} - -JAVACODE -void error_skipdecl() -{ - Token t = getToken(1); - if (t.kind == LBRACE) { - error_skipblock(null, null); - return; - } - if (t.kind == RBRACE) { - // next will be RBRACE so we are finished - return; - } - - Token oldToken = token; - while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF) { - oldToken = t; - t = getNextToken(); - } - if (t.kind != EOF) { - token = oldToken; - } -} - -JAVACODE -void error_skipAtRule() -{ - Token t = null; - do { - t = getNextToken(); - } - while (t.kind != SEMICOLON && t.kind != EOF); -} - -JAVACODE -Boolean handleCaseInSensitive(Token t) -{ - String s = unescape(t.image, false); - if ("i".equalsIgnoreCase(s)) { - return Boolean.TRUE; - } - if ("s".equalsIgnoreCase(s)) { - return Boolean.FALSE; - } - - throw toCSSParseException("invalidCaseInSensitivelyIdentifier", new String[] { s }, createLocator(t)); -} +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +options { + IGNORE_CASE = true; + + UNICODE_INPUT = true; + USER_CHAR_STREAM = true; + +// DEBUG_TOKEN_MANAGER = true; +// DEBUG_PARSER = true; + + JDK_VERSION = "1.8"; +// JAVA_TEMPLATE_TYPE = "modern" +} + +PARSER_BEGIN(CSS3Parser) + +package org.htmlunit.cssparser.parser.javacc; + +import java.util.LinkedList; +import java.util.Locale; + +import org.htmlunit.cssparser.dom.CSSValueImpl; +import org.htmlunit.cssparser.dom.Property; +import org.htmlunit.cssparser.parser.AbstractCSSParser; +import org.htmlunit.cssparser.parser.CSSParseException; +import org.htmlunit.cssparser.parser.LexicalUnit; +import org.htmlunit.cssparser.parser.LexicalUnitImpl; +import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; +import org.htmlunit.cssparser.parser.Locatable; +import org.htmlunit.cssparser.parser.Locator; +import org.htmlunit.cssparser.parser.condition.AttributeCondition; +import org.htmlunit.cssparser.parser.condition.BeginHyphenAttributeCondition; +import org.htmlunit.cssparser.parser.condition.ClassCondition; +import org.htmlunit.cssparser.parser.condition.Condition; +import org.htmlunit.cssparser.parser.condition.IdCondition; +import org.htmlunit.cssparser.parser.condition.LangCondition; +import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; +import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; +import org.htmlunit.cssparser.parser.condition.PseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; +import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; +import org.htmlunit.cssparser.parser.media.MediaQuery; +import org.htmlunit.cssparser.parser.media.MediaQueryList; +import org.htmlunit.cssparser.parser.selector.ChildSelector; +import org.htmlunit.cssparser.parser.selector.DescendantSelector; +import org.htmlunit.cssparser.parser.selector.DirectAdjacentSelector; +import org.htmlunit.cssparser.parser.selector.ElementSelector; +import org.htmlunit.cssparser.parser.selector.GeneralAdjacentSelector; +import org.htmlunit.cssparser.parser.selector.PseudoElementSelector; +import org.htmlunit.cssparser.parser.selector.Selector; +import org.htmlunit.cssparser.parser.selector.SelectorList; +import org.htmlunit.cssparser.parser.selector.SelectorListImpl; +import org.htmlunit.cssparser.parser.selector.SimpleSelector; +import org.htmlunit.cssparser.util.ParserUtils; + +/** + * @author David Schweinsberg + * @author waldbaer + * @author Ahmed Ashour + * @author Ronald Brill + */ +public class CSS3Parser extends AbstractCSSParser { + + public CSS3Parser() { + this((CharStream) null); + } + + @Override + public String getParserVersion() { + return "http://www.w3.org/Style/CSS/"; + } + + protected String getGrammarUri() + { + return "http://www.w3.org/TR/WD-css3-syntax-20030813"; + } +} + +PARSER_END(CSS3Parser) + +TOKEN_MGR_DECLS : +{ +} + + TOKEN : +{ +// s [ \t\r\n\f]+ +// {s} {return S;} + < S: ( " "|"\t"|"\r"|"\n"|"\f" )+ > +// w {s}? +// | < W: ( )? > +} + + MORE : +{ + < "/*" > : COMMENT +} + + SKIP : +{ + < "*/" > : DEFAULT +} + + MORE : +{ + < ~[] > : COMMENT +} + + TOKEN : +{ +// h [0-9a-f] + < #H: ["0"-"9","a"-"f"] > +| < #HNUM: | | | | | > + +// nonascii [\200-\377] +// The two occurrences of "\377" represent the highest character number that +// current versions of Flex can deal with (decimal 255). They should be read as +// "\4177777" (decimal 1114111), which is the highest possible code point in +// Unicode/ISO-10646. +// Limitation: This parser can only handle Unicode characters up to \uFFFF +// (decimal 65535). +| < #NONASCII: ["\u0080"-"\uFFFF"] > + +// unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? +| < #UNICODE: "\\" ( "\r\n" | [" ","\t","\r","\n","\f"] )? > + +// escape {unicode}|\\[^\r\n\f0-9a-f] +| < #ESCAPE: | ( "\\" ~["\r","\n","\f","0"-"9","a"-"f"] ) > + +// nmstart [_a-z]|{nonascii}|{escape} +| < #NMSTART: ["_","a"-"z"] | | > + +// nmchar [_a-z0-9-]|{nonascii}|{escape} +| < #NMCHAR: ["_","a"-"z","0"-"9","-"] | | > + +// nl \n|\r\n|\r|\f +| < #NL: "\n" | "\r\n" | "\r" | "\f" > + +// string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\" +| < #STRING1: ( ~["\n","\r","\f","\\","\""] | "\\" | )* > + +// string2 \'([^\n\r\f\\']|\\{nl}|{escape})*\' +| < #STRING2: ( ~["\n","\r","\f","\\","\'"] | "\\" | )* > + +// comment \/\*[^*]*\*+([^/*][^*]*\*+)*\/ +| < #COMMENT_: "/" "*" ( ~["*"] )* ("*")+ ( ~["/","*"] ( ~["*"] )* ( "*" )+ )* "/"> + +| < AND: "and" > +| < NOT: "not" > +| < ONLY: "only" > + +// {num} {return NUMBER;} +| < NUMBER: > + +| < INHERIT: "inherit" > +| < NONE: "none" > +| < FROM: "from" > + +// ident -?{nmstart}{nmchar}* +// {ident} {return IDENT;} +| < IDENT: (< MINUS >)? ( )* > + +// name {nmchar}+ +| < #NAME: ( )+ > + +// num [0-9]+|[0-9]*"."[0-9]+ +| < NUM: ( ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ ) (["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+)? > + +// string {string1}|{string2} +// {string} {return STRING;} +| < STRING: ( "\"" "\"" ) | ( "\'" "\'" ) > { matchedToken.image = ParserUtils.trimBy(image, 1, 1); } + +// url ([!#$%&*-~]|{nonascii}|{escape})* +| < #URL: ( ["!","#","$","%","&","*"-"[","]"-"~"] | | )* > + +// A a|\\0{0,4}(41|61)(\r\n|[ \t\r\n\f])? +| < #A_LETTER: "a" | "\\" ("0")? ("0")? ("0")? ("0")? ( "41" | "61" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// C c|\\0{0,4}(43|63)(\r\n|[ \t\r\n\f])? +| < #C_LETTER: "c" | "\\" ("0")? ("0")? ("0")? ("0")? ( "43" | "63" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// D d|\\0{0,4}(44|64)(\r\n|[ \t\r\n\f])? +| < #D_LETTER: "d" | "\\" ("0")? ("0")? ("0")? ("0")? ( "44" | "64" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// E e|\\0{0,4}(45|65)(\r\n|[ \t\r\n\f])? +| < #E_LETTER: "e" | "\\" ("0")? ("0")? ("0")? ("0")? ( "45" | "65" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// F f|\\0{0,4}(46|66)(\r\n|[ \t\r\n\f])? +| < #F_LETTER: "f" | "\\" ("0")? ("0")? ("0")? ("0")? ( "46" | "66" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// G g|\\0{0,4}(47|67)(\r\n|[ \t\r\n\f])?|\\g +| < #G_LETTER: "g" | "\\" ("0")? ("0")? ("0")? ("0")? ( "47" | "67" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "g" > + +// H h|\\0{0,4}(48|68)(\r\n|[ \t\r\n\f])?|\\h +| < #H_LETTER: "h" | "\\" ("0")? ("0")? ("0")? ("0")? ( "48" | "68" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "h" > + +// I i|\\0{0,4}(49|69)(\r\n|[ \t\r\n\f])?|\\i +| < #I_LETTER: "i" | "\\" ("0")? ("0")? ("0")? ("0")? ( "49" | "69" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "i" > + +// K k|\\0{0,4}(4b|6b)(\r\n|[ \t\r\n\f])?|\\k +| < #K_LETTER: "k" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4b" | "6b" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "k" > + +// L l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l +| < #L_LETTER: "l" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4c" | "6c" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "l" > + +// M m|\\0{0,4}(4d|6d)(\r\n|[ \t\r\n\f])?|\\m +| < #M_LETTER: "m" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4d" | "6d" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "m" > + +// N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n +| < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > + +// O o|\\0{0,4}(51|71)(\r\n|[ \t\r\n\f])?|\\o +| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "51" | "71" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > + +// P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p +| < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > + +// R r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r +| < #R_LETTER: "r" | "\\" ("0")? ("0")? ("0")? ("0")? ( "52" | "72" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "r" > + +// S s|\\0{0,4}(53|73)(\r\n|[ \t\r\n\f])?|\\s +| < #S_LETTER: "s" | "\\" ("0")? ("0")? ("0")? ("0")? ( "53" | "73" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "s" > + +// T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t +| < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > + +// U v|\\0{0,4}(55|76)(\r\n|[ \t\r\n\f])?|\\v +| < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > + +// X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x +| < #X_LETTER: "x" | "\\" ("0")? ("0")? ("0")? ("0")? ( "58" | "78" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "x" > + +// Z z|\\0{0,4}(5a|7a)(\r\n|[ \t\r\n\f])?|\\z +| < #Z_LETTER: "z" | "\\" ("0")? ("0")? ("0")? ("0")? ( "5a" | "7a" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "z" > + +// "" {return CDC;} +| < CDC: "-->" > + +// "~=" {return INCLUDES;} +| < INCLUDES: "~=" > + +// "|=" {return DASHMATCH;} +| < DASHMATCH: "|=" > + +// "^=" {return PREFIXMATCH;} +| < PREFIXMATCH: "^=" > + +// "$=" {return SUFFIXMATCH;} +| < SUFFIXMATCH: "$=" > + +// "*=" {return SUBSTRINGMATCH;} +| < SUBSTRINGMATCH: "*=" > + +// {w}"{" {return LBRACE;} +| < LBRACE: "{" > +| < RBRACE: "}" > + +| < LROUND: "(" > +| < RROUND: ")" > + +| < DOT: "." > +| < SEMICOLON: ";" > +| < COLON: ":" > +| < ASTERISK: "*" > +| < SLASH: "/" > +| < MINUS: "-" > +| < EQUALS: "=" > +| < LSQUARE: "[" > +| < RSQUARE: "]" > + +// {w}"+" {return PLUS;} +| < PLUS: "+" > + +// {w}">" {return GREATER;} +| < GREATER: ">" > + +// {w}"~" {return TILDE;} +| < TILDE: "~" > + +// {w}"," {return COMMA;} +| < COMMA: "," > + +// "#"{name} {return HASH;} +| < HASH: "#" > + +// @{I}{M}{P}{O}{R}{T} {return IMPORT_SYM;} +| < IMPORT_SYM: "@" > + +// @{P}{A}{G}{E} {return PAGE_SYM;} +| < PAGE_SYM: "@" > + +// @{M}{E}{D}{I}{A} {return MEDIA_SYM;} +| < MEDIA_SYM: "@" > + +// "@{F}{O}{N}{T}-{F}{A}{C}{E}" {return FONT_FACE_SYM;} +| < FONT_FACE_SYM: "@" < MINUS > > + +// @{C}{H}{A}{R}{S}{E}{T} {return CHARSET_SYM;} +| < CHARSET_SYM: "@" > + +// "!"({w}|{comment})*{I}{M}{P}{O}{R}{T}{A}{N}{T} {return IMPORTANT_SYM;} +| < IMPORTANT_SYM: "!" ( | )* > + +// {num}{E}{M} {return EMS;} +| < EMS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{R}{E}{M} {return REM;} +| < REM: "rem" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{E}{X} {return EXS;} +| < EXS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{C}{H} {return CH;} +| < CH: "ch" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{W} {return VW;} +| < VW: "vw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{H} {return VH;} +| < VH: "vh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{M}{I}{N} {return VMIN;} +| < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{V}{M}{I}{N} {return VMAX;} +| < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{P}{X} {return LENGTH;} +| < LENGTH_PX: "px" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{C}{M} {return LENGTH;} +| < LENGTH_CM: "cm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{M}{M} {return LENGTH;} +| < LENGTH_MM: "mm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{I}{N} {return LENGTH;} +| < LENGTH_IN: "in" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{P}{T} {return LENGTH;} +| < LENGTH_PT: "pt" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{P}{C} {return LENGTH;} +| < LENGTH_PC: "pc" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{Q} {return LENGTH;} +| < LENGTH_Q: "Q" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{D}{E}{G} {return ANGLE;} +| < ANGLE_DEG: "deg" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{R}{A}{D} {return ANGLE;} +| < ANGLE_RAD: "rad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{G}{R}{A}{D} {return ANGLE;} +| < ANGLE_GRAD: "grad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{T}{U}{R}{N} {return ANGLE;} +| < ANGLE_TURN: "turn" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{M}{S} {return TIME;} +| < TIME_MS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{S} {return TIME;} +| < TIME_S: > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{H}{Z} {return FREQ;} +| < FREQ_HZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{K}{H}{Z} {return FREQ;} +| < FREQ_KHZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{D}{P}{I} {return RESOLUTION;} +| < RESOLUTION_DPI: "dpi" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{D}{P}{C}{M} {return RESOLUTION;} +| < RESOLUTION_DPCM: "dpcm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}% {return PERCENTAGE;} +| < PERCENTAGE: "%" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{ident} {return DIMENSION;} +| < DIMENSION: ( ["a"-"z","0"-"9"] | | )* > + +| < #H_PLACEHOLDER: ( | "?"){1,6} > +| < UNICODE_RANGE: "u+" (< MINUS > < H_PLACEHOLDER >)? > + +// "url("{w}{string}{w}")" {return URI;} +// "url("{w}{url}{w}")" {return URI;} +| < URI: "url" ( )* ( | ) ( )* > { matchedToken.image = ParserUtils.trimUrl(image); } + +// {N}{O}{T} "(" {return FUNCTION_NOT;} +| < FUNCTION_NOT: "not" > + +// {L}{A}{N}{G} "(" {return FUNCTION_LANG;} +| < FUNCTION_LANG: "lang" > + +// {C}{A}{L}{C} "(" {return FUNCTION_CALC;} +| < FUNCTION_CALC: "calc" > + +// {V}{A}{R} "(" {return FUNCTION_VAR;} +| < FUNCTION_VAR: "var" > + +| < FUNCTION_RGB: "rgb" ("a")? > +| < FUNCTION_HSL: "hsl" ("a")? > +| < FUNCTION_HWB: "hwb" > +| < FUNCTION_LAB: ("ok")? "lab" > +| < FUNCTION_LCH: ("ok")? "lch" > + +| < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > + +// {ident} "(" {return FUNCTION;} +| < FUNCTION: > + +| < ATKEYWORD: "@" > +} + +<*> TOKEN: +{ + < UNKNOWN: ~[] > + { + // System.err.println("Illegal character : " + image.toString()); + } +} + +// +// stylesheet +// : [ CHARSET_SYM STRING ';' ]? +// [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* +// [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* +// ; +// +void styleSheet() : +{ +} +{ + try + { + { handleStartDocument(); } + styleSheetRuleList() + + } + finally + { + handleEndDocument(); + } +} + +void styleSheetRuleList() : +{ + boolean ruleFound = false; +} +{ + ( | | )* + ( + charsetRule() + ( | | )* + )? + ( + ( + ( + importRule(ruleFound) + | + ( + styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() + ) + { + ruleFound = true; + } + ) + | + ( + // skip until the next RBRACE + { ParseException e = generateParseException(); } + invalidRule() + { + Token t = getNextToken(); + + boolean charsetProcessed = false; + if (t.kind == CHARSET_SYM) { + t = getNextToken(); + if (t.kind == S) { + t = getNextToken(); + if (t.kind == STRING) { + t = getNextToken(); + if (t.kind == SEMICOLON) { + getNextToken(); + charsetProcessed = true; + } + } + } + CSSParseException cpe = toCSSParseException("misplacedCharsetRule", e); + getErrorHandler().error(cpe); + getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); + } + + if (!charsetProcessed) { + if (t.kind == EOF) { + return; + } + + CSSParseException cpe = toCSSParseException("invalidRule", e); + getErrorHandler().error(cpe); + getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); + while (t.kind != RBRACE && t.kind != EOF ) { + t = getNextToken(); + } + if (t.kind == EOF) { + return; + } + } + } + ) + ) + ( | | )* + )* +} + +JAVACODE +void invalidRule() +{ +} + +// +// This is used by ASTStyleSheet.insertRule to parse a single rule +// +void styleSheetRuleSingle() : +{ +} +{ + ( )* + ( charsetRule() | importRule(false) | styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() ) + ( )* +} + +void charsetRule() : +{ + Token t; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + + t = + + { + handleCharset(t.toString(), locator); + } + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidCharsetRule", e)); + } +} + +void unknownAtRule() : +{ + String s; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + s = skip(); + handleIgnorableAtRule(s, locator); + } + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidUnknownRule", generateParseException())); + } +} + +// +// import +// : IMPORT_SYM S* +// [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S* +// ; +// +void importRule(final boolean nonImportRuleFoundBefore) : +{ + Token t; + MediaQueryList ml = new MediaQueryList(); + Locator locator; +} +{ + try + { + { + ParseException e = null; + if (nonImportRuleFoundBefore) + { + e = generateParseException(); + } + } + + { + locator = createLocator(token); + } + ( )* + ( t = | t = ) ( )* + ( mediaList(ml) )? + + { + if (nonImportRuleFoundBefore) + { + getErrorHandler().error(toCSSParseException("invalidImportRuleIgnored2", e)); + } + else + { + handleImportStyle(unescape(t.image, false), ml, null, locator); + } + } + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipAtRule(); + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidImportRule", e)); + error_skipAtRule(); + } +} + +// +// media +// : MEDIA_SYM S* medium [ COMMA S* medium ]* '{' S* ruleset* '}' S* +// ; +// +void mediaRule() : +{ + boolean start = false; + MediaQueryList ml = new MediaQueryList(); + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + ( )* + mediaList(ml) + { + start = true; + handleStartMedia(ml, locator); + } + ( )* + ( mediaRuleList() )? + + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidMediaRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringRule", cpe); + } + finally + { + if (start) { + handleEndMedia(ml); + } + } +} + +void mediaList(MediaQueryList ml) : +{ + MediaQuery mq; +} +{ + try + { + mq = mediaQuery() + { + ml.setLocator(createLocator(token)); + } + ( ( )* { ml.add(mq); } mq = mediaQuery() )* + { ml.add(mq); } + } + catch(ParseException e) + { + throw toCSSParseException("invalidMediaList", e); + } +} + +// +// media_query +// : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* +// | expression [ AND S* expression ]* +// ; +// +MediaQuery mediaQuery() : +{ + String s; + MediaQuery mq; + Property p; + boolean only = false; + boolean not = false; +} +{ + ( + ( + ( + ( + { only = true; } + | + { not = true; } + ) ( )* + )? + s = medium() + { mq = new MediaQuery(s, only, not); mq.setLocator(createLocator(token)); } + ( + ( )* + p = mediaExpression() + { + mq.addMediaProperty(p); + } + )* + ) + | + ( + p = mediaExpression() + { + mq = new MediaQuery(null, only, not); + mq.setLocator(createLocator(token)); + mq.addMediaProperty(p); + } + ( + ( )* + p = mediaExpression() + { + mq.addMediaProperty(p); + } + )* + ) + ) + { return mq; } +} + +// +// expression +// : '(' S* media_feature S* [ ':' S* expr ]? ')' S* +// ; +// +Property mediaExpression() : +{ + String p; + LexicalUnit e = null; + Property prop; + Token t; +} +{ + + ( )* + ( + t = identExcludingOnly() ( )* { p = unescape(t.image, false); } + | t = ( )* { p = unescape(t.image, false); } + ) + ( + ( )* + e = expr() + )? + + ( )* + { + if(e==null) + { + prop = new Property(p, null, false); + } + else + { + prop = new Property(p, new CSSValueImpl(e), false); + } + return prop; + } +} + +void mediaRuleList() : +{ +} +{ + ( ( styleRule() | mediaRule() | pageRule() | importRule(true) | unknownAtRule() ) ( )* )+ +} + +// +// medium +// : IDENT S* +// ; +// +String medium() : +{ + Token t; +} +{ + t = identExcludingOnly() ( )* + { + return unescape(t.image, false); + } +} + +// +// page +// : PAGE_SYM S* pseudo_page? S* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void pageRule() : +{ + String sel = null; + boolean start = false; + Locator locator; +} +{ + try { + + { + locator = createLocator(token); + } + ( )* + + ( sel = pageSelectorList() )? + + ( )* + { + start = true; + handleStartPage(null, sel, locator); + } + + styleDeclaration() + + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidPageRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringRule", cpe); + } + finally { + if (start) { + handleEndPage(null, sel); + } + } +} + +// +// pageSelectorList +// : [ pageSelector S* [ ',' pageSelector S* ]* ]? +// ; +// +String pageSelectorList() : +{ + String sel; + LinkedList selectors = new LinkedList<>(); +} +{ + sel = pageSelector() { selectors.add(sel); } + ( + ( )* sel = pageSelector() { selectors.add(sel); } + )* + + { return String.join(", ", selectors); } +} + +// +// pageSelector +// : pseudoPage+ | IDENT pseudoPage* +// ; +// +String pageSelector() : +{ + StringBuilder pseudos = new StringBuilder(); + String pseudo; + Token ident; +} +{ + ( + pseudo = pseudoPage() { pseudos.append(pseudo); } + | + ident = ident() { pseudos.append(unescape(ident.image, false)); } + ) + ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* + ( )* + + { return pseudos.toString(); } +} + +// +// pseudoPage +// : ':' IDENT +// ; +// +String pseudoPage() : +{ + Token t; +} +{ + t = ident() { return ":" + normalizeAndValidatePagePseudoClass(t); } +} + +// +// font_face +// : FONT_FACE_SYM S* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void fontFaceRule() : +{ + boolean start = false; + Locator locator; +} +{ + try { + + { + locator = createLocator(token); + } + ( )* + ( )* { start = true; handleStartFontFace(locator); } + styleDeclaration() + + } + catch(ParseException e) + { + throw toCSSParseException("invalidFontFaceRule", e); + } + finally { + if (start) { + handleEndFontFace(); + } + } +} + +// +// operator +// : '/' S* | COMMA S* | /* empty */ +// ; +// +LexicalUnit operator(LexicalUnit prev) : +{ +} +{ + ( )* { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_SLASH); } + | ( )* { return LexicalUnitImpl.createComma(prev); } +} + +// +// combinator +// : PLUS S* +// | GREATER S* +// | S +// ; +// +char combinator() : +{ + char c = ' '; +} +{ + ( + { c='+'; } ( )* + | { c='>'; } ( )* + | { c='~'; } ( )* + | ( ( { c='+'; } | { c='>'; } | { c='~'; } ) ( )* )? + ) + { return c; } +} + +// +// unary_operator +// : '-' | PLUS +// ; +// +char unaryOperator() : +{ +} +{ + ( { return '-'; } | { return '+'; } ) +} + + +// +// ruleset +// : selector [ COMMA S* selector ]* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void styleRule() : +{ + SelectorList selList = null; + boolean start = false; + Token t; +} +{ + try { + { + t = token; + } + selList = selectorList() + ( )* + { + start = true; + handleStartSelector(selList, createLocator(t.next)); + } + styleDeclaration() + ( | ) + } + catch(CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidStyleRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringFollowingDeclarations", cpe); + } + finally { + if (start) { + handleEndSelector(selList); + } + } +} + +SelectorList parseSelectorsInternal() : +{ + SelectorList selectors; +} +{ + ( )* + selectors = selectorList() + + { + return selectors; + } +} + +SelectorList selectorList() : +{ + SelectorListImpl selList = new SelectorListImpl(); + Selector sel; +} +{ + sel = selector() { selList.setLocator(sel.getLocator()); } + ( ( )* + { selList.add(sel); } + sel = selector() { selList.setLocator(sel.getLocator()); } + )* + { + selList.add(sel); + return selList; + } +} + +// +// selector +// : simple_selector_sequence [ combinator simple_selector_sequence ]* +// ; +// +Selector selector() : +{ + Selector sel; + char comb; +} +{ + try { + sel = simpleSelector(null, ' ') + ( LOOKAHEAD(2) comb = combinator() sel = simpleSelector(sel, comb) )* ( )* + { + return sel; + } + } catch (ParseException e) { + throw toCSSParseException("invalidSelector", e); + } +} + +// +// simple_selector +// : element_name [ HASH | class | attrib | pseudo ]* +// | [ HASH | class | attrib | pseudo ]+ +// ; +// +Selector simpleSelector(Selector sel, char comb) : +{ + ElementSelector elemSel = null; + SimpleSelector simpleSel = null; + Condition c = null; + SimpleSelector pseudoElementSel = null; + Object o = null; +} +{ + try + { + ( + ( elemSel = elementName() + ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } + | ( + o = pseudo(null != pseudoElementSel) + { if (o instanceof Condition) + { elemSel.addCondition((Condition) o); + } else { + pseudoElementSel = (SimpleSelector) o; + } + } + ) + )* + ) + | + ( { elemSel = new ElementSelector(null, createLocator(token)); } + ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } + | ( + o = pseudo(null != pseudoElementSel) + { if (o instanceof Condition) + { elemSel.addCondition((Condition) o); + } else { + pseudoElementSel = (SimpleSelector) o; + } + } + ) + )+ + ) + ) + + { + simpleSel = elemSel; + if (sel == null) { + sel = simpleSel; + } else { + switch (comb) { + case ' ': + sel = new DescendantSelector(sel, simpleSel); + break; + case '+': + sel = new DirectAdjacentSelector(sel, simpleSel); + break; + case '>': + sel = new ChildSelector(sel, simpleSel); + break; + case '~': + sel = new GeneralAdjacentSelector(sel, simpleSel); + break; + } + } + if (pseudoElementSel != null) + { + sel = new DescendantSelector(sel, pseudoElementSel); + } + + return sel; + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidSimpleSelector", e); + } +} + +// +// class +// : '.' IDENT +// ; +// +Condition _class(boolean pseudoElementFound) : +{ + Token t; + Locator locator; + ParseException pe = null; +} +{ + try + { + { if (pseudoElementFound) { pe = generateParseException(); } } + + { + locator = createLocator(token); + } + + t = ident() + { + if (pseudoElementFound) { throw pe; } + return new ClassCondition(unescape(t.image, false), locator); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidClassSelector", e); + } +} + +// +// element_name +// : IDENT | '*' +// ; +// +ElementSelector elementName() : +{ + Token t; +} +{ + try + { + t = ident() + { + return new ElementSelector(unescape(t.image, false), createLocator(t)); + } + | + { + return new ElementSelector(null, createLocator(token)); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidElementName", e); + } +} + +// +// attrib +// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH | PREFIXMATCH | SUFFIXMATCH | SUBSTRINGMATCH ] S* +// [ IDENT | STRING ] S* ]? ']' +// ; +// +Condition attrib(boolean pseudoElementFound) : +{ + Token t; + String name = null; + String value = null; + Boolean insensitive = null; + int type = 0; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + ( )* + { if (pseudoElementFound) { throw generateParseException(); } } + + t = ident() { name = unescape(t.image, false); } + ( )* + ( + ( + { type = 4; } + | + { type = 5; } + | + { type = 6; } + | + "=" { type = 1; } // don't use because of the leading whitespace + | + { type = 2; } + | + { type = 3; } + ) + ( )* + ( + ( + t = ident() { value = unescape(t.image, false); } + | + t = { value = unescape(t.image, false); } + ) + + ( )* + ) + ( + t = ident() { insensitive = handleCaseInSensitive(t); } + ( )* + )? + )? + + { + Condition c = null; + switch (type) { + case 0: + c = new AttributeCondition(name, null, insensitive); + break; + case 1: + c = new AttributeCondition(name, value, insensitive); + break; + case 2: + c = new OneOfAttributeCondition(name, value, insensitive); + break; + case 3: + c = new BeginHyphenAttributeCondition(name, value, insensitive); + break; + case 4: + c = new PrefixAttributeCondition(name, value, insensitive); + break; + case 5: + c = new SuffixAttributeCondition(name, value, insensitive); + break; + case 6: + c = new SubstringAttributeCondition(name, value, insensitive); + break; + } + c.setLocator(locator); + return c; + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidAttrib", e); + } +} + +// +// pseudo +// : ':' (':')? +// [ IDENT +// | FUNCTION_NOT S* selector() S* ')' +// | FUNCTION_LANG S* IDENT S* ')' +// | FUNCTION S* ((PLUS | MINUS | DIMENSION | NUMBER | STRING | IDENT)? S*)+ ')' +// ] +// ; +// +Object pseudo(boolean pseudoElementFound) : +{ + Token t; + String function; + boolean doubleColon = false; + SelectorList selectorList; + Locator locator; +} +{ + try + { + { locator = createLocator(token); } + ( { doubleColon = true; } )? + + ( + t = ident() + { + String s = unescape(t.image, false); + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } + if ("first-line".equals(s) + || "first-letter".equals(s) + || "before".equals(s) + || "after".equals(s)) + { + return new PseudoElementSelector(s, locator, doubleColon); + } + return new PseudoClassCondition(s, locator, doubleColon); + } + | + ( + t = { function = unescape(t.image, false); } + ( )* + selectorList = selectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } + return new NotPseudoClassCondition(selectorList, locator, doubleColon); + } + ) + | + ( + t = { function = unescape(t.image, false); } + ( )* + t = ident() { String lang = unescape(t.image, false); } + ( )* + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { "lang(" + lang + ")" }, locator); } + return new LangCondition(lang, locator); + } + ) + | + ( + t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } + ( )* + ( + (t = | t = | t = | t = | t = | t = ident()) + { args.append(unescape(t.image, false)); } + ( t = + { args.append(unescape(t.image, false)); } + )* + )+ + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + args.toString().trim() + ")" }, locator); } + return new PseudoClassCondition(function + args.toString().trim() + ")", locator, doubleColon); + } + ) + ) + } + catch (ParseException e) + { + throw toCSSParseException("invalidPseudo", e); + } +} + +Condition hash(boolean pseudoElementFound) : +{ + Token t; + ParseException pe = null; +} +{ + try + { + { if (pseudoElementFound) { pe = generateParseException(); } } + t = + { + if (pseudoElementFound) { throw pe; } + return new IdCondition(unescape(t.image.substring(1), false), createLocator(t)); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidHash", e); + } +} + +void styleDeclaration() : +{ +} +{ + ( declaration() )? + ( ( )* ( declaration() )? )* +} + +// +// declaration +// : property ':' S* expr prio? +// | +// ; +// +void declaration() : +{ + String p; + LexicalUnit e = null; + Token t; + boolean priority = false; + Locator starHack = null; + Locator locator = null; +} +{ + try + { + // at the moment i have no better idea how to handle the + // infamous css-star-hack (http://en.wikipedia.org/wiki/CSS_filter#Star_hack) + // smart (means: ignoring only one decl) + ( { starHack = createLocator(token); } )? + ( + ( + t = ident() { p = unescape(t.image, false); locator = createLocator(t); } + ( )* + ( )* + e = expr() + ) + | + ( + t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } + ( )* + ( e = expr() )? + ) + ) + + ( priority = prio() )? + + // maybe there are strange characters at the end - create error and skip + ( t = + { + locator = createLocator(t); + CSSParseException cpe = toCSSParseException("invalidDeclarationInvalidChar", new String[] {t.image}, locator); + getErrorHandler().error(cpe); + error_skipdecl(); + } + )? + + { + if (starHack != null) + { + CSSParseException cpe = toCSSParseException("invalidDeclarationStarHack", new Object[0], starHack); + getErrorHandler().error(cpe); + return; + } + handleProperty(p, e, priority, locator); + } + } + catch (CSSParseException ex) + { + getErrorHandler().error(ex); + error_skipdecl(); + } + catch (ParseException ex) + { + CSSParseException cpe = toCSSParseException("invalidDeclaration", ex); + getErrorHandler().error(cpe); + error_skipdecl(); + } +} + +// +// prio +// : IMPORTANT_SYM S* +// ; +boolean prio() : +{ +} +{ + ( )* + { return true; } +} + +// +// expr +// : term [ operator term ]* +// ; +LexicalUnit expr() : +{ + LexicalUnit head; + LexicalUnit body; +} +{ + try + { + head = term(null) { body = head; } + ( + ( body = operator(body) )? + body = term(body) + )* + { return head; } + } + catch (ParseException ex) + { + throw toCSSParseException("invalidExpr", ex); + } +} + +// +// term +// : unary_operator? +// [ NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | function ] +// | STRING | IDENT | URI | hexcolor | DIMENSION +// S* +// ; +// +LexicalUnit term(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit value = null; + Locator locator = null; +} +{ + ( op = unaryOperator() )? { if (op != ' ') { locator = createLocator(token); } } + ( + ( value = number(prev, op) + | value = dimension(prev, op) + | value = percentage(prev, op) + | value = function(prev) + | value = rgbColor(prev) + | value = hslColor(prev) + | value = hwbColor(prev) + | value = labColor(prev) + | value = lchColor(prev) + | value = calc(prev) + | value = var(prev) + ) + | t = { value = LexicalUnitImpl.createString(prev, unescape(t.image, false)); } + | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } + | + ( + t = identExcludingInherit() + ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? + ) + { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + | t = { value = LexicalUnitImpl.createURI(prev, unescape(t.image, true)); } + | value = unicodeRange(prev) + | value = hexcolor(prev) + | t = + { + int n = getLastNumPos(t.image); + value = LexicalUnitImpl.createDimension( + prev, + doubleValue(op, t.image.substring(0, n+1)), + t.image.substring(n+1)); + } + | t = { value = LexicalUnitImpl.createInherit(prev); } + ) + { + if (locator == null) + { + locator = createLocator(token); + } + } + ( )* + { + if(value != null) + { + value.setLocator(locator); + } + return value; + } +} + +// +// function +// : FUNCTION S* ((EQUALS | COMMA | (unaryOperator? NUMBER) | STRING | IDENT | URI)? S*)+ ')' S* +// ; +// +LexicalUnit function(LexicalUnit prev) : +{ + Token t; + LexicalUnit param = null; + LexicalUnit body = null; + String funct = ""; +} +{ + t = { funct = funct + unescape(t.image, false); } + ( )* + ( + param = term(null) { body = param; } + ( + ( + ( + t = { body = LexicalUnitImpl.createComma(body); } + | t = { body = LexicalUnitImpl.createIdent(body, t.image); } + ) + ( )* + )? + body = term(body) + )* + )? + + { + return functionInternal(prev, funct, param); + } +} + +// +// calc() +// https://www.w3.org/TR/css3-values/#calc-syntax +// = calc( ) +// +LexicalUnit calc(LexicalUnit prev) : +{ + Token t; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); + String funct = ""; +} +{ + t = { funct = unescape(t.image, false); } + ( )* + calcSum(head) + + { + return functionInternal(prev, funct, head.getNextLexicalUnit()); + } +} + +// +// calcSum() +// = [ [ '+' | '-' ] ]* +// +LexicalUnit calcSum(LexicalUnit prev) : +{ +} +{ + ( + prev = calcProduct(prev) + ( + ( + { prev = LexicalUnitImpl.createPlus(prev); } + | { prev = LexicalUnitImpl.createMinus(prev); } + ) + ( )* + prev = calcProduct(prev) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcProduct() +// = [ '*' | '/' ]* +// +LexicalUnit calcProduct(LexicalUnit prev) : +{ +} +{ + ( + prev = calcValue(prev) + ( + ( + { prev = LexicalUnitImpl.createMultiply(prev); } + ( )* + prev = calcValue(prev) + ) + | + ( + { prev = LexicalUnitImpl.createDivide(prev); } + ( )* + prev = calcNumberValue(prev) + ) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcValue() +// = | | | ( ) +// +LexicalUnit calcValue(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); +} +{ + ( + ( + ( + (op = unaryOperator() )? + ( + prev = number(prev, op) + | prev = dimension(prev, op) + | prev = percentage(prev, op) + | t = ident() { prev = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + ) + ) + | prev = var(prev) + | + ( + ( | ) + calcSum(head) + + ) + { + // use an empty function as block scope + prev = functionInternal(prev, "(", head.getNextLexicalUnit()); + } + ) + ( )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberSum() +// = [ [ '+' | '-' ] ]* +// +LexicalUnit calcNumberSum(LexicalUnit prev) : +{ +} +{ + ( + prev = calcNumberProduct(prev) + ( + ( + { prev = LexicalUnitImpl.createPlus(prev); } + | { prev = LexicalUnitImpl.createMinus(prev); } + ) + ( )* + prev = calcNumberProduct(prev) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberProduct() +// = [ '*' | '/' ]* +// +LexicalUnit calcNumberProduct(LexicalUnit prev) : +{ +} +{ + ( + prev = calcNumberValue(prev) + ( + ( + { prev = LexicalUnitImpl.createMultiply(prev); } + ( )* + prev = calcNumberValue(prev) + ) + | + ( + { prev = LexicalUnitImpl.createDivide(prev); } + ( )* + prev = calcNumberValue(prev) + ) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberValue() +// = | ( ) +// +LexicalUnit calcNumberValue(LexicalUnit prev) : +{ + Token t; + char op = ' '; + String funct = "("; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); +} +{ + ( + ( + ( + (op = unaryOperator() )? + prev = number(prev, op) + | t = ident() { prev = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + ) + | prev = var(prev) + | + ( + ( + t = { funct = unescape(t.image, false); } + | t = { funct = unescape(t.image, false); } + ) + calcNumberSum(head) + + ) + { + // use an empty function as block scope + prev = functionInternal(prev, funct, head.getNextLexicalUnit()); + } + ) + ( )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// var() +// https://developer.mozilla.org/en-US/docs/Web/CSS/var +// var( , ? ) +// +LexicalUnit var(LexicalUnit prev) : +{ + Token t; + LexicalUnit current, propertyName; + String funct = ""; +} +{ + t = { funct = unescape(t.image, false); } + ( )* + t = { current = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); propertyName = current; } + ( )* + ( + { current = LexicalUnitImpl.createComma(current); } + ( )* + ( + // inline expr here because we need a differnt prev handling + current = term(current) + ( LOOKAHEAD(2) + ( current = operator(current) )? + current = term(current) + )* + )? + )* + + { + return functionInternal(prev, funct, propertyName); + } +} + + +// rgb() / rgba() +// +LexicalUnit rgbColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return rgbColorInternal(prev, funct, param); + } +} + + +// hsl() / hsla() +// +LexicalUnit hslColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = angle(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = angle(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return hslColorInternal(prev, funct, param); + } +} + + +// hwb() +// +LexicalUnit hwbColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = angle(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = angle(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return hwbColorInternal(prev, funct, param); + } +} + + +// lab() +// +LexicalUnit labColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return labColorInternal(prev, funct, param); + } +} + + +// lch() +// +LexicalUnit lchColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = angle(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = angle(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return lchColorInternal(prev, funct, param); + } +} + + +// +// Helper to process various keywords as IDENT +// +Token ident() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + +Token identExcludingInherit() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + +Token identExcludingOnly() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + + +// +// number() +// +LexicalUnit number(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = + ) + { + try + { + value = LexicalUnitImpl.createNumber(prev, intValue(op, t.image)); + } + catch (NumberFormatException e) + { + value = LexicalUnitImpl.createNumber(prev, doubleValue(op, t.image)); + } + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// percentage() +// +LexicalUnit percentage(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createPercentage(prev, doubleValue(op, t.image)); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// dimension() +// +LexicalUnit dimension(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createPixel(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createCentimeter(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createMillimeter(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createInch(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createPoint(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createPica(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createQuater(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createEm(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRem(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createEx(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createCh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVw(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVMin(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVMax(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createMillisecond(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createSecond(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createHertz(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createKiloHertz(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpi"); } + | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpcm"); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + + +// +// angle() +// +LexicalUnit angle(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + + +// +// unicodeRange +// +LexicalUnit unicodeRange(LexicalUnit prev) : +{ + Token t; + StringBuilder range = new StringBuilder(); +} +{ + t = { range.append(unescape(t.image, false)); } + { + return LexicalUnitImpl.createIdent(prev, range.toString().toUpperCase(Locale.ROOT)); + } +} + +// +// hexcolor +// : HASH S* +// ; +// +LexicalUnit hexcolor(LexicalUnit prev) : +{ + Token t; +} +{ + t = + { + return hexColorInternal(prev, t); + } +} + +JAVACODE +String skip() { + StringBuilder sb = new StringBuilder(); + int nesting = 0; + Token t = getToken(0); + if (t.image != null) { + sb.append(t.image); + } + + do { + t = getNextToken(); + if (t.kind == EOF) { + break; + } + sb.append(t.image); + appendUnit(t, sb); + + if (t.kind == LBRACE) { + nesting++; + } + else if (t.kind == RBRACE) { + nesting--; + } + } + while ((t.kind != RBRACE && t.kind != SEMICOLON) || nesting > 0); + + return sb.toString(); +} + +JAVACODE +String skipUnit() { + StringBuilder sb = new StringBuilder(); + + Token t = token; + Token oldToken = null; + while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { + oldToken = t; + sb.append(oldToken.image); + appendUnit(t, sb); + + t = getNextToken(); + } + if (t.kind != EOF) { + token = oldToken; + } + + return sb.toString(); +} + +JAVACODE +void appendUnit(Token t, StringBuilder sb) { + if (t.kind == EMS) { + sb.append("em"); + return; + } + if (t.kind == REM) { + sb.append("rem"); + return; + } + if (t.kind == EXS) { + sb.append("ex"); + return; + } + if (t.kind == CH) { + sb.append("ch"); + return; + } + if (t.kind == VW) { + sb.append("vw"); + return; + } + if (t.kind == VH) { + sb.append("vh"); + return; + } + if (t.kind == VMIN) { + sb.append("vmin"); + return; + } + if (t.kind == VMAX) { + sb.append("vmax"); + return; + } + if (t.kind == LENGTH_PX) { + sb.append("px"); + return; + } + if (t.kind == LENGTH_CM) { + sb.append("cm"); + return; + } + if (t.kind == LENGTH_MM) { + sb.append("mm"); + return; + } + if (t.kind == LENGTH_IN) { + sb.append("in"); + return; + } + if (t.kind == LENGTH_PT) { + sb.append("pt"); + return; + } + if (t.kind == LENGTH_PC) { + sb.append("pc"); + return; + } + if (t.kind == LENGTH_Q) { + sb.append("Q"); + return; + } + if (t.kind == ANGLE_DEG) { + sb.append("deg"); + return; + } + if (t.kind == ANGLE_RAD) { + sb.append("rad"); + return; + } + if (t.kind == ANGLE_GRAD) { + sb.append("grad"); + return; + } + if (t.kind == ANGLE_TURN) { + sb.append("turn"); + return; + } + if (t.kind == TIME_MS) { + sb.append("ms"); + return; + } + if (t.kind == TIME_S) { + sb.append('s'); + return; + } + if (t.kind == FREQ_HZ) { + sb.append("hz"); + return; + } + if (t.kind == FREQ_KHZ) { + sb.append("khz"); + return; + } + if (t.kind == RESOLUTION_DPI) { + sb.append("dpi"); + return; + } + if (t.kind == RESOLUTION_DPCM) { + sb.append("dpcm"); + return; + } + if (t.kind == PERCENTAGE) { + sb.append('%'); + return; + } +} + +JAVACODE +void error_skipblock(String msgKey, CSSParseException e) +{ + if (msgKey != null) { + getErrorHandler().warning(createSkipWarning(msgKey, e)); + } + + Token t; + int nesting = 0; + do { + t = getNextToken(); + if (t.kind == LBRACE) { + nesting++; + } + else if (t.kind == RBRACE) { + nesting--; + } + } + while (t.kind != EOF && (t.kind != RBRACE || nesting > 0)); +} + +JAVACODE +void error_skipdecl() +{ + Token t = getToken(1); + if (t.kind == LBRACE) { + error_skipblock(null, null); + return; + } + if (t.kind == RBRACE) { + // next will be RBRACE so we are finished + return; + } + + Token oldToken = token; + while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF) { + oldToken = t; + t = getNextToken(); + } + if (t.kind != EOF) { + token = oldToken; + } +} + +JAVACODE +void error_skipAtRule() +{ + Token t = null; + do { + t = getNextToken(); + } + while (t.kind != SEMICOLON && t.kind != EOF); +} + +JAVACODE +Boolean handleCaseInSensitive(Token t) +{ + String s = unescape(t.image, false); + if ("i".equalsIgnoreCase(s)) { + return Boolean.TRUE; + } + if ("s".equalsIgnoreCase(s)) { + return Boolean.FALSE; + } + + throw toCSSParseException("invalidCaseInSensitivelyIdentifier", new String[] { s }, createLocator(t)); +} diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java index 74e0047..31602e8 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -506,6 +506,15 @@ public void jenkins10078() throws Exception { realWorld("realworld/jenkins_10078.css", 1423, 4032, media, 0, 0); } + /** + * @throws Exception if any error occurs + */ + @Test + public void filterscontainer() throws Exception { + final String media = "(max-width: 767px);(min-width: 640px);(min-width: 768px);"; + realWorld("realworld/filterscontainer.css", 43, 74, media, 0, 0); + } + private void realWorld(final String resourceName, final int rules, final int properties, final String media, final int err, final int warn) throws Exception { diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 4886c41..312eb14 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -1316,6 +1316,9 @@ public void varExpressions() throws Exception { expression("h1 { --my-var: 'test' }", "h1 { --my-var: \"test\"; }"); + expression("h1 { box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000); }", + "h1 { box-shadow: var(--tw-ring-offset-shadow, 0 0 rgb(0, 0, 0, 0)); }"); + // test cases for unsuccessful parsing expression("h1 { --my-var: var(test); }", 1, 0, 0); expression("h1 { --my-var: var(); }", 1, 0, 0); diff --git a/src/test/resources/realworld/filterscontainer.css b/src/test/resources/realworld/filterscontainer.css new file mode 100644 index 0000000..2436cb8 --- /dev/null +++ b/src/test/resources/realworld/filterscontainer.css @@ -0,0 +1 @@ +.layout-sidebar[data-v-acd2d56a]{padding-bottom:.75rem}@media (min-width: 768px){.layout-sidebar[data-v-acd2d56a]{padding-top:1rem;padding-bottom:1rem}}.layout-sidebar__main[data-v-acd2d56a]{display:block;align-items:flex-start}@media (min-width: 768px){.layout-sidebar__main[data-v-acd2d56a]{display:flex}}@media (min-width: 640px){.layout-sidebar__sidebar[data-v-acd2d56a]{max-width:300px}}@media (max-width: 767px){.sticky-search-position.layout-sidebar__sidebar[data-v-acd2d56a]{--tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, .08);--tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.layout-sidebar__sidebar[data-v-acd2d56a]{position:fixed;right:-100%;top:0;width:100%;height:100%;z-index:1000;transition:all ease .3s}.layout-sidebar__sidebar.show[data-v-acd2d56a]{transform:translate(-100%)}}.a-card .a-accordion[data-v-3e657b4a]{border:0}.a-card[data-v-3e657b4a] .a-accordion__button{padding:.5rem 1rem}.bu-filters__provider-logo[data-v-5cc2b1c6],.tr-filters__provider-logo[data-v-7b0a6cb5]{vertical-align:middle;box-sizing:content-box;width:24px}.tr-filters__provider-logo[data-v-7b0a6cb5] .provider-logo__wrapper{padding:0}.filterbox .list-enter-from[data-v-5dabcc00],.filterbox .list-leave-to[data-v-5dabcc00]{--tw-translate-x: 1.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:0}.filterbox .list-leave-active[data-v-5dabcc00]{position:absolute}.filterbox .list-enter-active[data-v-5dabcc00],.filterbox .list-leave-active[data-v-5dabcc00]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:linear}.slider-widget[data-v-404329e5]{padding:1.5rem 1rem 1.6875rem}.slider-widget.has-chart[data-v-404329e5]{padding-top:1rem}.slider-widget.has-chart[data-v-404329e5] .a-slider{padding-top:0}.filter-price[data-v-558ae752] .a-slider__footer{white-space:pre}.filter-price[data-v-558ae752] .a-slider__footer :first-child{text-align:left}.filter-price[data-v-558ae752] .a-slider__footer :last-child{text-align:right}.filter-card[data-v-3bf9d946] .filter-card_option{margin-right:.5rem;display:flex;min-height:2rem}.filter-card[data-v-3bf9d946] .filter-card_option:not(:last-child){margin-bottom:.75rem}.filter-card[data-v-3bf9d946] .filter-card_option:last-child{margin-bottom:.5rem}.filter-card[data-v-3bf9d946] .a-slider__tooltip{font-weight:400;line-height:180%;font-size:.875rem;white-space:pre;color:#2b2f33}.dummy-sidebar[data-v-0f3fb5ba]{direction:rtl;border-radius:.5rem;box-shadow:var(--shadow-sm);border:solid 1px var(--border-1);background-color:var(--white)}.dummy-sidebar__item[data-v-0f3fb5ba]{display:flex;justify-content:space-between;padding:1rem;font-size:1.25rem}.dummy-sidebar__item__line[data-v-0f3fb5ba]{flex:1;max-width:150px}.dummy-sidebar__item__line.is-short[data-v-0f3fb5ba]{max-width:84px}.dummy-sidebar__item[data-v-0f3fb5ba]:not(:last-child){border-bottom-width:1px}.bu-filters__provider-logo[data-v-66afc2e5]{vertical-align:middle;box-sizing:content-box;width:24px}.pretty-scroll[data-v-7aa95e25]::-webkit-scrollbar{width:24px}.pretty-scroll[data-v-7aa95e25]::-webkit-scrollbar-thumb{border:8px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:99px;background-color:var(--grays-150)}.border-bottom[data-v-4027b5f5]{border-bottom:solid 1px var(--border-1)}[data-v-6be4bba8] .a-pill{height:32px;width:52px;justify-content:center;padding:0}@media (min-width: 768px){[data-v-6be4bba8] .a-pill{width:40px}}.GTO-checkbox-search[data-v-45741be3] .AC-scrollable-filter-section{max-height:300px;overflow-y:auto}.GTO-checkbox-search-mobile[data-v-45741be3] .AC-scrollable-filter-section{-ms-overflow-style:none;scrollbar-width:none}.GTO-checkbox-search-mobile[data-v-45741be3] .AC-scrollable-filter-section::-webkit-scrollbar{display:none}.hide-scroll[data-v-45741be3]{-ms-overflow-style:none;scrollbar-width:none}.hide-scroll[data-v-45741be3]::-webkit-scrollbar{display:none}[data-v-5aa56fe7] .a-card:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-top:0}[data-v-5aa56fe7] .a-card:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.close-icon[data-v-5aa56fe7]{min-width:1rem}[data-v-5aa56fe7] .filter-item{max-width:200px} From 73a8a40c07b03537849ff226ca8cd321a015c584 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 25 Feb 2025 13:25:08 +0100 Subject: [PATCH 091/137] start working on 4.11.0-SNAPSHOT --- README.md | 5 +---- pom.xml | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 533bcae..be0cc16 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.10 ### Latst CI build The latest builds are available from our -[Jenkins CI build server][2] +[Jenkins CI build server](https://jenkins.wetator.org/job/HtmlUnit%20-%20CSS%20Parser/ "HtmlUnit - CSS Parser CI") [![Build Status](https://jenkins.wetator.org/buildStatus/icon?job=HtmlUnit+-+CSS+Parser)](https://jenkins.wetator.org/job/HtmlUnit%20-%20CSS%20Parser/) @@ -160,6 +160,3 @@ This project is licensed under the Apache 2.0 License ## Acknowledgments Many thanks to all of you contributing to HtmlUnit/CSSParser/Rhino in the past. - - -[2]: https://jenkins.wetator.org/job/HtmlUnit%20-%20CSS%20Parser/ "HtmlUnit - CSS Parser CI" \ No newline at end of file diff --git a/pom.xml b/pom.xml index 52f1928..a58f868 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.10.0 + 4.11.0-SNAPSHOT HtmlUnit CSS Parser HtmlUnit From a2545a9738c288246b5b3aa17356966a43eb3d2a Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 25 Feb 2025 16:55:43 +0100 Subject: [PATCH 092/137] more tests --- .../parser/CSS3ParserRealWorldTest.java | 22 + .../realworld/alibaba-huge-index.css | 16835 ++++++++++++++++ .../resources/realworld/filterscontainer.css | 198 +- 3 files changed, 17054 insertions(+), 1 deletion(-) create mode 100644 src/test/resources/realworld/alibaba-huge-index.css diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java index 31602e8..646a461 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -515,6 +515,28 @@ public void filterscontainer() throws Exception { realWorld("realworld/filterscontainer.css", 43, 74, media, 0, 0); } + /** + * @throws Exception if any error occurs + */ + @Test + public void alibabaHugeIndex() throws Exception { + final String media = "(max-width: 767px);(max-width: 768px);" + + "(max-width: 991px);" + + "(min-width: 1024px);" + + "(min-width: 1200px);" + + "(min-width: 1280px);" + + "(min-width: 360px);" + + "(min-width: 640px);" + + "(min-width: 768px);" + + "(min-width: 992px);" + + "(prefers-reduced-motion: no-preference);" + + "screen and (max-width: 1200px);" + + "screen and (max-width: 480px);" + + "screen and (max-width: 767px);" + + "screen and (max-width: 768px);"; + realWorld("realworld/alibaba-huge-index.css", 3201, 6863, media, 12, 6); + } + private void realWorld(final String resourceName, final int rules, final int properties, final String media, final int err, final int warn) throws Exception { diff --git a/src/test/resources/realworld/alibaba-huge-index.css b/src/test/resources/realworld/alibaba-huge-index.css new file mode 100644 index 0000000..e7c3e4d --- /dev/null +++ b/src/test/resources/realworld/alibaba-huge-index.css @@ -0,0 +1,16835 @@ +#nprogress { + pointer-events: none; +} +#nprogress .bar { + background: var(--primary); + position: fixed; + z-index: 1031; + top: 0; + left: auto !important; + right: 0; + width: 100%; + height: 2px; +} +#nprogress .peg { + display: block; + position: absolute; + right: 0; + width: 100px; + height: 100%; + box-shadow: 0 0 10px var(--primary), 0 0 5px var(--primary); + opacity: 1; + transform: rotate(3deg) translateY(-4px); +} +.nprogress-custom-parent { + overflow: hidden; + position: relative; +} +.nprogress-custom-parent #nprogress .bar { + position: absolute; +} /*! 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: 0.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: -0.25em; +} +sup { + top: -0.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; +} +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} +fieldset { + padding: 0.35em 0.75em 0.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; +} +* { + box-sizing: border-box; + -webkit-tap-highlight-color: transparent; + -webkit-font-smoothing: antialiased; + font-feature-settings: inherit; + border: 0 solid var(--border-1); +} +fieldset { + margin: 0; +} +a { + color: inherit; + text-decoration: none; +} +a:visited { + color: inherit; +} +p { + margin-top: 0; +} +button, +[type="button"], +[type="reset"], +[type="submit"] { + display: inline-block; + -webkit-appearance: button; +} +address { + font-style: normal; +} +.fade-enter-active, +.fade-leave-active { + transition: opacity linear var(--duration, 0.2s); +} +.fade-enter-from, +.fade-leave-to { + opacity: 0; +} +@media (min-width: 768px) { + .cards-flip > li, + .cards-flip > div, + .cards-flip-item { + transition: all ease var(--duration, 0.7s); + } + .cards-flip-enter-from, + .cards-flip-leave-to { + opacity: 0; + } + .cards-flip-leave-active { + position: absolute; + } +} +@-webkit-keyframes fade { + 0% { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade { + 0% { + opacity: 0; + } + to { + opacity: 1; + } +} +.fade-in { + -webkit-animation: fade var(--duration, 0.2s) ease; + animation: fade var(--duration, 0.2s) ease; +} +:root { + --white: #fff; + --black: #000; + --primary: #fdb713; + --primary-light: #ffe19c; + --primary-dark: #e3a107; + --secondary-100: #f2f9ff; + --secondary-200: #c9e3f8; + --secondary-300: #51a2e7; + --secondary-400: #0077db; + --secondary-500: #00569e; + --secondary-600: #004075; + --secondary-700: #001c33; + --success-100: #eafaee; + --success-300: #84e199; + --success-400: #28a745; + --success-500: #1e7b33; + --success-700: #11461d; + --warning-100: #fff5e5; + --warning-300: #ffce85; + --warning-400: #ff9800; + --warning-500: #a85d00; + --warning-700: #4d2800; + --info-100: #e8f9fc; + --info-300: #a0e8f3; + --info-400: #17a2b8; + --info-500: #0f697a; + --info-700: #072f36; + --danger-100: #fdf2f3; + --danger-300: #f2b5bb; + --danger-400: #dc3545; + --danger-500: #871722; + --danger-700: #410b10; + --gray-100: #f8fafb; + --gray-200: #f6f8f9; + --gray-300: #e2e6e9; + --gray-400: #bec6cc; + --gray-500: #959ea6; + --gray-600: #6c7680; + --gray-700: #4b5259; + --gray-800: #2b2f33; + --gray-900: #0a0b0c; + --grays-100: #f8fafb; + --grays-150: #e2e6e9; + --grays-200: #bec6cc; + --grays-300: #959ea6; + --grays-400: #6c7680; + --grays-500: #4b5259; + --grays-600: #2b2f33; + --grays-700: #0a0b0c; + --bg-cta-naturalWhite: #fff; + --bg-cta-naturalDefault: #f8fafb; + --bg-cta-softNaturalSelected: #f8fafb; + --bg-cta-softOnLightHover: #f8fafb; + --bg-cta-naturalHover: #e2e6e9; + --bg-cta-softOnDarkHover: #2b2f33; + --bg-cta-softOnDarkSelected: #2b2f33; + --bg-cta-primaryDefault: #fdb713; + --bg-cta-primaryHover: #e3a107; + --bg-cta-primaryDisabled: #ffe19c; + --bg-cta-bgLoading: #ffe19c; + --bg-cta-softSecondaryHover: #f2f9ff; + --bg-cta-softSecondarySelected: #f2f9ff; + --bg-cta-secondaryDisabled: #c9e3f8; + --bg-cta-secondaryLoading: #c9e3f8; + --bg-cta-secondaryDefault: #0077db; + --bg-cta-secondaryHover: #00569e; + --bg-cta-softAlertHover: #fdf2f3; + --bg-cta-softAlertSelected: #fdf2f3; + --fg-cta-secondaryDefault: #fff; + --fg-cta-naturalDisabled: #bec6cc; + --fg-cta-primaryDisabled: #6c7680; + --fg-cta-naturalDefault: #4b5259; + --fg-cta-primaryLoading: #4b5259; + --fg-cta-naturalFocus: #2b2f33; + --fg-cta-primaryDefault: #0a0b0c; + --fg-cta-secondarySelected: #0077db; + --fg-cta-onDark: #fff; + --fg-cta-onLightDisabled: #bec6cc; + --fg-cta-onDarkDisabled: #4b5259; + --fg-cta-onLight: #4b5259; + --fg-cta-secondaryDisabled: #c9e3f8; + --fg-cta-secondary: #0077db; + --fg-cta-secondaryFocus: #00569e; + --fg-cta-alertDisabled: #f2b5bb; + --fg-cta-alert: #dc3545; + --fg-cta-alertDefault: #dc3545; + --fg-cta-alertFocus: #871722; + --border-cta-primaryFocus: #4b5259; + --border-cta-naturalDefault: #4b5259; + --border-cta-naturalDarkSelected: #4b5259; + --border-cta-naturalFocus: #2b2f33; + --border-cta-secondaryDisabled: #c9e3f8; + --border-cta-secondaryLoading: #c9e3f8; + --border-cta-secondaryDefault: #0077db; + --border-cta-secondarySelected: #0077db; + --border-cta-secondaryFocus: #00569e; + --border-cta-alertLoading: #f2b5bb; + --border-cta-alertDisabled: #f2b5bb; + --border-cta-alertSelected: #f2b5bb; + --border-cta-alertFcous: #871722; + --border-cta-alertDefault: #dc3545; + --border-1: rgba(0, 0, 0, 0.12); + --border-2: rgba(0, 0, 0, 0.2); + --overlay: rgba(10, 11, 12, 0.65); + --bg: #f6f6f6; + --shadow-sm: 0 1px 1px -1px rgba(0, 0, 0, 0.08); + --shadow-md: 0 2px 5px -1px rgba(0, 0, 0, 0.08); + --shadow-lg: 0 4px 6px 0 rgba(0, 0, 0, 0.08); + --shadow-xl: 0 3px 10px 0 rgba(0, 0, 0, 0.12), + 0 10px 10px -6px rgba(0, 0, 0, 0.12); + --shadow-bottom-sheet: 0 -20px 30px -5px rgba(0, 0, 0, 0.08); + --shadow-nav-bar: 0 -1px 0 0 rgba(0, 0, 0, 0.08), + 0 -2px 8px 8px rgba(0, 0, 0, 0.04); + --shadow-inner: inset 0 2px 4px 0 rgb(0, 0, 0, 0.05); + --spacing-0: 0; + --spacing-1: 0.25rem; + --spacing-2: 0.5rem; + --spacing-3: 0.75rem; + --spacing-4: 1rem; + --spacing-5: 1.5rem; + --spacing-6: 2rem; + --spacing-7: 3rem; + --spacing-8: 4rem; + --spacing-9: 4.5rem; + --spacing-10: 6rem; + --spacing-11: 8rem; + --spacing-12: 12rem; + --spacing-13: 16rem; + --spacing-14: 24rem; + --spacing-15: 32rem; + --spacing-16: 40rem; + --spacing-px: 1px; + --checkbox-bg-checked-default: #0077db; + --checkbox-bg-checked-hover: #00569e; + --checkbox-bg-checked-disabled: #c9e3f8; + --checkbox-bg-checked-error: #0077db; + --checkbox-bg-checked-focus: #0077db; + --checkbox-bg-unchecked-default: #f8fafb; + --checkbox-fg-checked-default: #f8fafb; + --checkbox-border-default: #959ea6; + --checkbox-border-disabled: #bec6cc; + --checkbox-border-error: #dc3545; + --checkbox-border-focus: #00569e; + --checkbox-border-hover: #6c7680; + --checkbox-radi-default: 4px; + --checkbox-size-unit-default: 24px; + --checkbox-content-netrual-intense: #6c7680; + --checkbox-space-between: 8px; + --checkbox-content-netrual-dominant: #4b5259; + --checkbox-touch-area: 32px; + --checkbox-border-none: #00000000; + --radio-fg-checked: #ffffff; + --radio-bg-unchecked: #f8fafb; + --radio-bg-checked-default: #0077db; + --radio-bg-checked-error: #0077db; + --radio-bg-checked-focus: #0077db; + --radio-bg-checked-hover: #00569e; + --radio-border-default: #959ea6; + --radio-border-error: #dc3545; + --radio-border-hover: #6c7680; + --radio-space-between: 8px; + --radio-bg-checked-disabled: #c9e3f8; + --radio-border-disabled: #bec6cc; + --radio-border-focus: #00569e; + --radio-size-unit-default: 24px; + --radio-content-netural-dominant: #4b5259; + --radio-content-netural-intense: #6c7680; + --radio-touch-area: 32px; + --radio-border-none: #00000000; + --switch-bg-active: #0077db; + --switch-bg-active-disabled: #c9e3f8; + --switch-bg-deactive: #959ea6; + --switch-bg-deactive-disabled: #bec6cc; + --switch-content-netrual-dominant: #4b5259; + --switch-content-netrual-intense: #6c7680; + --switch-space-between: 8px; + --switch-touch-area: 32px; + --switch-radi-default: 1024px; + --switch-fg-active: #ffffff; + --switch-fg-active-disabled: #f2f9ff; + --switch-fg-deactive: #ffffff; + --switch-fg-deactive-disabled: #f8fafb; + --label-surface-gray: #e2e6e9; + --label-surface-info: #e8f9fc; + --label-surface-success: #eafaee; + --label-surface-warning: #fff5e5; + --label-surface-alert: #fdf2f3; + --label-surface-brand: #ffe19c; + --label-surface-dark: #000000a6; + --label-content-gray: #4b5259; + --label-content-info: #0f697a; + --label-on-surface-success: #28a745; + --label-content-warning: #a85d00; + --label-content-alert: #871722; + --label-content-brand: #4d2800; + --label-content-dark: #ffffff; + --label-side-padding-default: 8px; + --label-right-padding: 4px; + --label-space-between-lg: 8px; + --label-space-between-nl: 4px; + --label-radi-default: 1024px; + --label-icon-size-unit: 16px; + --label-content-success: #1e7b33; + --label-on-surface-info: #17a2b8; + --label-on-surface-warning: #a85d00; + --label-on-surface-alert: #dc3545; + --label-on-surface-gray: #4b5259; + --label-left-padding: 8px; + --label-border-gray: #4b5259; + --label-size-unit-nl: 20px; + --label-size-unit-lg: 24px; + --label-border-none: #00000000; + --special-surface-balance-increase: #eafaee; + --special-surface-new: #84e199; + --special-surface-balance-decrease: #fdf2f3; + --special-surface-zero: #f8fafb; + --special-surface-discount: #dc3545; + --special-content-balance-increase: #1e7b33; + --special-content-new: #0a0b0c; + --special-content-balance-decrease: #871722; + --special-content-zero: #4b5259; + --special-content-discount: #ffffff; + --special-side-padding-lg: 8px; + --special-space-between-lg: 4px; + --special-icon-size-unit: 12px; + --special-radi-default: 1024px; + --special-side-padding-nl: 4px; + --special-size-unit-nl: 20px; + --special-size-unit-lg: 24px; + --special-size-unit-sm: 16px; + --bullet-bg-default: #e2e6e9; + --bullet-bg-gary: #4b5259; + --bullet-bg-info: #17a2b8; + --bullet-bg-success: #28a745; + --bullet-bg-warning: #a85d00; + --bullet-bg-alert: #dc3545; + --textField-bg-default: #ffffff; + --textField-bg-value: #ffffff; + --textField-bg-focus: #ffffff; + --textField-bg-disabled: #f8fafb; + --textField-bg-error: #ffffff; + --textField-fg-default: #959ea6; + --textField-fg-focus: #2b2f33; + --textField-fg-disabled: #bec6cc; + --textField-fg-error: #dc3545; + --textField-bg-warning: #ffffff; + --textField-fg-warning: #ff9800; + --textField-border-default: #bec6cc; + --textField-border-value: #bec6cc; + --textField-border-focus: #4b5259; + --textField-border-warning: #ff9800; + --textField-border-error: #dc3545; + --textField-border-disabled: #bec6cc; + --textField-content-netrual: #959ea6; + --textField-content-secondary: #0077db; + --textField-content-alert: #dc3545; + --textField-size-unit-lg: 48px; + --textField-size-unit-md: 40px; + --textField-radi-default: 8px; + --textField-side-padding: 8px; + --textField-space-between: 4px; + --textField-fg-value: #2b2f33; + --toast-surface-dark: #2b2f33; + --toast-content-netrual-invert: #ffffff; + --toast-surface-alert: #dc3545; + --toast-surface-light: #ffffff; + --toast-content-neutral-dominant: #4b5259; + --toast-radi-default: 8px; + --toast-side-padding-default: 12px; + --toast-side-padding-right: 16px; + --toast-space-between-lg: 12px; + --toast-space-between-nl: 8px; + --toast-space-between-vertical: 12px; + --knob-bg-default: #ffffff; + --knob-bg-hover: #ffffff; + --knob-bg-focus: #ffffff; + --knob-bg-disable: #f6f8f9; + --knob-radi-default: 1024px; + --knob-border-default: #0077db; + --knob-border-hover: #00569e; + --knob-border-focus: #00569e; + --knob-border-disable: #f2f9ff; + --knob-size-unit: 20px; + --Bins-bg-default: #c9e3f8; + --Bins-bg-hover: #51a2e7; + --Bins-bg-focus: #0077db; + --Bins-bg-disable: #f2f9ff; + --Bins-radi-default: 4px; + --Slider-bg-default: #e2e6e9; + --Slider-bg-selected: #0077db; + --Slider-bg-focus: #00569e; + --Slider-bg-disable: #f2f9ff; + --Slider-radi-default: 1024px; + --Content-on-surfac-Overwhelming: #0a0b0c; + --Content-on-surfac-Extreme: #2b2f33; + --Content-on-surfac-Dominant: #4b5259; + --Content-on-surfac-Intense: #6c7680; + --Content-on-surfac-strong: #959ea6; + --Content-on-surfac-moderate: #bec6cc; + --uploadFile-bg-base: #ffffff; + --uploadFile-bg-hover: #f2f9ff; + --uploadFile-border-base: #0077db; + --uploadFile-border-hover: #0077db; + --uploadFile-border-error: #dc3545; + --uploadFile-bg-uploaded: #f8fafb; + --uploadFile-space-between: 4px; + --uploadFile-side-padding: 8px; + --uploadFile-overlay-default: #00000033; + --uploadFile-content-secondary: #0077db; + --uploadFile-content-netrual-intense: #6c7680; + --uploadFile-bg-uploading: #f8fafb; + --uploadFile-bg-error: #f8fafb; + --uploadFile-radi-default: 8px; + --uploadFile-border-none: #00000000; + --uploadFile-bg-disabled: #f8fafb; + --uploadFile-border-disabled: #bec6cc; + --uploadFile-content-netrual-moderate: #bec6cc; + --progressBar-bg-default: #ffffff; + --progressBar-fg-default: #0077db; + --progressBar-radi-default: 1024px; + --DotPageIndicator-on-image-bg-active: #ffffff; + --DotPageIndicator-on-image-bg-inactive: #ffffff99; + --DotPageIndicator-on-surface-bg-active: #0a0b0c; + --DotPageIndicator-on-surface-bg-inactive: #000000a6; + --DotPageIndicator-side-padding-nl: 12px; + --DotPageIndicator-top-padding-nl: 16px; + --DotPageIndicator-top-padding-lg: 24px; + --DotPageIndicator-Bottom-padding-nl: 12px; + --DotPageIndicator-space-between: 8px; + --ListItem-surface-default: #ffffff; + --ListItem-surface-hover: #f8fafb; + --ListItem-surface-loading: #ffffff; + --ListItem-surface-focus: #ffffff; + --ListItem-surface-disabled: #ffffff; + --ListItem-radi-default: 0px; + --ListItem-radi-individual: 8px; + --ListItem-side-padding: 12px; + --ListItem-space-between: 12px; + --ListItem-border-size: 1px; + --ListItem-border-default: #0000001f; + --ListItem-border-hover: #4b5259; + --ListItem-border-loading: #0000001f; + --ListItem-border-focus: #0077db; + --ListItem-border-disabled: #0000001f; + --ListItem-top-down-padding: 12px; + --ListItem-surface-selected: #f2f9ff; + --ListItem-border-container: #0000001f; + --ListItem-border-none: #00000000; +} +*, +:before, +:after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} +::-webkit-backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} +::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} +.dummy-card { + flex: 1; + display: flex; + border-radius: 9999px; + border: solid 1px var(--border-1); + background-color: var(--white); + padding: 0.5rem 1rem; +} +@media (min-width: 768px) { + .dummy-card { + border-radius: 0.5rem; + padding: 0.625rem; + box-shadow: var(--shadow-sm); + } +} +.dummy-card__item { + flex: 1; + display: flex; + align-items: center; +} +.dummy-card__item:not(:last-child) { + -webkit-border-end: 1px solid var(--border-1); + border-inline-end: 1px solid var(--border-1); +} +.dummy-card__item__circle { + width: 1.5em; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.dummy-card__item__line { + flex: 1; + max-width: 60px; + font-size: 1rem; +} +body { + text-align: right; + line-height: 1.55; + overflow: overlay; + max-width: 100%; + margin: 0; + padding: 0; +} +#app { + direction: rtl; +} +hr { + border-width: 1px 0 0; + border-color: var(--border-1); +} +b { + font-weight: 500; +} +summary { + outline: none; +} +.vr { + flex: 0 0 1px; + width: 1px; + background-color: var(--border-1); + display: inline-block; + align-self: stretch; +} +[class^="divide"] > * { + border: 0 solid var(--border-1); +} +.pretty-scroll::-webkit-scrollbar { + width: 5px; + height: 5px; +} +.pretty-scroll::-webkit-scrollbar-track { + background: transparent; +} +.pretty-scroll::-webkit-scrollbar-thumb { + background: var(--grays-200); + border-radius: 4px; +} +.sr-only { + position: absolute !important; + height: 1px !important; + width: 1px !important; + overflow: hidden !important; + clip: rect(1px 1px 1px 1px); + clip: rect(1px, 1px, 1px, 1px); + margin: 0; + white-space: nowrap !important; +} +.hide-scroll { + -ms-overflow-style: none; + scrollbar-width: none; +} +.hide-scroll::-webkit-scrollbar { + display: none; +} +.caret-rotate { + transition: transform 0.3s ease; +} +.caret-rotate--up { + transform: rotate(180deg); +} +.direction-ltr { + direction: ltr; +} +.direction-rtl { + direction: rtl; +} +.font-en, +.font-en-number { + font-feature-settings: "ss02"; +} +.absolute-center { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} +.link { + color: var(--secondary-400); + text-decoration: underline; +} +.dot { + display: inline-block; + margin: 0 5px; + vertical-align: middle; + width: 4px; + height: 4px; + border-radius: 50%; + background-color: var(--grays-200); +} +.ltr-only { + display: none; +} +[dir="ltr"] .ltr-only { + display: initial; +} +[dir="ltr"] .rtl-only { + display: none; +} +.dot-between > * ~ *:before, +.dot-between-sm > * ~ *:before, +.dot-between-lg > * ~ *:before { + content: ""; + display: inline-block; + width: var(--size); + height: var(--size); + border-radius: 50%; + background-color: currentColor; + margin: 0 var(--margin); +} +.dot-between-sm > * ~ *:before { + --size: 0.3em; + --margin: 0.45em; +} +.dot-between > * ~ *:before { + --size: 0.4rem; + --margin: 0.65rem; +} +.dot-between-lg > * ~ *:before { + --size: 0.5rem; + --margin: 0.7rem; +} +.text-headline-sm { + font-weight: 700; + line-height: 170%; + font-size: 0.75rem; +} +@media (min-width: 768px) { + .text-headline-sm { + font-size: 0.875rem; + } +} +.text-body-md { + font-weight: 400; + line-height: 200%; + font-size: 0.75rem; +} +@media (min-width: 768px) { + .text-body-md { + font-size: 0.875rem; + } +} +.text-callout { + font-weight: 400; + line-height: 180%; + font-size: 0.875rem; +} +.text-caption { + font-weight: 400; + line-height: 180%; + font-size: 0.75rem; +} +.\!btn-primary-nl-normal { + background-color: #fdb713 !important; + color: #0a0b0c !important; + border: 1px solid #0000001f !important; + gap: 4px !important; +} +.\!btn-primary-nl-normal:hover { + background-color: #e9a507 !important; +} +.\!btn-primary-nl-normal:focus { + background-color: #fdb713 !important; + border: 1px solid #4b5259 !important; +} +.\!btn-primary-nl-normal { + height: 2.5rem !important; + min-height: unset !important; + padding: 0 16px !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-primary-nl-rounded { + background-color: #fdb713 !important; + color: #0a0b0c !important; + border: 1px solid #0000001f !important; + gap: 4px !important; +} +.\!btn-primary-nl-rounded:hover { + background-color: #e9a507 !important; +} +.\!btn-primary-nl-rounded:focus { + background-color: #fdb713 !important; + border: 1px solid #4b5259 !important; +} +.\!btn-primary-nl-rounded { + height: 2.5rem !important; + min-height: unset !important; + padding: 0 16px !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; + border-radius: 1.5rem !important; +} +.\!btn-primary-nl-rounded svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-primary-lg-normal { + background-color: #fdb713 !important; + color: #0a0b0c !important; + border: 1px solid #0000001f !important; + gap: 4px !important; +} +.\!btn-primary-lg-normal:hover { + background-color: #e9a507 !important; +} +.\!btn-primary-lg-normal:focus { + background-color: #fdb713 !important; + border: 1px solid #4b5259 !important; +} +.\!btn-primary-lg-normal { + height: 3rem !important; + min-height: unset !important; + padding: 0 16px !important; + font-weight: 400 !important; + line-height: 170% !important; + font-size: 1rem !important; +} +.\!btn-primary-lg-normal svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-secondary-nl-normal { + background-color: #0077db !important; + color: #fff !important; + gap: 0.25rem !important; +} +.\!btn-secondary-nl-normal:hover { + background-color: #00569e !important; +} +.\!btn-secondary-nl-normal:focus { + background-color: #0077db !important; + border: 1px solid #00569e !important; +} +.\!btn-secondary-nl-normal { + height: 2.5rem !important; + min-height: unset !important; + padding: 0 12px !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-secondary-nl-normal svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-secondary-nl-rounded { + background-color: #0077db !important; + color: #fff !important; + gap: 0.25rem !important; +} +.\!btn-secondary-nl-rounded:hover { + background-color: #00569e !important; +} +.\!btn-secondary-nl-rounded:focus { + background-color: #0077db !important; + border: 1px solid #00569e !important; +} +.\!btn-secondary-nl-rounded { + height: 2.5rem !important; + min-height: unset !important; + padding: 0 12px !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-secondary-nl-rounded svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-secondary-nl-rounded { + border-radius: 24px !important; +} +.\!btn-secondary-lg-normal { + background-color: #0077db !important; + color: #fff !important; + gap: 0.25rem !important; +} +.\!btn-secondary-lg-normal:hover { + background-color: #00569e !important; +} +.\!btn-secondary-lg-normal:focus { + background-color: #0077db !important; + border: 1px solid #00569e !important; +} +.\!btn-secondary-lg-normal { + height: 3rem !important; + min-height: unset !important; + padding: 0 16px !important; + font-weight: 400 !important; + line-height: 170% !important; + font-size: 1rem !important; +} +.\!btn-secondary-lg-normal svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-secondary-lg-rounded { + background-color: #0077db !important; + color: #fff !important; + gap: 0.25rem !important; +} +.\!btn-secondary-lg-rounded:hover { + background-color: #00569e !important; +} +.\!btn-secondary-lg-rounded:focus { + background-color: #0077db !important; + border: 1px solid #00569e !important; +} +.\!btn-secondary-lg-rounded { + height: 3rem !important; + min-height: unset !important; + padding: 0 16px !important; + font-weight: 400 !important; + line-height: 170% !important; + font-size: 1rem !important; +} +.\!btn-secondary-lg-rounded svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-secondary-lg-rounded { + border-radius: 24px !important; +} +.\!btn-ghost-nl-blue { + background-color: #0000 !important; + border-width: 1px !important; + border-style: solid !important; + gap: 0.25rem !important; +} +.\!btn-ghost-nl-blue:focus { + border-color: #00569e !important; + color: #00569e !important; +} +.\!btn-ghost-nl-blue { + height: 40px !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-ghost-nl-blue svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-ghost-nl-blue { + color: #0077db !important; + border-color: #0077db !important; +} +.\!btn-ghost-nl-blue:hover { + background-color: #f2f9ff !important; +} +.\!btn-ghost-nl-gray { + background-color: #0000 !important; + border-width: 1px !important; + border-style: solid !important; + gap: 0.25rem !important; +} +.\!btn-ghost-nl-gray:focus { + border-color: #2b2f33 !important; + color: #2b2f33 !important; +} +.\!btn-ghost-nl-gray { + height: 40px !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-ghost-nl-gray svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-ghost-nl-gray { + color: #4b5259 !important; + border-color: #4b5259 !important; +} +.\!btn-ghost-nl-gray:hover { + background-color: #f8fafb !important; +} +.\!btn-ghost-nl-alert { + background-color: #0000 !important; + border-width: 1px !important; + border-style: solid !important; + gap: 0.25rem !important; +} +.\!btn-ghost-nl-alert:focus { + border-color: #871722 !important; + color: #871722 !important; +} +.\!btn-ghost-nl-alert { + height: 40px !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-ghost-nl-alert svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-ghost-nl-alert { + color: #dc3545 !important; + border-color: #dc3545 !important; +} +.\!btn-ghost-nl-alert:hover { + background-color: #fdf2f3 !important; +} +.\!btn-ghost-lg-blue { + background-color: #0000 !important; + border-width: 1px !important; + border-style: solid !important; + gap: 0.25rem !important; +} +.\!btn-ghost-lg-blue:focus { + border-color: #00569e !important; + color: #00569e !important; +} +.\!btn-ghost-lg-blue { + height: 3rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 170% !important; + font-size: 1rem !important; +} +.\!btn-ghost-lg-blue svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-ghost-lg-blue { + color: #0077db !important; + border-color: #0077db !important; +} +.\!btn-ghost-lg-blue:hover { + background-color: #f2f9ff !important; +} +.\!btn-ghost-lg-gray { + background-color: #0000 !important; + border-width: 1px !important; + border-style: solid !important; + gap: 0.25rem !important; +} +.\!btn-ghost-lg-gray:focus { + border-color: #2b2f33 !important; + color: #2b2f33 !important; +} +.\!btn-ghost-lg-gray { + height: 3rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 170% !important; + font-size: 1rem !important; +} +.\!btn-ghost-lg-gray svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-ghost-lg-gray { + color: #4b5259 !important; + border-color: #4b5259 !important; +} +.\!btn-ghost-lg-gray:hover { + background-color: #f8fafb !important; +} +.\!btn-ghost-lg-alert { + background-color: #0000 !important; + border-width: 1px !important; + border-style: solid !important; + gap: 0.25rem !important; +} +.\!btn-ghost-lg-alert:focus { + border-color: #871722 !important; + color: #871722 !important; +} +.\!btn-ghost-lg-alert { + height: 3rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 170% !important; + font-size: 1rem !important; +} +.\!btn-ghost-lg-alert svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-ghost-lg-alert { + color: #dc3545 !important; + border-color: #dc3545 !important; +} +.\!btn-ghost-lg-alert:hover { + background-color: #fdf2f3 !important; +} +.\!btn-tertiary-sm-blue { + border: none !important; + border-radius: 16px !important; + background-color: transparent !important; + gap: 0.25rem !important; + padding: 0 8px !important; + height: 1.5rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.75rem !important; +} +.\!btn-tertiary-sm-blue svg { + width: 1rem !important; + height: 1rem !important; +} +.\!btn-tertiary-sm-blue { + color: #0077db !important; +} +.\!btn-tertiary-sm-blue:hover { + background-color: #f2f9ff !important; + color: #0077db !important; +} +.\!btn-tertiary-sm-gray { + border: none !important; + border-radius: 16px !important; + background-color: transparent !important; + gap: 0.25rem !important; + padding: 0 8px !important; + height: 1.5rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.75rem !important; +} +.\!btn-tertiary-sm-gray svg { + width: 1rem !important; + height: 1rem !important; +} +.\!btn-tertiary-sm-gray { + color: #4b5259 !important; +} +.\!btn-tertiary-sm-gray:hover { + background-color: #f8fafb !important; +} +.\!btn-tertiary-sm-alert { + border: none !important; + border-radius: 16px !important; + background-color: transparent !important; + gap: 0.25rem !important; + padding: 0 8px !important; + height: 1.5rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.75rem !important; +} +.\!btn-tertiary-sm-alert svg { + width: 1rem !important; + height: 1rem !important; +} +.\!btn-tertiary-sm-alert { + color: #dc3545 !important; +} +.\!btn-tertiary-sm-alert:hover { + background-color: #fdf2f3 !important; +} +.\!btn-tertiary-sm-dark { + border: none !important; + border-radius: 16px !important; + background-color: transparent !important; + gap: 0.25rem !important; + padding: 0 8px !important; + height: 1.5rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.75rem !important; +} +.\!btn-tertiary-sm-dark svg { + width: 1rem !important; + height: 1rem !important; +} +.\!btn-tertiary-sm-dark { + color: #fff !important; +} +.\!btn-tertiary-sm-dark:hover { + background-color: #2b2f33 !important; + color: #fff !important; +} +.\!btn-tertiary-nl-blue { + border: none !important; + border-radius: 16px !important; + background-color: transparent !important; + gap: 0.25rem !important; + padding: 0 8px !important; + height: 2rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-tertiary-nl-blue svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-tertiary-nl-blue { + color: #0077db !important; +} +.\!btn-tertiary-nl-blue:hover { + background-color: #f2f9ff !important; + color: #0077db !important; +} +.\!btn-tertiary-nl-gray { + border: none !important; + border-radius: 16px !important; + background-color: transparent !important; + gap: 0.25rem !important; + padding: 0 8px !important; + height: 2rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-tertiary-nl-gray svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-tertiary-nl-gray { + color: #4b5259 !important; +} +.\!btn-tertiary-nl-gray:hover { + background-color: #f8fafb !important; +} +.\!btn-tertiary-nl-alert { + border: none !important; + border-radius: 16px !important; + background-color: transparent !important; + gap: 0.25rem !important; + padding: 0 8px !important; + height: 2rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-tertiary-nl-alert svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-tertiary-nl-alert { + color: #dc3545 !important; +} +.\!btn-tertiary-nl-alert:hover { + background-color: #fdf2f3 !important; +} +.\!btn-tertiary-nl-dark { + border: none !important; + border-radius: 16px !important; + background-color: transparent !important; + gap: 0.25rem !important; + padding: 0 8px !important; + height: 2rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-tertiary-nl-dark svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-tertiary-nl-dark { + color: #fff !important; +} +.\!btn-tertiary-nl-dark:hover { + background-color: #2b2f33 !important; + color: #fff !important; +} +.\!btn-icon-sm-standardNetrual { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-sm-standardNetrual:focus { + border-color: #4b5259 !important; +} +.\!btn-icon-sm-standardNetrual { + height: 1.5rem !important; + width: 1.5rem !important; + border-radius: 8px !important; +} +.\!btn-icon-sm-standardNetrual svg { + width: 1rem !important; + height: 1rem !important; +} +.\!btn-icon-sm-standardNetrual { + border: 1px solid transparent !important; + color: #4b5259 !important; +} +.\!btn-icon-sm-standardNetrual:hover { + background-color: #f8fafb !important; +} +.\!btn-icon-sm-standardNetrualOnDark { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: #0000 !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-sm-standardNetrualOnDark:focus { + border-color: #fff !important; +} +.\!btn-icon-sm-standardNetrualOnDark { + height: 1.5rem !important; + width: 1.5rem !important; + border-radius: 8px !important; +} +.\!btn-icon-sm-standardNetrualOnDark svg { + width: 1rem !important; + height: 1rem !important; +} +.\!btn-icon-sm-standardNetrualOnDark { + border: 1px solid transparent !important; + color: #fff !important; +} +.\!btn-icon-sm-standardNetrualOnDark:hover { + background-color: #fff3 !important; +} +.\!btn-icon-sm-standardNetrualOnDark:disabled { + background-color: #0000 !important; + color: #6c7680 !important; +} +.\!btn-icon-sm-solidNetrual { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: #fff !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-sm-solidNetrual:focus { + border-color: #4b5259 !important; +} +.\!btn-icon-sm-solidNetrual { + height: 1.5rem !important; + width: 1.5rem !important; + border-radius: 8px !important; +} +.\!btn-icon-sm-solidNetrual svg { + width: 1rem !important; + height: 1rem !important; +} +.\!btn-icon-sm-solidNetrual { + border-color: #0000001f !important; + color: #2b2f33 !important; +} +.\!btn-icon-sm-solidNetrual:hover { + background-color: #f8fafb !important; +} +.\!btn-icon-sm-solidPrimary { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: #fdb713 !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-sm-solidPrimary:focus { + background-color: #fdb713 !important; + border-color: #4b5259 !important; +} +.\!btn-icon-sm-solidPrimary { + height: 1.5rem !important; + width: 1.5rem !important; + border-radius: 8px !important; +} +.\!btn-icon-sm-solidPrimary svg { + width: 1rem !important; + height: 1rem !important; +} +.\!btn-icon-sm-solidPrimary { + border-color: #0000001f !important; + color: #0a0b0c !important; +} +.\!btn-icon-sm-solidPrimary:hover { + background-color: #e9a507 !important; +} +.\!btn-icon-sm-solidSecondary { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: #0077db !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-sm-solidSecondary:focus { + background-color: #0077db !important; + border-color: #00569e !important; +} +.\!btn-icon-sm-solidSecondary { + height: 1.5rem !important; + width: 1.5rem !important; + border-radius: 8px !important; +} +.\!btn-icon-sm-solidSecondary svg { + width: 1rem !important; + height: 1rem !important; +} +.\!btn-icon-sm-solidSecondary { + border-color: #0000001f !important; + color: #fff !important; +} +.\!btn-icon-sm-solidSecondary:hover { + background-color: #00569e !important; +} +.\!btn-icon-sm-standardSecondary { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-sm-standardSecondary:focus { + color: #0077db !important; + background-color: #0000 !important; + border-color: #0077db !important; +} +.\!btn-icon-sm-standardSecondary { + height: 1.5rem !important; + width: 1.5rem !important; + border-radius: 8px !important; +} +.\!btn-icon-sm-standardSecondary svg { + width: 1rem !important; + height: 1rem !important; +} +.\!btn-icon-sm-standardSecondary { + border-color: transparent !important; + color: #0077db !important; +} +.\!btn-icon-sm-standardSecondary:hover { + color: #0077db !important; + background-color: #f2f9ff !important; +} +.\!btn-icon-sm-standardAlert { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-sm-standardAlert:focus { + background-color: transparent !important; + border-color: #dc3545 !important; + color: #dc3545 !important; +} +.\!btn-icon-sm-standardAlert { + height: 1.5rem !important; + width: 1.5rem !important; + border-radius: 8px !important; +} +.\!btn-icon-sm-standardAlert svg { + width: 1rem !important; + height: 1rem !important; +} +.\!btn-icon-sm-standardAlert { + border: 1px solid transparent !important; + color: #dc3545 !important; +} +.\!btn-icon-sm-standardAlert:hover { + color: #dc3545 !important; +} +.\!btn-icon-nl-standardNetrual { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-nl-standardNetrual:focus { + border-color: #4b5259 !important; +} +.\!btn-icon-nl-standardNetrual { + height: 2rem !important; + width: 2rem !important; + border-radius: 8px !important; +} +.\!btn-icon-nl-standardNetrual svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-icon-nl-standardNetrual { + border: 1px solid transparent !important; + color: #4b5259 !important; +} +.\!btn-icon-nl-standardNetrual:hover { + background-color: #f8fafb !important; +} +.\!btn-icon-nl-solidNetrual { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: #fff !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-nl-solidNetrual:focus { + border-color: #4b5259 !important; +} +.\!btn-icon-nl-solidNetrual { + height: 2rem !important; + width: 2rem !important; + border-radius: 8px !important; +} +.\!btn-icon-nl-solidNetrual svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-icon-nl-solidNetrual { + border-color: #0000001f !important; + color: #2b2f33 !important; +} +.\!btn-icon-nl-solidNetrual:hover { + background-color: #f8fafb !important; +} +.\!btn-icon-nl-solidPrimary { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: #fdb713 !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-nl-solidPrimary:focus { + background-color: #fdb713 !important; + border-color: #4b5259 !important; +} +.\!btn-icon-nl-solidPrimary { + height: 2rem !important; + width: 2rem !important; + border-radius: 8px !important; +} +.\!btn-icon-nl-solidPrimary svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-icon-nl-solidPrimary { + border-color: #0000001f !important; + color: #0a0b0c !important; +} +.\!btn-icon-nl-solidPrimary:hover { + background-color: #e9a507 !important; +} +.\!btn-icon-nl-solidSecondary { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: #0077db !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-nl-solidSecondary:focus { + background-color: #0077db !important; + border-color: #00569e !important; +} +.\!btn-icon-nl-solidSecondary { + height: 2rem !important; + width: 2rem !important; + border-radius: 8px !important; +} +.\!btn-icon-nl-solidSecondary svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-icon-nl-solidSecondary { + border-color: #0000001f !important; + color: #fff !important; +} +.\!btn-icon-nl-solidSecondary:hover { + background-color: #00569e !important; +} +.\!btn-icon-nl-standardSecondary { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-nl-standardSecondary:focus { + color: #0077db !important; + background-color: #0000 !important; + border-color: #0077db !important; +} +.\!btn-icon-nl-standardSecondary { + height: 2rem !important; + width: 2rem !important; + border-radius: 8px !important; +} +.\!btn-icon-nl-standardSecondary svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-icon-nl-standardSecondary { + border-color: transparent !important; + color: #0077db !important; +} +.\!btn-icon-nl-standardSecondary:hover { + color: #0077db !important; + background-color: #f2f9ff !important; +} +.\!btn-icon-nl-standardAlert { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-nl-standardAlert:focus { + background-color: transparent !important; + border-color: #dc3545 !important; + color: #dc3545 !important; +} +.\!btn-icon-nl-standardAlert { + height: 2rem !important; + width: 2rem !important; + border-radius: 8px !important; +} +.\!btn-icon-nl-standardAlert svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-icon-nl-standardAlert { + border: 1px solid transparent !important; + color: #dc3545 !important; +} +.\!btn-icon-nl-standardAlert:hover { + color: #dc3545 !important; +} +.\!btn-icon-lg-standardNetrual { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-lg-standardNetrual:focus { + border-color: #4b5259 !important; +} +.\!btn-icon-lg-standardNetrual { + height: 3rem !important; + width: 3rem !important; + border-radius: 1rem !important; +} +.\!btn-icon-lg-standardNetrual svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-icon-lg-standardNetrual { + border: 1px solid transparent !important; + color: #4b5259 !important; +} +.\!btn-icon-lg-standardNetrual:hover { + background-color: #f8fafb !important; +} +.\!btn-icon-lg-solidNetrual { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: #fff !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-lg-solidNetrual:focus { + border-color: #4b5259 !important; +} +.\!btn-icon-lg-solidNetrual { + height: 3rem !important; + width: 3rem !important; + border-radius: 1rem !important; +} +.\!btn-icon-lg-solidNetrual svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-icon-lg-solidNetrual { + border-color: #0000001f !important; + color: #2b2f33 !important; +} +.\!btn-icon-lg-solidNetrual:hover { + background-color: #f8fafb !important; +} +.\!btn-icon-lg-solidPrimary { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: #fdb713 !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-lg-solidPrimary:focus { + background-color: #fdb713 !important; + border-color: #4b5259 !important; +} +.\!btn-icon-lg-solidPrimary { + height: 3rem !important; + width: 3rem !important; + border-radius: 1rem !important; +} +.\!btn-icon-lg-solidPrimary svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-icon-lg-solidPrimary { + border-color: #0000001f !important; + color: #0a0b0c !important; +} +.\!btn-icon-lg-solidPrimary:hover { + background-color: #e9a507 !important; +} +.\!btn-icon-lg-solidSecondary { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: #0077db !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-lg-solidSecondary:focus { + background-color: #0077db !important; + border-color: #00569e !important; +} +.\!btn-icon-lg-solidSecondary { + height: 3rem !important; + width: 3rem !important; + border-radius: 1rem !important; +} +.\!btn-icon-lg-solidSecondary svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-icon-lg-solidSecondary { + border-color: #0000001f !important; + color: #fff !important; +} +.\!btn-icon-lg-solidSecondary:hover { + background-color: #00569e !important; +} +.\!btn-icon-lg-standardSecondary { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-lg-standardSecondary:focus { + color: #0077db !important; + background-color: #0000 !important; + border-color: #0077db !important; +} +.\!btn-icon-lg-standardSecondary { + height: 3rem !important; + width: 3rem !important; + border-radius: 1rem !important; +} +.\!btn-icon-lg-standardSecondary svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-icon-lg-standardSecondary { + border-color: transparent !important; + color: #0077db !important; +} +.\!btn-icon-lg-standardSecondary:hover { + color: #0077db !important; + background-color: #f2f9ff !important; +} +.\!btn-icon-lg-standardAlert { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-lg-standardAlert:focus { + background-color: transparent !important; + border-color: #dc3545 !important; + color: #dc3545 !important; +} +.\!btn-icon-lg-standardAlert { + height: 3rem !important; + width: 3rem !important; + border-radius: 1rem !important; +} +.\!btn-icon-lg-standardAlert svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-icon-lg-standardAlert { + border: 1px solid transparent !important; + color: #dc3545 !important; +} +.\!btn-icon-lg-standardAlert:hover { + color: #dc3545 !important; +} +.pointer-events-none { + pointer-events: none !important; +} +.visible { + visibility: visible !important; +} +.invisible { + visibility: hidden !important; +} +.collapse { + visibility: collapse !important; +} +.static { + position: static !important; +} +.fixed { + position: fixed !important; +} +.absolute { + position: absolute !important; +} +.relative { + position: relative !important; +} +.sticky { + position: -webkit-sticky !important; + position: sticky !important; +} +.inset-x-2 { + left: 0.5rem !important; + right: 0.5rem !important; +} +.right-0 { + right: 0 !important; +} +.top-0 { + top: 0 !important; +} +.bottom-0 { + bottom: 0 !important; +} +.left-0 { + left: 0 !important; +} +.right-1\/2 { + right: 50% !important; +} +.top-\[11px\] { + top: 11px !important; +} +.top-auto { + top: auto !important; +} +.bottom-auto { + bottom: auto !important; +} +.bottom-2 { + bottom: 0.5rem !important; +} +.left-1\/2 { + left: 50% !important; +} +.top-2 { + top: 0.5rem !important; +} +.right-2 { + right: 0.5rem !important; +} +.left-2 { + left: 0.5rem !important; +} +.z-10 { + z-index: 10 !important; +} +.z-0 { + z-index: 0 !important; +} +.-z-\[1\] { + z-index: -1 !important; +} +.z-\[2\] { + z-index: 2 !important; +} +.m-0 { + margin: 0 !important; +} +.-m-4 { + margin: -1rem !important; +} +.mx-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; +} +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} +.mx-auto { + margin-left: auto !important; + margin-right: auto !important; +} +.my-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} +.mx-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; +} +.mr-auto { + margin-right: auto !important; +} +.ml-4 { + margin-left: 1rem !important; +} +.mb-4 { + margin-bottom: 1rem !important; +} +.mt-0 { + margin-top: 0 !important; +} +.mb-2 { + margin-bottom: 0.5rem !important; +} +.ml-2 { + margin-left: 0.5rem !important; +} +.mt-1 { + margin-top: 0.25rem !important; +} +.mt-2 { + margin-top: 0.5rem !important; +} +.ml-1 { + margin-left: 0.25rem !important; +} +.mt-\[0\.4rem\] { + margin-top: 0.4rem !important; +} +.ml-auto { + margin-left: auto !important; +} +.mt-3 { + margin-top: 0.75rem !important; +} +.mr-1 { + margin-right: 0.25rem !important; +} +.mr-2 { + margin-right: 0.5rem !important; +} +.mb-5 { + margin-bottom: 1.5rem !important; +} +.ml-5 { + margin-left: 1.5rem !important; +} +.-mr-2 { + margin-right: -0.5rem !important; +} +.mb-3 { + margin-bottom: 0.75rem !important; +} +.-mb-1 { + margin-bottom: -0.25rem !important; +} +.mr-4 { + margin-right: 1rem !important; +} +.mt-5 { + margin-top: 1.5rem !important; +} +.mb-7 { + margin-bottom: 3rem !important; +} +.mb-px { + margin-bottom: 1px !important; +} +.mt-4 { + margin-top: 1rem !important; +} +.box-border { + box-sizing: border-box !important; +} +.block { + display: block !important; +} +.inline-block { + display: inline-block !important; +} +.inline { + display: inline !important; +} +.flex { + display: flex !important; +} +.inline-flex { + display: inline-flex !important; +} +.table { + display: table !important; +} +.grid { + display: grid !important; +} +.list-item { + display: list-item !important; +} +.hidden { + display: none !important; +} +.h-7 { + height: 3rem !important; +} +.h-4 { + height: 1rem !important; +} +.h-full { + height: 100% !important; +} +.h-5 { + height: 1.5rem !important; +} +.h-2 { + height: 0.5rem !important; +} +.h-auto { + height: auto !important; +} +.h-3 { + height: 0.75rem !important; +} +.h-1 { + height: 0.25rem !important; +} +.h-\[1px\] { + height: 1px !important; +} +.h-6 { + height: 2rem !important; +} +.h-\[6px\] { + height: 6px !important; +} +.h-\[104px\] { + height: 104px !important; +} +.max-h-\[16\.5rem\] { + max-height: 16.5rem !important; +} +.w-7 { + width: 3rem !important; +} +.w-13 { + width: 16rem !important; +} +.w-full { + width: 100% !important; +} +.w-5 { + width: 1.5rem !important; +} +.w-10 { + width: 6rem !important; +} +.w-2 { + width: 0.5rem !important; +} +.w-fit { + width: -webkit-fit-content !important; + width: -moz-fit-content !important; + width: fit-content !important; +} +.w-1\/2 { + width: 50% !important; +} +.w-6 { + width: 2rem !important; +} +.w-\[6px\] { + width: 6px !important; +} +.w-\[104px\] { + width: 104px !important; +} +.w-12 { + width: 12rem !important; +} +.min-w-\[100px\] { + min-width: 100px !important; +} +.max-w-max { + max-width: -webkit-max-content !important; + max-width: -moz-max-content !important; + max-width: max-content !important; +} +.max-w-full { + max-width: 100% !important; +} +.max-w-\[300px\] { + max-width: 300px !important; +} +.max-w-screen-lg { + max-width: 1024px !important; +} +.max-w-\[890px\] { + max-width: 890px !important; +} +.flex-shrink { + flex-shrink: 1 !important; +} +.shrink-0 { + flex-shrink: 0 !important; +} +.shrink, +.\!shrink { + flex-shrink: 1 !important; +} +.flex-grow, +.grow { + flex-grow: 1 !important; +} +.table-fixed { + table-layout: fixed !important; +} +.border-collapse { + border-collapse: collapse !important; +} +.border-spacing-0 { + --tw-border-spacing-x: 0 !important; + --tw-border-spacing-y: 0 !important; + border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y) !important; +} +.-translate-x-1\/2 { + --tw-translate-x: -50% !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.scale-\[1\.2\] { + --tw-scale-x: 1.2 !important; + --tw-scale-y: 1.2 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.scale-\[2\] { + --tw-scale-x: 2 !important; + --tw-scale-y: 2 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.transform { + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.cursor-pointer { + cursor: pointer !important; +} +.cursor-not-allowed { + cursor: not-allowed !important; +} +.resize { + resize: both !important; +} +.list-none { + list-style-type: none !important; +} +.grid-flow-row { + grid-auto-flow: row !important; +} +.flex-row { + flex-direction: row !important; +} +.flex-row-reverse { + flex-direction: row-reverse !important; +} +.flex-col { + flex-direction: column !important; +} +.flex-wrap { + flex-wrap: wrap !important; +} +.items-center { + align-items: center !important; +} +.items-stretch { + align-items: stretch !important; +} +.justify-start { + justify-content: flex-start !important; +} +.justify-center { + justify-content: center !important; +} +.justify-between { + justify-content: space-between !important; +} +.justify-around { + justify-content: space-around !important; +} +.gap-2 { + gap: 0.5rem !important; +} +.gap-1 { + gap: 0.25rem !important; +} +.gap-\[2px\] { + gap: 2px !important; +} +.gap-4 { + gap: 1rem !important; +} +.gap-x-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; +} +.self-stretch { + align-self: stretch !important; +} +.overflow-auto { + overflow: auto !important; +} +.overflow-hidden { + overflow: hidden !important; +} +.truncate { + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; +} +.whitespace-nowrap { + white-space: nowrap !important; +} +.rounded-full { + border-radius: 9999px !important; +} +.rounded { + border-radius: 0.25rem !important; +} +.rounded-lg { + border-radius: 0.5rem !important; +} +.rounded-md { + border-radius: 0.375rem !important; +} +.border { + border-width: 1px !important; +} +.border-2 { + border-width: 2px !important; +} +.border-solid { + border-style: solid !important; +} +.border-fg-cta-naturalDisabled { + border-color: #bec6cc !important; +} +.border-secondary-400 { + border-color: #0077db !important; +} +.border-border-cta-primaryFocus { + border-color: #4b5259 !important; +} +.border-border-cta-secondaryFocus { + border-color: #00569e !important; +} +.border-border-cta-naturalDefault { + border-color: #4b5259 !important; +} +.border-border-cta-secondaryDefault { + border-color: #0077db !important; +} +.border-border-cta-alertDefault { + border-color: #dc3545 !important; +} +.border-\[\#4B5259\] { + border-color: #4b5259 !important; +} +.border-\[\#DC3545\] { + border-color: #dc3545 !important; +} +.bg-bg-cta-naturalWhite { + background-color: #fff !important; +} +.bg-secondary-400 { + background-color: #0077db !important; +} +.bg-primary-light { + background-color: #ffe19c !important; +} +.bg-white { + background-color: #fff !important; +} +.bg-info-400 { + background-color: #17a2b8 !important; +} +.bg-secondary-100 { + background-color: #f2f9ff !important; +} +.bg-grays-150 { + background-color: #e2e6e9 !important; +} +.bg-grays-200 { + background-color: #bec6cc !important; +} +.bg-black { + background-color: #000 !important; +} +.bg-grays-600 { + background-color: #2b2f33 !important; +} +.bg-primary { + background-color: #fdb713 !important; +} +.bg-grays-100 { + background-color: #f8fafb !important; +} +.bg-bg-cta-primaryDefault { + background-color: #fdb713 !important; +} +.bg-bg-cta-primaryHover { + background-color: #e3a107 !important; +} +.bg-bg-cta-secondaryDefault { + background-color: #0077db !important; +} +.bg-bg-cta-secondaryHover { + background-color: #00569e !important; +} +.bg-bg-cta-softSecondaryHover { + background-color: #f2f9ff !important; +} +.bg-bg-cta-softOnLightHover { + background-color: #f8fafb !important; +} +.bg-bg-cta-softAlertHover { + background-color: #fdf2f3 !important; +} +.bg-bg-cta-softOnDarkHover { + background-color: #2b2f33 !important; +} +.bg-bg-cta-naturalDefault { + background-color: #f8fafb !important; +} +.bg-\[\#FDF2F3\] { + background-color: #fdf2f3 !important; +} +.p-4 { + padding: 1rem !important; +} +.p-2 { + padding: 0.5rem !important; +} +.p-3 { + padding: 0.75rem !important; +} +.p-0 { + padding: 0 !important; +} +.p-1 { + padding: 0.25rem !important; +} +.p-\[5px\] { + padding: 5px !important; +} +.p-8 { + padding: 4rem !important; +} +.p-5 { + padding: 1.5rem !important; +} +.py-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; +} +.px-3 { + padding-left: 0.75rem !important; + padding-right: 0.75rem !important; +} +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} +.px-6 { + padding-left: 2rem !important; + padding-right: 2rem !important; +} +.px-4 { + padding-left: 1rem !important; + padding-right: 1rem !important; +} +.px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; +} +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} +.px-5 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; +} +.px-\[1\.25rem\] { + padding-left: 1.25rem !important; + padding-right: 1.25rem !important; +} +.pr-1 { + padding-right: 0.25rem !important; +} +.pl-4 { + padding-left: 1rem !important; +} +.pr-4 { + padding-right: 1rem !important; +} +.pl-3 { + padding-left: 0.75rem !important; +} +.pr-3 { + padding-right: 0.75rem !important; +} +.pr-5 { + padding-right: 1.5rem !important; +} +.pr-0 { + padding-right: 0 !important; +} +.pl-6 { + padding-left: 2rem !important; +} +.pt-3 { + padding-top: 0.75rem !important; +} +.pl-2 { + padding-left: 0.5rem !important; +} +.pr-2 { + padding-right: 0.5rem !important; +} +.pt-0 { + padding-top: 0 !important; +} +.pb-2 { + padding-bottom: 0.5rem !important; +} +.pl-0 { + padding-left: 0 !important; +} +.text-left { + text-align: left !important; +} +.text-center { + text-align: center !important; +} +.align-top { + vertical-align: top !important; +} +.align-middle { + vertical-align: middle !important; +} +.text-4 { + font-size: 1rem !important; +} +.text-2 { + font-size: 0.75rem !important; +} +.text-3 { + font-size: 0.875rem !important; +} +.text-5 { + font-size: 1.125rem !important; +} +.text-1 { + font-size: 0.625rem !important; +} +.font-bold { + font-weight: 700 !important; +} +.font-medium { + font-weight: 500 !important; +} +.font-normal { + font-weight: 400 !important; +} +.uppercase { + text-transform: uppercase !important; +} +.text-info-400 { + color: #17a2b8 !important; +} +.text-danger-400 { + color: #dc3545 !important; +} +.text-grays-600 { + color: #2b2f33 !important; +} +.text-success-400 { + color: #28a745 !important; +} +.text-grays-500 { + color: #4b5259 !important; +} +.text-grays-400 { + color: #6c7680 !important; +} +.text-fg-cta-naturalDefault { + color: #4b5259 !important; +} +.text-grays-100 { + color: #f8fafb !important; +} +.text-grays-300 { + color: #959ea6 !important; +} +.text-grays-700 { + color: #0a0b0c !important; +} +.text-grays-200 { + color: #bec6cc !important; +} +.text-primary { + color: #fdb713 !important; +} +.text-secondary-400 { + color: #0077db !important; +} +.text-success-500 { + color: #1e7b33 !important; +} +.text-white { + color: #fff !important; +} +.underline { + -webkit-text-decoration-line: underline !important; + text-decoration-line: underline !important; +} +.opacity-0 { + opacity: 0 !important; +} +.opacity-100 { + opacity: 1 !important; +} +.opacity-40 { + opacity: 0.4 !important; +} +.shadow-xl { + --tw-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.12), + 0 10px 10px -6px rgba(0, 0, 0, 0.12) !important; + --tw-shadow-colored: 0 3px 10px 0 var(--tw-shadow-color), + 0 10px 10px -6px var(--tw-shadow-color) !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +} +.shadow-lg { + --tw-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.08) !important; + --tw-shadow-colored: 0 4px 6px 0 var(--tw-shadow-color) !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +} +.outline { + outline-style: solid !important; +} +.blur { + --tw-blur: blur(8px) !important; + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) + var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) + var(--tw-sepia) var(--tw-drop-shadow) !important; +} +.filter { + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) + var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) + var(--tw-sepia) var(--tw-drop-shadow) !important; +} +.transition { + transition-property: color, background-color, border-color, fill, stroke, + opacity, box-shadow, transform, filter, -webkit-text-decoration-color, + -webkit-backdrop-filter !important; + transition-property: color, background-color, border-color, + text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, + backdrop-filter !important; + transition-property: color, background-color, border-color, + text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, + backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + transition-duration: 0.15s !important; +} +.transition-all { + transition-property: all !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + transition-duration: 0.15s !important; +} +.duration-500 { + transition-duration: 0.5s !important; +} +.duration-300 { + transition-duration: 0.3s !important; +} +.ease-in-out { + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; +} +.ease-in { + transition-timing-function: cubic-bezier(0.4, 0, 1, 1) !important; +} +.ease-out { + transition-timing-function: cubic-bezier(0, 0, 0.2, 1) !important; +} +.content-\[\'\'\] { + --tw-content: "" !important; + content: var(--tw-content) !important; +} +.last\:ml-0:last-child { + margin-left: 0 !important; +} +.last\:border-0:last-child { + border-width: 0px !important; +} +.hover\:bg-secondary-100:hover { + background-color: #f2f9ff !important; +} +.hover\:text-grays-300:hover { + color: #959ea6 !important; +} +@media (min-width: 640px) { + .sm\:py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .sm\:text-center { + text-align: center !important; + } + .sm\:text-3 { + font-size: 0.875rem !important; + } +} +@media (min-width: 768px) { + .md\:mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .md\:ml-4 { + margin-left: 1rem !important; + } + .md\:grid-flow-col { + grid-auto-flow: column !important; + } + .md\:justify-between { + justify-content: space-between !important; + } + .md\:p-0 { + padding: 0 !important; + } + .md\:px-6 { + padding-left: 2rem !important; + padding-right: 2rem !important; + } + .md\:px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .md\:px-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + .md\:px-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .md\:pb-1 { + padding-bottom: 0.25rem !important; + } + .md\:text-3 { + font-size: 0.875rem !important; + } + .md\:text-2 { + font-size: 0.75rem !important; + } +} +@media (min-width: 1024px) { + .lg\:-mx-2 { + margin-left: -0.5rem !important; + margin-right: -0.5rem !important; + } +} +.collapsing { + overflow: hidden; +} +.a-accordion { + border-width: 1px; + background-color: var(--white); + border-radius: 8px; + overflow: hidden; + line-height: 2.25; +} +.a-accordion__expand { + margin-right: auto; + color: #6c7680; + background-color: var(--white); + padding: 7px; + border: none; + border-radius: 100%; + transition: all ease 0.2s; + cursor: pointer; +} +.a-accordion__expand:focus { + outline: none; +} +.a-accordion__expand:hover, +.a-accordion__expand:focus { + background-color: var(--secondary-100); + color: var(--secondary-400); +} +.a-accordion__expand > svg { + width: 1rem; + height: 1rem; +} +@media (min-width: 768px) { + .a-accordion__expand > svg { + width: 1.125rem; + height: 1.125rem; + } +} +.a-accordion.open .a-accordion__expand { + background-color: var(--grays-100); +} +.a-accordion__button { + position: relative; + display: flex; + padding: 20px; + font-size: 1.125rem; + font-weight: 400; + color: var(--grays-500); + align-items: center; + cursor: pointer; + list-style: none; +} +.a-accordion__button::-webkit-details-marker { + display: none; +} +.a-accordion__button:hover .a-accordion__expand { + background-color: var(--secondary-100); + color: var(--secondary-400); +} +.a-accordion__icon { + margin-left: 12px; + border-radius: 50%; + background-color: var(--info-100); + color: var(--info-400); + padding: 5px; + flex: 0 0 auto; + vertical-align: middle; +} +.a-accordion.shadow { + box-shadow: var(--shadow-md); + border-color: var(--border-1); +} +.a-accordion.shadow .a-accordion__content { + background-color: var(--grays-100); +} +.a-accordion.icon .a-accordion__content { + padding-right: 64px; +} +.list-text { + display: flex; + flex-direction: column; + flex: 1; + background-color: transparent; +} +.list-text__title { + font-size: 0.875rem; + font-weight: 400; + line-height: 25.2px; + color: var(--Content-on-surfac-Overwhelming); + margin: 0; +} +.list-text__subtitle { + display: flex; + font-size: 0.75rem; + line-height: 21.6px; + color: var(--Content-on-surfac-Intense); +} +.list-text__subtitle.is-bullet { + flex-direction: row; + align-items: center; +} +.list-text__subtitle.is-column { + flex-direction: column; + align-items: stretch; +} +.a-item[data-v-f3142712] { + display: flex; + align-items: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border-radius: 0; + padding: var(--ListItem-top-down-padding) var(--ListItem-side-padding); + width: auto; + gap: 8px; + border: var(--ListItem-border-size) solid var(--ListItem-border-none); + border-bottom-color: var(--ListItem-border-default); +} +.a-item-link[data-v-f3142712] { + display: flex; + align-items: center; + font-weight: 400; + width: 100%; + gap: 4px; + transition: all ease 0.2s; + outline: none !important; +} +@-webkit-keyframes a-skeleton-animation { + 0% { + background-position: 0 0; + } + to { + background-position: 100% 0; + } +} +@keyframes a-skeleton-animation { + 0% { + background-position: 0 0; + } + to { + background-position: 100% 0; + } +} +.a-skeleton { + --skeleton-light: #efeded; + background-image: linear-gradient( + to right, + var(--bg), + var(--skeleton-light), + var(--bg), + var(--skeleton-light) + ); + background-size: 300% auto; + background-position: 0 0; +} +@media (prefers-reduced-motion: no-preference) { + .a-skeleton.is-animated { + -webkit-animation: a-skeleton-animation ease 1s infinite both; + animation: a-skeleton-animation ease 1s infinite both; + } +} +.a-skeleton.is-line { + height: 1em; + border-radius: 0.753em; +} +.a-skeleton.is-circle { + height: 0; + padding-top: 100%; + border-radius: 50%; +} +.a-skeleton.is-rect { + border-radius: 6px; +} +.a-skeleton.is-multiline:last-child { + width: 66.666%; +} +.a-skeleton.is-multiline:not(:last-child) { + margin-bottom: 0.5em; +} +.a-menu-list { + display: flex; + flex-direction: column; + list-style: none; + padding: 0; + margin: 0; + text-align: start; + border-radius: var(--ListItem-radi-individual); + justify-content: flex-start; +} +.a-menu-list li:last-child { + border-radius: 0 0 var(--ListItem-radi-individual) + var(--ListItem-radi-individual); + border-bottom-color: transparent; +} +.a-menu-list li:first-child { + border-radius: 8px 8px 0 0; +} +.a-menu-list li:hover { + background-color: var(--ListItem-surface-hover); +} +.a-menu-list li:focus { + outline: none; +} +.a-menu-list li.is-focused { + border-color: var(--ListItem-border-focus); +} +.a-menu-list li.is-disabled { + background-color: var(--ListItem-surface-disabled) !important; + border: 1px solid var(--ListItem-border-none); + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + opacity: 12%; +} +.a-menu-list div.is-loading { + pointer-events: none; + display: flex; + align-items: center; + gap: 0.5rem; + padding: var(--ListItem-top-down-padding) var(--ListItem-side-padding); +} +.a-menu-list li.is-selected { + background-color: var(--ListItem-surface-selected); +} +.a-menu-list li.is-individual:hover { + border: 1px solid var(--ListItem-border-hover) !important; +} +.a-menu-list li.is-individual:only-child { + border: 1px solid var(--ListItem-border-default); + border-radius: var(--ListItem-radi-individual); +} +.lds-ellipsis { + position: relative; + display: inline-block; +} +.lds-ellipsis > circle { + -webkit-animation: bubble 0.8s infinite + cubic-bezier(0.455, 0.03, 0.515, 0.955); + animation: bubble 0.8s infinite cubic-bezier(0.455, 0.03, 0.515, 0.955); + transform-origin: center; + transform-box: fill-box; +} +.lds-ellipsis > circle:nth-child(1) { + -webkit-animation-delay: 0.25s; + animation-delay: 0.25s; +} +.lds-ellipsis > circle:nth-child(2) { + -webkit-animation-delay: 0.15s; + animation-delay: 0.15s; +} +@-webkit-keyframes bubble { + 0% { + transform: scale(0.5); + opacity: 0.2; + } + 50% { + transform: scale(1); + opacity: 1; + } + to { + transform: scale(0.5); + opacity: 0.2; + } +} +@keyframes bubble { + 0% { + transform: scale(0.5); + opacity: 0.2; + } + 50% { + transform: scale(1); + opacity: 1; + } + to { + transform: scale(0.5); + opacity: 0.2; + } +} +.btn { + background-color: transparent; + -moz-appearance: none; + appearance: none; + -webkit-appearance: none; + position: relative; + display: inline-flex; + justify-content: center; + align-items: center; + --padding-inline: 0.25rem; + padding: 0.25rem var(--padding-inline); + --button-size: auto; + min-height: var(--button-size); + border: solid 1px var(--border-1); + border-radius: 8px; + cursor: pointer; + box-shadow: var(--shadow-sm); + --outline-width: 2px; + outline: var(--outline-width) none var(--grays-500); + outline-offset: calc(var(--outline-width) * -1); + transition-duration: 0.2s; + transition-timing-function: ease; + transition-property: background-color, border-color, opacity; +} +.btn.is-disabled { + cursor: not-allowed; + opacity: 0.525; + box-shadow: none; +} +.btn:focus { + outline-style: solid; +} +@supports selector(:focus-visible) { + .btn:focus { + outline-style: none; + } + .btn:focus-visible { + outline-style: solid; + } +} +.btn.is-rounded { + border-radius: 1000px; +} +.btn.is-block { + display: flex; + width: 100%; +} +.btn.is-lg { + --padding-inline: 1rem; + --button-size: 3rem; + font-size: 1rem; +} +.btn.is-md { + --padding-inline: 0.75rem; + --button-size: 2.5rem; + font-size: 0.875rem; +} +.btn.is-nl { + --padding-inline: 0.75rem; + --button-size: 2rem; + font-size: 0.875rem; +} +.btn.is-sm { + --padding-inline: 0.5rem; + --button-size: 1.5rem; + font-size: 0.75rem; +} +.btn.is-icon { + --outline-width: 1px; + --padding-inline: 0.25rem; + width: var(--button-size); + height: var(--button-size); +} +.btn.is-raw { + background-color: transparent; + color: inherit; + border-width: 0; + padding: 0; + box-shadow: none; + transition-property: box-shadow; +} +.btn.is-raw:active { + box-shadow: 0 0 5px 2px inset #00000026; +} +.btn.is-link { + --button-size: initial; + color: var(--secondary-400); + border-color: transparent; + padding: 2px 5px; + box-shadow: none; +} +.btn.is-link:hover:not(.is-disabled), +.btn.is-link:active:not(.is-disabled) { + border-color: var(--secondary-200); + background-color: var(--secondary-100); +} +.btn.is-solid-primary { + background-color: var(--primary); + color: var(--grays-700); +} +.btn.is-solid-primary:hover:not(.is-disabled), +.btn.is-solid-primary:active:not(.is-disabled) { + background-color: var(--primary-dark); +} +.btn.is-outline-primary { + border: 2px solid var(--primary); + color: var(--primary); + background-color: var(--white); +} +.btn.is-outline-primary:hover:not(.is-disabled), +.btn.is-outline-primary:active:not(.is-disabled) { + background-color: var(--white); +} +.btn.is-outline-primary:focus, +.btn.is-outline-primary:focus-visible { + outline-style: none; +} +.btn.is-outline-primary:focus { + border-color: var(--primary-dark); +} +@supports selector(:focus-visible) { + .btn.is-outline-primary:focus { + border-color: var(--primary); + } + .btn.is-outline-primary:focus-visible { + border-color: var(--primary-dark); + } +} +.btn.is-ghost-primary { + background-color: transparent; + color: var(--primary); + border-color: transparent; + box-shadow: none; +} +.btn.is-ghost-primary:hover:not(.is-disabled), +.btn.is-ghost-primary:active:not(.is-disabled) { + background-color: var(--white); +} +.btn.is-ghost-primary:focus, +.btn.is-ghost-primary:focus-visible { + outline-style: none; +} +.btn.is-ghost-primary:focus { + border-color: var(--primary); +} +@supports selector(:focus-visible) { + .btn.is-ghost-primary:focus { + border-color: transparent; + } + .btn.is-ghost-primary:focus-visible { + border-color: var(--primary); + } +} +.btn.is-solid-secondary { + background-color: var(--secondary-400); + color: var(--white); +} +.btn.is-solid-secondary:hover:not(.is-disabled), +.btn.is-solid-secondary:active:not(.is-disabled) { + background-color: var(--secondary-500); +} +.btn.is-outline-secondary { + border: 2px solid var(--secondary-400); + color: var(--secondary-400); + background-color: var(--white); +} +.btn.is-outline-secondary:hover:not(.is-disabled), +.btn.is-outline-secondary:active:not(.is-disabled) { + background-color: var(--secondary-100); +} +.btn.is-outline-secondary:focus, +.btn.is-outline-secondary:focus-visible { + outline-style: none; +} +.btn.is-outline-secondary:focus { + border-color: var(--secondary-500); +} +@supports selector(:focus-visible) { + .btn.is-outline-secondary:focus { + border-color: var(--secondary-400); + } + .btn.is-outline-secondary:focus-visible { + border-color: var(--secondary-500); + } +} +.btn.is-ghost-secondary { + background-color: transparent; + color: var(--secondary-400); + border-color: transparent; + box-shadow: none; +} +.btn.is-ghost-secondary:hover:not(.is-disabled), +.btn.is-ghost-secondary:active:not(.is-disabled) { + background-color: var(--secondary-100); +} +.btn.is-ghost-secondary:focus, +.btn.is-ghost-secondary:focus-visible { + outline-style: none; +} +.btn.is-ghost-secondary:focus { + border-color: var(--secondary-400); +} +@supports selector(:focus-visible) { + .btn.is-ghost-secondary:focus { + border-color: transparent; + } + .btn.is-ghost-secondary:focus-visible { + border-color: var(--secondary-400); + } +} +.btn.is-solid-danger { + background-color: var(--danger-400); + color: var(--white); +} +.btn.is-solid-danger:hover:not(.is-disabled), +.btn.is-solid-danger:active:not(.is-disabled) { + background-color: var(--danger-500); +} +.btn.is-outline-danger { + border: 2px solid var(--danger-400); + color: var(--danger-400); + background-color: var(--white); +} +.btn.is-outline-danger:hover:not(.is-disabled), +.btn.is-outline-danger:active:not(.is-disabled) { + background-color: var(--danger-100); +} +.btn.is-outline-danger:focus, +.btn.is-outline-danger:focus-visible { + outline-style: none; +} +.btn.is-outline-danger:focus { + border-color: var(--danger-500); +} +@supports selector(:focus-visible) { + .btn.is-outline-danger:focus { + border-color: var(--danger-400); + } + .btn.is-outline-danger:focus-visible { + border-color: var(--danger-500); + } +} +.btn.is-ghost-danger { + background-color: transparent; + color: var(--danger-400); + border-color: transparent; + box-shadow: none; +} +.btn.is-ghost-danger:hover:not(.is-disabled), +.btn.is-ghost-danger:active:not(.is-disabled) { + background-color: var(--danger-100); +} +.btn.is-ghost-danger:focus, +.btn.is-ghost-danger:focus-visible { + outline-style: none; +} +.btn.is-ghost-danger:focus { + border-color: var(--danger-400); +} +@supports selector(:focus-visible) { + .btn.is-ghost-danger:focus { + border-color: transparent; + } + .btn.is-ghost-danger:focus-visible { + border-color: var(--danger-400); + } +} +.btn.is-solid-light { + background-color: var(--white); + color: var(--grays-700); +} +.btn.is-solid-light:hover:not(.is-disabled), +.btn.is-solid-light:active:not(.is-disabled) { + background-color: var(--grays-100); +} +.btn.is-outline-light { + border: 2px solid var(--white); + color: var(--white); + background-color: var(--white); +} +.btn.is-outline-light:hover:not(.is-disabled), +.btn.is-outline-light:active:not(.is-disabled) { + background-color: var(--grays-100); +} +.btn.is-outline-light:focus, +.btn.is-outline-light:focus-visible { + outline-style: none; +} +.btn.is-outline-light:focus { + border-color: var(--grays-100); +} +@supports selector(:focus-visible) { + .btn.is-outline-light:focus { + border-color: var(--white); + } + .btn.is-outline-light:focus-visible { + border-color: var(--grays-100); + } +} +.btn.is-ghost-light { + background-color: transparent; + color: var(--white); + border-color: transparent; + box-shadow: none; +} +.btn.is-ghost-light:hover:not(.is-disabled), +.btn.is-ghost-light:active:not(.is-disabled) { + background-color: var(--grays-100); +} +.btn.is-ghost-light:focus, +.btn.is-ghost-light:focus-visible { + outline-style: none; +} +.btn.is-ghost-light:focus { + border-color: var(--white); +} +@supports selector(:focus-visible) { + .btn.is-ghost-light:focus { + border-color: transparent; + } + .btn.is-ghost-light:focus-visible { + border-color: var(--white); + } +} +.btn.is-solid-dark { + background-color: var(--grays-700); + color: var(--white); +} +.btn.is-solid-dark:hover:not(.is-disabled), +.btn.is-solid-dark:active:not(.is-disabled) { + background-color: var(--grays-600); +} +.btn.is-outline-dark { + border: 2px solid var(--grays-700); + color: var(--grays-700); + background-color: var(--white); +} +.btn.is-outline-dark:hover:not(.is-disabled), +.btn.is-outline-dark:active:not(.is-disabled) { + background-color: var(--grays-100); +} +.btn.is-outline-dark:focus, +.btn.is-outline-dark:focus-visible { + outline-style: none; +} +.btn.is-outline-dark:focus { + background-color: var(--grays-150); +} +@supports selector(:focus-visible) { + .btn.is-outline-dark:focus { + background-color: var(--white); + } + .btn.is-outline-dark:focus-visible { + background-color: var(--grays-150); + } +} +.btn.is-ghost-dark { + background-color: transparent; + color: var(--grays-700); + border-color: transparent; + box-shadow: none; +} +.btn.is-ghost-dark:hover:not(.is-disabled), +.btn.is-ghost-dark:active:not(.is-disabled) { + background-color: var(--grays-100); +} +.btn.is-ghost-dark:focus, +.btn.is-ghost-dark:focus-visible { + outline-style: none; +} +.btn.is-ghost-dark:focus { + border-color: var(--grays-700); +} +@supports selector(:focus-visible) { + .btn.is-ghost-dark:focus { + border-color: transparent; + } + .btn.is-ghost-dark:focus-visible { + border-color: var(--grays-700); + } +} +.btn.is-solid-dark-glass { + background-color: #000000a6; + color: var(--white); +} +.btn.is-solid-dark-glass:hover:not(.is-disabled), +.btn.is-solid-dark-glass:active:not(.is-disabled) { + background-color: #000000bf; +} +.btn.is-outline-dark-glass { + border: 2px solid rgba(0, 0, 0, 0.65); + color: #000000a6; + background-color: var(--white); +} +.btn.is-outline-dark-glass:hover:not(.is-disabled), +.btn.is-outline-dark-glass:active:not(.is-disabled) { + background-color: transparent; +} +.btn.is-outline-dark-glass:focus, +.btn.is-outline-dark-glass:focus-visible { + outline-style: none; +} +.btn.is-outline-dark-glass:focus { + border-color: #000000bf; +} +@supports selector(:focus-visible) { + .btn.is-outline-dark-glass:focus { + border-color: #000000a6; + } + .btn.is-outline-dark-glass:focus-visible { + border-color: #000000bf; + } +} +.btn.is-ghost-dark-glass { + background-color: transparent; + color: #000000a6; + border-color: transparent; + box-shadow: none; +} +.btn.is-ghost-dark-glass:hover:not(.is-disabled), +.btn.is-ghost-dark-glass:active:not(.is-disabled) { + background-color: transparent; +} +.btn.is-ghost-dark-glass:focus, +.btn.is-ghost-dark-glass:focus-visible { + outline-style: none; +} +.btn.is-ghost-dark-glass:focus { + border-color: #000000a6; +} +@supports selector(:focus-visible) { + .btn.is-ghost-dark-glass:focus { + border-color: transparent; + } + .btn.is-ghost-dark-glass:focus-visible { + border-color: #000000a6; + } +} +.a-alert { + display: flex; + align-items: center; + border-radius: 0.5rem; + padding: 0.75rem; + border: 1px solid; +} +.a-alert.is-info { + border-color: var(--info-300); + background-color: var(--info-100); + color: var(--info-500); +} +.a-alert.is-alert { + border-color: var(--danger-300); + background-color: var(--danger-100); + color: var(--danger-500); +} +.a-alert.is-warning { + border-color: var(--warning-300); + background-color: var(--warning-100); + color: var(--warning-500); +} +.a-alert.is-success { + border-color: var(--success-300); + background-color: var(--success-100); + color: var(--success-500); +} +@media (min-width: 768px) { + .a-alert { + padding-left: 1rem; + padding-right: 1rem; + } +} +.a-alert__title { + font-size: 0.875rem; +} +@media (min-width: 768px) { + .a-alert__title { + margin-top: 0; + margin-bottom: 0.25rem; + font-size: 1rem; + font-weight: 700; + } +} +.a-alert__icon-holder { + margin-left: 0.5rem; + height: 1.5rem; + width: 1.5rem; + flex-shrink: 0; +} +.a-alert__icon-holder.with-title { + margin-top: 0.25rem; + margin-left: 0.75rem; +} +.a-alert__icon-holder.with-links { + margin-top: auto; + margin-bottom: auto; +} +@media (min-width: 768px) { + .a-alert__icon-holder.with-links { + margin-top: 0; + } +} +.a-alert__body { + flex-grow: 1; +} +.a-alert__content { + margin: 0; +} +.a-alert__links { + margin-top: 0.5rem; + display: flex; + font-size: 0.75rem; + font-weight: 500; + text-decoration: underline; +} +@media (min-width: 768px) { + .a-alert__links { + font-size: 0.875rem; + } +} +.a-alert__link { + margin-left: 0.5rem; +} +.a-alert__dismiss { + margin-right: 0.5rem; + flex-shrink: 0; +} +.notice[data-v-4c79b6d3] { + display: flex; +} +.notice.is-sm[data-v-4c79b6d3] { + gap: 0.25rem; +} +.notice.is-md[data-v-4c79b6d3] { + gap: 0.5rem; +} +.app-bar__title { + min-width: 0px; + font-size: 0.875rem; + flex: 1 1 0; +} +.app-bar__title > b { + display: block; + font-weight: 500; +} +.app-bar__title > small { + margin-top: 0.4rem; + display: block; + color: #6c7680; +} +.v-dropdown { + position: absolute; + top: 100%; + right: var(--dropdown-offset, 0); + z-index: 500; +} +.v-dropdown.is-up { + top: auto; + bottom: 100%; +} +.v-dropdown.is-align-left { + right: auto; + left: var(--dropdown-offset, 0); +} +.v-dropdown-enter-active, +.v-dropdown-leave-active { + transition: transform 80ms linear; +} +.v-dropdown-enter-from, +.v-dropdown-leave-to { + opacity: 0; + transform: translateY(-10px); +} +.a-card { + border-radius: 8px; + box-shadow: var(--shadow-sm); + border: solid 1px var(--border-1); + background-color: var(--white); +} +.a-card__header { + border-bottom: solid 1px var(--border-1); +} +.a-card__footer { + border-top: solid 1px var(--border-1); + border-radius: inherit; +} +.a-card__header, +.a-card__body, +.a-card__footer { + padding: 1rem 1.25rem; +} +.a-card__body { + flex: 1 1 auto; +} +.a-card.is-flat { + box-shadow: none; +} +.a-card.is-sharp { + border-radius: 0; +} +.a-menu { + list-style: none; + padding: 0; + margin: 0; + overflow-y: auto; + text-align: start; + border-radius: 8px; + font-size: 0.875rem; +} +.a-menu > li > a { + display: block; + font-weight: 400; + color: var(--grays-700); + transition: all ease 0.2s; + outline: none !important; +} +@media (min-width: 768px) { + .a-menu > li:hover > a, + .a-menu > li.is-focus > a, + .a-menu > li a:focus { + background-color: #f2f9ff; + } +} +.a-menu > li.is-active > a { + color: var(--secondary-400); + background-color: var(--secondary-100); +} +.is-small-menu .a-menu { + font-size: 0.75rem; +} +.chbtn-plain { + display: flex; + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; +} +.chbtn-plain__content { + position: relative; + display: flex; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + align-items: center; + justify-items: center; + border: 1px solid var(--border-1); + background-color: var(--bg-cta-naturalWhite); + border-radius: 0.5rem; + color: var(--fg-cta-naturalDefault); +} +.chbtn-plain__content:hover { + background-color: var(--bg-cta-softOnLightHover); +} +.chbtn-plain__content.is-descriptive { + flex-direction: column; +} +.chbtn-plain__content.is-lg { + padding: var(--spacing-2) var(--spacing-4); +} +.chbtn-plain__content.is-nl { + padding: var(--spacing-1) var(--spacing-2); +} +.chbtn-plain__content.is-disabled { + background-color: var(--bg-cta-naturalWhite); + border: 0 solid var(--border-1); + color: var(--fg-cta-naturalDisabled); + cursor: not-allowed; +} +.chbtn-plain input[type="checkbox"]:checked + span { + border: 1px solid var(--border-cta-secondarySelected); + background-color: var(--bg-cta-softSecondarySelected); + color: var(--fg-cta-secondarySelected); +} +.chbtn-dropdown { + position: relative; + display: flex; +} +.chbtn-dropdown__content { + position: relative; + display: flex; + direction: rtl; + align-items: center; + justify-items: center; + border: 1px solid var(--border-1); + background-color: var(--bg-cta-naturalWhite); + border-radius: 0.5rem; + color: var(--fg-cta-naturalDefault); +} +.chbtn-dropdown__content:hover { + background-color: var(--bg-cta-softOnLightHover); +} +.chbtn-dropdown__content.is-lg { + padding: var(--spacing-2) var(--spacing-4); +} +.chbtn-dropdown__content.is-nl { + padding: var(--spacing-1) var(--spacing-2); +} +.chbtn-dropdown__content.is-active { + border: 1px solid var(--border-cta-secondarySelected); + background-color: var(--bg-cta-softSecondarySelected); + color: var(--fg-cta-secondarySelected); +} +.chbtn-dropdown__content.is-disabled { + background-color: var(--bg-cta-naturalWhite); + border: 0 solid var(--border-1); + color: var(--fg-cta-naturalDisabled); + cursor: not-allowed; +} +.pbtn-plain { + display: flex; + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; +} +.pbtn-plain__content { + position: relative; + display: flex; + align-items: center; + justify-content: center; + gap: 0.25rem; + border-radius: 0.5rem; + border-width: 1px; + background-color: #fff; + padding: 0.25rem 0.5rem; + color: #4b5259; +} +.pbtn-plain__content:hover { + background-color: var(--bg-cta-softOnLightHover); +} +.pbtn-plain__content:focus { + border: 1px solid var(--border-cta-naturalFocus); +} +.pbtn-plain__content.is-disabled { + background-color: var(--bg-cta-naturalWhite); + border: 1px solid var(--border-1); + color: var(--fg-cta-naturalDisabled); + cursor: not-allowed; +} +.pbtn-plain__content__label { + font-weight: 400; + line-height: 180%; + font-size: 0.875rem; +} +.pbtn-plain__content__count { + font-weight: 400; + line-height: 180%; + font-size: 0.75rem; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + border-radius: 9999px; + background-color: #0077db; + color: #f8fafb; + line-height: 1.33; + width: 20px; + height: 20px; + padding: 2px; +} +.pbtn-plain__content .close-icon:focus { + border: 1px solid var(--border-cta-naturalFocus); +} +.pbtn-plain.active .pbtn-plain__content, +.pbtn-plain input[type="checkbox"]:checked + span { + border: 1px solid var(--border-cta-secondarySelected); + background-color: var(--bg-cta-softSecondarySelected); + color: var(--fg-cta-secondarySelected); +} +.pbtn-dropdown { + position: relative; + display: flex; +} +.pbtn-dropdown__content { + position: relative; + display: flex; + align-items: center; + justify-content: center; + border-radius: 0.5rem; + border-width: 1px; + background-color: #fff; + padding: 0.25rem 0.5rem; + color: #4b5259; +} +.pbtn-dropdown__content:hover { + background-color: var(--bg-cta-softOnLightHover); +} +.pbtn-dropdown__content.is-active { + border: 1px solid var(--border-cta-secondarySelected); + background-color: var(--bg-cta-softSecondarySelected); + color: var(--fg-cta-secondarySelected); +} +.pbtn-dropdown__content.is-disabled { + background-color: var(--bg-cta-naturalWhite); + border: 1px solid var(--border-1); + color: var(--fg-cta-naturalDisabled); + cursor: not-allowed; +} +.a-card-section { + padding-bottom: 1.5rem; +} +.a-card-title { + margin: 0.75rem 0 1rem; + position: relative; + display: flex; + align-items: center; + padding: 0.5rem 1.5rem 0.5rem 1rem; + font-size: 1rem; + color: #4b5259; +} +@media (min-width: 768px) { + .a-card-title { + margin-top: 0.5rem; + padding-left: 2rem; + padding-right: 2rem; + font-size: 1.125rem; + } +} +.a-card-title-icon { + width: 1.5rem; + height: 1.5rem; +} +@media (min-width: 768px) { + .a-card-title-icon { + width: 2rem; + height: 2rem; + } +} +.a-card-title-icon { + margin-left: 0.75rem; +} +.a-card-title:before { + content: ""; + position: absolute; + display: block; + right: 0; + top: 0; + bottom: 0; + width: 4px; + border-radius: 5px 0 0 5px; + background-color: var(--grays-500); +} +.a-caution { + display: flex; + align-items: center; + justify-content: center; + background-color: #ffe19c; + padding: 0.75rem; + font-size: 0.875rem; + color: #2b2f33; +} +.a-counter { + display: inline-flex; + align-items: center; + max-width: 100%; +} +.a-counter__value { + min-width: 40px; +} +.a-counter .btn { + width: 1.5rem; + height: 1.5rem; +} +@media (max-width: 768px) { + .a-counter .btn { + width: 2rem; + height: 2rem; + } +} +.calendar-weekday { + color: var(--grays-300); + font-size: 0.75rem; +} +:root { + --calendar-active: var(--primary); +} +.calendar-cell { + border-radius: 5px; + cursor: pointer; + position: relative; + outline: none !important; + border: 2px solid transparent; + margin-bottom: 2px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + line-height: 1.35; +} +.calendar-cell > span { + position: relative; + z-index: 1; +} +.calendar-cell.is-disabled { + color: var(--grays-200); + cursor: default !important; + border-color: transparent !important; +} +.calendar-cell:after { + position: absolute; + content: ""; + left: -2px; + right: -2px; + top: -2px; + bottom: -2px; + transition: all ease 0.15s; +} +.calendar-cell.is-today { + border: 1px solid var(--grays-200); +} +.calendar-cell.is-selected:after { + background-color: var(--calendar-active); +} +.calendar.is-jalali .calendar-cell.is-selected0:after { + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; +} +.calendar.is-jalali .calendar-cell.is-selected1:after { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; +} +.calendar-cell.is-highlight:after { + background-color: var(--warning-100); +} +.calendar-cell.is-holiday { + color: var(--danger-400); +} +.calendar-cell.is-holiday.is-disabled { + color: var(--danger-300); +} +.calendar-cell.is-focus { + border: 2px solid var(--primary); +} +.calendar-cell.is-focus .tooltip:before { + position: absolute; + content: attr(datacontent); + top: -44px; + right: -50%; + transform: translate(40%); + background: var(--grays-600); + border-radius: 5px; + color: var(--grays-100); + z-index: 600; + padding: 5px; + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; +} +.calendar-cell.is-focus .tooltip:after { + position: absolute; + content: ""; + top: -6px; + left: 50%; + transform: translate(-50%, -100%); + width: 0; + height: 0; + z-index: 600; + border: 5px solid; + border-color: var(--grays-600) transparent transparent transparent; +} +.calendar-cell .is-pass { + position: absolute; + width: 18px; + border-width: 1px 0 0; + border-style: solid; + top: 15px; + right: 20%; + transform: rotate(135deg) translate(-50%, -50%); +} +.calendar.is-gregory .calendar-cell.is-selected0:after { + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; +} +.calendar.is-gregory .calendar-cell.is-selected1:after { + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; +} +.datepicker-card:not(.is-range) .calendar-cell.is-selected:after { + border-radius: 5px; +} +.calendar { + margin: 0 auto; + padding: 0 8px; +} +.calendar-grid { + display: flex; + flex-wrap: wrap; + width: 100%; + text-align: center; + color: var(--grays-500); + font-size: 0.875rem; + outline: none !important; +} +.calendar-grid > span { + flex: 0 0 14.2857142857%; + display: flex; + align-items: center; + justify-content: center; +} +.calendar-grid > span:before { + content: ""; + float: left; + padding-top: 100%; + display: block; +} +.calendar.is-gregory { + direction: ltr; +} +@media (max-width: 767px) { + .calendar > h5 { + position: -webkit-sticky; + position: sticky; + top: 30px; + padding: 2px 0; + z-index: 3; + } +} +.a-input { + position: relative; + display: flex; + align-items: center; + font-size: 0.875rem; + width: 100%; + font-weight: 400; + padding: 0 var(--textField-side-padding); + background-clip: padding-box; + color: var(--textField-content-netrual); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + line-height: 1.4rem; + height: var(--textField-size-unit-md); + --prepend-size: 0px; + --active-label-transform: translate( + calc(-5px + var(--prepend-size)), + -1.25rem + ); +} +.a-input.has-prepend { + --prepend-size: 24px; +} +.a-input fieldset { + position: absolute; + pointer-events: none; + border: 1px solid var(--textField-border-default); + top: -4.5px; + right: 0; + left: 0; + bottom: 0; + transition: border-color linear 0.15s; + border-right-width: var(--input-border-right, 1px); + border-left-width: var(--input-border-left, 1px); + border-radius: var(--input-border-left-radius, var(--textField-radi-default)) + var(--input-border-right-radius, var(--textField-radi-default)) + var(--input-border-right-radius, var(--textField-radi-default)) + var(--input-border-left-radius, var(--textField-radi-default)); +} +.a-input.is-placeholder > .a-input__label { + transform: none !important; +} +.a-input.is-placeholder fieldset > legend { + width: 0 !important; +} +.a-input.is-placeholder.is-active > .a-input__label { + color: transparent; +} +.a-input.is-en { + --active-label-transform: translate( + calc(5px - var(--prepend-size)), + -1.25rem + ); +} +.a-input.is-en fieldset > legend { + text-align: left; +} +.a-input.is-en .a-input__label { + text-align: left; + transform-origin: left; + margin-left: var(--prepend-size); +} +.a-input input { + height: 100%; + width: 100%; + border: 0; + padding: 0 1px 0 0; + background: none; + outline: none !important; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + caret-color: inherit; + border-radius: var(--textField-radi-default); + color: var(--textField-fg-value); + font-size: inherit; +} +.a-input input::-moz-placeholder { + color: var(--textField-fg-default); +} +.a-input input:-ms-input-placeholder { + color: var(--textField-fg-default); +} +.a-input input::placeholder { + color: var(--textField-fg-default); +} +.a-input input:-webkit-autofill, +.a-input input:-webkit-autofill:hover, +.a-input input:-webkit-autofill:focus, +.a-input input:-webkit-autofill:active { + -webkit-box-shadow: 0 0 0 30px white inset !important; +} +.a-input legend { + height: 10px; +} +.a-input__input { + bottom: 0; + right: 0; + top: 0; + width: 100%; + padding: var(--textField-side-padding); + position: absolute; + display: flex; + gap: var(--textField-space-between); + flex-wrap: nowrap; + align-items: center; +} +.a-input__input > svg { + transition: color linear 0.15s; + color: var(--textField-fg-default); + flex-shrink: 0; +} +.a-input__input > svg:hover { + color: var(--textField-fg-default); +} +.a-input__input__side-label { + color: var(--textField-fg-default); + font-size: 0.75rem; +} +.a-input__label { + display: inline-block; + margin: 0; + transform-origin: right; + margin-right: var(--prepend-size); + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + padding: var(--textField-space-between); + pointer-events: none; +} +.a-input__label, +.a-input legend { + text-align: right; + transition: all linear 0.15s; + cursor: text; +} +.a-input.is-lg { + font-size: 1rem; + height: var(--textField-size-unit-lg); + line-height: 1.75rem; + --active-label-transform: translate( + calc(-6px + var(--prepend-size)), + -1.55em + ); +} +.a-input.is-focus { + color: var(--textField-fg-focus); +} +.a-input.is-focus fieldset { + border-color: var(--textField-border-focus); +} +.a-input.is-focus svg:first-child { + color: var(--textField-fg-focus); +} +.a-input.is-active .a-input__label { + left: 0; + transform: var(--active-label-transform) scale(0.625); + color: var(--textField-fg-default); +} +.a-input.is-invalid { + color: var(--textField-fg-error); + caret-color: var(--textField-fg-error); +} +.a-input.is-invalid fieldset { + border-color: var(--textField-border-error); +} +.a-input.is-invalid input { + color: var(--textField-fg-error); +} +.a-input.is-invalid svg { + color: var(--textField-fg-error) !important; +} +.a-input.is-invalid ::-moz-placeholder { + color: var(--textField-fg-error); +} +.a-input.is-invalid :-ms-input-placeholder { + color: var(--textField-fg-error); +} +.a-input.is-invalid ::placeholder { + color: var(--textField-fg-error); +} +.a-input.is-disabled { + background-color: var(--textField-bg-disabled); + color: var(--textField-fg-disabled); + opacity: 0.75; +} +.a-input.is-disabled .a-input__label { + z-index: 1; + pointer-events: auto; +} +.a-input.has-warning fieldset { + border-color: var(--textField-border-warning); +} +.a-input.has-warning svg { + color: var(--textField-fg-default); +} +.help-text { + position: absolute; + font-size: 0.625rem; + color: var(--textField-content-netrual); + top: 100%; + right: 0; + left: 0; + direction: rtl; + line-height: 1.7; +} +@media (min-width: 768px) { + .help-text { + line-height: 1.9; + } +} +.help-text.is-invalid { + color: var(--textField-content-alert); +} +.help-text.has-warning { + color: var(--textField-content-netrual); +} +.a-input-group { + display: flex; + flex-wrap: nowrap; + align-items: stretch; +} +.a-input-group.is-horizontal > .a-input { + margin-bottom: 0; +} +.a-input-group.is-horizontal > :not(.is-first) { + --input-border-right: 0; + --input-border-right-radius: 0; + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.a-input-group.is-horizontal > :not(.is-last) { + --input-border-left: 0; + --input-border-left-radius: 0; + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.a-input-group.is-horizontal > :not(.is-first):not(.is-last) { + border-radius: 0; +} +.a-input-group.is-vertical { + flex-direction: column; +} +.a-input-group.is-vertical > :not(.is-first), +.a-input-group.is-vertical :not(.is-first) fieldset { + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.a-input-group.is-vertical > :not(.is-last), +.a-input-group.is-vertical :not(.is-last) fieldset { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.a-input-group.is-placeholder .a-input > .a-input__label { + transform: none !important; +} +.a-input-group.is-placeholder .a-input legend { + width: 0 !important; +} +.a-input-group.is-placeholder .a-input.is-active > .a-input__label { + color: transparent; +} +.a-input-group__separator { + z-index: 1; + align-self: stretch; + flex: 0 0 1px; + background-color: var(--grays-200); + transition: background-color linear 0.12s; +} +.a-input-group__separator.is-focus { + background-color: var(--grays-400); +} +.a-input-group__separator.is-invalid { + background-color: var(--danger-400); +} +@-webkit-keyframes modal-backdrop { + 0% { + background-color: #0000; + } + to { + background-color: #00000080; + } +} +@keyframes modal-backdrop { + 0% { + background-color: #0000; + } + to { + background-color: #00000080; + } +} +.a-modal-container { + z-index: 700; + position: fixed; + display: flex; + justify-content: center; +} +.a-modal-container, +.a-modal-container .a-modal-backdrop { + top: 0; + left: 0; + right: 0; + bottom: 0; +} +.a-modal-container.confined-modal { + position: absolute; + z-index: 0; +} +.a-modal-backdrop { + position: absolute; + content: ""; + background-color: #4b4b4b99; +} +#app > .wrapper { + transition: transform ease 0.2s; + transform-origin: center bottom; +} +.a-toast-container { + position: fixed; + bottom: 0; + right: 0; + left: 0; + padding: 0.5rem; + direction: rtl; + z-index: 1000; + overflow: hidden; +} +.a-toast-container.is-empty { + pointer-events: none; +} +@media (min-width: 768px) { + .a-toast-container { + left: auto; + padding: 1.25rem 1.25rem 1.25rem 7.5rem; + } +} +.a-toast-container.is-modal-toast { + top: 0; + right: 0; + left: 0; + padding: 1.25rem; + bottom: auto; + position: absolute; + display: flex; + align-items: center; + flex-direction: column; + z-index: 90; +} +.a-toast { + position: relative; + padding: var(--toast-side-padding-default); + padding-right: var(--toast-side-padding-right); + font-size: 0.875rem; + font-weight: 400; + border-radius: var(--toast-radi-default); + margin-bottom: 0.5rem; + width: 100%; + float: right; + clear: both; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + box-shadow: var(--shadow-lg); +} +.a-toast__body { + display: flex; + gap: var(--toast-space-between-lg); +} +@media (min-width: 768px) { + .a-toast { + width: 352px; + margin-bottom: 1rem; + } +} +.a-toast__content { + flex: 1 1 100%; + line-height: 1.71; +} +.a-toast__actions-list { + display: flex; + flex-direction: row-reverse; + gap: 0.5rem; + white-space: nowrap; +} +.a-toast-enter-active, +.a-toast-leave-active { + transition: all ease 0.3s; +} +.a-toast-enter-from, +.a-toast-leave-to { + opacity: 0; + transform: translate(100%); +} +.a-toast.is-dark { + background-color: var(--toast-surface-dark); +} +.a-toast.is-dark .a-toast__body { + color: var(--toast-content-netrual-invert); +} +.a-toast.is-light { + background-color: var(--toast-surface-light); +} +.a-toast.is-light .a-toast__body { + color: var(--toast-content-neutral-dominant); +} +.a-toast.is-danger { + background-color: var(--toast-surface-alert); +} +.a-toast.is-danger .a-toast__body { + color: var(--toast-content-netrual-invert); +} +.a-toast-container.is-modal-toast .a-toast-enter-from, +.a-toast-container.is-modal-toast .a-toast-leave-to { + opacity: 0; + transform: translateY(-20px); +} +.a-modal { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + transform-origin: left; + perspective: 1000px; + max-width: 100%; + max-height: 100%; + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} +.a-modal-close { + position: absolute; + left: 0; + top: 0; +} +.a-modal-enter-active, +.a-modal-leave-active { + transition: all ease 0.2s; +} +.a-modal-enter-active.is-loading { + transition: all cubic-bezier(0.3, 0.2, 0.5, 1.25) 0.3s; +} +.a-modal-enter-active.is-detail { + transition: all cubic-bezier(0.5, 0.5, 0.4, 1.5) 0.3s; +} +.a-modal-leave-active.is-loading { + transition-duration: 0.25s; +} +.a-modal-leave-active.is-detail { + transition: all cubic-bezier(0.6, 0.3, 0.5, 1.25) 0.25s; +} +.a-modal.is-bottom-sheet { + top: auto; + bottom: 0; + left: auto; + transform: none; + border-radius: 1rem 1rem 0 0; + width: 100%; + padding-bottom: env(safe-area-inset-bottom); +} +.a-modal.is-sidebar { + top: 0; + bottom: 0; + left: auto; + right: 0; + transform: none; + border-radius: 0; + width: 100%; + max-width: 100%; + display: flex; + flex-direction: column; +} +.a-modal.is-sidebar > .a-card__body { + flex: 1 1 1%; + overflow: auto; + -webkit-overflow-scrolling: touch; +} +@media (max-width: 991px) { + .a-modal.is-full { + top: 0; + left: 0; + width: 100%; + height: 100%; + transform: none; + border-radius: 0; + display: flex; + flex-direction: column; + } +} +.a-modal-enter-from, +.a-modal-leave-to { + transform: translate3d(-50%, calc(-50% + 30px), 0); + opacity: 0; +} +@media (max-width: 991px) { + .a-modal-enter-from.is-full, + .a-modal-leave-to.is-full { + opacity: 1; + transform: translate3d(100%, 0, 0) !important; + } +} +.a-modal-enter-from.is-bottom-sheet, +.a-modal-leave-to.is-bottom-sheet { + transform: translate3d(0, 100%, 0); +} +.a-modal-enter-from.is-sidebar, +.a-modal-leave-to.is-sidebar { + transform: translate3d(100%, 0, 0); + opacity: 1; +} +.a-modal-enter-from.is-loading, +.a-modal-leave-to.is-loading { + transform: scale(0.9) translate3d(-50%, calc(-50% + 16px), 0); +} +.a-modal-enter-from.is-detail { + transform: translate(-50%, calc(-50% - 24px), 0); +} +.a-modal-leave-to.is-detail { + transform: translate(-50%, calc(-50% + 16px), 0); +} +.a-bullet { + display: inline-flex; + align-items: center; + justify-content: flex-start; + font-size: 0.75rem; + font-weight: 500; + line-height: 1.75; + color: var(--grays-300); +} +.a-bullet:before { + content: ""; + width: 4px; + height: 4px; + -webkit-margin-end: 8px; + margin-inline-end: 8px; + border-radius: 50%; + background-color: currentColor; + flex: 0 0 auto; +} +.a-bullet.is-info { + color: var(--bullet-bg-info); +} +.a-bullet.is-success { + color: var(--bullet-bg-success); +} +.a-bullet.is-warning { + color: var(--bullet-bg-warning); +} +.a-bullet.is-alert { + color: var(--bullet-bg-alert); +} +.a-bullet.is-sm { + font-size: 0.75rem; + font-weight: 400; + line-height: 1.67; +} +.a-bullet.is-lg { + font-size: 0.875rem; + font-weight: 500; + line-height: 1.79; +} +.a-bullet.is-lg.is-base { + color: var(--grays-600); +} +.a-label { + font-weight: 400; + line-height: 180%; + font-size: 0.75rem; + display: inline-flex; + justify-content: center; + padding: 0 var(--special-side-padding-lg); + align-items: center; + max-width: 26ch; + border-radius: var(--special-radi-default); + white-space: nowrap; + vertical-align: middle; + gap: var(--label-space-between-nl); +} +.a-label > svg { + -webkit-margin-end: 0.25rem; + margin-inline-end: 0.25rem; + width: var(--label-icon-size-unit); + height: var(--label-icon-size-unit); +} +.a-label.is-gray { + background-color: var(--label-surface-gray); + color: var(--label-content-gray); +} +.a-label.is-info { + background-color: var(--label-surface-info); + color: var(--label-content-info); +} +.a-label.is-success { + background-color: var(--label-surface-success); + color: var(--label-content-success); +} +.a-label.is-warning { + background-color: var(--label-surface-warning); + color: var(--label-content-warning); +} +.a-label.is-alert { + background-color: var(--label-surface-alert); + color: var(--label-content-alert); +} +.a-label.is-brand { + background-color: var(--label-surface-brand); + color: var(--label-content-brand); +} +.a-label.is-dark { + background-color: var(--label-surface-dark); + color: var(--label-content-dark); +} +.a-label.is-disabled { + background-color: var(--grays-100); + color: var(--grays-500); +} +.a-label.is-sm { + height: var(--label-size-unit-nl); +} +.a-label.is-lg { + height: var(--label-size-unit-lg); +} +.a-label.is-outline { + background-color: transparent; + border: 1px solid var(--label-border-gray); +} +.a-label.is-bullet { + background-color: transparent; + border: 0; +} +.a-label.is-bullet.is-alert { + color: var(--label-on-surface-alert); +} +.a-label.is-bullet.is-warning { + color: var(--label-on-surface-warning); +} +.a-label.is-bullet.is-success { + color: var(--label-on-surface-success); +} +.a-label.is-bullet.is-info { + color: var(--label-on-surface-info); +} +.a-label.is-bullet.is-gray { + color: var(--label-on-surface-gray); +} +.a-checkbox { + display: inline-flex; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + align-items: center; +} +.a-checkbox.is-checked .a-checkbox__bullet.is-checkbox { + background-color: var(--checkbox-bg-checked-default); + border-color: var(--checkbox-border-none); +} +.a-checkbox.is-checked .a-checkbox__bullet.is-radio { + background-color: var(--radio-bg-checked-default); + border-color: var(--radio-border-none); +} +.a-checkbox.is-checked .a-checkbox__bullet.is-switch { + background-color: var(--switch-bg-active); + border-color: var(--switch-bg-active); +} +.a-checkbox .a-checkbox__bullet.is-checkbox { + background-color: var(--checkbox-bg-unchecked-default); + border: 2px solid var(--checkbox-border-default); +} +.a-checkbox .a-checkbox__bullet.is-radio { + background-color: var(--radio-bg-unchecked); + border: 2px solid var(--radio-border-default); +} +.a-checkbox .a-checkbox__bullet.is-switch { + background-color: var(--switch-bg-deactive); + border-color: var(--switch-bg-deactive); +} +.a-checkbox > input { + position: absolute; + display: block; + top: 0; + right: 0; + width: 0; + visibility: hidden; +} +.a-checkbox__custom-input { + position: relative; + display: inline-flex; + vertical-align: middle; + align-items: center; + justify-content: center; + width: 32px; + height: 32px; +} +.a-checkbox__icon { + fill: var(--checkbox-content-netrual-dominant); +} +.a-checkbox .a-checkbox__bullet { + display: inline-flex; + align-items: center; + justify-content: center; + margin: 2px 0; + transition: all ease 0.2s; +} +.a-checkbox .a-checkbox__bullet:where(.is-checkbox) { + width: var(--checkbox-size-unit-default); + height: var(--checkbox-size-unit-default); + border-radius: var(--checkbox-radi-default); +} +.a-checkbox .a-checkbox__bullet:where(.is-radio) { + width: var(--radio-size-unit-default); + height: var(--radio-size-unit-default); + border-radius: 50%; +} +.a-checkbox .a-checkbox__bullet:where(.is-radio):after { + content: ""; + position: absolute; + display: none; + width: 10px; + height: 10px; + background-color: var(--radio-fg-checked); + border-radius: 50%; +} +.a-checkbox .a-checkbox__bullet:where(.is-switch) { + width: 32px; + height: 20px; + border-radius: 30px; +} +.a-checkbox .a-checkbox__bullet:where(.is-switch):after { + position: absolute; + content: ""; + left: 2px; + width: 16px; + height: 16px; + background-color: var(--switch-fg-deactive); + transform: translate(0); + transition: transform 0.2s ease; + border-radius: 50%; +} +.a-checkbox__content { + margin-right: 0.5rem; + display: flex; + align-items: center; + justify-content: center; + gap: 0.5rem; +} +.a-checkbox__label { + display: flex; + align-items: center; + justify-content: space-between; +} +.a-checkbox__label--has-side { + min-width: 14rem; +} +.a-checkbox__label--sub-text, +.a-checkbox__label--side-text { + font-weight: 400; + line-height: 180%; + font-size: 0.75rem; + color: var(--checkbox-content-netrual-intense); +} +.a-checkbox__main-label { + font-weight: 400; + line-height: 180%; + font-size: 0.875rem; + color: var(--checkbox-content-netrual-dominant); +} +.a-checkbox__main-label.is-sm { + font-weight: 400; + line-height: 180%; + font-size: 0.875rem; +} +.a-checkbox__main-label.is-lg { + font-weight: 400; + line-height: 200%; + font-size: 0.875rem; +} +@media (min-width: 768px) { + .a-checkbox__main-label.is-lg { + font-size: 1rem; + } +} +.a-checkbox__checkmark { + position: absolute; + display: none; + width: 16px; + height: 16px; + fill: none; + stroke: var(--checkbox-fg-checked-default); + stroke-width: 2px; + stroke-linecap: round; + pointer-events: none; +} +.a-checkbox.is-checked .a-checkbox__checkmark { + display: block; +} +.a-checkbox.is-checked .is-radio:after { + display: block; +} +.a-checkbox.is-checked .is-switch:after { + transform: translate(12px); +} +.a-checkbox.is-disabled.is-checked .a-checkbox__bullet.is-checkbox { + background-color: var(--checkbox-bg-checked-disabled); + border-color: var(--checkbox-border-none); + cursor: not-allowed; +} +.a-checkbox.is-disabled.is-checked .a-checkbox__bullet.is-radio { + background-color: var(--radio-bg-checked-disabled); + border-color: var(--radio-border-none); + cursor: not-allowed; +} +.a-checkbox.is-disabled.is-checked .a-checkbox__bullet.is-switch { + background-color: var(--switch-bg-active-disabled); + border-color: var(--switch-bg-active-disabled); + cursor: not-allowed; +} +.a-checkbox.is-disabled .a-checkbox__bullet.is-checkbox { + background-color: var(--checkbox-bg-unchecked-default); + border-color: var(--checkbox-border-disabled); + cursor: not-allowed; +} +.a-checkbox.is-disabled .a-checkbox__bullet.is-radio { + background-color: var(--radio-bg-unchecked); + border-color: var(--radio-border-disabled); + cursor: not-allowed; +} +.a-checkbox.is-disabled .a-checkbox__bullet.is-switch { + background-color: var(--switch-bg-deactive-disabled); + border-color: var(--switch-bg-deactive-disabled); + cursor: not-allowed; +} +.a-checkbox.is-invalid.is-checked .a-checkbox__bullet.is-checkbox { + background-color: var(--checkbox-bg-checked-error); + border: 2px solid var(--checkbox-border-error); +} +.a-checkbox.is-invalid.is-checked .a-checkbox__bullet.is-radio { + background-color: var(--radio-bg-checked-errord); + border-color: var(--radio-border-error); +} +.a-checkbox.is-invalid .a-checkbox__bullet.is-checkbox { + background-color: var(--checkbox-bg-unchecked-default); + border-color: var(--checkbox-border-error); +} +.a-checkbox.is-invalid .a-checkbox__bullet.is-radio { + background-color: var(--radio-bg-unchecked); + border-color: var(--radio-border-error); +} +.a-checkbox:not(.is-disabled):not(.is-invalid).is-checked + .a-checkbox__bullet.is-checkbox:hover { + background-color: var(--checkbox-bg-checked-hover); + border: 2px solid var(--checkbox-bg-checked-hover); +} +.a-checkbox:not(.is-disabled):not(.is-invalid).is-checked + .a-checkbox__bullet.is-radio:hover { + background-color: var(--radio-bg-checked-hover); + border: 2px solid var(--radio-bg-checked-hover); +} +.a-checkbox:not(.is-disabled):not(.is-invalid) + .a-checkbox__bullet.is-checkbox:hover { + background-color: var(--checkbox-bg-unchecked-default); + border: 2px solid var(--checkbox-border-hover); +} +.a-checkbox:not(.is-disabled):not(.is-invalid) + .a-checkbox__bullet.is-radio:hover { + background-color: var(--radio-bg-unchecked); + border: 2px solid var(--radio-border-hover); +} +.a-checkbox:not(.is-disabled):not(.is-invalid).is-checked + .a-checkbox__bullet.is-checkbox:focus { + background-color: var(--checkbox-bg-checked-focus); + border: 2px solid var(--checkbox-border-focus); +} +.a-checkbox:not(.is-disabled):not(.is-invalid).is-checked + .a-checkbox__bullet.is-radio:focus { + background-color: var(--radio-bg-checked-focus); + border: 2px solid var(--radio-border-focus); +} +.a-checkbox:not(.is-disabled):not(.is-invalid) + .a-checkbox__bullet.is-checkbox:focus { + background-color: var(--checkbox-bg-unchecked-default); + border: 2px solid var(--checkbox-border-focus); +} +.a-checkbox:not(.is-disabled):not(.is-invalid) + .a-checkbox__bullet.is-radio:focus { + background-color: var(--radio-bg-unchecked); + border: 2px solid var(--radio-border-focus); +} +.a-select { + font-size: 0.875rem; +} +.a-select.is-lg { + font-size: 1rem; +} +.a-select:not(.is-searchable) input, +.a-select:not(.is-searchable) label { + cursor: default; +} +.a-select > .v-dropdown { + border: 0; + border-radius: 0; + margin: 3px 0 0; + transition-duration: 0.1s; +} +.a-select__icon { + transition: all ease 0.2s; +} +.a-select.open .a-select__icon { + transform: rotate(180deg); +} +.a-select__checkbox { + display: flex; + padding: 0.5rem 1rem; +} +.a-select__accept-button { + position: fixed; + bottom: 0; + height: auto; + width: 100%; + background-color: #fff; + padding: 1rem; + margin-bottom: -0.25rem; +} +.a-select .a-input { + transition-property: all; + transition-duration: 80ms; +} +@media screen and (max-width: 768px) { + .a-select__input-icon { + transform: rotate(90deg); + } +} +.a-select .v-dropdown-enter-active, +.a-select .v-dropdown-leave-active { + transition: all 80ms linear; +} +.a-select.a-modal .a-menu { + max-height: unset !important; +} +.a-select.a-modal > .a-card { + border: 0; +} +.a-select__select { + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + z-index: 10; + height: 100%; + width: 100%; + opacity: 0; +} +.date-input { + flex: 4 1 0; +} +.date-input input { + padding-left: 0; +} +.date-input--month { + flex: 7 1 0; +} +.date-input--year { + flex: 5 1 0; +} +@-webkit-keyframes datepicker-pulse { + 0% { + box-shadow: 0 0 0 0 var(--warning-300); + } + 70% { + box-shadow: 0 0 0 4px var(--warning-300); + } + to { + box-shadow: 0 0 0 0 var(--warning-300); + } +} +@keyframes datepicker-pulse { + 0% { + box-shadow: 0 0 0 0 var(--warning-300); + } + 70% { + box-shadow: 0 0 0 4px var(--warning-300); + } + to { + box-shadow: 0 0 0 0 var(--warning-300); + } +} +.datepicker-pulse { + -webkit-animation: datepicker-pulse 0.35s 3; + animation: datepicker-pulse 0.35s 3; +} +.datepicker-card { + overflow: unset; + position: relative; + transition: opacity 0.15s linear, transform 0.2s linear !important; +} +.datepicker-card.moving { + overflow: hidden; +} +.datepicker-card .a-card__footer { + padding-bottom: calc(env(safe-area-inset-bottom) + 1rem); +} +.datepicker-arrows { + top: -0.25rem; + right: 0; + left: 0; + padding: 0 0.25rem; + position: absolute; + display: flex; + justify-content: space-between; + z-index: 10; +} +.datepicker-slide { + display: flex; + justify-content: space-between; + will-change: transform; +} +.datepicker-slide > div { + flex: 1 0 var(--slide-flex-basis, 50%); +} +.datepicker-footer-title { + margin-left: 0.25rem; + font-size: 0.75rem; + color: #6c7680; +} +.shortcut-menu { + margin: 0; + margin-right: -0.5rem; + list-style-type: none; + overflow: auto; + padding: 0; +} +.shortcut-menu > li > a { + display: block; + padding: 0.5rem; + color: #4b5259; +} +.shortcut-menu > li > a:hover, +.shortcut-menu > li > a:active { + background-color: #f8fafb; +} +.shortcut-menu-active { + top: 50%; + margin-top: -8px; + width: 16px; + height: 16px; + left: 20px; + position: absolute; + color: #0077db; +} +.tab-links { + position: relative; + display: block; + max-width: 100%; + white-space: nowrap; + padding: 0; + color: #4b5259; + list-style: none; + margin: 0 0 -1px; + -ms-overflow-style: none; + scrollbar-width: none; +} +.tab-links::-webkit-scrollbar { + display: none; +} +.tab-links > li { + display: inline-block; +} +.tab-links > li > .tab-links-item { + position: relative; + display: block; + padding: 0.5rem 1.25rem; +} +@media (min-width: 768px) { + .tab-links > li > .tab-links-item { + padding-left: 1.5rem; + padding-right: 1.5rem; + } +} +.tab-links > li > .tab-links-item { + transition: all ease 0.2s; +} +.tab-links > li > .tab-links-item:focus { + outline: none; +} +.tab-links > li:not(.is-active) > .tab-links-item:focus-visible:after { + content: ""; + position: absolute; + bottom: 0; + left: 0; + right: 0; + display: block; + background-color: #17a2b8; + height: 5px; + border-radius: 4px 4px 0 0; +} +.tab-links > li.is-active > .tab-links-item { + color: var(--secondary-400); +} +.tab-links-active { + position: absolute; + bottom: 0; + right: 0; + background-color: #0077db; + height: 5px; + border-radius: 3px 3px 0 0; + width: 100px; + transform-origin: right; + transition: transform ease 0.2s; + visibility: hidden; +} +.tab-links.is-small > .tab-links-active { + height: 2px; + border-radius: 0; +} +.tab-view { + position: relative; + transition: height 0.3s ease; +} +.tab-view > div { + will-change: position; + right: 0; + left: 0; + top: 0; + bottom: 0; +} +.tab-slide-enter-active, +.tab-slide-leave-active { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: all linear 0.18s; +} +.tab-slide-enter-active:first-of-type, +.tab-slide-leave-active:first-of-type { + position: absolute; +} +.tab-slide-enter-from { + transform: translate(var(--slide-transition-from)) translateZ(0); +} +.tab-slide-leave-to { + transform: translate(var(--slide-transition-to)) translateZ(0); +} +.datepicker-footer { + box-shadow: var(--shadow-nav-bar); + border: 0; +} +.datepicker-tabs.tab-links { + margin-bottom: -0.25rem; + margin-top: 1rem; + display: flex; + justify-content: space-around; + font-size: 0.875rem; + font-weight: 500; + color: #0a0b0c; +} +.a-datepicker-days { + top: 0; + z-index: 4; + position: -webkit-sticky; + position: sticky; + background-color: #f8fafb; +} +.a-datepicker-days.is-gregory { + direction: ltr; +} +.a-datepicker-days .calendar-weekday { + padding-top: 0; + padding-bottom: 0; + font-weight: 500; + color: #4b5259; + height: 30px; +} +.datepicker__active-class { + background-color: var(--grays-100); + border-radius: 0.5rem 0 0 0.5rem; +} +.datepicker__active-class:before { + position: absolute; + right: 0; + top: 0; + bottom: 0; + background-color: #0077db; + content: ""; + width: 2px; + border-radius: 0.5rem 0 0 0.5rem; +} +.datepicker__title { + position: relative; + box-sizing: border-box; + padding-left: 0.5rem; + padding-right: 0.5rem; + padding: 4px 8px; +} +.datepicker__remove { + position: absolute; + left: 0; + font-size: 0.75rem; + top: 50%; + transform: translateY(-50%); +} +.time-input { + flex: 4 1 0; +} +.time-input input { + padding-left: 0; +} +.input-group-swap-btn { + position: relative; + display: flex; + align-self: stretch; + flex: 0 0 auto; +} +.input-group-swap-btn:after, +.input-group-swap-btn:before { + position: absolute; + content: " "; + top: 0; + bottom: 0; + right: 0; + left: 50%; + border: 1px solid var(--grays-200); + border-right-width: 0; + transition: border-color linear 0.15s; +} +.input-group-swap-btn:after { + left: 0; + right: 50%; + border-left-width: 0; +} +.is-focus-0 > .input-group-swap-btn:before { + border-color: var(--grays-400); +} +.is-focus-2 > .input-group-swap-btn:after { + border-color: var(--grays-400); +} +.is-focus-2 > .input-group-swap-btn:before { + border-left-color: var(--grays-400); +} +.is-invalid-0 > .input-group-swap-btn:before { + border-color: var(--danger-400); +} +.is-invalid-2 > .input-group-swap-btn:after { + border-color: var(--danger-400); +} +.is-invalid-2 > .input-group-swap-btn:before { + border-left-color: var(--danger-400); +} +.input-group-swap-btn > button { + border: 1px solid var(--grays-200); + border-radius: 50%; + background: var(--white); + width: 2rem; + height: 2rem; + margin: 8px 0; + position: relative; + display: flex; + align-items: center; + justify-content: center; + color: var(--grays-500); + z-index: 1; +} +.input-group-swap-btn > button:disabled { + opacity: 1; + background-color: var(--grays-100); +} +.input-group-swap-btn > button > svg { + width: 1rem; + height: 1rem; +} +.input-group-swap-btn.is-vertical { + background: var(--grays-200); + height: 1px; +} +.is-focus > .input-group-swap-btn.is-vertical { + background-color: var(--grays-400); +} +.is-invalid > .input-group-swap-btn.is-vertical { + background-color: var(--danger-400); +} +.input-group-swap-btn.is-vertical:after, +.input-group-swap-btn.is-vertical:before { + content: none; +} +.input-group-swap-btn.is-vertical > button { + position: absolute; + left: 35px; + margin: 0; + transform: translateY(-50%); + width: 2.5rem; + height: 2.5rem; +} +.input-group-swap-btn.is-vertical > button:active { + background-color: var(--grays-100); +} +.input-group-swap-btn.is-vertical > button > svg { + width: 1.25rem; + height: 1.25rem; +} +.a-textarea { + position: relative; + display: flex; + width: 100%; + min-width: 0; + flex-direction: column; + --prepend-size: 0px; + --active-label-transform: translate(calc(-8px + var(--prepend-size)), -1rem); + font-size: 0.875rem; + color: var(--grays-300); +} +.a-textarea__input { + width: 100%; + display: flex; + flex: 1 1 auto; +} +.a-textarea__label { + position: absolute; + display: inline-block; + margin: 0; + transform-origin: right; + margin-right: var(--prepend-size); + white-space: nowrap; + text-overflow: ellipsis; + padding: 4px 10px; + transition: all linear 0.15s; + pointer-events: none; +} +.a-textarea textarea { + width: 100%; + max-width: 100%; + min-height: 48px; + border: 1px solid var(--grays-200); + padding: 6px 8px; + background: none; + outline: none !important; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + caret-color: inherit; + border-radius: 8px; + color: var(--grays-600); + font-size: inherit; + line-height: normal; + resize: vertical; +} +.a-textarea textarea::-moz-placeholder { + color: var(--grays-300); +} +.a-textarea textarea:-ms-input-placeholder { + color: var(--grays-300); +} +.a-textarea textarea::placeholder { + color: var(--grays-300); +} +.a-textarea__counter { + text-align: right; + margin-top: 0.25rem; + color: var(--grays-300); + font-size: 0.625rem; +} +.a-textarea.is-invalid { + color: var(--danger-400); +} +.a-textarea.is-invalid textarea { + border-color: var(--danger-400); +} +.a-textarea.is-active .a-textarea__label { + right: 0; + transform: var(--active-label-transform) scale(0.625); + color: var(--grays-400); + background: var(--white); +} +.a-textarea.is-lg { + font-size: 1rem; + line-height: 1.75rem; +} +.a-choice { + border: 1px solid var(--grays-200); + border-radius: 8px; + background-color: var(--white); + padding: 0.5rem; + margin: 0; + color: var(--grays-700); + font-weight: 500; + font-size: 0.875rem; + white-space: nowrap; + cursor: pointer; + outline: none !important; +} +.a-choice:hover, +.a-choice:focus { + box-shadow: var(--shadow-sm); +} +.a-choice.is-checked { + box-shadow: 0 0 0 1.2px inset var(--secondary-400); + border-color: var(--secondary-400); + z-index: 5; +} +.a-choice-group { + display: flex; + border-radius: 0.5rem; +} +.a-choice-group > .a-choice { + flex: 1; + border-radius: 0; +} +.a-choice-group > .a-choice:first-child { + border-radius: 0 0.5rem 0.5rem 0; +} +.a-choice-group > .a-choice:last-child { + border-radius: 0.5rem 0 0 0.5rem; +} +.a-choice-group > .a-choice:not(:last-child):not(.is-checked) { + border-left-color: transparent; +} +.a-choice-group > .a-choice.is-checked + .a-choice-group > .a-choice { + border-right-color: transparent; +} +.a-container { + --a-container-p-x: 0.5rem; + padding-left: var(--a-container-p-x); + padding-right: var(--a-container-p-x); + max-width: 320px; + margin-left: auto; + margin-right: auto; +} +@media (min-width: 360px) { + .a-container { + --a-container-p-x: 1rem; + max-width: none; + width: 100%; + padding-left: 1rem; + padding-right: 1rem; + } +} +@media (min-width: 768px) { + .a-container { + max-width: 100%; + } +} +@media (min-width: 992px) { + .a-container { + max-width: 980px; + } +} +@media (min-width: 1200px) { + .a-container { + max-width: 1200px; + } +} +.a-container.is-fluid { + max-width: none; +} +img { + color: transparent; +} +img.is-responsive { + max-width: 100%; +} +img.is-cover { + -o-object-fit: cover; + object-fit: cover; +} +img.is-contain { + -o-object-fit: contain; + object-fit: contain; +} +img.is-rounded { + border-radius: 0.5rem; +} +img.lazyloading:not(.no-blur) { + filter: blur(20px); +} +.placeholder-container { + display: flex; + align-items: center; + justify-content: center; + background-color: #e2e6e9; + text-align: center; +} +.a-abbr { + display: inline-flex; + justify-content: center; + font-size: 0.625rem; + padding: 0 4px; + min-width: 24px; + height: 0.875rem; + font-weight: 400; + line-height: 1.4; + align-items: center; + border-radius: 4px; + white-space: nowrap; + color: var(--grays-500); + background-color: var(--grays-150); +} +.a-abbr > span { + position: relative; + top: 1px; +} +.a-abbr.is-info { + background-color: var(--info-100); + color: var(--info-500); +} +.a-abbr.is-success { + background-color: var(--success-100); + color: var(--success-500); +} +.a-abbr.is-warning { + background-color: var(--warning-100); + color: var(--warning-500); +} +.a-abbr.is-alert { + background-color: var(--danger-100); + color: var(--danger-500); +} +.a-abbr.is-brand { + background-color: var(--primary-light); + color: var(--warning-700); +} +.a-icon-label { + display: inline-flex; + align-items: center; + justify-content: center; + width: 3rem; + height: 3rem; + border-radius: 50%; + overflow: hidden; + color: var(--grays-500); + background-color: var(--grays-150); + vertical-align: middle; +} +.a-icon-label.is-info { + background-color: var(--info-100); + color: var(--info-500); +} +.a-icon-label.is-success { + background-color: var(--success-100); + color: var(--success-500); +} +.a-icon-label.is-warning { + background-color: var(--warning-100); + color: var(--warning-500); +} +.a-icon-label.is-alert { + background-color: var(--danger-100); + color: var(--danger-500); +} +.a-icon-label.is-brand { + background-color: var(--primary-light); + color: var(--warning-700); +} +.a-icon-label.is-sm { + width: 2rem; + height: 2rem; +} +.a-linear-gauge { + direction: ltr; + border-radius: 50px; + overflow: hidden; +} +.a-linear-gauge.is-info-variant { + background-color: var(--info-300); +} +.a-linear-gauge.is-alert-variant { + background-color: var(--danger-300); +} +.a-linear-gauge.is-warning-variant { + background-color: var(--warning-300); +} +.a-linear-gauge.is-success-variant { + background-color: var(--success-300); +} +.a-linear-gauge__fill { + border-radius: 50px; + height: 100%; +} +.a-linear-gauge__fill.is-info-variant { + background-color: var(--info-400); +} +.a-linear-gauge__fill.is-alert-variant { + background-color: var(--danger-400); +} +.a-linear-gauge__fill.is-warning-variant { + background-color: var(--warning-400); +} +.a-linear-gauge__fill.is-success-variant { + background-color: var(--success-400); +} +@-webkit-keyframes circle-rotate { + 0% { + transform: rotate(0); + } + to { + transform: rotate(360deg); + } +} +@keyframes circle-rotate { + 0% { + transform: rotate(0); + } + to { + transform: rotate(360deg); + } +} +.a-loading-dots { + -webkit-animation: circle-rotate 1s cubic-bezier(0.77, 0, 0.175, 1) infinite; + animation: circle-rotate 1s cubic-bezier(0.77, 0, 0.175, 1) infinite; +} +.a-banner { + overflow: hidden; + border-radius: 0.5rem; + border-width: 1px; + border-style: solid; + background-color: #fff; + padding: 0.75rem; +} +.a-banner__body { + display: flex; + flex-direction: column; + justify-content: space-between; + margin-right: 0.75rem; +} +.a-banner__body__header { + font-weight: 700; + line-height: 170%; + font-size: 0.75rem; +} +@media (min-width: 768px) { + .a-banner__body__header { + font-size: 0.875rem; + } +} +.a-banner__body__header { + margin: 0; + margin-bottom: 0.25rem; + color: #2b2f33; +} +.a-banner__body__description { + font-weight: 400; + line-height: 200%; + font-size: 0.75rem; +} +@media (min-width: 768px) { + .a-banner__body__description { + font-size: 0.875rem; + } +} +.a-banner__body__description { + margin-bottom: 0; + color: #6c7680; +} +.a-banner__image-container { + min-width: 80px; + height: 80px; + border-radius: 4px; + overflow: hidden; + display: flex; + justify-content: center; + align-items: center; +} +@media (min-width: 768px) { + .a-banner__body { + width: 100%; + margin-right: 1rem; + flex-direction: row; + } + .a-banner__body__description { + line-height: initial; + } + .a-banner__actions { + display: flex; + justify-content: center; + align-items: center; + } + .a-banner__image-container { + min-width: 96px; + height: 72px; + } +} +.indicator[data-v-f2199cc0] { + border-radius: 9999px; + opacity: 0.2; + transition-property: all; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 0.3s; + margin-left: var(--46fc453f); + margin-right: var(--46fc453f); + min-width: var(--2b2df968); + min-height: var(--2b2df968); + background-color: var(--61d87578); +} +.indicator.active[data-v-f2199cc0] { + --tw-scale-x: 1.2; + --tw-scale-y: 1.2; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + opacity: 1; +} +.indicator.active.scale-indicator[data-v-f2199cc0] { + --tw-scale-x: 2; + --tw-scale-y: 2; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.indicator.directSibling[data-v-f2199cc0] { + opacity: 0.5; +} +.indicator.directSibling.scale-indicator[data-v-f2199cc0] { + --tw-scale-x: 1.5; + --tw-scale-y: 1.5; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.indicator.indirectSibling[data-v-f2199cc0] { + opacity: 0.3; +} +.indicator.indirectSibling.scale-indicator[data-v-f2199cc0] { + --tw-scale-x: 1.2; + --tw-scale-y: 1.2; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.a-pill { + display: inline-flex; + align-items: center; + white-space: nowrap; + border-radius: 9999px; + background-color: #fff; + padding: 0.25rem 1rem; + font-size: 0.875rem; + font-weight: 500; + color: #4b5259; + line-height: 1rem; + border: 1px solid; + border-color: var(--border-1); + cursor: pointer; +} +.a-pill:hover, +.a-pill:focus { + outline: none; + box-shadow: var(--shadow-sm); +} +.a-pill.has-icon { + -webkit-padding-end: 0.5rem; + padding-inline-end: 0.5rem; +} +.a-pill.is-active { + background-color: #f2f9ff; + color: #0077db; + border-color: var(--secondary-400); +} +.a-pill.is-disabled { + pointer-events: none; +} +.a-pill.is-borderless { + border: none !important; +} +.a-pill__icon { + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; + font-size: 1rem; +} +.a-pill__count { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + border-radius: 9999px; + background-color: #0077db; + font-size: 0.75rem; + color: #f8fafb; + line-height: 1.33; + width: 20px; + padding: 2px; +} +.a-pill.is-lg { + font-size: 1rem; + line-height: 1.75; + padding: 0.5rem 0.75rem; +} +.a-pill.is-lg .a-pill__icon { + font-size: 1.5rem; +} +.a-pill.is-md { + font-size: 0.875rem; + line-height: 1.5rem; + padding: 0.5rem 1.25rem; +} +.a-pill.is-md .a-pill__icon { + font-size: 1.5rem; +} +.a-pill.is-sm { + font-size: 0.75rem; + line-height: 1rem; + padding: 2px 5px; +} +.a-pill.is-sm .a-pill__icon { + font-size: 1rem; +} +.a-pill-dropdown { + white-space: nowrap; + cursor: pointer; +} +.a-pill-dropdown.is-disabled { + pointer-events: none; +} +.a-pill-dropdown.is-disabled .a-pill { + border-color: var(--grays-150); + color: var(--grays-150); +} +.a-pill-dropdown__content { + overflow: hidden; + border-radius: 7px; + border: solid 1px var(--border-1); + box-shadow: var(--shadow-md); +} +.a-pill-dropdown__content .a-card { + box-shadow: initial; + border: none; + background-color: initial; +} +.a-pill-dropdown .a-pill.is-plain { + box-shadow: none; +} +.a-pill-dropdown .a-pill.is-plain.is-open { + border-color: var(--border-1); +} +.a-pill-dropdown .a-pill:focus { + box-shadow: 0 0 0 2px inset var(--info-400); +} +.a-pill-dropdown__caret { + transform: rotate(90deg); +} +@font-face { + font-family: swiper-icons; + src: url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA); + font-weight: 400; + font-style: normal; +} +:root { + --swiper-theme-color: #007aff; +} +.swiper { + margin-left: auto; + margin-right: auto; + position: relative; + overflow: hidden; + list-style: none; + padding: 0; + z-index: 1; +} +.swiper-vertical > .swiper-wrapper { + flex-direction: column; +} +.swiper-wrapper { + position: relative; + width: 100%; + height: 100%; + z-index: 1; + display: flex; + transition-property: transform; + box-sizing: content-box; +} +.swiper-android .swiper-slide, +.swiper-wrapper { + transform: translateZ(0); +} +.swiper-pointer-events { + touch-action: pan-y; +} +.swiper-pointer-events.swiper-vertical { + touch-action: pan-x; +} +.swiper-slide { + flex-shrink: 0; + width: 100%; + height: 100%; + position: relative; + transition-property: transform; +} +.swiper-slide-invisible-blank { + visibility: hidden; +} +.swiper-autoheight, +.swiper-autoheight .swiper-slide { + height: auto; +} +.swiper-autoheight .swiper-wrapper { + align-items: flex-start; + transition-property: transform, height; +} +.swiper-3d, +.swiper-3d.swiper-css-mode .swiper-wrapper { + perspective: 1200px; +} +.swiper-3d .swiper-cube-shadow, +.swiper-3d .swiper-slide, +.swiper-3d .swiper-slide-shadow, +.swiper-3d .swiper-slide-shadow-bottom, +.swiper-3d .swiper-slide-shadow-left, +.swiper-3d .swiper-slide-shadow-right, +.swiper-3d .swiper-slide-shadow-top, +.swiper-3d .swiper-wrapper { + transform-style: preserve-3d; +} +.swiper-3d .swiper-slide-shadow, +.swiper-3d .swiper-slide-shadow-bottom, +.swiper-3d .swiper-slide-shadow-left, +.swiper-3d .swiper-slide-shadow-right, +.swiper-3d .swiper-slide-shadow-top { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: 10; +} +.swiper-3d .swiper-slide-shadow { + background: rgba(0, 0, 0, 0.15); +} +.swiper-3d .swiper-slide-shadow-left { + background-image: linear-gradient( + to left, + rgba(0, 0, 0, 0.5), + rgba(0, 0, 0, 0) + ); +} +.swiper-3d .swiper-slide-shadow-right { + background-image: linear-gradient( + to right, + rgba(0, 0, 0, 0.5), + rgba(0, 0, 0, 0) + ); +} +.swiper-3d .swiper-slide-shadow-top { + background-image: linear-gradient( + to top, + rgba(0, 0, 0, 0.5), + rgba(0, 0, 0, 0) + ); +} +.swiper-3d .swiper-slide-shadow-bottom { + background-image: linear-gradient( + to bottom, + rgba(0, 0, 0, 0.5), + rgba(0, 0, 0, 0) + ); +} +.swiper-css-mode > .swiper-wrapper { + overflow: auto; + scrollbar-width: none; + -ms-overflow-style: none; +} +.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar { + display: none; +} +.swiper-css-mode > .swiper-wrapper > .swiper-slide { + scroll-snap-align: start start; +} +.swiper-horizontal.swiper-css-mode > .swiper-wrapper { + -ms-scroll-snap-type: x mandatory; + scroll-snap-type: x mandatory; +} +.swiper-vertical.swiper-css-mode > .swiper-wrapper { + -ms-scroll-snap-type: y mandatory; + scroll-snap-type: y mandatory; +} +.swiper-centered > .swiper-wrapper:before { + content: ""; + flex-shrink: 0; + order: 9999; +} +.swiper-centered.swiper-horizontal + > .swiper-wrapper + > .swiper-slide:first-child { + -webkit-margin-start: var(--swiper-centered-offset-before); + margin-inline-start: var(--swiper-centered-offset-before); +} +.swiper-centered.swiper-horizontal > .swiper-wrapper:before { + height: 100%; + min-height: 1px; + width: var(--swiper-centered-offset-after); +} +.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child { + -webkit-margin-before: var(--swiper-centered-offset-before); + margin-block-start: var(--swiper-centered-offset-before); +} +.swiper-centered.swiper-vertical > .swiper-wrapper:before { + width: 100%; + min-width: 1px; + height: var(--swiper-centered-offset-after); +} +.swiper-centered > .swiper-wrapper > .swiper-slide { + scroll-snap-align: center center; +} +.swiper-free-mode > .swiper-wrapper { + transition-timing-function: ease-out; + margin: 0 auto; +} +.a-swiper { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; +} +.a-swiper__main { + width: 100%; + height: 100%; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; +} +.a-swiper__inner { + width: 100%; + height: 100%; +} +.a-swiper__navigation.btn { + z-index: 2; + position: absolute; + display: flex; + justify-content: center; + align-items: center; + width: 3rem; + height: 3rem; + background-color: #fff; + border-width: 1px; +} +.a-swiper__navigation.btn.is-prev { + right: -1.5rem; +} +.a-swiper__navigation.btn.is-next { + left: -1.5rem; +} +.a-swiper__navigation.btn:disabled { + visibility: hidden; +} +.a-swiper__pagination { + display: flex; + margin-top: 0.75rem; +} +.a-swiper__pagination .swiper-pagination-bullet { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border: none; + padding: 0; + cursor: pointer; + width: 0.5rem; + height: 0.5rem; + background-color: #e2e6e9; + border-radius: 0.5rem; +} +.a-swiper__pagination .swiper-pagination-bullet:not(:last-child) { + margin-left: 0.25rem; +} +.a-swiper__pagination .swiper-pagination-bullet-active { + background-color: #fdb713; +} +.a-swiper .swiper-wrapper { + padding: 0; + margin: 0; +} +.a-swiper .swiper-slide { + min-height: 100%; + height: auto; +} +.a-swiper .swiper-slide::marker { + content: ""; +} +.a-p-calendar-cell { + position: relative; + display: flex; + width: 100%; + justify-content: space-between; + flex-direction: column; + align-items: stretch; + background: var(--white) none; + border: none; + border-radius: 4px; + margin: 0; + padding: 9px 0; + cursor: pointer; +} +.a-p-calendar-cell:hover, +.a-p-calendar-cell:focus { + outline: none; + background-color: var(--secondary-100); +} +.a-p-calendar-cell__loading { + margin: 0 auto; +} +.a-p-calendar-cell__p-date, +.a-p-calendar-cell__g-date { + text-align: center; + color: var(--grays-400); +} +.a-p-calendar-cell__p-date { + font-size: 0.75rem; + line-height: 1.75; +} +.a-p-calendar-cell__p-date .a-p-calendar-cell__loading { + max-width: 67px; + height: 1.1rem !important; +} +.a-p-calendar-cell__g-date { + direction: ltr; + font-size: 0.625rem; + line-height: 1.7; +} +.a-p-calendar-cell__g-date .a-p-calendar-cell__loading { + font-size: 0.75rem; + max-width: 30px; +} +.a-p-calendar-cell__price { + color: var(--grays-500); + font-weight: 500; + font-size: 1.125rem; + line-height: 1.28; +} +.a-p-calendar-cell__price .a-p-calendar-cell__loading { + font-size: 1.375rem; + max-width: 49px; +} +.a-p-calendar-cell__currency { + font-size: 10px; + color: var(--grays-500); +} +.a-p-calendar-cell__not-available { + margin-top: 3px; + line-height: 1.75; + color: var(--grays-400); + font-size: 0.625rem; +} +.a-p-calendar-cell__search { + display: flex; + align-items: center; + justify-content: center; + font-size: 1.5rem; + color: var(--secondary-400); +} +.a-p-calendar-cell.is-gregorian-shown .a-p-calendar-cell__p-date { + font-weight: 500; +} +.a-p-calendar-cell.is-gregorian-shown .a-p-calendar-cell__price { + line-height: 1.5; +} +.a-p-calendar-cell.is-max .a-p-calendar-cell__price, +.a-p-calendar-cell.is-max .a-p-calendar-cell__currency { + color: var(--danger-400); +} +.a-p-calendar-cell.is-min .a-p-calendar-cell__price, +.a-p-calendar-cell.is-min .a-p-calendar-cell__currency { + color: var(--success-400); +} +.a-p-calendar-cell.is-selected { + box-shadow: 0 0 0 2px inset var(--secondary-400); +} +.a-p-calendar-cell.is-unselect { + pointer-events: none; +} +.a-p-calendar-cell.is-not-available, +.a-p-calendar-cell.is-capacity-full, +.a-p-calendar-cell.is-disabled, +.a-p-calendar-cell.is-unselect { + cursor: default; + background-color: var(--grays-100); +} +.a-p-calendar-cell.is-not-available.is-selected, +.a-p-calendar-cell.is-capacity-full.is-selected, +.a-p-calendar-cell.is-disabled.is-selected, +.a-p-calendar-cell.is-unselect.is-selected { + border: none; +} +.a-p-calendar-cell.is-loading { + padding: 10px 5px; +} +.a-p-calendar-cell.is-loading.is-selected { + border: none; +} +.a-p-calendar-cell.is-loading .a-p-calendar-cell__p-date { + font-size: 0.625rem; + margin-bottom: 0.625rem; +} +.a-p-calendar-cell.is-loading .a-p-calendar-cell__price { + font-size: 1.375rem; + margin-top: 0; +} +.a-p-calendar-cell:not(.is-last):after { + content: ""; + position: absolute; + display: block; + left: 0; + top: 15px; + bottom: 15px; + width: 1px; + background-color: var(--border-1); +} +.a-p-calendar-cell.is-mobile { + padding: 10px 2px 6px; +} +.a-p-calendar-cell.is-mobile .a-p-calendar-cell__p-date { + font-size: 0.625rem; + line-height: 1.7; + margin-bottom: 2px; +} +.a-p-calendar-cell.is-mobile + .a-p-calendar-cell__p-date + .a-p-calendar-cell__loading { + max-width: 38px; + margin-bottom: 6px; +} +.a-p-calendar-cell.is-mobile .a-p-calendar-cell__price { + color: var(--grays-600); + font-size: 0.75rem; + line-height: 1.75; +} +.a-p-calendar-cell.is-mobile + .a-p-calendar-cell__price + .a-p-calendar-cell__loading { + max-width: 28px; + font-size: 1rem; +} +.a-p-calendar-cell.is-mobile.is-selected .a-p-calendar-cell__p-date { + color: var(--grays-500); + font-weight: 500; +} +.a-p-calendar-cell.is-mobile.is-max .a-p-calendar-cell__price { + color: var(--danger-400); +} +.a-p-calendar-cell.is-mobile.is-min .a-p-calendar-cell__price { + color: var(--success-400); +} +.a-p-calendar-cell.is-mobile.is-loading { + padding: 13px 5px 11px; +} +.a-p-calendar-cell.is-mobile.is-date-only { + padding: 12px 0; +} +.a-p-calendar-cell.is-date-only { + padding: 16px 0; +} +.a-price-calendar-header[data-v-614a280d] { + display: flex; + align-items: center; + padding: 12px; + -webkit-padding-end: 18px; + padding-inline-end: 18px; + background-color: var(--white); + font-size: 0.75rem; + font-weight: 500; + color: var(--grays-500); + border-radius: 4px; +} +.a-price-calendar-header__content[data-v-614a280d] { + flex: 1; + display: flex; + align-items: center; +} +.a-price-calendar-header__content > strong[data-v-614a280d] { + font-size: 0.875rem; + font-weight: 500; + color: var(--grays-600); + -webkit-margin-end: 2px; + margin-inline-end: 2px; +} +.a-price-calendar-header__icon[data-v-614a280d] { + font-size: 1.5rem; + color: var(--grays-400); + -webkit-margin-end: 8px; + margin-inline-end: 8px; +} +.a-price-calendar-header__action[data-v-614a280d] { + flex: 0 0 auto; +} +.a-price-calendar-header__toggle > span[data-v-614a280d] { + -webkit-margin-end: 4px; + margin-inline-end: 4px; +} +.a-price-calendar-header.is-mobile[data-v-614a280d] { + border-bottom-width: 1px; + padding: 4px 16px; + justify-content: flex-end; +} +.a-price-calendar { + display: flex; + border-width: 1px; + flex-direction: column; + border-radius: 5px; + box-shadow: none; +} +.a-price-calendar__swiper { + border-radius: 5px; + position: relative; + display: flex; + background-color: var(--white); +} +.a-price-calendar__track { + width: calc(100% - 48px); +} +.a-price-calendar__track.is-mobile { + width: calc(100% - 60.78px); +} +.a-price-calendar.is-mobile { + min-height: 3.5rem; + border: none; + overflow: visible; + border-radius: 0; + margin: 0 calc(var(--a-container-p-x) * -1) 1.25rem + calc(var(--a-container-p-x) * -1); + box-shadow: var(--shadow-sm); + margin-top: 1px; +} +.a-price-calendar__wrapper { + border-radius: 5px; +} +.a-price-calendar__arrow-left { + flex-shrink: 0; + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; +} +.a-price-calendar__arrow-left.is-mobile { + padding: 0.5rem; +} +.a-price-calendar__arrow-right { + flex-shrink: 0; + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; +} +.a-price-calendar__arrow-right.is-mobile { + padding: 0.5rem; +} +.a-arrow-button { + display: inline-block; + margin: 0; + padding: 8px; + border: none; + background: none; + background-color: var(--grays-100); + color: var(--grays-300); + outline: none; + cursor: pointer; +} +.a-arrow-button:hover { + color: var(--secondary-400); + background-color: var(--secondary-100); +} +.a-arrow-button > svg { + display: block; +} +@media (min-width: 768px) { + .a-arrow-button { + padding: 4px; + } +} +.a-price-calendar-simple { + border-width: 1px; + background-color: var(--white); + border-radius: 4px; + padding: 12px 16px; +} +.a-price-calendar-simple__header { + display: flex; + align-items: center; + font-size: 0.75rem; + font-weight: 500; + color: var(--grays-500); +} +.a-price-calendar-simple__header__icon { + font-size: 1.5rem; + color: var(--grays-400); + -webkit-margin-end: 8px; + margin-inline-end: 8px; +} +.a-price-calendar-simple__header strong { + font-size: 0.875rem; + font-weight: 500; + color: var(--grays-600); + -webkit-margin-end: 2px; + margin-inline-end: 2px; +} +.a-price-calendar-simple__header__action { + flex: 0 0 auto; + -webkit-margin-start: auto; + margin-inline-start: auto; +} +.a-price-calendar-simple__header__action > span { + -webkit-margin-end: 4px; + margin-inline-end: 4px; +} +.a-price-calendar-simple__body { + padding: 16px 0 8px; +} +.a-price-calendar-simple__list { + display: flex; + border-width: 1px; + overflow: hidden; + background-color: var(--white); + border-radius: 5px; +} +.a-progress { + background-color: var(--progressBar-bg-default); + height: 0.25rem; + width: 100%; + border-radius: 9999px; +} +.a-progress_bar { + background-color: var(--progressBar-fg-default); + height: 100%; + border-radius: 9999px; + transition-property: all; + transition-duration: 0.5s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} +.a-slider { + --slider-thickness: 6px; + padding: 30px 10px 0; + touch-action: none; +} +.a-slider__bar { + position: relative; + height: var(--slider-thickness); + background-color: var(--Slider-bg-default); + border-radius: var(--Slider-radi-default); +} +.a-slider__dot { + position: absolute; + width: var(--knob-size-unit); + height: var(--knob-size-unit); + box-shadow: var(--shadow-md); + border: solid 2px var(--knob-border-default); + background-color: var(--knob-bg-default); + border-radius: var(--knob-radi-default); + top: calc((var(--knob-size-unit) - var(--slider-thickness)) / -2); + margin-left: calc(var(--knob-size-unit) / -2); + z-index: 3; + cursor: pointer; + transition: background-color ease 0.15s, border-color ease 0.15s; +} +.a-slider__dot.active { + outline: none; + border: 2px solid var(--knob-border-focus); + background-color: var(--knob-bg-focus); +} +.a-slider__dot:hover { + border: solid 2px var(--knob-border-hover); + background-color: var(--knob-bg-hover); +} +.a-slider__dot:focus { + outline: none; + border: 2px solid var(--knob-border-focus); + background-color: var(--knob-bg-focus); +} +.a-slider__dot:after { + content: ""; + position: absolute; + z-index: 4; + top: calc((var(--knob-size-unit) - var(--slider-thickness)) / -2); + left: calc((var(--knob-size-unit) - var(--slider-thickness)) / -2); + width: 32px; + height: 32px; + background-color: transparent; +} +.a-slider__progress { + position: absolute; + top: 0; + bottom: 0; + background-color: var(--Slider-bg-selected); + border-radius: var(--Slider-radi-default); +} +.a-slider__tooltip { + width: 100%; + display: flex; + flex-direction: column; + margin-top: 4px; + font-size: 0.875rem; + white-space: nowrap; + text-align: center; +} +.a-slider__tooltip > div { + display: flex; + flex-direction: row-reverse; + justify-content: space-between; +} +.a-slider__tooltip__title { + color: var(--Content-on-surfac-Extreme); + margin-top: 4px; +} +.a-slider__tooltip__subtitle { + color: var(--Content-on-surfac-Dominant); + font-size: 0.75rem; + margin-top: -0.5rem; +} +.a-slider.disabled .a-slider__bar, +.a-slider.disabled .a-slider__progress { + background-color: var(--Slider-bg-disable); +} +.a-slider.disabled .a-slider__dot { + pointer-events: none; + box-shadow: none; + cursor: not-allowed; + border-color: var(--knob-border-disable); + background-color: var(--knob-bg-disable); +} +.a-slider-chart { + position: absolute; + display: flex; + align-items: baseline; + padding: 0 8px; + width: 100%; + gap: 2px; +} +.a-slider-chart > span { + height: 100px; + flex: 1; + background-color: var(--Bins-bg-default); + border-radius: var(--Bins-radi-default) var(--Bins-radi-default) 0 0; +} +.a-slider-chart > span.disabled { + background-color: var(--Bins-bg-disable); +} +.a-steppers ul { + display: flex; + align-items: stretch; + justify-content: center; + overflow: auto; + padding: 0; +} +@media (min-width: 768px) { + .a-steppers ul { + justify-content: space-between; + } +} +.a-steppers ul > li { + position: relative; + z-index: 0; + display: flex; + align-items: center; + text-align: center; + color: #bec6cc; +} +.a-steppers ul > li.passed { + color: #0a0b0c; +} +.a-steppers ul > li.passed:after { + border-color: #28a745; +} +.a-steppers ul > li.active { + font-weight: 700; +} +.a-steppers__title { + margin-left: 0.25rem; + margin-right: 0.25rem; + white-space: nowrap; + font-size: 0.625rem; +} +@media (min-width: 768px) { + .a-steppers__title { + margin-left: 0; + margin-right: 0; + font-size: 0.75rem; + } +} +.a-steppers:not(.is-minimal) li { + width: 100%; + flex-direction: column; +} +.a-steppers:not(.is-minimal) li:after { + position: absolute; + right: 50%; + top: 11px; + z-index: -1; + height: 1px; + width: 100%; + --tw-content: ""; + content: var(--tw-content); + border-bottom: solid 1px; + border-color: var(--grays-200); +} +.a-steppers:not(.is-minimal) li:last-child:after { + --tw-content: none; + content: var(--tw-content); +} +.a-steppers:not(.is-minimal) li .a-steppers__icon { + display: block; +} +.a-steppers.is-minimal li:not(.passed, .active) .a-steppers__icon { + display: none; +} +.a-steppers.is-minimal li.passed > .a-steppers__title { + display: none; +} +.a-steppers.is-minimal li.active { + font-weight: 500; +} +.a-steppers.is-minimal svg { + margin-left: 2px; +} +.a-image-swiper[data-v-22ed4773] { + position: relative; + display: flex; + align-items: center; + overflow: hidden; +} +.a-image-swiper__selected[data-v-22ed4773] { + border: 2px solid var(--primary); +} +.a-image-swiper.is-rounded[data-v-22ed4773] { + border-radius: 0.25rem; +} +.a-image-swiper__nav[data-v-22ed4773] { + position: absolute; + z-index: 2; + border: none; + background: none; + color: var(--white); + font-size: 1.5rem; + display: flex; + align-items: center; + justify-content: center; + padding: 0; + outline: none; + cursor: pointer; + transition: opacity 0.2s ease; + opacity: 0; +} +.a-image-swiper__nav.is-overlay-variant[data-v-22ed4773] { + top: 0; + bottom: 0; + width: 20%; + padding: 0 0.5rem; + justify-content: start; +} +.a-image-swiper__nav.is-overlay-button-variant[data-v-22ed4773] { + top: auto; + bottom: auto; + height: 2rem; + width: 2rem; + border-radius: 9999px; + background-color: #fff; + padding: 5px; + color: #4b5259; + border: 1px solid rgba(0, 0, 0, 0.12); +} +.a-image-swiper__nav.is-overlay-button-variant.is-prev[data-v-22ed4773] { + right: 0.5rem; +} +.a-image-swiper__nav.is-overlay-button-variant.is-next[data-v-22ed4773] { + left: 0.5rem; +} +.a-image-swiper__nav.is-button-variant[data-v-22ed4773] { + margin: 1rem; + border-radius: 9999px; + top: auto; + bottom: auto; + width: 2.5rem; + height: 2.5rem; + background-color: #000000a6; + opacity: 1; +} +.a-image-swiper__nav.is-button-filled-variant[data-v-22ed4773] { + margin: 1rem; + border-radius: 9999px; + top: auto; + bottom: auto; + width: 2.5rem; + height: 2.5rem; + background-color: var(--grays-500); + opacity: 1; +} +.a-image-swiper__nav.swiper-button-disabled[data-v-22ed4773] { + display: none; +} +.a-image-swiper__nav.is-prev[data-v-22ed4773] { + right: 0; +} +.a-image-swiper__nav.is-prev.is-overlay-variant[data-v-22ed4773] { + background-image: linear-gradient( + to left, + rgba(0, 0, 0, 0.7), + rgba(0, 0, 0, 0) + ); +} +.a-image-swiper__nav.is-next[data-v-22ed4773] { + left: 0; +} +.a-image-swiper__nav.is-next.is-overlay-variant[data-v-22ed4773] { + justify-content: end; + background-image: linear-gradient( + to right, + rgba(0, 0, 0, 0.7), + rgba(0, 0, 0, 0) + ); +} +.a-image-swiper__nav.is-visible[data-v-22ed4773] { + opacity: 1; +} +.a-image-swiper .pagination-dots[data-v-22ed4773] { + position: absolute; + bottom: 0.5rem; + left: 50%; + z-index: 2; + display: flex; + --tw-translate-x: -50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + flex-direction: row; + align-items: center; + gap: 2px; +} +.a-image-swiper .pagination-dots__dot[data-v-22ed4773] { + margin: 0; + cursor: pointer; + border-radius: 9999px; + background-color: #fff; + padding: 0; + opacity: 0.4; +} +.a-image-swiper .pagination-dots__dot-active[data-v-22ed4773] { + opacity: 1; +} +.a-image-swiper .pagination-dots__dot-sm[data-v-22ed4773] { + height: 0.25rem; + width: 0.25rem; +} +.a-image-swiper .pagination-dots__dot-md[data-v-22ed4773] { + height: 6px; + width: 6px; +} +.a-image-swiper .pagination-dots__dot-lg[data-v-22ed4773] { + height: 0.5rem; + width: 0.5rem; +} +.a-image-swiper .dots-move[data-v-22ed4773], +.a-image-swiper .dots-enter-active[data-v-22ed4773], +.a-image-swiper .dots-leave-active[data-v-22ed4773] { + transition: all 0.5s ease; +} +.a-image-swiper .dots-enter-from[data-v-22ed4773], +.a-image-swiper .dots-leave-to[data-v-22ed4773] { + opacity: 0; + transform: translate(5px); +} +.a-image-swiper .dots-leave-active[data-v-22ed4773] { + position: absolute; +} +.a-table { + width: 100%; + border-collapse: collapse; +} +.a-table.is-borderless > thead > tr > th, +.a-table.is-borderless tbody > tr > th, +.a-table.is-borderless > tbody > tr > td { + border: none; +} +.a-table.is-raw > thead > tr > th, +.a-table.is-raw tbody > tr > th, +.a-table.is-raw > tbody > tr > td { + background: transparent; +} +.a-table.is-sticky th { + position: -webkit-sticky; + position: sticky; + top: 0; +} +.a-table.is-border-vertical > thead > tr > th, +.a-table.is-border-vertical tbody > tr > th, +.a-table.is-border-vertical > tbody > tr > td { + border-width: 1px; +} +.a-table > thead > tr > th { + border: 1px solid var(--grays-150); + border-width: 1px 0; + background-color: var(--bg); +} +.a-table > thead > tr > th:first-child { + border-right-width: 1px; +} +.a-table > thead > tr > th:last-child { + border-left-width: 1px; +} +.a-table--stacked > tbody > tr > th, +.a-table > thead > tr > th { + color: var(--grays-500); + font-size: 0.875rem; + font-weight: 400; + padding: 10px; + text-align: inherit; +} +.a-table > tbody > tr > td { + border: 1px solid var(--grays-150); + border-width: 1px 0; + padding: 14px 9px; + text-align: inherit; +} +.a-table > tbody > tr > td:first-child { + border-right-width: 1px; +} +.a-table > tbody > tr > td:last-child { + border-left-width: 1px; +} +.a-table--stacked > tbody > tr > th { + background-color: var(--bg); + border: 1px solid var(--grays-150); +} +.a-table--stacked > tbody > tr:first-child > th { + border-top-right-radius: 8px; +} +.a-table--stacked > tbody > tr:last-child > th { + border-bottom-right-radius: 8px; +} +.tab-links.is-border { + display: inline-block; + border-width: 1px; + border-radius: 100px; +} +.tab-links.is-border > li > .tab-links-item { + padding: 0.5rem 2rem; +} +@media screen and (max-width: 1200px) { + .tab-links.is-border > li > .tab-links-item { + padding: 0.5rem 1rem; + } +} +.tab-links.is-border > li:not(:first-child) > .tab-links-item:after { + content: ""; + position: absolute; + right: 0; + top: 10px; + bottom: 10px; + width: 1px; + background-color: var(--border-1); +} +.tab-links.is-border > .tab-links-active { + height: 2px; + border-radius: 0; +} +.a-tooltip { + position: relative; +} +.a-tooltip__activator { + line-height: 1; +} +.a-tooltip__pop { + --a-tooltip-arrow-size: 8px; + position: absolute; + z-index: 10; + display: inline-block; + border-radius: 0.375rem; + background-color: #2b2f33; + padding: 0.5rem; + text-align: center; + font-size: 0.75rem; + color: #f8fafb; + opacity: 0; + transition: opacity 0.2s ease-in-out; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; +} +.a-tooltip__pop.is-visible { + opacity: 1; +} +.a-tooltip__pop[data-popper-placement^="top"] > .a-tooltip__arrow { + bottom: calc(-1 * var(--a-tooltip-arrow-size) / 2); +} +.a-tooltip__pop[data-popper-placement^="top"] > .a-tooltip__arrow:before { + bottom: 0; +} +.a-tooltip__pop[data-popper-placement^="bottom"] > .a-tooltip__arrow { + top: calc(-1 * var(--a-tooltip-arrow-size) / 2); +} +.a-tooltip__pop[data-popper-placement^="bottom"] > .a-tooltip__arrow:before { + top: 0; +} +.a-tooltip__pop[data-popper-placement^="left"] > .a-tooltip__arrow { + right: calc(-1 * var(--a-tooltip-arrow-size) / 2); +} +.a-tooltip__pop[data-popper-placement^="left"] > .a-tooltip__arrow:before { + right: 0; +} +.a-tooltip__pop[data-popper-placement^="right"] > .a-tooltip__arrow { + left: calc(-1 * var(--a-tooltip-arrow-size) / 2); +} +.a-tooltip__pop[data-popper-placement^="right"] > .a-tooltip__arrow:before { + left: 0; +} +.a-tooltip__arrow { + position: absolute; + width: var(--a-tooltip-arrow-size); + height: var(--a-tooltip-arrow-size); + background: inherit; + visibility: hidden; +} +.a-tooltip__arrow:before { + content: ""; + position: absolute; + width: var(--a-tooltip-arrow-size); + height: var(--a-tooltip-arrow-size); + background: inherit; + visibility: visible; + transform: rotate(45deg); +} +.a-uploader { + display: flex; + gap: 0.5rem; + border-color: var(--uploadFile-border-base); + color: var(--uploadFile-content-secondary); +} +.a-uploader-input { + display: flex; + height: 104px; + width: 104px; + align-items: center; + justify-content: center; + border-radius: 0.5rem; + border-width: 2px; + background-color: var(--uploadFile-bg-base); +} +.a-uploader_border-error { + border-width: 1px; + border-style: solid; + border-color: var(--uploadFile-border-error) !important; +} +.a-uploader_disabled { + border-color: var(--uploadFile-border-disabled); + color: var(--uploadFile-content-netrual-moderate); + background-color: var(--uploadFile-bg-disabled); +} +.a-uploader_uploading { + display: flex; + height: 100%; + width: 100%; + align-items: center; + justify-content: center; + border-radius: 0.5rem; + background-color: var(--uploadFile-overlay-default); + color: var(--uploadFile-content-netrual-intense); +} +.a-uploader_uploaded { + display: flex; + height: 100%; + width: 100%; + align-items: center; + justify-content: center; + border-radius: 0.5rem; + background-color: var(--uploadFile-bg-uploaded); + color: var(--uploadFile-content-netrual-intense); +} +@font-face { + font-family: alibaba; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(https://cdn.alibaba.ir/h2/desktop/assets/fonts/alibaba/alibaba-bold.woff2-bbb24413.woff2) + format("woff2"), + url(https://cdn.alibaba.ir/h2/desktop/assets/fonts/alibaba/alibaba-bold-4edf9c7b.woff) + format("woff"), + url(https://cdn.alibaba.ir/h2/desktop/assets/fonts/alibaba/alibaba-bold-e7a0564c.eot?#iefix) + format("embedded-opentype"), + url(https://cdn.alibaba.ir/h2/desktop/assets/fonts/alibaba/alibaba-bold-398e0943.ttf) + format("truetype"); +} +@font-face { + font-family: alibaba; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(https://cdn.alibaba.ir/h2/desktop/assets/fonts/alibaba/alibaba-regular.woff2-5d2979c4.woff2) + format("woff2"), + url(https://cdn.alibaba.ir/h2/desktop/assets/fonts/alibaba/alibaba-regular-588b6fcf.woff) + format("woff"), + url(https://cdn.alibaba.ir/h2/desktop/assets/fonts/alibaba/alibaba-regular-7ab3eea7.eot?#iefix) + format("embedded-opentype"), + url(https://cdn.alibaba.ir/h2/desktop/assets/fonts/alibaba/alibaba-regular-e2638a27.ttf) + format("truetype"); +} +@font-face { + font-family: alibaba; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url(https://cdn.alibaba.ir/h2/desktop/assets/fonts/alibaba/alibaba-black.woff2-41970917.woff2) + format("woff2"), + url(https://cdn.alibaba.ir/h2/desktop/assets/fonts/alibaba/alibaba-black-4557273d.woff) + format("woff"), + url(https://cdn.alibaba.ir/h2/desktop/assets/fonts/alibaba/alibaba-black-9f9cc3e5.eot?#iefix) + format("embedded-opentype"), + url(https://cdn.alibaba.ir/h2/desktop/assets/fonts/alibaba/alibaba-black-fa7c68fd.ttf) + format("truetype"); +} +:root { + --white: #fff; + --black: #000; + --primary: #fdb713; + --primary-light: #ffe19c; + --primary-dark: #e3a107; + --secondary-100: #f2f9ff; + --secondary-200: #c9e3f8; + --secondary-300: #51a2e7; + --secondary-400: #0077db; + --secondary-500: #00569e; + --secondary-600: #004075; + --secondary-700: #001c33; + --success-100: #eafaee; + --success-300: #84e199; + --success-400: #28a745; + --success-500: #1e7b33; + --success-700: #11461d; + --warning-100: #fff5e5; + --warning-300: #ffce85; + --warning-400: #ff9800; + --warning-500: #a85d00; + --warning-700: #4d2800; + --info-100: #e8f9fc; + --info-300: #a0e8f3; + --info-400: #17a2b8; + --info-500: #0f697a; + --info-700: #072f36; + --danger-100: #fdf2f3; + --danger-300: #f2b5bb; + --danger-400: #dc3545; + --danger-500: #871722; + --danger-700: #410b10; + --gray-100: #f8fafb; + --gray-200: #f6f8f9; + --gray-300: #e2e6e9; + --gray-400: #bec6cc; + --gray-500: #959ea6; + --gray-600: #6c7680; + --gray-700: #4b5259; + --gray-800: #2b2f33; + --gray-900: #0a0b0c; + --grays-100: #f8fafb; + --grays-150: #e2e6e9; + --grays-200: #bec6cc; + --grays-300: #959ea6; + --grays-400: #6c7680; + --grays-500: #4b5259; + --grays-600: #2b2f33; + --grays-700: #0a0b0c; + --bg-cta-naturalWhite: #fff; + --bg-cta-naturalDefault: #f8fafb; + --bg-cta-softNaturalSelected: #f8fafb; + --bg-cta-softOnLightHover: #f8fafb; + --bg-cta-naturalHover: #e2e6e9; + --bg-cta-softOnDarkHover: #2b2f33; + --bg-cta-softOnDarkSelected: #2b2f33; + --bg-cta-primaryDefault: #fdb713; + --bg-cta-primaryHover: #e3a107; + --bg-cta-primaryDisabled: #ffe19c; + --bg-cta-bgLoading: #ffe19c; + --bg-cta-softSecondaryHover: #f2f9ff; + --bg-cta-softSecondarySelected: #f2f9ff; + --bg-cta-secondaryDisabled: #c9e3f8; + --bg-cta-secondaryLoading: #c9e3f8; + --bg-cta-secondaryDefault: #0077db; + --bg-cta-secondaryHover: #00569e; + --bg-cta-softAlertHover: #fdf2f3; + --bg-cta-softAlertSelected: #fdf2f3; + --fg-cta-secondaryDefault: #fff; + --fg-cta-naturalDisabled: #bec6cc; + --fg-cta-primaryDisabled: #6c7680; + --fg-cta-naturalDefault: #4b5259; + --fg-cta-primaryLoading: #4b5259; + --fg-cta-naturalFocus: #2b2f33; + --fg-cta-primaryDefault: #0a0b0c; + --fg-cta-secondarySelected: #0077db; + --fg-cta-onDark: #fff; + --fg-cta-onLightDisabled: #bec6cc; + --fg-cta-onDarkDisabled: #4b5259; + --fg-cta-onLight: #4b5259; + --fg-cta-secondaryDisabled: #c9e3f8; + --fg-cta-secondary: #0077db; + --fg-cta-secondaryFocus: #00569e; + --fg-cta-alertDisabled: #f2b5bb; + --fg-cta-alert: #dc3545; + --fg-cta-alertDefault: #dc3545; + --fg-cta-alertFocus: #871722; + --border-cta-primaryFocus: #4b5259; + --border-cta-naturalDefault: #4b5259; + --border-cta-naturalDarkSelected: #4b5259; + --border-cta-naturalFocus: #2b2f33; + --border-cta-secondaryDisabled: #c9e3f8; + --border-cta-secondaryLoading: #c9e3f8; + --border-cta-secondaryDefault: #0077db; + --border-cta-secondarySelected: #0077db; + --border-cta-secondaryFocus: #00569e; + --border-cta-alertLoading: #f2b5bb; + --border-cta-alertDisabled: #f2b5bb; + --border-cta-alertSelected: #f2b5bb; + --border-cta-alertFcous: #871722; + --border-cta-alertDefault: #dc3545; + --border-1: rgba(0, 0, 0, 0.12); + --border-2: rgba(0, 0, 0, 0.2); + --overlay: rgba(10, 11, 12, 0.65); + --bg: #f6f6f6; + --shadow-sm: 0 1px 1px -1px rgba(0, 0, 0, 0.08); + --shadow-md: 0 2px 5px -1px rgba(0, 0, 0, 0.08); + --shadow-lg: 0 4px 6px 0 rgba(0, 0, 0, 0.08); + --shadow-xl: 0 3px 10px 0 rgba(0, 0, 0, 0.12), + 0 10px 10px -6px rgba(0, 0, 0, 0.12); + --shadow-bottom-sheet: 0 -20px 30px -5px rgba(0, 0, 0, 0.08); + --shadow-nav-bar: 0 -1px 0 0 rgba(0, 0, 0, 0.08), + 0 -2px 8px 8px rgba(0, 0, 0, 0.04); + --shadow-inner: inset 0 2px 4px 0 rgb(0, 0, 0, 0.05); + --spacing-0: 0; + --spacing-1: 0.25rem; + --spacing-2: 0.5rem; + --spacing-3: 0.75rem; + --spacing-4: 1rem; + --spacing-5: 1.5rem; + --spacing-6: 2rem; + --spacing-7: 3rem; + --spacing-8: 4rem; + --spacing-9: 4.5rem; + --spacing-10: 6rem; + --spacing-11: 8rem; + --spacing-12: 12rem; + --spacing-13: 16rem; + --spacing-14: 24rem; + --spacing-15: 32rem; + --spacing-16: 40rem; + --spacing-px: 1px; + --checkbox-bg-checked-default: #0077db; + --checkbox-bg-checked-hover: #00569e; + --checkbox-bg-checked-disabled: #c9e3f8; + --checkbox-bg-checked-error: #0077db; + --checkbox-bg-checked-focus: #0077db; + --checkbox-bg-unchecked-default: #f8fafb; + --checkbox-fg-checked-default: #f8fafb; + --checkbox-border-default: #959ea6; + --checkbox-border-disabled: #bec6cc; + --checkbox-border-error: #dc3545; + --checkbox-border-focus: #00569e; + --checkbox-border-hover: #6c7680; + --checkbox-radi-default: 4px; + --checkbox-size-unit-default: 24px; + --checkbox-content-netrual-intense: #6c7680; + --checkbox-space-between: 8px; + --checkbox-content-netrual-dominant: #4b5259; + --checkbox-touch-area: 32px; + --checkbox-border-none: #00000000; + --radio-fg-checked: #ffffff; + --radio-bg-unchecked: #f8fafb; + --radio-bg-checked-default: #0077db; + --radio-bg-checked-error: #0077db; + --radio-bg-checked-focus: #0077db; + --radio-bg-checked-hover: #00569e; + --radio-border-default: #959ea6; + --radio-border-error: #dc3545; + --radio-border-hover: #6c7680; + --radio-space-between: 8px; + --radio-bg-checked-disabled: #c9e3f8; + --radio-border-disabled: #bec6cc; + --radio-border-focus: #00569e; + --radio-size-unit-default: 24px; + --radio-content-netural-dominant: #4b5259; + --radio-content-netural-intense: #6c7680; + --radio-touch-area: 32px; + --radio-border-none: #00000000; + --switch-bg-active: #0077db; + --switch-bg-active-disabled: #c9e3f8; + --switch-bg-deactive: #959ea6; + --switch-bg-deactive-disabled: #bec6cc; + --switch-content-netrual-dominant: #4b5259; + --switch-content-netrual-intense: #6c7680; + --switch-space-between: 8px; + --switch-touch-area: 32px; + --switch-radi-default: 1024px; + --switch-fg-active: #ffffff; + --switch-fg-active-disabled: #f2f9ff; + --switch-fg-deactive: #ffffff; + --switch-fg-deactive-disabled: #f8fafb; + --label-surface-gray: #e2e6e9; + --label-surface-info: #e8f9fc; + --label-surface-success: #eafaee; + --label-surface-warning: #fff5e5; + --label-surface-alert: #fdf2f3; + --label-surface-brand: #ffe19c; + --label-surface-dark: #000000a6; + --label-content-gray: #4b5259; + --label-content-info: #0f697a; + --label-on-surface-success: #28a745; + --label-content-warning: #a85d00; + --label-content-alert: #871722; + --label-content-brand: #4d2800; + --label-content-dark: #ffffff; + --label-side-padding-default: 8px; + --label-right-padding: 4px; + --label-space-between-lg: 8px; + --label-space-between-nl: 4px; + --label-radi-default: 1024px; + --label-icon-size-unit: 16px; + --label-content-success: #1e7b33; + --label-on-surface-info: #17a2b8; + --label-on-surface-warning: #a85d00; + --label-on-surface-alert: #dc3545; + --label-on-surface-gray: #4b5259; + --label-left-padding: 8px; + --label-border-gray: #4b5259; + --label-size-unit-nl: 20px; + --label-size-unit-lg: 24px; + --label-border-none: #00000000; + --special-surface-balance-increase: #eafaee; + --special-surface-new: #84e199; + --special-surface-balance-decrease: #fdf2f3; + --special-surface-zero: #f8fafb; + --special-surface-discount: #dc3545; + --special-content-balance-increase: #1e7b33; + --special-content-new: #0a0b0c; + --special-content-balance-decrease: #871722; + --special-content-zero: #4b5259; + --special-content-discount: #ffffff; + --special-side-padding-lg: 8px; + --special-space-between-lg: 4px; + --special-icon-size-unit: 12px; + --special-radi-default: 1024px; + --special-side-padding-nl: 4px; + --special-size-unit-nl: 20px; + --special-size-unit-lg: 24px; + --special-size-unit-sm: 16px; + --bullet-bg-default: #e2e6e9; + --bullet-bg-gary: #4b5259; + --bullet-bg-info: #17a2b8; + --bullet-bg-success: #28a745; + --bullet-bg-warning: #a85d00; + --bullet-bg-alert: #dc3545; + --textField-bg-default: #ffffff; + --textField-bg-value: #ffffff; + --textField-bg-focus: #ffffff; + --textField-bg-disabled: #f8fafb; + --textField-bg-error: #ffffff; + --textField-fg-default: #959ea6; + --textField-fg-focus: #2b2f33; + --textField-fg-disabled: #bec6cc; + --textField-fg-error: #dc3545; + --textField-bg-warning: #ffffff; + --textField-fg-warning: #ff9800; + --textField-border-default: #bec6cc; + --textField-border-value: #bec6cc; + --textField-border-focus: #4b5259; + --textField-border-warning: #ff9800; + --textField-border-error: #dc3545; + --textField-border-disabled: #bec6cc; + --textField-content-netrual: #959ea6; + --textField-content-secondary: #0077db; + --textField-content-alert: #dc3545; + --textField-size-unit-lg: 48px; + --textField-size-unit-md: 40px; + --textField-radi-default: 8px; + --textField-side-padding: 8px; + --textField-space-between: 4px; + --textField-fg-value: #2b2f33; + --toast-surface-dark: #2b2f33; + --toast-content-netrual-invert: #ffffff; + --toast-surface-alert: #dc3545; + --toast-surface-light: #ffffff; + --toast-content-neutral-dominant: #4b5259; + --toast-radi-default: 8px; + --toast-side-padding-default: 12px; + --toast-side-padding-right: 16px; + --toast-space-between-lg: 12px; + --toast-space-between-nl: 8px; + --toast-space-between-vertical: 12px; + --knob-bg-default: #ffffff; + --knob-bg-hover: #ffffff; + --knob-bg-focus: #ffffff; + --knob-bg-disable: #f6f8f9; + --knob-radi-default: 1024px; + --knob-border-default: #0077db; + --knob-border-hover: #00569e; + --knob-border-focus: #00569e; + --knob-border-disable: #f2f9ff; + --knob-size-unit: 20px; + --Bins-bg-default: #c9e3f8; + --Bins-bg-hover: #51a2e7; + --Bins-bg-focus: #0077db; + --Bins-bg-disable: #f2f9ff; + --Bins-radi-default: 4px; + --Slider-bg-default: #e2e6e9; + --Slider-bg-selected: #0077db; + --Slider-bg-focus: #00569e; + --Slider-bg-disable: #f2f9ff; + --Slider-radi-default: 1024px; + --Content-on-surfac-Overwhelming: #0a0b0c; + --Content-on-surfac-Extreme: #2b2f33; + --Content-on-surfac-Dominant: #4b5259; + --Content-on-surfac-Intense: #6c7680; + --Content-on-surfac-strong: #959ea6; + --Content-on-surfac-moderate: #bec6cc; + --uploadFile-bg-base: #ffffff; + --uploadFile-bg-hover: #f2f9ff; + --uploadFile-border-base: #0077db; + --uploadFile-border-hover: #0077db; + --uploadFile-border-error: #dc3545; + --uploadFile-bg-uploaded: #f8fafb; + --uploadFile-space-between: 4px; + --uploadFile-side-padding: 8px; + --uploadFile-overlay-default: #00000033; + --uploadFile-content-secondary: #0077db; + --uploadFile-content-netrual-intense: #6c7680; + --uploadFile-bg-uploading: #f8fafb; + --uploadFile-bg-error: #f8fafb; + --uploadFile-radi-default: 8px; + --uploadFile-border-none: #00000000; + --uploadFile-bg-disabled: #f8fafb; + --uploadFile-border-disabled: #bec6cc; + --uploadFile-content-netrual-moderate: #bec6cc; + --progressBar-bg-default: #ffffff; + --progressBar-fg-default: #0077db; + --progressBar-radi-default: 1024px; + --DotPageIndicator-on-image-bg-active: #ffffff; + --DotPageIndicator-on-image-bg-inactive: #ffffff99; + --DotPageIndicator-on-surface-bg-active: #0a0b0c; + --DotPageIndicator-on-surface-bg-inactive: #000000a6; + --DotPageIndicator-side-padding-nl: 12px; + --DotPageIndicator-top-padding-nl: 16px; + --DotPageIndicator-top-padding-lg: 24px; + --DotPageIndicator-Bottom-padding-nl: 12px; + --DotPageIndicator-space-between: 8px; + --ListItem-surface-default: #ffffff; + --ListItem-surface-hover: #f8fafb; + --ListItem-surface-loading: #ffffff; + --ListItem-surface-focus: #ffffff; + --ListItem-surface-disabled: #ffffff; + --ListItem-radi-default: 0px; + --ListItem-radi-individual: 8px; + --ListItem-side-padding: 12px; + --ListItem-space-between: 12px; + --ListItem-border-size: 1px; + --ListItem-border-default: #0000001f; + --ListItem-border-hover: #4b5259; + --ListItem-border-loading: #0000001f; + --ListItem-border-focus: #0077db; + --ListItem-border-disabled: #0000001f; + --ListItem-top-down-padding: 12px; + --ListItem-surface-selected: #f2f9ff; + --ListItem-border-container: #0000001f; + --ListItem-border-none: #00000000; +} +html, +body { + width: 100%; + font-family: alibaba, system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, + Roboto, sans-serif; + font-feature-settings: "ss01"; +} +*, +:before, +:after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} +::-webkit-backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} +::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} +.text-display-sm { + font-weight: 700; + line-height: 170%; + font-size: 1rem; +} +.\!text-display-sm { + font-weight: 700 !important; + line-height: 170% !important; + font-size: 1rem !important; +} +@media (min-width: 768px) { + .text-display-sm { + line-height: 150%; + font-size: 1.25rem; + } + .\!text-display-sm { + line-height: 150% !important; + font-size: 1.25rem !important; + } +} +.text-display-md { + font-weight: 700; + line-height: 150%; + font-size: 1.25rem; +} +@media (min-width: 768px) { + .text-display-md { + font-size: 1.5rem; + } +} +.text-display-lg { + font-weight: 900; + line-height: 130%; + font-size: 1.5rem; +} +@media (min-width: 768px) { + .text-display-lg { + line-height: 150%; + font-size: 2rem; + } +} +.text-headline-sm { + font-weight: 700; + line-height: 170%; + font-size: 0.75rem; +} +@media (min-width: 768px) { + .text-headline-sm { + font-size: 0.875rem; + } +} +.text-headline-md { + font-weight: 700; + line-height: 170%; + font-size: 0.875rem; +} +.\!text-headline-md { + font-weight: 700 !important; + line-height: 170% !important; + font-size: 0.875rem !important; +} +@media (min-width: 768px) { + .text-headline-md { + font-size: 1rem; + } + .\!text-headline-md { + font-size: 1rem !important; + } +} +.text-headline-lg { + font-weight: 400; + line-height: 170%; + font-size: 1rem; +} +@media (min-width: 768px) { + .text-headline-lg { + font-weight: 700; + font-size: 1.125rem; + } +} +.text-body-md { + font-weight: 400; + line-height: 200%; + font-size: 0.75rem; +} +.\!text-body-md { + font-weight: 400 !important; + line-height: 200% !important; + font-size: 0.75rem !important; +} +@media (min-width: 768px) { + .text-body-md { + font-size: 0.875rem; + } + .\!text-body-md { + font-size: 0.875rem !important; + } +} +.text-body-lg { + font-weight: 400; + line-height: 200%; + font-size: 0.875rem; +} +@media (min-width: 768px) { + .text-body-lg { + font-size: 1rem; + } +} +.text-title-md { + font-weight: 400; + line-height: 150%; + font-size: 1.25rem; +} +.text-sub { + font-weight: 400; + line-height: 180%; + font-size: 1.125rem; +} +.text-sub-bold { + font-weight: 700; + line-height: 180%; + font-size: 1.125rem; +} +.text-label { + font-weight: 400; + line-height: 170%; + font-size: 1rem; +} +.text-callout { + font-weight: 400; + line-height: 180%; + font-size: 0.875rem; +} +.\!text-callout { + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.text-callout-bold { + font-weight: 700; + line-height: 180%; + font-size: 0.875rem; +} +.text-caption { + font-weight: 400; + line-height: 180%; + font-size: 0.75rem; +} +.\!text-caption { + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.75rem !important; +} +.text-caption-bold { + font-weight: 700; + line-height: 180%; + font-size: 0.75rem; +} +.\!text-caption-bold { + font-weight: 700 !important; + line-height: 180% !important; + font-size: 0.75rem !important; +} +.text-footnote { + font-weight: 400; + line-height: 180%; + font-size: 0.625rem; +} +.btn-primary-nl-normal { + background-color: #fdb713; + color: #0a0b0c; + border: 1px solid #0000001f; + gap: 4px; +} +.\!btn-primary-nl-normal { + background-color: #fdb713 !important; + color: #0a0b0c !important; + border: 1px solid #0000001f !important; + gap: 4px !important; +} +.btn-primary-nl-normal:hover { + background-color: #e9a507; +} +.\!btn-primary-nl-normal:hover { + background-color: #e9a507 !important; +} +.btn-primary-nl-normal:focus { + background-color: #fdb713; + border: 1px solid #4b5259; +} +.\!btn-primary-nl-normal:focus { + background-color: #fdb713 !important; + border: 1px solid #4b5259 !important; +} +.btn-primary-nl-normal { + height: 2.5rem; + min-height: unset; + padding: 0 16px; + font-weight: 400; + line-height: 180%; + font-size: 0.875rem; +} +.\!btn-primary-nl-normal { + height: 2.5rem !important; + min-height: unset !important; + padding: 0 16px !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-primary-lg-normal { + background-color: #fdb713 !important; + color: #0a0b0c !important; + border: 1px solid #0000001f !important; + gap: 4px !important; +} +.\!btn-primary-lg-normal:hover { + background-color: #e9a507 !important; +} +.\!btn-primary-lg-normal:focus { + background-color: #fdb713 !important; + border: 1px solid #4b5259 !important; +} +.\!btn-primary-lg-normal { + height: 3rem !important; + min-height: unset !important; + padding: 0 16px !important; + font-weight: 400 !important; + line-height: 170% !important; + font-size: 1rem !important; +} +.\!btn-primary-lg-normal svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-secondary-nl-normal { + background-color: #0077db !important; + color: #fff !important; + gap: 0.25rem !important; +} +.btn-secondary-nl-normal { + background-color: #0077db; + color: #fff; + gap: 0.25rem; +} +.\!btn-secondary-nl-normal:hover { + background-color: #00569e !important; +} +.btn-secondary-nl-normal:hover { + background-color: #00569e; +} +.\!btn-secondary-nl-normal:focus { + background-color: #0077db !important; + border: 1px solid #00569e !important; +} +.btn-secondary-nl-normal:focus { + background-color: #0077db; + border: 1px solid #00569e; +} +.\!btn-secondary-nl-normal { + height: 2.5rem !important; + min-height: unset !important; + padding: 0 12px !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.btn-secondary-nl-normal { + height: 2.5rem; + min-height: unset; + padding: 0 12px; + font-weight: 400; + line-height: 180%; + font-size: 0.875rem; +} +.\!btn-secondary-nl-normal svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.btn-secondary-nl-normal svg { + width: 1.25rem; + height: 1.25rem; +} +.\!btn-secondary-lg-normal { + background-color: #0077db !important; + color: #fff !important; + gap: 0.25rem !important; +} +.\!btn-secondary-lg-normal:hover { + background-color: #00569e !important; +} +.\!btn-secondary-lg-normal:focus { + background-color: #0077db !important; + border: 1px solid #00569e !important; +} +.\!btn-secondary-lg-normal { + height: 3rem !important; + min-height: unset !important; + padding: 0 16px !important; + font-weight: 400 !important; + line-height: 170% !important; + font-size: 1rem !important; +} +.\!btn-secondary-lg-normal svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-ghost-nl-blue { + background-color: #0000 !important; + border-width: 1px !important; + border-style: solid !important; + gap: 0.25rem !important; +} +.\!btn-ghost-nl-blue:focus { + border-color: #00569e !important; + color: #00569e !important; +} +.\!btn-ghost-nl-blue { + height: 40px !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-ghost-nl-blue svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-ghost-nl-blue { + color: #0077db !important; + border-color: #0077db !important; +} +.\!btn-ghost-nl-blue:hover { + background-color: #f2f9ff !important; +} +.\!btn-ghost-nl-gray { + background-color: #0000 !important; + border-width: 1px !important; + border-style: solid !important; + gap: 0.25rem !important; +} +.\!btn-ghost-nl-gray:focus { + border-color: #2b2f33 !important; + color: #2b2f33 !important; +} +.\!btn-ghost-nl-gray { + height: 40px !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-ghost-nl-gray svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-ghost-nl-gray { + color: #4b5259 !important; + border-color: #4b5259 !important; +} +.\!btn-ghost-nl-gray:hover { + background-color: #f8fafb !important; +} +.\!btn-ghost-lg-blue { + background-color: #0000 !important; + border-width: 1px !important; + border-style: solid !important; + gap: 0.25rem !important; +} +.\!btn-ghost-lg-blue:focus { + border-color: #00569e !important; + color: #00569e !important; +} +.\!btn-ghost-lg-blue { + height: 3rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 170% !important; + font-size: 1rem !important; +} +.\!btn-ghost-lg-blue svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-ghost-lg-blue { + color: #0077db !important; + border-color: #0077db !important; +} +.\!btn-ghost-lg-blue:hover { + background-color: #f2f9ff !important; +} +.\!btn-ghost-lg-gray { + background-color: #0000 !important; + border-width: 1px !important; + border-style: solid !important; + gap: 0.25rem !important; +} +.\!btn-ghost-lg-gray:focus { + border-color: #2b2f33 !important; + color: #2b2f33 !important; +} +.\!btn-ghost-lg-gray { + height: 3rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 170% !important; + font-size: 1rem !important; +} +.\!btn-ghost-lg-gray svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-ghost-lg-gray { + color: #4b5259 !important; + border-color: #4b5259 !important; +} +.\!btn-ghost-lg-gray:hover { + background-color: #f8fafb !important; +} +.\!btn-tertiary-sm-blue { + border: none !important; + border-radius: 16px !important; + background-color: transparent !important; + gap: 0.25rem !important; + padding: 0 8px !important; + height: 1.5rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.75rem !important; +} +.\!btn-tertiary-sm-blue svg { + width: 1rem !important; + height: 1rem !important; +} +.\!btn-tertiary-sm-blue { + color: #0077db !important; +} +.\!btn-tertiary-sm-blue:hover { + background-color: #f2f9ff !important; + color: #0077db !important; +} +.\!btn-tertiary-nl-blue { + border: none !important; + border-radius: 16px !important; + background-color: transparent !important; + gap: 0.25rem !important; + padding: 0 8px !important; + height: 2rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-tertiary-nl-blue svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-tertiary-nl-blue { + color: #0077db !important; +} +.\!btn-tertiary-nl-blue:hover { + background-color: #f2f9ff !important; + color: #0077db !important; +} +.\!btn-tertiary-nl-gray { + border: none !important; + border-radius: 16px !important; + background-color: transparent !important; + gap: 0.25rem !important; + padding: 0 8px !important; + height: 2rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-tertiary-nl-gray svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-tertiary-nl-gray { + color: #4b5259 !important; +} +.\!btn-tertiary-nl-gray:hover { + background-color: #f8fafb !important; +} +.\!btn-tertiary-nl-alert { + border: none !important; + border-radius: 16px !important; + background-color: transparent !important; + gap: 0.25rem !important; + padding: 0 8px !important; + height: 2rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-tertiary-nl-alert svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-tertiary-nl-alert { + color: #dc3545 !important; +} +.\!btn-tertiary-nl-alert:hover { + background-color: #fdf2f3 !important; +} +.\!btn-tertiary-nl-dark { + border: none !important; + border-radius: 16px !important; + background-color: transparent !important; + gap: 0.25rem !important; + padding: 0 8px !important; + height: 2rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-tertiary-nl-dark svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-tertiary-nl-dark { + color: #fff !important; +} +.\!btn-tertiary-nl-dark:hover { + background-color: #2b2f33 !important; + color: #fff !important; +} +.\!btn-tonal-sm-secondary { + border: 1px !important; + border-style: solid !important; + border-radius: 8px !important; + border-color: transparent !important; + gap: 4px !important; + height: 32px !important; + min-height: unset !important; + padding: 0 8px !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-tonal-sm-secondary svg:first-child, +.\!btn-tonal-sm-secondary svg:last-child { + width: 16px !important; + height: 16px !important; +} +.\!btn-tonal-sm-secondary { + color: #0077db !important; + background-color: #f2f9ff !important; +} +.\!btn-tonal-sm-secondary:hover { + background-color: #f2f9ff !important; + border-color: #0077db !important; +} +.\!btn-tonal-sm-secondary:disabled { + background-color: #f2f9ff !important; + color: #c9e3f8 !important; + border-color: transparent !important; +} +.\!btn-tonal-sm-secondary:focus { + background-color: #f2f9ff !important; + border-color: #c9e3f8 !important; +} +.\!btn-tonal-sm-secondary svg { + color: #0077db !important; +} +.\!btn-tonal-nl-secondary { + border: 1px !important; + border-style: solid !important; + border-radius: 8px !important; + border-color: transparent !important; + gap: 4px !important; + height: 40px !important; + min-height: unset !important; + padding: 0 8px !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-tonal-nl-secondary svg:first-child, +.\!btn-tonal-nl-secondary svg:last-child { + width: 20px !important; + height: 20px !important; +} +.\!btn-tonal-nl-secondary { + color: #0077db !important; + background-color: #f2f9ff !important; +} +.\!btn-tonal-nl-secondary:hover { + background-color: #f2f9ff !important; + border-color: #0077db !important; +} +.\!btn-tonal-nl-secondary:disabled { + background-color: #f2f9ff !important; + color: #c9e3f8 !important; + border-color: transparent !important; +} +.\!btn-tonal-nl-secondary:focus { + background-color: #f2f9ff !important; + border-color: #c9e3f8 !important; +} +.\!btn-tonal-nl-secondary svg { + color: #0077db !important; +} +.\!btn-icon-sm-standardNetrual { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-sm-standardNetrual:focus { + border-color: #4b5259 !important; +} +.\!btn-icon-sm-standardNetrual { + height: 1.5rem !important; + width: 1.5rem !important; + border-radius: 8px !important; +} +.\!btn-icon-sm-standardNetrual svg { + width: 1rem !important; + height: 1rem !important; +} +.\!btn-icon-sm-standardNetrual { + border: 1px solid transparent !important; + color: #4b5259 !important; +} +.\!btn-icon-sm-standardNetrual:hover { + background-color: #f8fafb !important; +} +.\!btn-icon-sm-solidNetrual { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: #fff !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-sm-solidNetrual:focus { + border-color: #4b5259 !important; +} +.\!btn-icon-sm-solidNetrual { + height: 1.5rem !important; + width: 1.5rem !important; + border-radius: 8px !important; +} +.\!btn-icon-sm-solidNetrual svg { + width: 1rem !important; + height: 1rem !important; +} +.\!btn-icon-sm-solidNetrual { + border-color: #0000001f !important; + color: #2b2f33 !important; +} +.\!btn-icon-sm-solidNetrual:hover { + background-color: #f8fafb !important; +} +.\!btn-icon-nl-standardNetrual { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-nl-standardNetrual:focus { + border-color: #4b5259 !important; +} +.\!btn-icon-nl-standardNetrual { + height: 2rem !important; + width: 2rem !important; + border-radius: 8px !important; +} +.\!btn-icon-nl-standardNetrual svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-icon-nl-standardNetrual { + border: 1px solid transparent !important; + color: #4b5259 !important; +} +.\!btn-icon-nl-standardNetrual:hover { + background-color: #f8fafb !important; +} +.\!btn-icon-nl-solidNetrual { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: #fff !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-nl-solidNetrual:focus { + border-color: #4b5259 !important; +} +.\!btn-icon-nl-solidNetrual { + height: 2rem !important; + width: 2rem !important; + border-radius: 8px !important; +} +.\!btn-icon-nl-solidNetrual svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-icon-nl-solidNetrual { + border-color: #0000001f !important; + color: #2b2f33 !important; +} +.\!btn-icon-nl-solidNetrual:hover { + background-color: #f8fafb !important; +} +.\!btn-icon-nl-outline { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-nl-outline:focus { + background-color: transparent !important; + border-color: #2b2f33 !important; +} +.\!btn-icon-nl-outline { + height: 2rem !important; + width: 2rem !important; + border-radius: 8px !important; +} +.\!btn-icon-nl-outline svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-icon-nl-outline { + border-color: #0000001f !important; + color: #2b2f33 !important; +} +.\!btn-icon-nl-outline:hover { + background-color: #f8fafb !important; +} +.\!btn-icon-lg-standardNetrual { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-lg-standardNetrual:focus { + border-color: #4b5259 !important; +} +.\!btn-icon-lg-standardNetrual { + height: 3rem !important; + width: 3rem !important; + border-radius: 1rem !important; +} +.\!btn-icon-lg-standardNetrual svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-icon-lg-standardNetrual { + border: 1px solid transparent !important; + color: #4b5259 !important; +} +.\!btn-icon-lg-standardNetrual:hover { + background-color: #f8fafb !important; +} +.\!btn-icon-lg-solidNetrual { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: #fff !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-lg-solidNetrual:focus { + border-color: #4b5259 !important; +} +.\!btn-icon-lg-solidNetrual { + height: 3rem !important; + width: 3rem !important; + border-radius: 1rem !important; +} +.\!btn-icon-lg-solidNetrual svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-icon-lg-solidNetrual { + border-color: #0000001f !important; + color: #2b2f33 !important; +} +.\!btn-icon-lg-solidNetrual:hover { + background-color: #f8fafb !important; +} +.\!btn-icon-lg-outline { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-lg-outline:focus { + background-color: transparent !important; + border-color: #2b2f33 !important; +} +.\!btn-icon-lg-outline { + height: 3rem !important; + width: 3rem !important; + border-radius: 1rem !important; +} +.\!btn-icon-lg-outline svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-icon-lg-outline { + border-color: #0000001f !important; + color: #2b2f33 !important; +} +.\!btn-icon-lg-outline:hover { + background-color: #f8fafb !important; +} +.\!btn-icon-lg-solidSecondary { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: #0077db !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; +} +.\!btn-icon-lg-solidSecondary:focus { + background-color: #0077db !important; + border-color: #00569e !important; +} +.\!btn-icon-lg-solidSecondary { + height: 3rem !important; + width: 3rem !important; + border-radius: 1rem !important; +} +.\!btn-icon-lg-solidSecondary svg { + width: 1.5rem !important; + height: 1.5rem !important; +} +.\!btn-icon-lg-solidSecondary { + border-color: #0000001f !important; + color: #fff !important; +} +.\!btn-icon-lg-solidSecondary:hover { + background-color: #00569e !important; +} +.english-text { + font-feature-settings: "ss02"; + direction: ltr; + text-align: left; +} +.sticky-search-position { + width: 100%; + background-color: #fff; + border-bottom: solid 1px var(--border-1); +} +.sticky-search-position.fixed { + --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08); + --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.sticky-search-container { + --search-form-container: 64px; + height: var(--search-form-container); + transition: height 0.15s cubic-bezier(0.65, 0.05, 0.36, 1); + will-change: height; + position: relative; +} +.sticky-search-container.is-expanded { + --search-form-container: 146px; +} +.sticky-search-container.is-multi { + height: auto !important; +} +.collapsed-search-form { + position: absolute; + top: 0; + right: 0; + left: 0; + -webkit-animation: expand 0.15s cubic-bezier(0.65, 0.05, 0.36, 1); + animation: expand 0.15s cubic-bezier(0.65, 0.05, 0.36, 1); +} +.expanded-search-form { + position: relative; + top: 0; + right: 0; + left: 0; + transform-origin: top; + -webkit-animation: expand 0.15s cubic-bezier(0.65, 0.05, 0.36, 1); + animation: expand 0.15s cubic-bezier(0.65, 0.05, 0.36, 1); +} +@-webkit-keyframes expand { + 0% { + transform: scale(0.8); + opacity: 0; + } + to { + transform: scale(1); + opacity: 1; + } +} +@keyframes expand { + 0% { + transform: scale(0.8); + opacity: 0; + } + to { + transform: scale(1); + opacity: 1; + } +} +@media screen and (max-width: 480px) { + .sticky-search-container.is-expanded { + --search-form-container: 64px; + } +} +.pointer-events-none { + pointer-events: none !important; +} +.visible { + visibility: visible !important; +} +.invisible { + visibility: hidden !important; +} +.collapse { + visibility: collapse !important; +} +.static { + position: static !important; +} +.fixed { + position: fixed !important; +} +.absolute { + position: absolute !important; +} +.relative { + position: relative !important; +} +.sticky { + position: -webkit-sticky !important; + position: sticky !important; +} +.inset-0 { + top: 0 !important; + right: 0 !important; + bottom: 0 !important; + left: 0 !important; +} +.inset-2 { + top: 0.5rem !important; + right: 0.5rem !important; + bottom: 0.5rem !important; + left: 0.5rem !important; +} +.inset-x-2 { + left: 0.5rem !important; + right: 0.5rem !important; +} +.top-0 { + top: 0 !important; +} +.top-2 { + top: 0.5rem !important; +} +.right-1 { + right: 0.25rem !important; +} +.right-2 { + right: 0.5rem !important; +} +.bottom-2 { + bottom: 0.5rem !important; +} +.left-2 { + left: 0.5rem !important; +} +.bottom-4 { + bottom: 1rem !important; +} +.left-4 { + left: 1rem !important; +} +.right-4 { + right: 1rem !important; +} +.top-4 { + top: 1rem !important; +} +.bottom-0 { + bottom: 0 !important; +} +.left-0 { + left: 0 !important; +} +.top-1\/2 { + top: 50% !important; +} +.right-1\/2 { + right: 50% !important; +} +.right-0 { + right: 0 !important; +} +.top-1 { + top: 0.25rem !important; +} +.bottom-10 { + bottom: 6rem !important; +} +.\!bottom-0 { + bottom: 0 !important; +} +.top-\[5rem\] { + top: 5rem !important; +} +.top-3 { + top: 0.75rem !important; +} +.right-3 { + right: 0.75rem !important; +} +.top-6 { + top: 2rem !important; +} +.bottom-9 { + bottom: 4.5rem !important; +} +.left-1\/2 { + left: 50% !important; +} +.-right-\[60px\] { + right: -60px !important; +} +.-left-\[60px\] { + left: -60px !important; +} +.top-5 { + top: 1.5rem !important; +} +.-top-2 { + top: -0.5rem !important; +} +.-right-2 { + right: -0.5rem !important; +} +.bottom-1 { + bottom: 0.25rem !important; +} +.bottom-8 { + bottom: 4rem !important; +} +.-bottom-1 { + bottom: -0.25rem !important; +} +.right-\[-6px\] { + right: -6px !important; +} +.top-\[1px\] { + top: 1px !important; +} +.-left-4 { + left: -1rem !important; +} +.-top-1 { + top: -0.25rem !important; +} +.left-6 { + left: 2rem !important; +} +.left-3 { + left: 0.75rem !important; +} +.top-2\/4 { + top: 50% !important; +} +.bottom-\[52\.5px\] { + bottom: 52.5px !important; +} +.bottom-3 { + bottom: 0.75rem !important; +} +.bottom-5 { + bottom: 1.5rem !important; +} +.right-\[40px\] { + right: 40px !important; +} +.top-\[214px\] { + top: 214px !important; +} +.top-\[332px\] { + top: 332px !important; +} +.left-\[40px\] { + left: 40px !important; +} +.right-auto { + right: auto !important; +} +.left-5 { + left: 1.5rem !important; +} +.right-5 { + right: 1.5rem !important; +} +.top-10 { + top: 6rem !important; +} +.-bottom-7 { + bottom: -3rem !important; +} +.bottom-7 { + bottom: 3rem !important; +} +.-top-6 { + top: -2rem !important; +} +.-right-4 { + right: -1rem !important; +} +.top-\[70px\] { + top: 70px !important; +} +.top-\[100px\] { + top: 100px !important; +} +.right-\[-10px\] { + right: -10px !important; +} +.left-\[5px\] { + left: 5px !important; +} +.top-\[27px\] { + top: 27px !important; +} +.top-9 { + top: 4.5rem !important; +} +.-top-\[10px\] { + top: -10px !important; +} +.top-full { + top: 100% !important; +} +.bottom-px { + bottom: 1px !important; +} +.left-1 { + left: 0.25rem !important; +} +.top-\[2px\] { + top: 2px !important; +} +.bottom-\[40px\] { + bottom: 40px !important; +} +.right-6 { + right: 2rem !important; +} +.right-8 { + right: 4rem !important; +} +.right-9 { + right: 4.5rem !important; +} +.top-\[8px\] { + top: 8px !important; +} +.top-8 { + top: 4rem !important; +} +.-bottom-2 { + bottom: -0.5rem !important; +} +.-bottom-px { + bottom: -1px !important; +} +.-top-9 { + top: -4.5rem !important; +} +.bottom-auto { + bottom: auto !important; +} +.bottom-6 { + bottom: 2rem !important; +} +.-bottom-8 { + bottom: -4rem !important; +} +.-bottom-4 { + bottom: -1rem !important; +} +.top-\[10px\] { + top: 10px !important; +} +.top-\[50px\] { + top: 50px !important; +} +.-top-4 { + top: -1rem !important; +} +.top-\[-30px\] { + top: -30px !important; +} +.isolate { + isolation: isolate !important; +} +.z-\[45\] { + z-index: 45 !important; +} +.z-40 { + z-index: 40 !important; +} +.z-10 { + z-index: 10 !important; +} +.z-50 { + z-index: 50 !important; +} +.z-20 { + z-index: 20 !important; +} +.z-\[1\] { + z-index: 1 !important; +} +.z-0 { + z-index: 0 !important; +} +.z-\[3\] { + z-index: 3 !important; +} +.z-\[1000\] { + z-index: 1000 !important; +} +.z-\[10000\] { + z-index: 10000 !important; +} +.z-\[699\] { + z-index: 699 !important; +} +.-z-10 { + z-index: -10 !important; +} +.-z-50 { + z-index: -50 !important; +} +.z-30 { + z-index: 30 !important; +} +.z-\[2\] { + z-index: 2 !important; +} +.z-\[4\] { + z-index: 4 !important; +} +.order-first { + order: -9999 !important; +} +.order-2 { + order: 2 !important; +} +.order-4 { + order: 4 !important; +} +.order-1 { + order: 1 !important; +} +.order-5 { + order: 5 !important; +} +.order-6 { + order: 6 !important; +} +.order-3 { + order: 3 !important; +} +.order-last { + order: 9999 !important; +} +.col-span-4 { + grid-column: span 4 / span 4 !important; +} +.col-span-2, +.\!col-span-2 { + grid-column: span 2 / span 2 !important; +} +.col-span-3 { + grid-column: span 3 / span 3 !important; +} +.col-span-1 { + grid-column: span 1 / span 1 !important; +} +.col-start-3 { + grid-column-start: 3 !important; +} +.col-start-1 { + grid-column-start: 1 !important; +} +.col-start-4 { + grid-column-start: 4 !important; +} +.col-end-3 { + grid-column-end: 3 !important; +} +.col-end-4 { + grid-column-end: 4 !important; +} +.col-end-5 { + grid-column-end: 5 !important; +} +.row-span-2 { + grid-row: span 2 / span 2 !important; +} +.row-span-3 { + grid-row: span 3 / span 3 !important; +} +.row-span-1 { + grid-row: span 1 / span 1 !important; +} +.row-start-2 { + grid-row-start: 2 !important; +} +.row-start-1 { + grid-row-start: 1 !important; +} +.float-right { + float: right !important; +} +.float-left { + float: left !important; +} +.m-0 { + margin: 0 !important; +} +.m-auto { + margin: auto !important; +} +.m-3 { + margin: 0.75rem !important; +} +.m-2 { + margin: 0.5rem !important; +} +.-m-2 { + margin: -0.5rem !important; +} +.m-4 { + margin: 1rem !important; +} +.-m-4 { + margin: -1rem !important; +} +.m-8 { + margin: 4rem !important; +} +.\!m-0 { + margin: 0 !important; +} +.m-1 { + margin: 0.25rem !important; +} +.m-5 { + margin: 1.5rem !important; +} +.m-\[10px\] { + margin: 10px !important; +} +.m-\[5px\] { + margin: 5px !important; +} +.-mx-4 { + margin-left: -1rem !important; + margin-right: -1rem !important; +} +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} +.mx-auto { + margin-left: auto !important; + margin-right: auto !important; +} +.-mx-8 { + margin-left: -4rem !important; + margin-right: -4rem !important; +} +.mx-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; +} +.my-8 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; +} +.my-10 { + margin-top: 6rem !important; + margin-bottom: 6rem !important; +} +.-mx-2 { + margin-left: -0.5rem !important; + margin-right: -0.5rem !important; +} +.my-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} +.my-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; +} +.mx-6 { + margin-left: 2rem !important; + margin-right: 2rem !important; +} +.my-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; +} +.my-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} +.mx-3 { + margin-left: 0.75rem !important; + margin-right: 0.75rem !important; +} +.mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} +.mx-4 { + margin-left: 1rem !important; + margin-right: 1rem !important; +} +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} +.mx-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; +} +.my-\[56px\] { + margin-top: 56px !important; + margin-bottom: 56px !important; +} +.my-\[25px\] { + margin-top: 25px !important; + margin-bottom: 25px !important; +} +.mx-5 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; +} +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} +.my-7 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} +.mx-\[2px\] { + margin-left: 2px !important; + margin-right: 2px !important; +} +.mx-\[4px\] { + margin-left: 4px !important; + margin-right: 4px !important; +} +.mx-7 { + margin-left: 3rem !important; + margin-right: 3rem !important; +} +.-mx-6 { + margin-left: -2rem !important; + margin-right: -2rem !important; +} +.-my-1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; +} +.-mx-\[20px\] { + margin-left: -20px !important; + margin-right: -20px !important; +} +.\!my-\[2px\] { + margin-top: 2px !important; + margin-bottom: 2px !important; +} +.\!my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} +.mx-\[5px\] { + margin-left: 5px !important; + margin-right: 5px !important; +} +.-mx-1 { + margin-left: -0.25rem !important; + margin-right: -0.25rem !important; +} +.-mx-3 { + margin-left: -0.75rem !important; + margin-right: -0.75rem !important; +} +.mx-\[20px\] { + margin-left: 20px !important; + margin-right: 20px !important; +} +.mt-2 { + margin-top: 0.5rem !important; +} +.mr-2 { + margin-right: 0.5rem !important; +} +.mt-1 { + margin-top: 0.25rem !important; +} +.ml-auto { + margin-left: auto !important; +} +.ml-2 { + margin-left: 0.5rem !important; +} +.mb-\[56px\] { + margin-bottom: 56px !important; +} +.mb-10 { + margin-bottom: 6rem !important; +} +.mr-1 { + margin-right: 0.25rem !important; +} +.ml-4 { + margin-left: 1rem !important; +} +.mb-\[36px\] { + margin-bottom: 36px !important; +} +.mb-0 { + margin-bottom: 0 !important; +} +.mt-3 { + margin-top: 0.75rem !important; +} +.mt-4 { + margin-top: 1rem !important; +} +.mt-5 { + margin-top: 1.5rem !important; +} +.mb-3 { + margin-bottom: 0.75rem !important; +} +.mb-4 { + margin-bottom: 1rem !important; +} +.mb-7 { + margin-bottom: 3rem !important; +} +.mt-0 { + margin-top: 0 !important; +} +.mr-auto { + margin-right: auto !important; +} +.mt-7 { + margin-top: 3rem !important; +} +.mr-8 { + margin-right: 4rem !important; +} +.mt-auto { + margin-top: auto !important; +} +.mb-2 { + margin-bottom: 0.5rem !important; +} +.mr-3 { + margin-right: 0.75rem !important; +} +.-ml-4 { + margin-left: -1rem !important; +} +.ml-1 { + margin-left: 0.25rem !important; +} +.mr-4 { + margin-right: 1rem !important; +} +.mb-5 { + margin-bottom: 1.5rem !important; +} +.mt-6 { + margin-top: 2rem !important; +} +.mb-1 { + margin-bottom: 0.25rem !important; +} +.-mt-2 { + margin-top: -0.5rem !important; +} +.mb-6 { + margin-bottom: 2rem !important; +} +.mb-\[40px\] { + margin-bottom: 40px !important; +} +.-mt-\[40px\] { + margin-top: -40px !important; +} +.ml-0 { + margin-left: 0 !important; +} +.ml-9 { + margin-left: 4.5rem !important; +} +.ml-3 { + margin-left: 0.75rem !important; +} +.ml-6 { + margin-left: 2rem !important; +} +.mb-9 { + margin-bottom: 4.5rem !important; +} +.mb-8 { + margin-bottom: 4rem !important; +} +.ml-7 { + margin-left: 3rem !important; +} +.mt-\[-90px\] { + margin-top: -90px !important; +} +.mt-\[-28px\] { + margin-top: -28px !important; +} +.mt-8 { + margin-top: 4rem !important; +} +.mr-5 { + margin-right: 1.5rem !important; +} +.ml-5 { + margin-left: 1.5rem !important; +} +.mt-\[42px\] { + margin-top: 42px !important; +} +.-mt-4 { + margin-top: -1rem !important; +} +.-mb-4 { + margin-bottom: -1rem !important; +} +.mr-\[14px\] { + margin-right: 14px !important; +} +.-mr-3 { + margin-right: -0.75rem !important; +} +.-mb-1 { + margin-bottom: -0.25rem !important; +} +.-mt-1 { + margin-top: -0.25rem !important; +} +.mr-\[2px\] { + margin-right: 2px !important; +} +.-mr-5 { + margin-right: -1.5rem !important; +} +.-ml-5 { + margin-left: -1.5rem !important; +} +.mt-\[3px\] { + margin-top: 3px !important; +} +.mb-\[11px\] { + margin-bottom: 11px !important; +} +.mb-11 { + margin-bottom: 8rem !important; +} +.mr-10 { + margin-right: 6rem !important; +} +.mt-px { + margin-top: 1px !important; +} +.-mt-px { + margin-top: -1px !important; +} +.ml-8 { + margin-left: 4rem !important; +} +.-ml-2 { + margin-left: -0.5rem !important; +} +.-mt-3 { + margin-top: -0.75rem !important; +} +.mb-\[1px\] { + margin-bottom: 1px !important; +} +.mr-0 { + margin-right: 0 !important; +} +.\!mt-0 { + margin-top: 0 !important; +} +.\!mb-0 { + margin-bottom: 0 !important; +} +.-mb-2 { + margin-bottom: -0.5rem !important; +} +.mt-10 { + margin-top: 6rem !important; +} +.mt-11 { + margin-top: 8rem !important; +} +.mt-9 { + margin-top: 4.5rem !important; +} +.mr-12 { + margin-right: 12rem !important; +} +.-mr-2 { + margin-right: -0.5rem !important; +} +.mr-\[6px\] { + margin-right: 6px !important; +} +.ml-\[6px\] { + margin-left: 6px !important; +} +.mb-\[2\.5rem\] { + margin-bottom: 2.5rem !important; +} +.-mr-4 { + margin-right: -1rem !important; +} +.mr-6 { + margin-right: 2rem !important; +} +.mb-\[2px\] { + margin-bottom: 2px !important; +} +.mb-auto { + margin-bottom: auto !important; +} +.-mt-\[140px\] { + margin-top: -140px !important; +} +.mt-\[56px\] { + margin-top: 56px !important; +} +.mb-\[20px\] { + margin-bottom: 20px !important; +} +.mt-\[20px\] { + margin-top: 20px !important; +} +.mt-12 { + margin-top: 12rem !important; +} +.mt-13 { + margin-top: 16rem !important; +} +.mt-\[40px\] { + margin-top: 40px !important; +} +.mt-\[-100px\] { + margin-top: -100px !important; +} +.mt-\[-140px\] { + margin-top: -140px !important; +} +.mt-\[2px\] { + margin-top: 2px !important; +} +.mr-7 { + margin-right: 3rem !important; +} +.mr-9 { + margin-right: 4.5rem !important; +} +.-mt-8 { + margin-top: -4rem !important; +} +.ml-\[15\%\] { + margin-left: 15% !important; +} +.-mt-6 { + margin-top: -2rem !important; +} +.\!mb-2 { + margin-bottom: 0.5rem !important; +} +.mb-px { + margin-bottom: 1px !important; +} +.\!ml-5 { + margin-left: 1.5rem !important; +} +.mb-12 { + margin-bottom: 12rem !important; +} +.ml-10 { + margin-left: 6rem !important; +} +.-ml-3 { + margin-left: -0.75rem !important; +} +.mt-\[10px\] { + margin-top: 10px !important; +} +.mb-\[73px\] { + margin-bottom: 73px !important; +} +.mb-\[48px\] { + margin-bottom: 48px !important; +} +.mb-\[28px\] { + margin-bottom: 28px !important; +} +.mb-\[18px\] { + margin-bottom: 18px !important; +} +.box-border { + box-sizing: border-box !important; +} +.block, +.\!block { + display: block !important; +} +.inline-block { + display: inline-block !important; +} +.inline { + display: inline !important; +} +.flex, +.\!flex { + display: flex !important; +} +.inline-flex { + display: inline-flex !important; +} +.table, +.\!table { + display: table !important; +} +.grid { + display: grid !important; +} +.hidden { + display: none !important; +} +.aspect-\[1\.775\] { + aspect-ratio: 1.775 !important; +} +.aspect-\[4\/3\] { + aspect-ratio: 4/3 !important; +} +.aspect-\[21\/9\] { + aspect-ratio: 21/9 !important; +} +.aspect-\[2\.05\/1\] { + aspect-ratio: 2.05/1 !important; +} +.aspect-\[1\.9\/1\] { + aspect-ratio: 1.9/1 !important; +} +.aspect-\[0\.8\/1\] { + aspect-ratio: 0.8/1 !important; +} +.aspect-square { + aspect-ratio: 1 / 1 !important; +} +.h-full { + height: 100% !important; +} +.h-3 { + height: 0.75rem !important; +} +.h-8 { + height: 4rem !important; +} +.h-6 { + height: 2rem !important; +} +.h-5 { + height: 1.5rem !important; +} +.h-9 { + height: 4.5rem !important; +} +.h-1\/2 { + height: 50% !important; +} +.h-\[208px\] { + height: 208px !important; +} +.h-\[1px\] { + height: 1px !important; +} +.h-7 { + height: 3rem !important; +} +.h-\[240px\] { + height: 240px !important; +} +.h-\[80px\] { + height: 80px !important; +} +.h-screen { + height: 100vh !important; +} +.h-10 { + height: 6rem !important; +} +.h-2 { + height: 0.5rem !important; +} +.h-\[56px\] { + height: 56px !important; +} +.h-1 { + height: 0.25rem !important; +} +.h-auto { + height: auto !important; +} +.h-\[24px\] { + height: 24px !important; +} +.h-\[3px\] { + height: 3px !important; +} +.h-\[144px\] { + height: 144px !important; +} +.h-\[320px\] { + height: 320px !important; +} +.h-11 { + height: 8rem !important; +} +.h-\[168px\] { + height: 168px !important; +} +.h-\[15px\] { + height: 15px !important; +} +.h-\[20px\] { + height: 20px !important; +} +.h-\[25px\] { + height: 25px !important; +} +.h-\[27px\] { + height: 27px !important; +} +.h-\[24\.5px\] { + height: 24.5px !important; +} +.h-\[151px\] { + height: 151px !important; +} +.h-\[72px\] { + height: 72px !important; +} +.h-\[45rem\] { + height: 45rem !important; +} +.h-\[40px\] { + height: 40px !important; +} +.h-\[69px\] { + height: 69px !important; +} +.h-\[121px\] { + height: 121px !important; +} +.h-\[270px\] { + height: 270px !important; +} +.h-\[122px\] { + height: 122px !important; +} +.h-\[86px\] { + height: 86px !important; +} +.\!h-full { + height: 100% !important; +} +.h-\[12\.5rem\] { + height: 12.5rem !important; +} +.h-4 { + height: 1rem !important; +} +.h-\[14rem\] { + height: 14rem !important; +} +.h-\[11\.5rem\] { + height: 11.5rem !important; +} +.h-\[9\.25rem\] { + height: 9.25rem !important; +} +.h-\[11rem\] { + height: 11rem !important; +} +.h-\[64px\] { + height: 64px !important; +} +.h-px { + height: 1px !important; +} +.h-0 { + height: 0 !important; +} +.h-\[7\.5rem\] { + height: 7.5rem !important; +} +.h-13 { + height: 16rem !important; +} +.h-15 { + height: 32rem !important; +} +.h-\[8rem\] { + height: 8rem !important; +} +.h-\[5rem\] { + height: 5rem !important; +} +.h-\[640px\] { + height: 640px !important; +} +.h-\[1\.25rem\] { + height: 1.25rem !important; +} +.h-\[420px\] { + height: 420px !important; +} +.h-\[4rem\] { + height: 4rem !important; +} +.h-\[231px\] { + height: 231px !important; +} +.h-\[181px\] { + height: 181px !important; +} +.h-\[9rem\] { + height: 9rem !important; +} +.h-\[52px\] { + height: 52px !important; +} +.h-\[120px\] { + height: 120px !important; +} +.h-\[calc\(100vh\+56px\)\] { + height: calc(100vh + 56px) !important; +} +.h-\[calc\(100\%-56px\)\] { + height: calc(100% - 56px) !important; +} +.h-\[116px\] { + height: 116px !important; +} +.h-\[180px\] { + height: 180px !important; +} +.h-\[90px\] { + height: 90px !important; +} +.h-\[188px\] { + height: 188px !important; +} +.h-\[185px\] { + height: 185px !important; +} +.h-\[115px\] { + height: 115px !important; +} +.h-\[55px\] { + height: 55px !important; +} +.h-\[113px\] { + height: 113px !important; +} +.h-\[calc\(50\%-2px\)\] { + height: calc(50% - 2px) !important; +} +.h-\[170px\] { + height: 170px !important; +} +.h-\[132px\] { + height: 132px !important; +} +.h-fit { + height: -webkit-fit-content !important; + height: -moz-fit-content !important; + height: fit-content !important; +} +.h-\[282px\] { + height: 282px !important; +} +.h-\[306px\] { + height: 306px !important; +} +.h-\[104px\] { + height: 104px !important; +} +.h-\[88px\] { + height: 88px !important; +} +.\!h-auto { + height: auto !important; +} +.h-\[260px\] { + height: 260px !important; +} +.h-\[131px\] { + height: 131px !important; +} +.h-\[21px\] { + height: 21px !important; +} +.h-\[228px\] { + height: 228px !important; +} +.h-\[4\.5rem\] { + height: 4.5rem !important; +} +.h-\[66px\] { + height: 66px !important; +} +.h-\[94px\] { + height: 94px !important; +} +.h-\[594px\] { + height: 594px !important; +} +.h-\[92px\] { + height: 92px !important; +} +.h-12 { + height: 12rem !important; +} +.h-\[6rem\] { + height: 6rem !important; +} +.h-\[10px\] { + height: 10px !important; +} +.h-\[18px\] { + height: 18px !important; +} +.h-\[280px\] { + height: 280px !important; +} +.h-\[255px\] { + height: 255px !important; +} +.h-\[140px\] { + height: 140px !important; +} +.h-\[562px\] { + height: 562px !important; +} +.h-\[32px\] { + height: 32px !important; +} +.h-\[156px\] { + height: 156px !important; +} +.h-\[112px\] { + height: 112px !important; +} +.h-\[204px\] { + height: 204px !important; +} +.h-\[5\.5rem\] { + height: 5.5rem !important; +} +.h-\[2\.5rem\] { + height: 2.5rem !important; +} +.h-\[calc\(100\%-160px\)\] { + height: calc(100% - 160px) !important; +} +.\!h-5 { + height: 1.5rem !important; +} +.h-\[200px\] { + height: 200px !important; +} +.h-\[28px\] { + height: 28px !important; +} +.h-\[48px\] { + height: 48px !important; +} +.h-\[37px\] { + height: 37px !important; +} +.h-\[360px\] { + height: 360px !important; +} +.h-\[250px\] { + height: 250px !important; +} +.h-\[330px\] { + height: 330px !important; +} +.h-\[2px\] { + height: 2px !important; +} +.h-max { + height: -webkit-max-content !important; + height: -moz-max-content !important; + height: max-content !important; +} +.h-\[464px\] { + height: 464px !important; +} +.h-\[6px\] { + height: 6px !important; +} +.h-\[16px\] { + height: 16px !important; +} +.\!h-\[33px\] { + height: 33px !important; +} +.h-\[100\%\] { + height: 100% !important; +} +.h-\[75vh\] { + height: 75vh !important; +} +.h-\[136px\] { + height: 136px !important; +} +.h-\[212px\] { + height: 212px !important; +} +.h-\[284px\] { + height: 284px !important; +} +.h-\[410px\] { + height: 410px !important; +} +.h-\[450px\] { + height: 450px !important; +} +.h-\[500px\] { + height: 500px !important; +} +.h-\[236px\] { + height: 236px !important; +} +.\!h-\[276px\] { + height: 276px !important; +} +.h-\[305px\] { + height: 305px !important; +} +.h-\[380px\] { + height: 380px !important; +} +.h-\[60px\] { + height: 60px !important; +} +.h-\[110px\] { + height: 110px !important; +} +.h-\[298px\] { + height: 298px !important; +} +.h-\[90\%\] { + height: 90% !important; +} +.h-\[87px\] { + height: 87px !important; +} +.h-\[129px\] { + height: 129px !important; +} +.h-\[85\%\] { + height: 85% !important; +} +.h-\[265px\] { + height: 265px !important; +} +.h-\[83\%\] { + height: 83% !important; +} +.h-\[307px\] { + height: 307px !important; +} +.h-\[296px\] { + height: 296px !important; +} +.h-\[72\%\] { + height: 72% !important; +} +.h-14 { + height: 24rem !important; +} +.h-\[26px\] { + height: 26px !important; +} +.h-\[3\.5rem\] { + height: 3.5rem !important; +} +.h-\[85vh\] { + height: 85vh !important; +} +.h-\[30px\] { + height: 30px !important; +} +.h-\[50vh\] { + height: 50vh !important; +} +.h-\[650px\] { + height: 650px !important; +} +.h-\[165px\] { + height: 165px !important; +} +.h-\[78px\] { + height: 78px !important; +} +.h-\[253px\] { + height: 253px !important; +} +.h-\[3rem\] { + height: 3rem !important; +} +.h-\[1\.75rem\] { + height: 1.75rem !important; +} +.h-\[100px\] { + height: 100px !important; +} +.h-\[97px\] { + height: 97px !important; +} +.h-\[93px\] { + height: 93px !important; +} +.h-\[32rem\] { + height: 32rem !important; +} +.h-\[700px\] { + height: 700px !important; +} +.h-\[150px\] { + height: 150px !important; +} +.h-\[234px\] { + height: 234px !important; +} +.h-\[50px\] { + height: 50px !important; +} +.h-\[106px\] { + height: 106px !important; +} +.max-h-\[244px\] { + max-height: 244px !important; +} +.max-h-\[400px\] { + max-height: 400px !important; +} +.max-h-\[98\%\] { + max-height: 98% !important; +} +.max-h-\[352px\] { + max-height: 352px !important; +} +.max-h-full { + max-height: 100% !important; +} +.max-h-\[460px\] { + max-height: 460px !important; +} +.max-h-\[116px\] { + max-height: 116px !important; +} +.max-h-\[52px\] { + max-height: 52px !important; +} +.max-h-\[188px\] { + max-height: 188px !important; +} +.max-h-\[512px\] { + max-height: 512px !important; +} +.max-h-\[113px\] { + max-height: 113px !important; +} +.max-h-\[calc\(100\%-26px\)\] { + max-height: calc(100% - 26px) !important; +} +.max-h-screen, +.max-h-\[100vh\] { + max-height: 100vh !important; +} +.max-h-\[16\.5rem\] { + max-height: 16.5rem !important; +} +.max-h-\[calc\(100vh-400px\)\] { + max-height: calc(100vh - 400px) !important; +} +.max-h-\[25rem\] { + max-height: 25rem !important; +} +.max-h-\[20rem\] { + max-height: 20rem !important; +} +.max-h-\[300px\] { + max-height: 300px !important; +} +.max-h-\[270px\] { + max-height: 270px !important; +} +.\!max-h-\[33px\] { + max-height: 33px !important; +} +.max-h-\[452px\] { + max-height: 452px !important; +} +.max-h-\[500px\] { + max-height: 500px !important; +} +.max-h-\[480px\] { + max-height: 480px !important; +} +.max-h-\[284px\] { + max-height: 284px !important; +} +.max-h-\[380px\] { + max-height: 380px !important; +} +.max-h-\[450px\] { + max-height: 450px !important; +} +.max-h-\[186px\] { + max-height: 186px !important; +} +.max-h-\[226px\] { + max-height: 226px !important; +} +.max-h-\[85vh\] { + max-height: 85vh !important; +} +.max-h-\[24rem\] { + max-height: 24rem !important; +} +.max-h-\[600px\] { + max-height: 600px !important; +} +.min-h-\[2rem\] { + min-height: 2rem !important; +} +.min-h-\[1\.5rem\] { + min-height: 1.5rem !important; +} +.min-h-\[100vh\], +.min-h-screen { + min-height: 100vh !important; +} +.min-h-\[104px\] { + min-height: 104px !important; +} +.min-h-\[135px\] { + min-height: 135px !important; +} +.min-h-\[auto\] { + min-height: auto !important; +} +.min-h-\[516px\] { + min-height: 516px !important; +} +.min-h-\[64px\] { + min-height: 64px !important; +} +.min-h-\[90px\] { + min-height: 90px !important; +} +.min-h-\[55px\] { + min-height: 55px !important; +} +.min-h-\[132px\] { + min-height: 132px !important; +} +.\!min-h-\[32px\] { + min-height: 32px !important; +} +.min-h-\[270px\] { + min-height: 270px !important; +} +.min-h-\[400px\] { + min-height: 400px !important; +} +.min-h-\[16\.5rem\] { + min-height: 16.5rem !important; +} +.min-h-\[11\.5rem\] { + min-height: 11.5rem !important; +} +.min-h-\[48px\] { + min-height: 48px !important; +} +.min-h-0 { + min-height: 0px !important; +} +.min-h-\[230px\] { + min-height: 230px !important; +} +.\!min-h-\[33px\] { + min-height: 33px !important; +} +.min-h-\[120px\] { + min-height: 120px !important; +} +.min-h-\[295px\] { + min-height: 295px !important; +} +.\!min-h-\[288px\] { + min-height: 288px !important; +} +.min-h-\[60px\] { + min-height: 60px !important; +} +.min-h-\[360px\] { + min-height: 360px !important; +} +.min-h-full { + min-height: 100% !important; +} +.min-h-\[355px\] { + min-height: 355px !important; +} +.min-h-\[3\.5rem\] { + min-height: 3.5rem !important; +} +.min-h-\[160px\] { + min-height: 160px !important; +} +.min-h-\[7rem\] { + min-height: 7rem !important; +} +.w-full { + width: 100% !important; +} +.w-\[288px\] { + width: 288px !important; +} +.w-\[200px\] { + width: 200px !important; +} +.w-10 { + width: 6rem !important; +} +.w-3 { + width: 0.75rem !important; +} +.w-12 { + width: 12rem !important; +} +.w-5 { + width: 1.5rem !important; +} +.w-\[280px\] { + width: 280px !important; +} +.w-9 { + width: 4.5rem !important; +} +.w-8 { + width: 4rem !important; +} +.w-7 { + width: 3rem !important; +} +.w-6 { + width: 2rem !important; +} +.w-\[80px\] { + width: 80px !important; +} +.w-fit { + width: -webkit-fit-content !important; + width: -moz-fit-content !important; + width: fit-content !important; +} +.w-\[80\%\] { + width: 80% !important; +} +.w-11 { + width: 8rem !important; +} +.w-auto { + width: auto !important; +} +.w-14 { + width: 24rem !important; +} +.w-max { + width: -webkit-max-content !important; + width: -moz-max-content !important; + width: max-content !important; +} +.w-\[17\.5rem\] { + width: 17.5rem !important; +} +.w-15 { + width: 32rem !important; +} +.w-\[18rem\] { + width: 18rem !important; +} +.w-\[12rem\] { + width: 12rem !important; +} +.w-2 { + width: 0.5rem !important; +} +.w-\[328px\] { + width: 328px !important; +} +.w-\[1px\] { + width: 1px !important; +} +.w-\[30px\] { + width: 30px !important; +} +.w-1 { + width: 0.25rem !important; +} +.w-\[31px\] { + width: 31px !important; +} +.w-\[42px\] { + width: 42px !important; +} +.w-11\/12 { + width: 91.666667% !important; +} +.w-1\/2 { + width: 50% !important; +} +.w-\[170px\] { + width: 170px !important; +} +.w-\[322px\] { + width: 322px !important; +} +.w-\[17\.75rem\] { + width: 17.75rem !important; +} +.w-\[196px\] { + width: 196px !important; +} +.w-\[156px\] { + width: 156px !important; +} +.\!w-7 { + width: 3rem !important; +} +.\!w-6 { + width: 2rem !important; +} +.w-2\/3 { + width: 66.666667% !important; +} +.w-\[180px\] { + width: 180px !important; +} +.w-\[150px\] { + width: 150px !important; +} +.w-\[88px\] { + width: 88px !important; +} +.w-13 { + width: 16rem !important; +} +.w-4 { + width: 1rem !important; +} +.w-\[8\.75rem\] { + width: 8.75rem !important; +} +.w-4\/6 { + width: 66.666667% !important; +} +.w-\[7\.5rem\] { + width: 7.5rem !important; +} +.w-1\/3 { + width: 33.333333% !important; +} +.w-\[20px\] { + width: 20px !important; +} +.w-16 { + width: 40rem !important; +} +.w-3\/5 { + width: 60% !important; +} +.w-\[5rem\] { + width: 5rem !important; +} +.w-\[40px\] { + width: 40px !important; +} +.w-\[360px\] { + width: 360px !important; +} +.w-\[284px\] { + width: 284px !important; +} +.w-\[20\.5rem\] { + width: 20.5rem !important; +} +.w-\[6\.25rem\] { + width: 6.25rem !important; +} +.w-\[10rem\] { + width: 10rem !important; +} +.w-\[65\%\] { + width: 65% !important; +} +.w-2\/5 { + width: 40% !important; +} +.w-\[4rem\] { + width: 4rem !important; +} +.w-\[15rem\] { + width: 15rem !important; +} +.w-\[11rem\] { + width: 11rem !important; +} +.w-\[56px\] { + width: 56px !important; +} +.w-\[120px\] { + width: 120px !important; +} +.w-screen { + width: 100vw !important; +} +.w-\[calc\(100\%\+48px\)\] { + width: calc(100% + 48px) !important; +} +.w-\[208px\] { + width: 208px !important; +} +.w-\[calc\(100\%-224px\)\] { + width: calc(100% - 224px) !important; +} +.w-\[calc\(50\%-2px\)\] { + width: calc(50% - 2px) !important; +} +.w-\[calc\(100\%\+32px\)\] { + width: calc(100% + 32px) !important; +} +.w-\[160px\] { + width: 160px !important; +} +.\!w-\[180px\] { + width: 180px !important; +} +.w-\[calc\(50\%-4px\)\] { + width: calc(50% - 4px) !important; +} +.w-\[6\.5rem\] { + width: 6.5rem !important; +} +.w-\[90\%\] { + width: 90% !important; +} +.w-1\/5 { + width: 20% !important; +} +.w-0 { + width: 0 !important; +} +.w-\[100vw\] { + width: 100vw !important; +} +.w-\[94px\] { + width: 94px !important; +} +.w-\[504px\] { + width: 504px !important; +} +.w-\[87px\] { + width: 87px !important; +} +.w-\[89px\] { + width: 89px !important; +} +.w-\[21px\] { + width: 21px !important; +} +.w-\[105px\] { + width: 105px !important; +} +.w-\[25rem\] { + width: 25rem !important; +} +.w-min { + width: -webkit-min-content !important; + width: -moz-min-content !important; + width: min-content !important; +} +.w-\[300px\] { + width: 300px !important; +} +.w-\[255px\] { + width: 255px !important; +} +.w-\[6rem\] { + width: 6rem !important; +} +.w-\[104px\] { + width: 104px !important; +} +.w-\[5px\] { + width: 5px !important; +} +.w-\[270px\] { + width: 270px !important; +} +.w-\[24px\] { + width: 24px !important; +} +.w-\[21rem\] { + width: 21rem !important; +} +.w-4\/5 { + width: 80% !important; +} +.w-2\/4 { + width: 50% !important; +} +.w-\[10\%\] { + width: 10% !important; +} +.w-1\/4 { + width: 25% !important; +} +.w-\[275px\] { + width: 275px !important; +} +.w-\[52px\] { + width: 52px !important; +} +.w-\[126px\] { + width: 126px !important; +} +.w-\[171px\] { + width: 171px !important; +} +.w-\[286px\] { + width: 286px !important; +} +.\!w-full { + width: 100% !important; +} +.w-\[9rem\] { + width: 9rem !important; +} +.\!w-5 { + width: 1.5rem !important; +} +.w-\[58px\] { + width: 58px !important; +} +.w-\[230px\] { + width: 230px !important; +} +.w-\[214px\] { + width: 214px !important; +} +.w-\[140px\] { + width: 140px !important; +} +.w-\[17rem\] { + width: 17rem !important; +} +.w-3\/4 { + width: 75% !important; +} +.w-5\/6 { + width: 83.333333% !important; +} +.w-\[224px\] { + width: 224px !important; +} +.w-\[242px\] { + width: 242px !important; +} +.\!w-\[224px\] { + width: 224px !important; +} +.w-\[28px\] { + width: 28px !important; +} +.w-\[137px\] { + width: 137px !important; +} +.w-\[157px\] { + width: 157px !important; +} +.w-\[96px\] { + width: 96px !important; +} +.w-\[456px\] { + width: 456px !important; +} +.w-\[16px\] { + width: 16px !important; +} +.w-\[3px\] { + width: 3px !important; +} +.w-\[256px\] { + width: 256px !important; +} +.w-\[calc\(50\%-8px\)\] { + width: calc(50% - 8px) !important; +} +.w-\[calc\(35\%-24px\)\] { + width: calc(35% - 24px) !important; +} +.w-\[calc\(35\%-26px\)\] { + width: calc(35% - 26px) !important; +} +.w-\[225px\] { + width: 225px !important; +} +.w-\[325px\] { + width: 325px !important; +} +.w-\[333px\] { + width: 333px !important; +} +.w-\[357px\] { + width: 357px !important; +} +.w-\[396px\] { + width: 396px !important; +} +.w-\[227\.2px\] { + width: 227.2px !important; +} +.w-\[244px\] { + width: 244px !important; +} +.w-\[304px\] { + width: 304px !important; +} +.w-\[512px\] { + width: 512px !important; +} +.w-\[264px\] { + width: 264px !important; +} +.w-\[106px\] { + width: 106px !important; +} +.w-\[103px\] { + width: 103px !important; +} +.w-\[101px\] { + width: 101px !important; +} +.w-\[146px\] { + width: 146px !important; +} +.w-7\/12 { + width: 58.333333% !important; +} +.w-\[231px\] { + width: 231px !important; +} +.w-\[60px\] { + width: 60px !important; +} +.w-\[100px\] { + width: 100px !important; +} +.w-10\/12 { + width: 83.333333% !important; +} +.w-\[159px\] { + width: 159px !important; +} +.w-\[221px\] { + width: 221px !important; +} +.w-\[165px\] { + width: 165px !important; +} +.w-\[131px\] { + width: 131px !important; +} +.w-\[72px\] { + width: 72px !important; +} +.w-\[405px\] { + width: 405px !important; +} +.w-\[22px\] { + width: 22px !important; +} +.w-\[5\.5rem\] { + width: 5.5rem !important; +} +.w-\[240px\] { + width: 240px !important; +} +.w-\[238px\] { + width: 238px !important; +} +.w-\[86px\] { + width: 86px !important; +} +.w-\[119px\] { + width: 119px !important; +} +.w-\[102px\] { + width: 102px !important; +} +.w-\[600px\] { + width: 600px !important; +} +.w-\[2\.5rem\] { + width: 2.5rem !important; +} +.w-\[8rem\] { + width: 8rem !important; +} +.w-\[8\.5rem\] { + width: 8.5rem !important; +} +.w-\[22\.5rem\] { + width: 22.5rem !important; +} +.w-\[254px\] { + width: 254px !important; +} +.w-\[130px\] { + width: 130px !important; +} +.w-\[189px\] { + width: 189px !important; +} +.w-\[48px\] { + width: 48px !important; +} +.w-\[55px\] { + width: 55px !important; +} +.w-\[16rem\] { + width: 16rem !important; +} +.w-\[13rem\] { + width: 13rem !important; +} +.w-\[7rem\] { + width: 7rem !important; +} +.w-\[163px\] { + width: 163px !important; +} +.w-\[552px\] { + width: 552px !important; +} +.min-w-0 { + min-width: 0px !important; +} +.min-w-\[5rem\] { + min-width: 5rem !important; +} +.min-w-\[1\.75rem\] { + min-width: 1.75rem !important; +} +.min-w-\[60px\] { + min-width: 60px !important; +} +.min-w-\[70px\] { + min-width: 70px !important; +} +.min-w-\[384px\] { + min-width: 384px !important; +} +.min-w-\[295px\] { + min-width: 295px !important; +} +.min-w-\[6rem\] { + min-width: 6rem !important; +} +.min-w-\[64px\] { + min-width: 64px !important; +} +.min-w-\[124px\] { + min-width: 124px !important; +} +.min-w-\[208px\] { + min-width: 208px !important; +} +.min-w-\[85vw\] { + min-width: 85vw !important; +} +.min-w-\[24px\] { + min-width: 24px !important; +} +.\!min-w-\[144px\] { + min-width: 144px !important; +} +.min-w-\[185px\] { + min-width: 185px !important; +} +.min-w-\[48px\] { + min-width: 48px !important; +} +.min-w-fit { + min-width: -webkit-fit-content !important; + min-width: -moz-fit-content !important; + min-width: fit-content !important; +} +.min-w-\[100px\] { + min-width: 100px !important; +} +.min-w-full { + min-width: 100% !important; +} +.\!min-w-\[168px\] { + min-width: 168px !important; +} +.\!min-w-\[138px\] { + min-width: 138px !important; +} +.min-w-\[328px\] { + min-width: 328px !important; +} +.min-w-\[90px\] { + min-width: 90px !important; +} +.min-w-max { + min-width: -webkit-max-content !important; + min-width: -moz-max-content !important; + min-width: max-content !important; +} +.min-w-\[260px\] { + min-width: 260px !important; +} +.min-w-\[250px\] { + min-width: 250px !important; +} +.min-w-\[50px\] { + min-width: 50px !important; +} +.min-w-\[313px\] { + min-width: 313px !important; +} +.min-w-\[175px\] { + min-width: 175px !important; +} +.min-w-\[21rem\] { + min-width: 21rem !important; +} +.min-w-\[9rem\] { + min-width: 9rem !important; +} +.min-w-\[246px\] { + min-width: 246px !important; +} +.min-w-\[16rem\] { + min-width: 16rem !important; +} +.min-w-\[150px\] { + min-width: 150px !important; +} +.min-w-\[144px\] { + min-width: 144px !important; +} +.min-w-\[192px\] { + min-width: 192px !important; +} +.min-w-\[220px\] { + min-width: 220px !important; +} +.min-w-\[56px\] { + min-width: 56px !important; +} +.min-w-\[10rem\] { + min-width: 10rem !important; +} +.min-w-\[3\.5rem\] { + min-width: 3.5rem !important; +} +.\!min-w-\[174px\] { + min-width: 174px !important; +} +.min-w-\[944px\] { + min-width: 944px !important; +} +.min-w-\[88px\] { + min-width: 88px !important; +} +.min-w-\[252px\] { + min-width: 252px !important; +} +.min-w-\[184px\] { + min-width: 184px !important; +} +.min-w-\[160px\] { + min-width: 160px !important; +} +.min-w-\[130px\] { + min-width: 130px !important; +} +.min-w-\[96px\] { + min-width: 96px !important; +} +.min-w-\[204px\] { + min-width: 204px !important; +} +.max-w-\[91\.25rem\] { + max-width: 91.25rem !important; +} +.max-w-\[200px\] { + max-width: 200px !important; +} +.max-w-\[300px\] { + max-width: 300px !important; +} +.max-w-\[296px\] { + max-width: 296px !important; +} +.max-w-\[56rem\] { + max-width: 56rem !important; +} +.max-w-\[640px\] { + max-width: 640px !important; +} +.max-w-\[1440px\] { + max-width: 1440px !important; +} +.max-w-3xl { + max-width: 48rem !important; +} +.max-w-md { + max-width: 28rem !important; +} +.max-w-\[57\.5rem\] { + max-width: 57.5rem !important; +} +.max-w-xs { + max-width: 20rem !important; +} +.max-w-\[145px\] { + max-width: 145px !important; +} +.max-w-full { + max-width: 100% !important; +} +.max-w-\[7\.5rem\] { + max-width: 7.5rem !important; +} +.max-w-\[260px\] { + max-width: 260px !important; +} +.max-w-\[32rem\] { + max-width: 32rem !important; +} +.max-w-sm { + max-width: 24rem !important; +} +.max-w-\[4rem\] { + max-width: 4rem !important; +} +.max-w-\[448px\] { + max-width: 448px !important; +} +.max-w-\[calc\(100vw-32px\)\] { + max-width: calc(100vw - 32px) !important; +} +.max-w-\[401px\] { + max-width: 401px !important; +} +.max-w-\[9rem\] { + max-width: 9rem !important; +} +.\!max-w-none { + max-width: none !important; +} +.\!max-w-full { + max-width: 100% !important; +} +.max-w-\[calc\(100\%\+32px\)\] { + max-width: calc(100% + 32px) !important; +} +.max-w-\[135px\] { + max-width: 135px !important; +} +.max-w-\[262px\] { + max-width: 262px !important; +} +.max-w-\[5rem\] { + max-width: 5rem !important; +} +.max-w-\[360px\] { + max-width: 360px !important; +} +.max-w-\[226px\] { + max-width: 226px !important; +} +.max-w-\[210px\] { + max-width: 210px !important; +} +.max-w-\[180px\] { + max-width: 180px !important; +} +.max-w-\[328px\] { + max-width: 328px !important; +} +.max-w-\[754px\] { + max-width: 754px !important; +} +.max-w-\[21rem\] { + max-width: 21rem !important; +} +.max-w-5xl { + max-width: 64rem !important; +} +.max-w-\[324px\] { + max-width: 324px !important; +} +.max-w-\[276px\] { + max-width: 276px !important; +} +.max-w-\[650px\] { + max-width: 650px !important; +} +.max-w-\[36rem\] { + max-width: 36rem !important; +} +.max-w-\[30rem\] { + max-width: 30rem !important; +} +.max-w-\[10rem\] { + max-width: 10rem !important; +} +.max-w-\[30ch\] { + max-width: 30ch !important; +} +.max-w-\[28ch\] { + max-width: 28ch !important; +} +.max-w-\[82ch\] { + max-width: 82ch !important; +} +.max-w-\[78ch\] { + max-width: 78ch !important; +} +.max-w-\[44rem\] { + max-width: 44rem !important; +} +.max-w-\[19\.475rem\] { + max-width: 19.475rem !important; +} +.max-w-\[580px\] { + max-width: 580px !important; +} +.max-w-\[27ch\] { + max-width: 27ch !important; +} +.max-w-\[16\.25rem\] { + max-width: 16.25rem !important; +} +.max-w-\[54rem\] { + max-width: 54rem !important; +} +.max-w-\[8\.5rem\] { + max-width: 8.5rem !important; +} +.max-w-\[91rem\] { + max-width: 91rem !important; +} +.max-w-\[600px\] { + max-width: 600px !important; +} +.max-w-\[692px\] { + max-width: 692px !important; +} +.max-w-\[31rem\] { + max-width: 31rem !important; +} +.max-w-\[40\%\] { + max-width: 40% !important; +} +.max-w-\[456px\] { + max-width: 456px !important; +} +.max-w-none { + max-width: none !important; +} +.max-w-\[992px\] { + max-width: 992px !important; +} +.max-w-\[944px\] { + max-width: 944px !important; +} +.max-w-\[1152px\] { + max-width: 1152px !important; +} +.max-w-\[256px\] { + max-width: 256px !important; +} +.max-w-\[396\] { + max-width: 396 !important; +} +.max-w-\[396px\] { + max-width: 396px !important; +} +.max-w-\[357px\] { + max-width: 357px !important; +} +.max-w-\[460px\] { + max-width: 460px !important; +} +.max-w-\[480px\] { + max-width: 480px !important; +} +.max-w-\[320px\] { + max-width: 320px !important; +} +.max-w-\[512px\] { + max-width: 512px !important; +} +.max-w-\[280px\] { + max-width: 280px !important; +} +.max-w-\[900px\] { + max-width: 900px !important; +} +.max-w-\[588px\] { + max-width: 588px !important; +} +.max-w-\[884px\] { + max-width: 884px !important; +} +.max-w-fit { + max-width: -webkit-fit-content !important; + max-width: -moz-fit-content !important; + max-width: fit-content !important; +} +.max-w-\[120px\] { + max-width: 120px !important; +} +.max-w-lg { + max-width: 32rem !important; +} +.max-w-\[835px\] { + max-width: 835px !important; +} +.max-w-\[20rem\] { + max-width: 20rem !important; +} +.max-w-xl { + max-width: 36rem !important; +} +.max-w-\[769px\] { + max-width: 769px !important; +} +.max-w-\[212px\] { + max-width: 212px !important; +} +.max-w-\[22\.5rem\] { + max-width: 22.5rem !important; +} +.flex-1 { + flex: 1 1 0% !important; +} +.flex-none { + flex: none !important; +} +.flex-\[3\] { + flex: 3 !important; +} +.flex-auto { + flex: 1 1 auto !important; +} +.flex-shrink-0 { + flex-shrink: 0 !important; +} +.flex-shrink { + flex-shrink: 1 !important; +} +.shrink-0 { + flex-shrink: 0 !important; +} +.shrink { + flex-shrink: 1 !important; +} +.shrink-\[10\] { + flex-shrink: 10 !important; +} +.flex-grow { + flex-grow: 1 !important; +} +.flex-grow-0 { + flex-grow: 0 !important; +} +.grow { + flex-grow: 1 !important; +} +.basis-\[69px\] { + flex-basis: 69px !important; +} +.basis-4 { + flex-basis: 1rem !important; +} +.basis-2 { + flex-basis: 0.5rem !important; +} +.basis-\[80\%\] { + flex-basis: 80% !important; +} +.basis-full { + flex-basis: 100% !important; +} +.basis-1\/3 { + flex-basis: 33.333333% !important; +} +.basis-auto { + flex-basis: auto !important; +} +.basis-\[40\%\] { + flex-basis: 40% !important; +} +.table-auto { + table-layout: auto !important; +} +.table-fixed { + table-layout: fixed !important; +} +.border-collapse { + border-collapse: collapse !important; +} +.origin-left { + transform-origin: left !important; +} +.origin-top-right { + transform-origin: top right !important; +} +.origin-right { + transform-origin: right !important; +} +.origin-top { + transform-origin: top !important; +} +.origin-center { + transform-origin: center !important; +} +.translate-x-1\/2 { + --tw-translate-x: 50% !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.-translate-y-1\/2 { + --tw-translate-y: -50% !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.-translate-y-8 { + --tw-translate-y: -4rem !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.-translate-x-1\/2 { + --tw-translate-x: -50% !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.translate-y-\[calc\(100\%-56px\)\] { + --tw-translate-y: calc(100% - 56px) !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.translate-y-1\/2 { + --tw-translate-y: 50% !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.translate-y-3 { + --tw-translate-y: 0.75rem !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.-translate-y-\[112px\] { + --tw-translate-y: -112px !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.translate-y-full { + --tw-translate-y: 100% !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.translate-y-0 { + --tw-translate-y: 0 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.rotate-180 { + --tw-rotate: 180deg !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.rotate-90 { + --tw-rotate: 90deg !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.-rotate-90 { + --tw-rotate: -90deg !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.scale-100 { + --tw-scale-x: 1 !important; + --tw-scale-y: 1 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.scale-0 { + --tw-scale-x: 0 !important; + --tw-scale-y: 0 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.scale-\[2\] { + --tw-scale-x: 2 !important; + --tw-scale-y: 2 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.scale-150 { + --tw-scale-x: 1.5 !important; + --tw-scale-y: 1.5 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.scale-\[0\] { + --tw-scale-x: 0 !important; + --tw-scale-y: 0 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.scale-y-110 { + --tw-scale-y: 1.1 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.scale-x-0 { + --tw-scale-x: 0 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.scale-y-0 { + --tw-scale-y: 0 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.scale-y-105 { + --tw-scale-y: 1.05 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.scale-x-105 { + --tw-scale-x: 1.05 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.transform { + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +.cursor-pointer { + cursor: pointer !important; +} +.cursor-not-allowed { + cursor: not-allowed !important; +} +.cursor-ns-resize { + cursor: ns-resize !important; +} +.cursor-move { + cursor: move !important; +} +.touch-pan-x { + --tw-pan-x: pan-x !important; + touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom) !important; +} +.select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} +.resize-none { + resize: none !important; +} +.resize { + resize: both !important; +} +.list-inside { + list-style-position: inside !important; +} +.list-none { + list-style-type: none !important; +} +.columns-2 { + -moz-columns: 2 !important; + columns: 2 !important; +} +.columns-1 { + -moz-columns: 1 !important; + columns: 1 !important; +} +.grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)) !important; +} +.grid-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)) !important; +} +.grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)) !important; +} +.grid-cols-\[repeat\(2\,_1fr\)\] { + grid-template-columns: repeat(2, 1fr) !important; +} +.grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)) !important; +} +.grid-cols-6 { + grid-template-columns: repeat(6, minmax(0, 1fr)) !important; +} +.grid-cols-7 { + grid-template-columns: repeat(7, minmax(0, 1fr)) !important; +} +.grid-rows-5 { + grid-template-rows: repeat(5, minmax(0, 1fr)) !important; +} +.grid-rows-3 { + grid-template-rows: repeat(3, minmax(0, 1fr)) !important; +} +.grid-rows-2 { + grid-template-rows: repeat(2, minmax(0, 1fr)) !important; +} +.flex-row, +.\!flex-row { + flex-direction: row !important; +} +.flex-row-reverse { + flex-direction: row-reverse !important; +} +.flex-col { + flex-direction: column !important; +} +.flex-col-reverse { + flex-direction: column-reverse !important; +} +.flex-wrap { + flex-wrap: wrap !important; +} +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} +.flex-nowrap { + flex-wrap: nowrap !important; +} +.place-items-center { + place-items: center !important; +} +.content-center { + align-content: center !important; +} +.content-between { + align-content: space-between !important; +} +.content-baseline { + align-content: baseline !important; +} +.items-start, +.\!items-start { + align-items: flex-start !important; +} +.items-end { + align-items: flex-end !important; +} +.items-center { + align-items: center !important; +} +.items-baseline { + align-items: baseline !important; +} +.items-stretch { + align-items: stretch !important; +} +.justify-start, +.\!justify-start { + justify-content: flex-start !important; +} +.justify-end { + justify-content: flex-end !important; +} +.justify-center, +.\!justify-center { + justify-content: center !important; +} +.justify-between { + justify-content: space-between !important; +} +.justify-around { + justify-content: space-around !important; +} +.justify-evenly { + justify-content: space-evenly !important; +} +.justify-items-center { + justify-items: center !important; +} +.justify-items-stretch { + justify-items: stretch !important; +} +.gap-2 { + gap: 0.5rem !important; +} +.gap-1 { + gap: 0.25rem !important; +} +.gap-3 { + gap: 0.75rem !important; +} +.gap-6 { + gap: 2rem !important; +} +.gap-5 { + gap: 1.5rem !important; +} +.gap-4 { + gap: 1rem !important; +} +.gap-10 { + gap: 6rem !important; +} +.gap-\[20px\] { + gap: 20px !important; +} +.gap-\[2px\] { + gap: 2px !important; +} +.gap-0 { + gap: 0 !important; +} +.gap-7 { + gap: 3rem !important; +} +.gap-\[40px\] { + gap: 40px !important; +} +.gap-\[116px\] { + gap: 116px !important; +} +.gap-8 { + gap: 4rem !important; +} +.gap-\[130px\] { + gap: 130px !important; +} +.gap-\[10px\] { + gap: 10px !important; +} +.gap-y-6 { + row-gap: 2rem !important; +} +.gap-y-4 { + row-gap: 1rem !important; +} +.gap-x-3 { + -moz-column-gap: 0.75rem !important; + column-gap: 0.75rem !important; +} +.gap-x-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; +} +.gap-y-2 { + row-gap: 0.5rem !important; +} +.gap-y-3 { + row-gap: 0.75rem !important; +} +.gap-x-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; +} +.gap-x-5 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; +} +.gap-y-1 { + row-gap: 0.25rem !important; +} +.gap-y-5 { + row-gap: 1.5rem !important; +} +.gap-y-\[40px\] { + row-gap: 40px !important; +} +.gap-x-7 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; +} +.gap-x-4 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; +} +.gap-x-10 { + -moz-column-gap: 6rem !important; + column-gap: 6rem !important; +} +.gap-x-6 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; +} +.gap-y-0 { + row-gap: 0 !important; +} +.gap-x-\[10px\] { + -moz-column-gap: 10px !important; + column-gap: 10px !important; +} +.space-y-4 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0 !important; + margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))) !important; + margin-bottom: calc(1rem * var(--tw-space-y-reverse)) !important; +} +.space-y-1 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0 !important; + margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))) !important; + margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)) !important; +} +.divide-y > :not([hidden]) ~ :not([hidden]) { + --tw-divide-y-reverse: 0 !important; + border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))) !important; + border-bottom-width: calc(1px * var(--tw-divide-y-reverse)) !important; +} +.self-start { + align-self: flex-start !important; +} +.self-end { + align-self: flex-end !important; +} +.self-center { + align-self: center !important; +} +.self-stretch { + align-self: stretch !important; +} +.justify-self-end { + justify-self: end !important; +} +.justify-self-center { + justify-self: center !important; +} +.overflow-auto { + overflow: auto !important; +} +.overflow-hidden { + overflow: hidden !important; +} +.overflow-visible { + overflow: visible !important; +} +.overflow-scroll { + overflow: scroll !important; +} +.overflow-x-auto { + overflow-x: auto !important; +} +.overflow-y-auto { + overflow-y: auto !important; +} +.overflow-x-hidden { + overflow-x: hidden !important; +} +.overflow-y-hidden { + overflow-y: hidden !important; +} +.overflow-x-scroll { + overflow-x: scroll !important; +} +.overflow-y-scroll { + overflow-y: scroll !important; +} +.truncate { + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; +} +.text-ellipsis { + text-overflow: ellipsis !important; +} +.whitespace-normal { + white-space: normal !important; +} +.whitespace-nowrap { + white-space: nowrap !important; +} +.whitespace-pre { + white-space: pre !important; +} +.whitespace-pre-line { + white-space: pre-line !important; +} +.whitespace-pre-wrap { + white-space: pre-wrap !important; +} +.break-words { + overflow-wrap: break-word !important; +} +.rounded-lg { + border-radius: 0.5rem !important; +} +.rounded { + border-radius: 0.25rem !important; +} +.rounded-full { + border-radius: 9999px !important; +} +.rounded-md { + border-radius: 0.375rem !important; +} +.rounded-2xl { + border-radius: 1rem !important; +} +.rounded-3xl { + border-radius: 1.5rem !important; +} +.rounded-none { + border-radius: 0 !important; +} +.rounded-\[72px\] { + border-radius: 72px !important; +} +.rounded-\[56px\] { + border-radius: 56px !important; +} +.rounded-xl { + border-radius: 0.75rem !important; +} +.rounded-sm { + border-radius: 0.125rem !important; +} +.rounded-\[2rem\] { + border-radius: 2rem !important; +} +.rounded-\[50\%\] { + border-radius: 50% !important; +} +.rounded-\[10px\] { + border-radius: 10px !important; +} +.rounded-\[4px\] { + border-radius: 4px !important; +} +.\!rounded-2xl { + border-radius: 1rem !important; +} +.rounded-t-md { + border-top-left-radius: 0.375rem !important; + border-top-right-radius: 0.375rem !important; +} +.rounded-b-none { + border-bottom-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} +.rounded-t-xl { + border-top-left-radius: 0.75rem !important; + border-top-right-radius: 0.75rem !important; +} +.rounded-r-lg { + border-top-right-radius: 0.5rem !important; + border-bottom-right-radius: 0.5rem !important; +} +.rounded-t-2xl { + border-top-left-radius: 1rem !important; + border-top-right-radius: 1rem !important; +} +.rounded-t-none { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} +.rounded-b-lg { + border-bottom-right-radius: 0.5rem !important; + border-bottom-left-radius: 0.5rem !important; +} +.rounded-l-lg { + border-top-left-radius: 0.5rem !important; + border-bottom-left-radius: 0.5rem !important; +} +.rounded-t-lg { + border-top-left-radius: 0.5rem !important; + border-top-right-radius: 0.5rem !important; +} +.rounded-t-\[0\.25rem\], +.rounded-t { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} +.rounded-l-xl { + border-top-left-radius: 0.75rem !important; + border-bottom-left-radius: 0.75rem !important; +} +.rounded-r-\[4px\] { + border-top-right-radius: 4px !important; + border-bottom-right-radius: 4px !important; +} +.rounded-r-2xl { + border-top-right-radius: 1rem !important; + border-bottom-right-radius: 1rem !important; +} +.rounded-t-full { + border-top-left-radius: 9999px !important; + border-top-right-radius: 9999px !important; +} +.rounded-l { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} +.rounded-tr-2xl { + border-top-right-radius: 1rem !important; +} +.rounded-tl-\[2\.875rem\] { + border-top-left-radius: 2.875rem !important; +} +.rounded-br-md { + border-bottom-right-radius: 0.375rem !important; +} +.rounded-br-2xl { + border-bottom-right-radius: 1rem !important; +} +.rounded-bl-2xl { + border-bottom-left-radius: 1rem !important; +} +.rounded-tr-none { + border-top-right-radius: 0 !important; +} +.rounded-tl-2xl { + border-top-left-radius: 1rem !important; +} +.rounded-bl-none { + border-bottom-left-radius: 0 !important; +} +.border-0 { + border-width: 0px !important; +} +.border { + border-width: 1px !important; +} +.border-2, +.border-\[2px\] { + border-width: 2px !important; +} +.border-\[1px\] { + border-width: 1px !important; +} +.border-b { + border-bottom-width: 1px !important; +} +.border-b-0 { + border-bottom-width: 0px !important; +} +.border-r-0 { + border-right-width: 0px !important; +} +.border-b-\[1px\] { + border-bottom-width: 1px !important; +} +.border-r { + border-right-width: 1px !important; +} +.border-t { + border-top-width: 1px !important; +} +.\!border-t-0 { + border-top-width: 0px !important; +} +.border-b-2 { + border-bottom-width: 2px !important; +} +.border-r-2 { + border-right-width: 2px !important; +} +.border-t-2 { + border-top-width: 2px !important; +} +.border-l { + border-left-width: 1px !important; +} +.border-t-\[1px\] { + border-top-width: 1px !important; +} +.border-t-0 { + border-top-width: 0px !important; +} +.border-l-0 { + border-left-width: 0px !important; +} +.border-t-4 { + border-top-width: 4px !important; +} +.border-r-4 { + border-right-width: 4px !important; +} +.border-solid { + border-style: solid !important; +} +.border-none, +.\!border-none { + border-style: none !important; +} +.border-grays-150 { + border-color: #e2e6e9 !important; +} +.border-danger-400 { + border-color: #dc3545 !important; +} +.border-grays-400 { + border-color: #6c7680 !important; +} +.border-secondary-400 { + border-color: #0077db !important; +} +.border-grays-500 { + border-color: #4b5259 !important; +} +.border-primary { + border-color: #fdb713 !important; +} +.border-\[transparent\] { + border-color: transparent !important; +} +.border-\[\#0000001f\] { + border-color: #0000001f !important; +} +.border-grays-600 { + border-color: #2b2f33 !important; +} +.border-grays-200 { + border-color: #bec6cc !important; +} +.\!border-secondary-400 { + border-color: #0077db !important; +} +.border-secondary-300 { + border-color: #51a2e7 !important; +} +.\!border-grays-150 { + border-color: #e2e6e9 !important; +} +.border-white { + border-color: #fff !important; +} +.border-\[\#e0e0e0\] { + border-color: #e0e0e0 !important; +} +.border-gray-400 { + border-color: #bec6cc !important; +} +.border-info-300 { + border-color: #a0e8f3 !important; +} +.border-grays-300 { + border-color: #959ea6 !important; +} +.border-warning-300 { + border-color: #ffce85 !important; +} +.border-\[\#0000001F\] { + border-color: #0000001f !important; +} +.border-r-secondary-400 { + border-right-color: #0077db !important; +} +.border-b-grays-150 { + border-bottom-color: #e2e6e9 !important; +} +.border-r-primary { + border-right-color: #fdb713 !important; +} +.border-r-warning-300 { + border-right-color: #ffce85 !important; +} +.bg-white { + background-color: #fff !important; +} +.bg-grays-100 { + background-color: #f8fafb !important; +} +.bg-\[var\(--bg\)\] { + background-color: var(--bg) !important; +} +.bg-grays-200 { + background-color: #bec6cc !important; +} +.bg-secondary-400 { + background-color: #0077db !important; +} +.bg-grays-150 { + background-color: #e2e6e9 !important; +} +.bg-secondary-100 { + background-color: #f2f9ff !important; +} +.bg-warning-100 { + background-color: #fff5e5 !important; +} +.bg-grays-700 { + background-color: #0a0b0c !important; +} +.bg-danger-400 { + background-color: #dc3545 !important; +} +.bg-grays-600 { + background-color: #2b2f33 !important; +} +.bg-grays-400 { + background-color: #6c7680 !important; +} +.bg-info-100 { + background-color: #e8f9fc !important; +} +.bg-primary-light { + background-color: #ffe19c !important; +} +.bg-primary { + background-color: #fdb713 !important; +} +.bg-secondary-200 { + background-color: #c9e3f8 !important; +} +.bg-info-400 { + background-color: #17a2b8 !important; +} +.bg-grays-500 { + background-color: #4b5259 !important; +} +.bg-black { + background-color: #000 !important; +} +.bg-success-400 { + background-color: #28a745 !important; +} +.bg-warning-500 { + background-color: #a85d00 !important; +} +.bg-success-100 { + background-color: #eafaee !important; +} +.bg-success-300 { + background-color: #84e199 !important; +} +.\!bg-\[unset\] { + background-color: unset !important; +} +.bg-\[\#F6F6F6\] { + background-color: #f6f6f6 !important; +} +.\!bg-success-100 { + background-color: #eafaee !important; +} +.\!bg-white { + background-color: #fff !important; +} +.\!bg-primary { + background-color: #fdb713 !important; +} +.bg-grays-300 { + background-color: #959ea6 !important; +} +.bg-danger-100 { + background-color: #fdf2f3 !important; +} +.bg-info-300 { + background-color: #a0e8f3 !important; +} +.\!bg-primary-light { + background-color: #ffe19c !important; +} +.bg-secondary-700 { + background-color: #001c33 !important; +} +.bg-secondary-500 { + background-color: #00569e !important; +} +.bg-secondary-300 { + background-color: #51a2e7 !important; +} +.bg-\[\#F37022\] { + background-color: #f37022 !important; +} +.bg-\[\#F58221\] { + background-color: #f58221 !important; +} +.bg-\[\#FAA61C\] { + background-color: #faa61c !important; +} +.bg-\[\#F7941D\] { + background-color: #f7941d !important; +} +.bg-\[\#FEDC89\] { + background-color: #fedc89 !important; +} +.bg-\[\#FEEAB8\] { + background-color: #feeab8 !important; +} +.bg-\[\#FFF8E7\] { + background-color: #fff8e7 !important; +} +.bg-warning-400 { + background-color: #ff9800 !important; +} +.bg-white\/80 { + background-color: #fffc !important; +} +.bg-cover { + background-size: cover !important; +} +.bg-contain { + background-size: contain !important; +} +.bg-fixed { + background-attachment: fixed !important; +} +.bg-top { + background-position: top !important; +} +.bg-bottom { + background-position: bottom !important; +} +.bg-right-top { + background-position: right top !important; +} +.bg-no-repeat { + background-repeat: no-repeat !important; +} +.object-contain { + -o-object-fit: contain !important; + object-fit: contain !important; +} +.object-cover { + -o-object-fit: cover !important; + object-fit: cover !important; +} +.object-center { + -o-object-position: center !important; + object-position: center !important; +} +.p-4 { + padding: 1rem !important; +} +.p-3 { + padding: 0.75rem !important; +} +.p-1 { + padding: 0.25rem !important; +} +.p-0 { + padding: 0 !important; +} +.p-5 { + padding: 1.5rem !important; +} +.p-2 { + padding: 0.5rem !important; +} +.p-6 { + padding: 2rem !important; +} +.p-7 { + padding: 3rem !important; +} +.p-\[4\.5px\] { + padding: 4.5px !important; +} +.p-\[6px\] { + padding: 6px !important; +} +.p-\[2px\] { + padding: 2px !important; +} +.\!p-0 { + padding: 0 !important; +} +.\!p-4 { + padding: 1rem !important; +} +.\!p-1 { + padding: 0.25rem !important; +} +.p-\[1\.5px\] { + padding: 1.5px !important; +} +.p-\[20px\] { + padding: 20px !important; +} +.\!p-3 { + padding: 0.75rem !important; +} +.p-\[10px\] { + padding: 10px !important; +} +.p-8 { + padding: 4rem !important; +} +.px-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} +.py-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} +.px-4 { + padding-left: 1rem !important; + padding-right: 1rem !important; +} +.py-8 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; +} +.py-7 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} +.py-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} +.px-5 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; +} +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} +.px-3 { + padding-left: 0.75rem !important; + padding-right: 0.75rem !important; +} +.px-8 { + padding-left: 4rem !important; + padding-right: 4rem !important; +} +.px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; +} +.py-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; +} +.px-6 { + padding-left: 2rem !important; + padding-right: 2rem !important; +} +.\!px-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} +.py-\[20px\] { + padding-top: 20px !important; + padding-bottom: 20px !important; +} +.py-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; +} +.px-10 { + padding-left: 6rem !important; + padding-right: 6rem !important; +} +.px-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; +} +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} +.py-\[40px\] { + padding-top: 40px !important; + padding-bottom: 40px !important; +} +.py-px { + padding-top: 1px !important; + padding-bottom: 1px !important; +} +.py-\[10px\] { + padding-top: 10px !important; + padding-bottom: 10px !important; +} +.px-\[5rem\] { + padding-left: 5rem !important; + padding-right: 5rem !important; +} +.py-\[1px\] { + padding-top: 1px !important; + padding-bottom: 1px !important; +} +.px-\[20px\] { + padding-left: 20px !important; + padding-right: 20px !important; +} +.\!py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} +.py-\[6px\] { + padding-top: 6px !important; + padding-bottom: 6px !important; +} +.py-\[5\.5px\] { + padding-top: 5.5px !important; + padding-bottom: 5.5px !important; +} +.\!px-4 { + padding-left: 1rem !important; + padding-right: 1rem !important; +} +.px-7 { + padding-left: 3rem !important; + padding-right: 3rem !important; +} +.px-12 { + padding-left: 12rem !important; + padding-right: 12rem !important; +} +.py-9 { + padding-top: 4.5rem !important; + padding-bottom: 4.5rem !important; +} +.px-\[11px\] { + padding-left: 11px !important; + padding-right: 11px !important; +} +.py-\[32px\] { + padding-top: 32px !important; + padding-bottom: 32px !important; +} +.py-\[112px\] { + padding-top: 112px !important; + padding-bottom: 112px !important; +} +.px-\[88px\] { + padding-left: 88px !important; + padding-right: 88px !important; +} +.py-\[5px\] { + padding-top: 5px !important; + padding-bottom: 5px !important; +} +.py-12 { + padding-top: 12rem !important; + padding-bottom: 12rem !important; +} +.py-10 { + padding-top: 6rem !important; + padding-bottom: 6rem !important; +} +.px-11 { + padding-left: 8rem !important; + padding-right: 8rem !important; +} +.py-\[0\.75rem\], +.\!py-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; +} +.px-\[34px\] { + padding-left: 34px !important; + padding-right: 34px !important; +} +.px-\[10px\] { + padding-left: 10px !important; + padding-right: 10px !important; +} +.\!px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; +} +.px-px { + padding-left: 1px !important; + padding-right: 1px !important; +} +.px-\[18px\] { + padding-left: 18px !important; + padding-right: 18px !important; +} +.px-9 { + padding-left: 4.5rem !important; + padding-right: 4.5rem !important; +} +.px-\[0\.1rem\] { + padding-left: 0.1rem !important; + padding-right: 0.1rem !important; +} +.pb-1 { + padding-bottom: 0.25rem !important; +} +.pt-4 { + padding-top: 1rem !important; +} +.pb-5 { + padding-bottom: 1.5rem !important; +} +.pl-2 { + padding-left: 0.5rem !important; +} +.pr-4 { + padding-right: 1rem !important; +} +.pb-4 { + padding-bottom: 1rem !important; +} +.pl-1 { + padding-left: 0.25rem !important; +} +.pr-3 { + padding-right: 0.75rem !important; +} +.pt-5 { + padding-top: 1.5rem !important; +} +.\!pb-5 { + padding-bottom: 1.5rem !important; +} +.pt-6 { + padding-top: 2rem !important; +} +.pr-1 { + padding-right: 0.25rem !important; +} +.pb-0 { + padding-bottom: 0 !important; +} +.pt-0 { + padding-top: 0 !important; +} +.pb-3 { + padding-bottom: 0.75rem !important; +} +.pr-2 { + padding-right: 0.5rem !important; +} +.pb-2 { + padding-bottom: 0.5rem !important; +} +.pb-7 { + padding-bottom: 3rem !important; +} +.pt-3 { + padding-top: 0.75rem !important; +} +.pl-4 { + padding-left: 1rem !important; +} +.pr-0 { + padding-right: 0 !important; +} +.pt-1 { + padding-top: 0.25rem !important; +} +.pl-5 { + padding-left: 1.5rem !important; +} +.pr-5 { + padding-right: 1.5rem !important; +} +.pl-3 { + padding-left: 0.75rem !important; +} +.pt-2 { + padding-top: 0.5rem !important; +} +.pl-0 { + padding-left: 0 !important; +} +.pt-7 { + padding-top: 3rem !important; +} +.pt-\[1rem\] { + padding-top: 1rem !important; +} +.pr-\[1rem\] { + padding-right: 1rem !important; +} +.pl-\[1rem\] { + padding-left: 1rem !important; +} +.pb-6 { + padding-bottom: 2rem !important; +} +.pl-12 { + padding-left: 12rem !important; +} +.pl-7 { + padding-left: 3rem !important; +} +.pt-\[100\%\] { + padding-top: 100% !important; +} +.pb-9 { + padding-bottom: 4.5rem !important; +} +.pr-6 { + padding-right: 2rem !important; +} +.pb-10 { + padding-bottom: 6rem !important; +} +.pb-8 { + padding-bottom: 4rem !important; +} +.\!pt-0 { + padding-top: 0 !important; +} +.\!pr-\[2px\] { + padding-right: 2px !important; +} +.\!pl-2 { + padding-left: 0.5rem !important; +} +.pl-\[2px\] { + padding-left: 2px !important; +} +.pt-8 { + padding-top: 4rem !important; +} +.\!pb-2 { + padding-bottom: 0.5rem !important; +} +.pl-6 { + padding-left: 2rem !important; +} +.pr-9 { + padding-right: 4.5rem !important; +} +.\!pr-3 { + padding-right: 0.75rem !important; +} +.\!pb-0 { + padding-bottom: 0 !important; +} +.\!pb-3 { + padding-bottom: 0.75rem !important; +} +.pb-\[20px\] { + padding-bottom: 20px !important; +} +.\!pr-\[28px\] { + padding-right: 28px !important; +} +.\!pl-4 { + padding-left: 1rem !important; +} +.\!pr-5 { + padding-right: 1.5rem !important; +} +.pt-9 { + padding-top: 4.5rem !important; +} +.pb-\[90px\] { + padding-bottom: 90px !important; +} +.pl-8 { + padding-left: 4rem !important; +} +.pr-11 { + padding-right: 8rem !important; +} +.pt-11 { + padding-top: 8rem !important; +} +.text-left { + text-align: left !important; +} +.text-center { + text-align: center !important; +} +.text-right, +.\!text-right { + text-align: right !important; +} +.text-justify { + text-align: justify !important; +} +.text-end { + text-align: end !important; +} +.align-top { + vertical-align: top !important; +} +.align-middle { + vertical-align: middle !important; +} +.align-bottom { + vertical-align: bottom !important; +} +.align-text-bottom { + vertical-align: text-bottom !important; +} +.text-2 { + font-size: 0.75rem !important; +} +.text-3 { + font-size: 0.875rem !important; +} +.text-1 { + font-size: 0.625rem !important; +} +.text-5 { + font-size: 1.125rem !important; +} +.text-6 { + font-size: 1.25rem !important; +} +.text-4 { + font-size: 1rem !important; +} +.text-\[16px\] { + font-size: 16px !important; +} +.text-7 { + font-size: 1.5rem !important; +} +.text-9 { + font-size: 2rem !important; +} +.text-\[14px\] { + font-size: 14px !important; +} +.text-\[128px\] { + font-size: 128px !important; +} +.text-\[160px\] { + font-size: 160px !important; +} +.\!text-1 { + font-size: 0.625rem !important; +} +.\!text-2 { + font-size: 0.75rem !important; +} +.text-\[32px\] { + font-size: 32px !important; +} +.text-\[42px\] { + font-size: 42px !important; +} +.text-\[48px\] { + font-size: 48px !important; +} +.\!text-3 { + font-size: 0.875rem !important; +} +.font-bold { + font-weight: 700 !important; +} +.font-medium { + font-weight: 500 !important; +} +.font-normal { + font-weight: 400 !important; +} +.font-black { + font-weight: 900 !important; +} +.font-light { + font-weight: 300 !important; +} +.\!font-bold { + font-weight: 700 !important; +} +.uppercase { + text-transform: uppercase !important; +} +.capitalize { + text-transform: capitalize !important; +} +.leading-normal { + line-height: 1.7 !important; +} +.leading-loose { + line-height: 2 !important; +} +.leading-\[32px\] { + line-height: 32px !important; +} +.leading-\[1\.3\] { + line-height: 1.3 !important; +} +.leading-relaxed { + line-height: 1.8 !important; +} +.leading-snug { + line-height: 1.5 !important; +} +.leading-\[28px\] { + line-height: 28px !important; +} +.leading-tight { + line-height: 1.3 !important; +} +.leading-\[2rem\] { + line-height: 2rem !important; +} +.leading-\[160\%\] { + line-height: 160% !important; +} +.leading-none { + line-height: 1 !important; +} +.leading-\[1\.5rem\] { + line-height: 1.5rem !important; +} +.text-grays-700 { + color: #0a0b0c !important; +} +.text-grays-300 { + color: #959ea6 !important; +} +.text-grays-500 { + color: #4b5259 !important; +} +.text-danger-400 { + color: #dc3545 !important; +} +.text-grays-600 { + color: #2b2f33 !important; +} +.text-success-400 { + color: #28a745 !important; +} +.text-grays-200 { + color: #bec6cc !important; +} +.text-grays-400 { + color: #6c7680 !important; +} +.text-secondary-400 { + color: #0077db !important; +} +.text-info-400 { + color: #17a2b8 !important; +} +.text-secondary-300 { + color: #51a2e7 !important; +} +.text-primary { + color: #fdb713 !important; +} +.text-white { + color: #fff !important; +} +.text-secondary-500 { + color: #00569e !important; +} +.text-primary-dark { + color: #e3a107 !important; +} +.text-black { + color: #000 !important; +} +.text-warning-500 { + color: #a85d00 !important; +} +.text-success-500 { + color: #1e7b33 !important; +} +.text-info-500 { + color: #0f697a !important; +} +.text-warning-700 { + color: #4d2800 !important; +} +.text-danger-500 { + color: #871722 !important; +} +.text-warning-400 { + color: #ff9800 !important; +} +.text-gray-800 { + color: #2b2f33 !important; +} +.text-grays-150 { + color: #e2e6e9 !important; +} +.text-secondary-600 { + color: #004075 !important; +} +.\!text-success-400 { + color: #28a745 !important; +} +.\!text-grays-200 { + color: #bec6cc !important; +} +.text-grays-100 { + color: #f8fafb !important; +} +.\!text-primary { + color: #fdb713 !important; +} +.text-gray-600 { + color: #6c7680 !important; +} +.text-gray-700 { + color: #4b5259 !important; +} +.text-gray-500 { + color: #959ea6 !important; +} +.text-info-700 { + color: #072f36 !important; +} +.\!text-grays-300 { + color: #959ea6 !important; +} +.\!text-grays-600 { + color: #2b2f33 !important; +} +.\!text-danger-400 { + color: #dc3545 !important; +} +.text-\[\#ffe19c\] { + color: #ffe19c !important; +} +.text-\[\#E2E6E9\] { + color: #e2e6e9 !important; +} +.\!text-grays-700 { + color: #0a0b0c !important; +} +.\!text-secondary-400 { + color: #0077db !important; +} +.\!text-white { + color: #fff !important; +} +.\!text-grays-500 { + color: #4b5259 !important; +} +.text-success-700 { + color: #11461d !important; +} +.text-fg-cta-alert { + color: #dc3545 !important; +} +.text-gray-400 { + color: #bec6cc !important; +} +.text-success-300 { + color: #84e199 !important; +} +.underline { + -webkit-text-decoration-line: underline !important; + text-decoration-line: underline !important; +} +.line-through { + -webkit-text-decoration-line: line-through !important; + text-decoration-line: line-through !important; +} +.opacity-80 { + opacity: 0.8 !important; +} +.opacity-5 { + opacity: 0.05 !important; +} +.opacity-\[65\%\] { + opacity: 65% !important; +} +.opacity-60 { + opacity: 0.6 !important; +} +.opacity-0 { + opacity: 0 !important; +} +.opacity-100 { + opacity: 1 !important; +} +.opacity-50 { + opacity: 0.5 !important; +} +.opacity-75 { + opacity: 0.75 !important; +} +.opacity-40 { + opacity: 0.4 !important; +} +.opacity-95 { + opacity: 0.95 !important; +} +.opacity-70 { + opacity: 0.7 !important; +} +.shadow-lg { + --tw-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.08) !important; + --tw-shadow-colored: 0 4px 6px 0 var(--tw-shadow-color) !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +} +.shadow-md { + --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08) !important; + --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color) !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +} +.shadow-xl { + --tw-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.12), + 0 10px 10px -6px rgba(0, 0, 0, 0.12) !important; + --tw-shadow-colored: 0 3px 10px 0 var(--tw-shadow-color), + 0 10px 10px -6px var(--tw-shadow-color) !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +} +.shadow-none { + --tw-shadow: 0 0 #0000 !important; + --tw-shadow-colored: 0 0 #0000 !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +} +.shadow-bottom-sheet { + --tw-shadow: 0 -20px 30px -5px rgba(0, 0, 0, 0.08) !important; + --tw-shadow-colored: 0 -20px 30px -5px var(--tw-shadow-color) !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +} +.shadow-sm { + --tw-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.08) !important; + --tw-shadow-colored: 0 1px 1px -1px var(--tw-shadow-color) !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +} +.\!shadow-md { + --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08) !important; + --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color) !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +} +.\!shadow-none { + --tw-shadow: 0 0 #0000 !important; + --tw-shadow-colored: 0 0 #0000 !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +} +.shadow-inner { + --tw-shadow: inset 0 2px 4px 0 rgb(0, 0, 0, 0.05) !important; + --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color) !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +} +.outline { + outline-style: solid !important; +} +.outline-1 { + outline-width: 1px !important; +} +.outline-\[3px\] { + outline-width: 3px !important; +} +.-outline-offset-\[3px\] { + outline-offset: -3px !important; +} +.outline-grays-200 { + outline-color: #bec6cc !important; +} +.outline-secondary-400 { + outline-color: #0077db !important; +} +.blur { + --tw-blur: blur(8px) !important; + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) + var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) + var(--tw-sepia) var(--tw-drop-shadow) !important; +} +.\!blur-0 { + --tw-blur: blur(0) !important; + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) + var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) + var(--tw-sepia) var(--tw-drop-shadow) !important; +} +.filter, +.\!filter { + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) + var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) + var(--tw-sepia) var(--tw-drop-shadow) !important; +} +.backdrop-blur-lg { + --tw-backdrop-blur: blur(16px) !important; + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) + var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) + var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) + var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) + var(--tw-backdrop-sepia) !important; + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) + var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) + var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) + var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) + var(--tw-backdrop-sepia) !important; +} +.backdrop-blur-md { + --tw-backdrop-blur: blur(12px) !important; + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) + var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) + var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) + var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) + var(--tw-backdrop-sepia) !important; + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) + var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) + var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) + var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) + var(--tw-backdrop-sepia) !important; +} +.backdrop-filter { + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) + var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) + var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) + var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) + var(--tw-backdrop-sepia) !important; + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) + var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) + var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) + var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) + var(--tw-backdrop-sepia) !important; +} +.transition { + transition-property: color, background-color, border-color, fill, stroke, + opacity, box-shadow, transform, filter, -webkit-text-decoration-color, + -webkit-backdrop-filter !important; + transition-property: color, background-color, border-color, + text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, + backdrop-filter !important; + transition-property: color, background-color, border-color, + text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, + backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + transition-duration: 0.15s !important; +} +.transition-transform { + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + transition-duration: 0.15s !important; +} +.transition-all { + transition-property: all !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + transition-duration: 0.15s !important; +} +.transition-opacity { + transition-property: opacity !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + transition-duration: 0.15s !important; +} +.\!transition-all { + transition-property: all !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + transition-duration: 0.15s !important; +} +.transition-\[height\] { + transition-property: height !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + transition-duration: 0.15s !important; +} +.duration-300 { + transition-duration: 0.3s !important; +} +.duration-500 { + transition-duration: 0.5s !important; +} +.duration-200 { + transition-duration: 0.2s !important; +} +.ease-in { + transition-timing-function: cubic-bezier(0.4, 0, 1, 1) !important; +} +.ease-out { + transition-timing-function: cubic-bezier(0, 0, 0.2, 1) !important; +} +.ease-in-out { + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; +} +.content-\[\'\'\] { + --tw-content: "" !important; + content: var(--tw-content) !important; +} +.line-clamp-1 { + display: -webkit-box !important; + -webkit-line-clamp: 1 !important; + -webkit-box-orient: vertical !important; + overflow: hidden !important; +} +.line-clamp-2 { + display: -webkit-box !important; + -webkit-line-clamp: 2 !important; + -webkit-box-orient: vertical !important; + overflow: hidden !important; +} +.line-clamp-3 { + display: -webkit-box !important; + -webkit-line-clamp: 3 !important; + -webkit-box-orient: vertical !important; + overflow: hidden !important; +} +.h-safearea { + height: env(safe-area-inset-bottom) !important; +} +.ltr { + direction: ltr !important; +} +.\[perspective\:none\] { + perspective: none; +} +.\[key\:string\] { + key: string; +} +.search-form-toggle-enter-active, +.search-form-toggle-leave-active { + transition: opacity 0.2s ease; +} +.search-form-toggle-enter-from, +.search-form-toggle-leave-to { + opacity: 0; +} +.after\:content-none:after { + --tw-content: none !important; + content: var(--tw-content) !important; +} +.first\:mr-4:first-child { + margin-right: 1rem !important; +} +.first\:border-r-0:first-child { + border-right-width: 0px !important; +} +.first\:pr-4:first-child { + padding-right: 1rem !important; +} +.first\:pr-0:first-child { + padding-right: 0 !important; +} +.first\:pr-2:first-child { + padding-right: 0.5rem !important; +} +.last\:mr-2:last-child { + margin-right: 0.5rem !important; +} +.last\:mb-2:last-child { + margin-bottom: 0.5rem !important; +} +.last\:ml-4:last-child { + margin-left: 1rem !important; +} +.last\:ml-0:last-child { + margin-left: 0 !important; +} +.last\:mb-0:last-child { + margin-bottom: 0 !important; +} +.last\:mt-3:last-child { + margin-top: 0.75rem !important; +} +.last\:mb-3:last-child { + margin-bottom: 0.75rem !important; +} +.last\:border-0:last-child { + border-width: 0px !important; +} +.last\:border-b-0:last-child { + border-bottom-width: 0px !important; +} +.last\:border-l-0:last-child { + border-left-width: 0px !important; +} +.last\:pl-4:last-child { + padding-left: 1rem !important; +} +.last\:pl-2:last-child { + padding-left: 0.5rem !important; +} +.last\:pb-4:last-child { + padding-bottom: 1rem !important; +} +.last\:pb-0:last-child { + padding-bottom: 0 !important; +} +.last-of-type\:hidden:last-of-type { + display: none !important; +} +.hover\:cursor-pointer:hover { + cursor: pointer !important; +} +.hover\:border:hover { + border-width: 1px !important; +} +.hover\:border-danger-300:hover { + border-color: #f2b5bb !important; +} +.hover\:border-grays-200:hover { + border-color: #bec6cc !important; +} +.hover\:border-secondary-300:hover { + border-color: #51a2e7 !important; +} +.hover\:bg-grays-100:hover { + background-color: #f8fafb !important; +} +.hover\:bg-secondary-400:hover { + background-color: #0077db !important; +} +.hover\:bg-secondary-100:hover { + background-color: #f2f9ff !important; +} +.hover\:bg-danger-100:hover { + background-color: #fdf2f3 !important; +} +.hover\:bg-primary-dark:hover { + background-color: #e3a107 !important; +} +.hover\:bg-info-100:hover { + background-color: #e8f9fc !important; +} +.hover\:text-white:hover { + color: #fff !important; +} +.hover\:text-grays-300:hover { + color: #959ea6 !important; +} +.hover\:opacity-100:hover { + opacity: 1 !important; +} +.hover\:shadow-md:hover { + --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08) !important; + --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color) !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +} +.hover\:\!\[background-color\:transparent\]:hover { + background-color: transparent !important; +} +.focus\:\!bg-white:focus { + background-color: #fff !important; +} +.active\:shadow-none:active, +.active\:\!shadow-none:active { + --tw-shadow: 0 0 #0000 !important; + --tw-shadow-colored: 0 0 #0000 !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +} +.disabled\:text-grays-500:disabled { + color: #4b5259 !important; +} +.group:hover .group-hover\:scale-110 { + --tw-scale-x: 1.1 !important; + --tw-scale-y: 1.1 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; +} +@media (min-width: 640px) { + .sm\:text-display-sm { + font-weight: 700; + line-height: 170%; + font-size: 1rem; + } + @media (min-width: 768px) { + .sm\:text-display-sm { + line-height: 150%; + font-size: 1.25rem; + } + } + .sm\:text-headline-lg { + font-weight: 400; + line-height: 170%; + font-size: 1rem; + } + @media (min-width: 768px) { + .sm\:text-headline-lg { + font-weight: 700; + font-size: 1.125rem; + } + } + .sm\:right-0 { + right: 0 !important; + } + .sm\:order-first { + order: -9999 !important; + } + .sm\:text-callout-bold { + font-weight: 700; + line-height: 180%; + font-size: 0.875rem; + } + .sm\:text-caption { + font-weight: 400; + line-height: 180%; + font-size: 0.75rem; + } + .sm\:text-caption-bold { + font-weight: 700; + line-height: 180%; + font-size: 0.75rem; + } + .sm\:text-footnote { + font-weight: 400; + line-height: 180%; + font-size: 0.625rem; + } + .sm\:m-2 { + margin: 0.5rem !important; + } + .sm\:m-5 { + margin: 1.5rem !important; + } + .sm\:mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .sm\:my-\[28px\] { + margin-top: 28px !important; + margin-bottom: 28px !important; + } + .sm\:my-7 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .sm\:my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .sm\:mx-8 { + margin-left: 4rem !important; + margin-right: 4rem !important; + } + .sm\:my-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .sm\:mx-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .sm\:mb-3 { + margin-bottom: 0.75rem !important; + } + .sm\:mr-0 { + margin-right: 0 !important; + } + .sm\:mt-0 { + margin-top: 0 !important; + } + .sm\:mt-7 { + margin-top: 3rem !important; + } + .sm\:mt-5 { + margin-top: 1.5rem !important; + } + .sm\:mt-4 { + margin-top: 1rem !important; + } + .sm\:mb-4 { + margin-bottom: 1rem !important; + } + .sm\:mt-2 { + margin-top: 0.5rem !important; + } + .sm\:mb-0 { + margin-bottom: 0 !important; + } + .sm\:mr-9 { + margin-right: 4.5rem !important; + } + .sm\:ml-4 { + margin-left: 1rem !important; + } + .sm\:mt-8 { + margin-top: 4rem !important; + } + .sm\:mb-2 { + margin-bottom: 0.5rem !important; + } + .sm\:mr-4 { + margin-right: 1rem !important; + } + .sm\:mr-6 { + margin-right: 2rem !important; + } + .sm\:mr-8 { + margin-right: 4rem !important; + } + .sm\:ml-2 { + margin-left: 0.5rem !important; + } + .sm\:mt-3 { + margin-top: 0.75rem !important; + } + .sm\:mb-5 { + margin-bottom: 1.5rem !important; + } + .sm\:mt-\[20px\] { + margin-top: 20px !important; + } + .sm\:ml-0 { + margin-left: 0 !important; + } + .sm\:mr-2 { + margin-right: 0.5rem !important; + } + .sm\:mr-3 { + margin-right: 0.75rem !important; + } + .sm\:mb-1 { + margin-bottom: 0.25rem !important; + } + .sm\:\!btn-primary-lg-normal { + background-color: #fdb713 !important; + color: #0a0b0c !important; + border: 1px solid #0000001f !important; + gap: 4px !important; + } + .sm\:block { + display: block !important; + } + .sm\:\!btn-primary-lg-normal:hover { + background-color: #e9a507 !important; + } + .sm\:\!btn-primary-lg-normal:focus { + background-color: #fdb713 !important; + border: 1px solid #4b5259 !important; + } + .sm\:\!btn-primary-lg-normal { + height: 3rem !important; + min-height: unset !important; + padding: 0 16px !important; + font-weight: 400 !important; + line-height: 170% !important; + font-size: 1rem !important; + } + .sm\:\!btn-primary-lg-normal svg { + width: 1.5rem !important; + height: 1.5rem !important; + } + .sm\:grid { + display: grid !important; + } + .sm\:h-8 { + height: 4rem !important; + } + .sm\:h-5 { + height: 1.5rem !important; + } + .sm\:h-\[150px\] { + height: 150px !important; + } + .sm\:h-\[750px\] { + height: 750px !important; + } + .sm\:h-\[104px\] { + height: 104px !important; + } + .sm\:max-h-full { + max-height: 100% !important; + } + .sm\:w-auto { + width: auto !important; + } + .sm\:w-\[784px\] { + width: 784px !important; + } + .sm\:w-\[110px\] { + width: 110px !important; + } + .sm\:w-8 { + width: 4rem !important; + } + .sm\:w-\[calc\(35\%-21px\)\] { + width: calc(35% - 21px) !important; + } + .sm\:w-\[82px\] { + width: 82px !important; + } + .sm\:w-\[144px\] { + width: 144px !important; + } + .sm\:w-\[116px\] { + width: 116px !important; + } + .sm\:min-w-\[150px\] { + min-width: 150px !important; + } + .sm\:min-w-\[224px\] { + min-width: 224px !important; + } + .sm\:min-w-\[420px\] { + min-width: 420px !important; + } + .sm\:min-w-\[72px\] { + min-width: 72px !important; + } + .sm\:min-w-\[116px\] { + min-width: 116px !important; + } + .sm\:max-w-\[165px\] { + max-width: 165px !important; + } + .sm\:max-w-\[237px\] { + max-width: 237px !important; + } + .sm\:max-w-\[304px\] { + max-width: 304px !important; + } + .sm\:flex-grow { + flex-grow: 1 !important; + } + .sm\:grid-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)) !important; + } + .sm\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)) !important; + } + .sm\:grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)) !important; + } + .sm\:flex-row { + flex-direction: row !important; + } + .sm\:flex-col { + flex-direction: column !important; + } + .sm\:items-center { + align-items: center !important; + } + .sm\:justify-start { + justify-content: flex-start !important; + } + .sm\:justify-center { + justify-content: center !important; + } + .sm\:gap-5 { + gap: 1.5rem !important; + } + .sm\:gap-4 { + gap: 1rem !important; + } + .sm\:overflow-x-auto { + overflow-x: auto !important; + } + .sm\:overflow-x-hidden { + overflow-x: hidden !important; + } + .sm\:text-ellipsis { + text-overflow: ellipsis !important; + } + .sm\:whitespace-nowrap { + white-space: nowrap !important; + } + .sm\:rounded-md { + border-radius: 0.375rem !important; + } + .sm\:rounded-lg { + border-radius: 0.5rem !important; + } + .sm\:border-2 { + border-width: 2px !important; + } + .sm\:border { + border-width: 1px !important; + } + .sm\:border-\[2px\] { + border-width: 2px !important; + } + .sm\:border-none { + border-style: none !important; + } + .sm\:border-gray-200 { + border-color: #f6f8f9 !important; + } + .sm\:bg-right { + background-position: right !important; + } + .sm\:p-0 { + padding: 0 !important; + } + .sm\:p-3 { + padding: 0.75rem !important; + } + .sm\:p-5 { + padding: 1.5rem !important; + } + .sm\:p-1 { + padding: 0.25rem !important; + } + .sm\:p-4 { + padding: 1rem !important; + } + .sm\:px-6 { + padding-left: 2rem !important; + padding-right: 2rem !important; + } + .sm\:px-8 { + padding-left: 4rem !important; + padding-right: 4rem !important; + } + .sm\:py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .sm\:px-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .sm\:px-\[54px\] { + padding-left: 54px !important; + padding-right: 54px !important; + } + .sm\:py-7 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .sm\:px-5 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .sm\:pr-4 { + padding-right: 1rem !important; + } + .sm\:pt-\[78px\] { + padding-top: 78px !important; + } + .sm\:pt-6 { + padding-top: 2rem !important; + } + .sm\:pt-3 { + padding-top: 0.75rem !important; + } + .sm\:pb-0 { + padding-bottom: 0 !important; + } + .sm\:pr-3 { + padding-right: 0.75rem !important; + } + .sm\:pl-4 { + padding-left: 1rem !important; + } + .sm\:pl-11 { + padding-left: 8rem !important; + } + .sm\:pb-3 { + padding-bottom: 0.75rem !important; + } + .sm\:text-center { + text-align: center !important; + } + .sm\:text-right { + text-align: right !important; + } + .sm\:text-justify { + text-align: justify !important; + } + .sm\:text-7 { + font-size: 1.5rem !important; + } + .sm\:text-4 { + font-size: 1rem !important; + } + .sm\:text-5 { + font-size: 1.125rem !important; + } + .sm\:text-6 { + font-size: 1.25rem !important; + } + .sm\:text-3 { + font-size: 0.875rem !important; + } + .sm\:text-2 { + font-size: 0.75rem !important; + } + .sm\:text-1 { + font-size: 0.625rem !important; + } + .sm\:text-\[18px\] { + font-size: 18px !important; + } + .sm\:font-normal { + font-weight: 400 !important; + } + .sm\:font-bold { + font-weight: 700 !important; + } + .sm\:text-grays-400 { + color: #6c7680 !important; + } + .sm\:text-black { + color: #000 !important; + } + .sm\:text-grays-600 { + color: #2b2f33 !important; + } +} +@media (min-width: 768px) { + .md\:text-display-sm { + font-weight: 700; + line-height: 170%; + font-size: 1rem; + } + @media (min-width: 768px) { + .md\:text-display-sm { + line-height: 150%; + font-size: 1.25rem; + } + } + .md\:text-display-md { + font-weight: 700; + line-height: 150%; + font-size: 1.25rem; + } + @media (min-width: 768px) { + .md\:text-display-md { + font-size: 1.5rem; + } + } + .md\:text-display-lg { + font-weight: 900; + line-height: 130%; + font-size: 1.5rem; + } + @media (min-width: 768px) { + .md\:text-display-lg { + line-height: 150%; + font-size: 2rem; + } + } + .md\:static { + position: static !important; + } + .md\:text-headline-sm { + font-weight: 700; + line-height: 170%; + font-size: 0.75rem; + } + @media (min-width: 768px) { + .md\:text-headline-sm { + font-size: 0.875rem; + } + } + .md\:absolute { + position: absolute !important; + } + .md\:text-headline-md { + font-weight: 700; + line-height: 170%; + font-size: 0.875rem; + } + .md\:sticky { + position: -webkit-sticky !important; + position: sticky !important; + } + @media (min-width: 768px) { + .md\:text-headline-md { + font-size: 1rem; + } + } + .md\:inset-0 { + top: 0 !important; + right: 0 !important; + bottom: 0 !important; + left: 0 !important; + } + .md\:text-headline-lg { + font-weight: 400; + line-height: 170%; + font-size: 1rem; + } + @media (min-width: 768px) { + .md\:text-headline-lg { + font-weight: 700; + font-size: 1.125rem; + } + } + .md\:text-body-md { + font-weight: 400; + line-height: 200%; + font-size: 0.75rem; + } + .md\:top-0 { + top: 0 !important; + } + .md\:bottom-4 { + bottom: 1rem !important; + } + .md\:left-4 { + left: 1rem !important; + } + .md\:top-4 { + top: 1rem !important; + } + .md\:bottom-5 { + bottom: 1.5rem !important; + } + .md\:left-0 { + left: 0 !important; + } + .md\:top-\[60px\] { + top: 60px !important; + } + @media (min-width: 768px) { + .md\:text-body-md { + font-size: 0.875rem; + } + } + .md\:text-body-lg { + font-weight: 400; + line-height: 200%; + font-size: 0.875rem; + } + @media (min-width: 768px) { + .md\:text-body-lg { + font-size: 1rem; + } + } + .md\:order-2 { + order: 2 !important; + } + .md\:order-1 { + order: 1 !important; + } + .md\:order-none { + order: 0 !important; + } + .md\:text-sub { + font-weight: 400; + line-height: 180%; + font-size: 1.125rem; + } + .md\:col-span-2 { + grid-column: span 2 / span 2 !important; + } + .md\:text-sub-bold { + font-weight: 700; + line-height: 180%; + font-size: 1.125rem; + } + .md\:text-label { + font-weight: 400; + line-height: 170%; + font-size: 1rem; + } + .md\:text-callout { + font-weight: 400; + line-height: 180%; + font-size: 0.875rem; + } + .md\:text-callout-bold { + font-weight: 700; + line-height: 180%; + font-size: 0.875rem; + } + .md\:text-caption { + font-weight: 400; + line-height: 180%; + font-size: 0.75rem; + } + .md\:float-none { + float: none !important; + } + .md\:m-0 { + margin: 0 !important; + } + .md\:m-auto { + margin: auto !important; + } + .md\:my-7 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .md\:my-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .md\:mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .md\:mx-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + .md\:mx-4 { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + .md\:my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .md\:my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .md\:my-6 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .md\:my-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .md\:my-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + .md\:my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .md\:mx-7 { + margin-left: 3rem !important; + margin-right: 3rem !important; + } + .md\:mx-3 { + margin-left: 0.75rem !important; + margin-right: 0.75rem !important; + } + .md\:mx-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .md\:my-\[80px\] { + margin-top: 80px !important; + margin-bottom: 80px !important; + } + .md\:mx-5 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; + } + .md\:my-8 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .md\:mx-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + .md\:-mx-5 { + margin-left: -1.5rem !important; + margin-right: -1.5rem !important; + } + .md\:mb-10 { + margin-bottom: 6rem !important; + } + .md\:mb-8 { + margin-bottom: 4rem !important; + } + .md\:mr-0 { + margin-right: 0 !important; + } + .md\:ml-0 { + margin-left: 0 !important; + } + .md\:mb-1 { + margin-bottom: 0.25rem !important; + } + .md\:mt-4 { + margin-top: 1rem !important; + } + .md\:mb-6 { + margin-bottom: 2rem !important; + } + .md\:mb-7 { + margin-bottom: 3rem !important; + } + .md\:-mt-\[90px\] { + margin-top: -90px !important; + } + .md\:mt-7 { + margin-top: 3rem !important; + } + .md\:mb-5 { + margin-bottom: 1.5rem !important; + } + .md\:mb-4 { + margin-bottom: 1rem !important; + } + .md\:mb-0 { + margin-bottom: 0 !important; + } + .md\:mt-3 { + margin-top: 0.75rem !important; + } + .md\:ml-5 { + margin-left: 1.5rem !important; + } + .md\:mt-\[46px\] { + margin-top: 46px !important; + } + .md\:mt-0 { + margin-top: 0 !important; + } + .md\:mr-4 { + margin-right: 1rem !important; + } + .md\:mt-2 { + margin-top: 0.5rem !important; + } + .md\:mb-2 { + margin-bottom: 0.5rem !important; + } + .md\:mt-6 { + margin-top: 2rem !important; + } + .md\:mb-3 { + margin-bottom: 0.75rem !important; + } + .md\:mb-12 { + margin-bottom: 12rem !important; + } + .md\:mr-10 { + margin-right: 6rem !important; + } + .md\:mr-auto { + margin-right: auto !important; + } + .md\:ml-4 { + margin-left: 1rem !important; + } + .md\:ml-10 { + margin-left: 6rem !important; + } + .md\:mr-2 { + margin-right: 0.5rem !important; + } + .md\:mr-5 { + margin-right: 1.5rem !important; + } + .md\:ml-2 { + margin-left: 0.5rem !important; + } + .md\:-ml-4 { + margin-left: -1rem !important; + } + .md\:mr-3 { + margin-right: 0.75rem !important; + } + .md\:mt-12 { + margin-top: 12rem !important; + } + .md\:mr-1 { + margin-right: 0.25rem !important; + } + .md\:mb-11 { + margin-bottom: 8rem !important; + } + .md\:mt-11 { + margin-top: 8rem !important; + } + .md\:mt-10 { + margin-top: 6rem !important; + } + .md\:mt-1 { + margin-top: 0.25rem !important; + } + .md\:mt-5 { + margin-top: 1.5rem !important; + } + .md\:ml-3 { + margin-left: 0.75rem !important; + } + .md\:mb-px { + margin-bottom: 1px !important; + } + .md\:mr-6 { + margin-right: 2rem !important; + } + .md\:ml-6 { + margin-left: 2rem !important; + } + .md\:mt-9 { + margin-top: 4.5rem !important; + } + .md\:ml-7 { + margin-left: 3rem !important; + } + .md\:mb-\[72px\] { + margin-bottom: 72px !important; + } + .md\:mt-\[104px\] { + margin-top: 104px !important; + } + .md\:mb-\[28px\] { + margin-bottom: 28px !important; + } + .md\:mt-\[-110px\] { + margin-top: -110px !important; + } + .md\:mt-\[-17\%\] { + margin-top: -17% !important; + } + .md\:mb-\[80px\] { + margin-bottom: 80px !important; + } + .md\:mb-\[80\] { + margin-bottom: 80 !important; + } + .md\:mt-8 { + margin-top: 4rem !important; + } + .md\:ml-\[20px\] { + margin-left: 20px !important; + } + .md\:mt-\[40px\] { + margin-top: 40px !important; + } + .md\:mr-7 { + margin-right: 3rem !important; + } + .md\:mb-\[40px\] { + margin-bottom: 40px !important; + } + .md\:mb-\[2\.5rem\] { + margin-bottom: 2.5rem !important; + } + .md\:block { + display: block !important; + } + .md\:inline-block { + display: inline-block !important; + } + .md\:inline { + display: inline !important; + } + .md\:flex { + display: flex !important; + } + .md\:inline-flex { + display: inline-flex !important; + } + .md\:grid { + display: grid !important; + } + .md\:contents { + display: contents !important; + } + .md\:hidden { + display: none !important; + } + .md\:\!btn-secondary-lg-normal { + background-color: #0077db !important; + color: #fff !important; + gap: 0.25rem !important; + } + .md\:aspect-\[2\.8\/1\] { + aspect-ratio: 2.8/1 !important; + } + .md\:aspect-\[1\.97\/1\] { + aspect-ratio: 1.97/1 !important; + } + .md\:h-\[354px\] { + height: 354px !important; + } + .md\:h-\[100px\] { + height: 100px !important; + } + .md\:h-\[213px\] { + height: 213px !important; + } + .md\:h-\[28px\] { + height: 28px !important; + } + .md\:h-6 { + height: 2rem !important; + } + .md\:h-\[88px\] { + height: 88px !important; + } + .md\:h-\[112px\] { + height: 112px !important; + } + .md\:h-\[11\.5rem\] { + height: 11.5rem !important; + } + .md\:h-\[14rem\] { + height: 14rem !important; + } + .md\:h-\[10rem\] { + height: 10rem !important; + } + .md\:h-7 { + height: 3rem !important; + } + .md\:h-\[4\.5rem\] { + height: 4.5rem !important; + } + .md\:h-5 { + height: 1.5rem !important; + } + .md\:h-\[2\.5rem\] { + height: 2.5rem !important; + } + .md\:h-15 { + height: 32rem !important; + } + .md\:h-\[40px\] { + height: 40px !important; + } + .md\:h-9 { + height: 4.5rem !important; + } + .md\:h-\[64px\] { + height: 64px !important; + } + .md\:h-\[160px\] { + height: 160px !important; + } + .md\:h-\[315px\] { + height: 315px !important; + } + .md\:h-\[244px\] { + height: 244px !important; + } + .md\:h-auto { + height: auto !important; + } + .md\:h-\[80px\] { + height: 80px !important; + } + .md\:\!btn-secondary-lg-normal:hover { + background-color: #00569e !important; + } + .md\:h-\[110px\] { + height: 110px !important; + } + .md\:h-\[566px\] { + height: 566px !important; + } + .md\:h-\[fit-content\] { + height: -webkit-fit-content !important; + height: -moz-fit-content !important; + height: fit-content !important; + } + .md\:h-\[3rem\] { + height: 3rem !important; + } + .md\:h-\[640px\] { + height: 640px !important; + } + .md\:h-\[320px\] { + height: 320px !important; + } + .md\:h-full { + height: 100% !important; + } + .md\:h-8 { + height: 4rem !important; + } + .md\:h-\[104px\] { + height: 104px !important; + } + .md\:h-\[34px\] { + height: 34px !important; + } + .md\:h-\[284px\] { + height: 284px !important; + } + .md\:h-\[375px\] { + height: 375px !important; + } + .md\:h-\[123px\] { + height: 123px !important; + } + .md\:h-\[167px\] { + height: 167px !important; + } + .md\:h-\[386px\] { + height: 386px !important; + } + .md\:h-\[255px\] { + height: 255px !important; + } + .md\:h-13 { + height: 16rem !important; + } + .md\:h-\[150px\] { + height: 150px !important; + } + .md\:h-10 { + height: 6rem !important; + } + .md\:h-\[20px\] { + height: 20px !important; + } + .md\:h-\[12\.5rem\] { + height: 12.5rem !important; + } + .md\:max-h-\[200px\] { + max-height: 200px !important; + } + .md\:\!btn-secondary-lg-normal:focus { + background-color: #0077db !important; + border: 1px solid #00569e !important; + } + .md\:max-h-\[480px\] { + max-height: 480px !important; + } + .md\:max-h-\[17rem\] { + max-height: 17rem !important; + } + .md\:max-h-\[60vh\] { + max-height: 60vh !important; + } + .md\:\!btn-secondary-lg-normal { + height: 3rem !important; + min-height: unset !important; + padding: 0 16px !important; + font-weight: 400 !important; + line-height: 170% !important; + font-size: 1rem !important; + } + .md\:min-h-\[360px\] { + min-height: 360px !important; + } + .md\:\!min-h-\[288px\] { + min-height: 288px !important; + } + .md\:min-h-\[450px\] { + min-height: 450px !important; + } + .md\:w-11 { + width: 8rem !important; + } + .md\:w-\[100px\] { + width: 100px !important; + } + .md\:w-auto { + width: auto !important; + } + .md\:w-full { + width: 100% !important; + } + .md\:w-1\/2 { + width: 50% !important; + } + .md\:w-1\/4 { + width: 25% !important; + } + .md\:w-\[284px\] { + width: 284px !important; + } + .md\:w-\[88px\] { + width: 88px !important; + } + .md\:w-\[746px\] { + width: 746px !important; + } + .md\:w-\[500px\] { + width: 500px !important; + } + .md\:w-1\/5 { + width: 20% !important; + } + .md\:w-\[15rem\] { + width: 15rem !important; + } + .md\:w-\[10rem\] { + width: 10rem !important; + } + .md\:w-7 { + width: 3rem !important; + } + .md\:w-\[4\.5rem\] { + width: 4.5rem !important; + } + .md\:w-14 { + width: 24rem !important; + } + .md\:w-2\/3 { + width: 66.666667% !important; + } + .md\:w-5 { + width: 1.5rem !important; + } + .md\:w-13 { + width: 16rem !important; + } + .md\:w-12 { + width: 12rem !important; + } + .md\:w-\[328px\] { + width: 328px !important; + } + .md\:w-\[20\.5rem\] { + width: 20.5rem !important; + } + .md\:w-\[384px\] { + width: 384px !important; + } + .md\:w-\[40px\] { + width: 40px !important; + } + .md\:w-\[264px\] { + width: 264px !important; + } + .md\:w-fit { + width: -webkit-fit-content !important; + width: -moz-fit-content !important; + width: fit-content !important; + } + .md\:w-9 { + width: 4.5rem !important; + } + .md\:w-\[160px\] { + width: 160px !important; + } + .md\:w-\[calc\(100\%-50px\)\] { + width: calc(100% - 50px) !important; + } + .md\:w-max { + width: -webkit-max-content !important; + width: -moz-max-content !important; + width: max-content !important; + } + .md\:w-\[208px\] { + width: 208px !important; + } + .md\:w-1\/6 { + width: 16.666667% !important; + } + .md\:w-\[24\%\] { + width: 24% !important; + } + .md\:w-10 { + width: 6rem !important; + } + .md\:w-\[105px\] { + width: 105px !important; + } + .md\:w-6 { + width: 2rem !important; + } + .md\:w-3\/4 { + width: 75% !important; + } + .md\:w-2\/5 { + width: 40% !important; + } + .md\:w-\[130px\] { + width: 130px !important; + } + .md\:w-\[400px\] { + width: 400px !important; + } + .md\:\!btn-secondary-lg-normal svg { + width: 1.5rem !important; + height: 1.5rem !important; + } + .md\:w-\[260px\] { + width: 260px !important; + } + .md\:w-\[640px\] { + width: 640px !important; + } + .md\:w-2\/4 { + width: 50% !important; + } + .md\:w-\[276px\] { + width: 276px !important; + } + .md\:w-\[80px\] { + width: 80px !important; + } + .md\:w-\[48px\] { + width: 48px !important; + } + .md\:w-\[104px\] { + width: 104px !important; + } + .md\:w-\[456px\] { + width: 456px !important; + } + .md\:w-\[32px\] { + width: 32px !important; + } + .md\:w-\[calc\(35\%-26px\)\] { + width: calc(35% - 26px) !important; + } + .md\:w-\[350px\] { + width: 350px !important; + } + .md\:w-\[139px\] { + width: 139px !important; + } + .md\:w-\[240px\] { + width: 240px !important; + } + .md\:w-\[220px\] { + width: 220px !important; + } + .md\:w-\[111px\] { + width: 111px !important; + } + .md\:w-\[198px\] { + width: 198px !important; + } + .md\:w-\[134px\] { + width: 134px !important; + } + .md\:w-\[185px\] { + width: 185px !important; + } + .md\:w-\[213px\] { + width: 213px !important; + } + .md\:w-8 { + width: 4rem !important; + } + .md\:w-\[388px\] { + width: 388px !important; + } + .md\:w-\[256px\] { + width: 256px !important; + } + .md\:w-\[544px\] { + width: 544px !important; + } + .md\:w-\[347px\] { + width: 347px !important; + } + .md\:w-\[28px\] { + width: 28px !important; + } + .md\:w-\[538px\] { + width: 538px !important; + } + .md\:w-\[288px\] { + width: 288px !important; + } + .md\:w-\[248px\] { + width: 248px !important; + } + .md\:w-\[340px\] { + width: 340px !important; + } + .md\:w-\[170px\] { + width: 170px !important; + } + .md\:w-\[12\.5rem\] { + width: 12.5rem !important; + } + .md\:w-\[2\.5rem\] { + width: 2.5rem !important; + } + .md\:w-\[16rem\] { + width: 16rem !important; + } + .md\:w-\[42rem\] { + width: 42rem !important; + } + .md\:w-\[20px\] { + width: 20px !important; + } + .md\:w-\[557px\] { + width: 557px !important; + } + .md\:w-\[52px\] { + width: 52px !important; + } + .md\:w-\[6rem\] { + width: 6rem !important; + } + .md\:min-w-\[273px\] { + min-width: 273px !important; + } + .md\:min-w-\[256px\] { + min-width: 256px !important; + } + .md\:min-w-\[72px\] { + min-width: 72px !important; + } + .md\:min-w-\[456px\] { + min-width: 456px !important; + } + .md\:min-w-0 { + min-width: 0px !important; + } + .md\:min-w-\[300px\] { + min-width: 300px !important; + } + .md\:min-w-\[330px\] { + min-width: 330px !important; + } + .md\:min-w-\[236px\] { + min-width: 236px !important; + } + .md\:min-w-\[10rem\] { + min-width: 10rem !important; + } + .md\:min-w-\[52px\] { + min-width: 52px !important; + } + .md\:min-w-\[32rem\] { + min-width: 32rem !important; + } + .md\:max-w-xs { + max-width: 20rem !important; + } + .md\:max-w-\[264px\] { + max-width: 264px !important; + } + .md\:max-w-none { + max-width: none !important; + } + .md\:max-w-md { + max-width: 28rem !important; + } + .md\:max-w-lg { + max-width: 32rem !important; + } + .md\:max-w-\[460px\] { + max-width: 460px !important; + } + .md\:max-w-\[496px\] { + max-width: 496px !important; + } + .md\:max-w-\[580px\] { + max-width: 580px !important; + } + .md\:max-w-\[220px\] { + max-width: 220px !important; + } + .md\:max-w-\[328px\] { + max-width: 328px !important; + } + .md\:max-w-\[456px\] { + max-width: 456px !important; + } + .md\:max-w-\[48\.306\%\] { + max-width: 48.306% !important; + } + .md\:max-w-full { + max-width: 100% !important; + } + .md\:max-w-\[418px\] { + max-width: 418px !important; + } + .md\:max-w-\[250px\] { + max-width: 250px !important; + } + .md\:max-w-\[600px\] { + max-width: 600px !important; + } + .md\:flex-1 { + flex: 1 1 0% !important; + } + .md\:flex-none { + flex: none !important; + } + .md\:shrink-0 { + flex-shrink: 0 !important; + } + .md\:shrink { + flex-shrink: 1 !important; + } + .md\:flex-grow { + flex-grow: 1 !important; + } + .md\:basis-\[198px\] { + flex-basis: 198px !important; + } + .md\:basis-1\/6 { + flex-basis: 16.666667% !important; + } + .md\:basis-\[24\%\] { + flex-basis: 24% !important; + } + .md\:basis-1\/3 { + flex-basis: 33.333333% !important; + } + .md\:basis-3\/12 { + flex-basis: 25% !important; + } + .md\:origin-top { + transform-origin: top !important; + } + .md\:translate-x-0 { + --tw-translate-x: 0 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; + } + .md\:scale-y-\[1\.15\] { + --tw-scale-y: 1.15 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; + } + .md\:scale-x-\[1\.12\] { + --tw-scale-x: 1.12 !important; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; + } + .md\:cursor-move { + cursor: move !important; + } + .md\:\!btn-ghost-lg-blue { + background-color: #0000 !important; + border-width: 1px !important; + border-style: solid !important; + gap: 0.25rem !important; + } + .md\:\!btn-ghost-lg-blue:focus { + border-color: #00569e !important; + color: #00569e !important; + } + .md\:\!btn-ghost-lg-blue { + height: 3rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 170% !important; + font-size: 1rem !important; + } + .md\:\!btn-ghost-lg-blue svg { + width: 1.5rem !important; + height: 1.5rem !important; + } + .md\:\!btn-ghost-lg-blue { + color: #0077db !important; + border-color: #0077db !important; + } + .md\:\!btn-ghost-lg-blue:hover { + background-color: #f2f9ff !important; + } + .md\:\!btn-tertiary-nl-blue { + border: none !important; + border-radius: 16px !important; + background-color: transparent !important; + gap: 0.25rem !important; + padding: 0 8px !important; + height: 2rem !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; + } + .md\:\!btn-tertiary-nl-blue svg { + width: 1.25rem !important; + height: 1.25rem !important; + } + .md\:\!btn-tertiary-nl-blue { + color: #0077db !important; + } + .md\:\!btn-tertiary-nl-blue:hover { + background-color: #f2f9ff !important; + color: #0077db !important; + } + .md\:columns-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } + .md\:grid-cols-5 { + grid-template-columns: repeat(5, minmax(0, 1fr)) !important; + } + .md\:grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)) !important; + } + .md\:grid-cols-6 { + grid-template-columns: repeat(6, minmax(0, 1fr)) !important; + } + .md\:grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)) !important; + } + .md\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)) !important; + } + .md\:flex-row { + flex-direction: row !important; + } + .md\:flex-row-reverse { + flex-direction: row-reverse !important; + } + .md\:flex-col { + flex-direction: column !important; + } + .md\:flex-col-reverse { + flex-direction: column-reverse !important; + } + .md\:flex-wrap { + flex-wrap: wrap !important; + } + .md\:flex-nowrap { + flex-wrap: nowrap !important; + } + .md\:items-start { + align-items: flex-start !important; + } + .md\:items-center { + align-items: center !important; + } + .md\:items-baseline { + align-items: baseline !important; + } + .md\:justify-start { + justify-content: flex-start !important; + } + .md\:justify-end { + justify-content: flex-end !important; + } + .md\:justify-center { + justify-content: center !important; + } + .md\:justify-between { + justify-content: space-between !important; + } + .md\:justify-evenly { + justify-content: space-evenly !important; + } + .md\:gap-8 { + gap: 4rem !important; + } + .md\:gap-4 { + gap: 1rem !important; + } + .md\:gap-2 { + gap: 0.5rem !important; + } + .md\:gap-5 { + gap: 1.5rem !important; + } + .md\:gap-3 { + gap: 0.75rem !important; + } + .md\:gap-10 { + gap: 6rem !important; + } + .md\:gap-0 { + gap: 0 !important; + } + .md\:gap-11 { + gap: 8rem !important; + } + .md\:gap-1 { + gap: 0.25rem !important; + } + .md\:gap-6 { + gap: 2rem !important; + } + .md\:gap-\[56px\] { + gap: 56px !important; + } + .md\:gap-\[2\.5rem\] { + gap: 2.5rem !important; + } + .md\:gap-7 { + gap: 3rem !important; + } + .md\:gap-x-4 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .md\:gap-y-5 { + row-gap: 1.5rem !important; + } + .md\:gap-y-3 { + row-gap: 0.75rem !important; + } + .md\:gap-y-6 { + row-gap: 2rem !important; + } + .md\:gap-y-0 { + row-gap: 0 !important; + } + .md\:gap-y-2 { + row-gap: 0.5rem !important; + } + .md\:gap-x-5 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .md\:gap-y-4 { + row-gap: 1rem !important; + } + .md\:gap-x-3 { + -moz-column-gap: 0.75rem !important; + column-gap: 0.75rem !important; + } + .md\:self-start { + align-self: flex-start !important; + } + .md\:self-center { + align-self: center !important; + } + .md\:overflow-hidden { + overflow: hidden !important; + } + .md\:overflow-visible { + overflow: visible !important; + } + .md\:rounded-lg { + border-radius: 0.5rem !important; + } + .md\:rounded { + border-radius: 0.25rem !important; + } + .md\:rounded-full { + border-radius: 9999px !important; + } + .md\:rounded-none { + border-radius: 0 !important; + } + .md\:rounded-2xl { + border-radius: 1rem !important; + } + .md\:rounded-md { + border-radius: 0.375rem !important; + } + .md\:rounded-r-lg { + border-top-right-radius: 0.5rem !important; + border-bottom-right-radius: 0.5rem !important; + } + .md\:rounded-tr-2xl { + border-top-right-radius: 1rem !important; + } + .md\:rounded-br-2xl { + border-bottom-right-radius: 1rem !important; + } + .md\:rounded-tl-none { + border-top-left-radius: 0 !important; + } + .md\:rounded-bl-none { + border-bottom-left-radius: 0 !important; + } + .md\:rounded-tr-none { + border-top-right-radius: 0 !important; + } + .md\:rounded-bl-2xl { + border-bottom-left-radius: 1rem !important; + } + .md\:border { + border-width: 1px !important; + } + .md\:border-0 { + border-width: 0px !important; + } + .md\:border-\[1px\] { + border-width: 1px !important; + } + .md\:border-b-0 { + border-bottom-width: 0px !important; + } + .md\:border-l { + border-left-width: 1px !important; + } + .md\:border-t-2 { + border-top-width: 2px !important; + } + .md\:border-t-0 { + border-top-width: 0px !important; + } + .md\:border-r { + border-right-width: 1px !important; + } + .md\:border-t { + border-top-width: 1px !important; + } + .md\:border-b { + border-bottom-width: 1px !important; + } + .md\:border-none { + border-style: none !important; + } + .md\:bg-grays-100 { + background-color: #f8fafb !important; + } + .md\:bg-grays-600 { + background-color: #2b2f33 !important; + } + .md\:bg-white { + background-color: #fff !important; + } + .md\:bg-danger-100 { + background-color: #fdf2f3 !important; + } + .md\:bg-secondary-100 { + background-color: #f2f9ff !important; + } + .md\:bg-cover { + background-size: cover !important; + } + .md\:object-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .md\:p-5 { + padding: 1.5rem !important; + } + .md\:p-4 { + padding: 1rem !important; + } + .md\:p-2 { + padding: 0.5rem !important; + } + .md\:p-0 { + padding: 0 !important; + } + .md\:p-\[10px\] { + padding: 10px !important; + } + .md\:p-7 { + padding: 3rem !important; + } + .md\:p-6 { + padding: 2rem !important; + } + .md\:p-3 { + padding: 0.75rem !important; + } + .md\:\!p-4 { + padding: 1rem !important; + } + .md\:py-\[28px\] { + padding-top: 28px !important; + padding-bottom: 28px !important; + } + .md\:py-9 { + padding-top: 4.5rem !important; + padding-bottom: 4.5rem !important; + } + .md\:px-4 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .md\:px-5 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .md\:py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .md\:px-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .md\:px-8 { + padding-left: 4rem !important; + padding-right: 4rem !important; + } + .md\:py-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .md\:px-7 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .md\:px-\[20px\] { + padding-left: 20px !important; + padding-right: 20px !important; + } + .md\:py-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .md\:px-11 { + padding-left: 8rem !important; + padding-right: 8rem !important; + } + .md\:py-\[80px\] { + padding-top: 80px !important; + padding-bottom: 80px !important; + } + .md\:px-6 { + padding-left: 2rem !important; + padding-right: 2rem !important; + } + .md\:py-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .md\:py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .md\:py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .md\:px-3 { + padding-left: 0.75rem !important; + padding-right: 0.75rem !important; + } + .md\:px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .md\:py-\[6px\] { + padding-top: 6px !important; + padding-bottom: 6px !important; + } + .md\:\!py-6, + .md\:py-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .md\:px-10 { + padding-left: 6rem !important; + padding-right: 6rem !important; + } + .md\:py-\[2px\] { + padding-top: 2px !important; + padding-bottom: 2px !important; + } + .md\:px-\[60px\] { + padding-left: 60px !important; + padding-right: 60px !important; + } + .md\:py-\[40px\] { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .md\:\!py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .md\:py-7 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .md\:px-\[38px\] { + padding-left: 38px !important; + padding-right: 38px !important; + } + .md\:py-\[104px\] { + padding-top: 104px !important; + padding-bottom: 104px !important; + } + .md\:\!px-5 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; + } + .md\:px-\[40px\] { + padding-left: 40px !important; + padding-right: 40px !important; + } + .md\:px-\[100px\] { + padding-left: 100px !important; + padding-right: 100px !important; + } + .md\:pb-7 { + padding-bottom: 3rem !important; + } + .md\:pr-0 { + padding-right: 0 !important; + } + .md\:pt-6 { + padding-top: 2rem !important; + } + .md\:pl-4 { + padding-left: 1rem !important; + } + .md\:pb-0 { + padding-bottom: 0 !important; + } + .md\:pt-5 { + padding-top: 1.5rem !important; + } + .md\:pb-4 { + padding-bottom: 1rem !important; + } + .md\:pr-3 { + padding-right: 0.75rem !important; + } + .md\:pl-0 { + padding-left: 0 !important; + } + .md\:pl-3 { + padding-left: 0.75rem !important; + } + .md\:pt-3 { + padding-top: 0.75rem !important; + } + .md\:pr-7 { + padding-right: 3rem !important; + } + .md\:pt-4 { + padding-top: 1rem !important; + } + .md\:pl-7 { + padding-left: 3rem !important; + } + .md\:pr-5 { + padding-right: 1.5rem !important; + } + .md\:pt-0 { + padding-top: 0 !important; + } + .md\:pb-2 { + padding-bottom: 0.5rem !important; + } + .md\:pb-6 { + padding-bottom: 2rem !important; + } + .md\:pr-10 { + padding-right: 6rem !important; + } + .md\:pt-10 { + padding-top: 6rem !important; + } + .md\:pt-2 { + padding-top: 0.5rem !important; + } + .md\:pr-1 { + padding-right: 0.25rem !important; + } + .md\:pr-2 { + padding-right: 0.5rem !important; + } + .md\:pb-3 { + padding-bottom: 0.75rem !important; + } + .md\:pb-1 { + padding-bottom: 0.25rem !important; + } + .md\:pr-4 { + padding-right: 1rem !important; + } + .md\:pr-\[13px\] { + padding-right: 13px !important; + } + .md\:pt-8 { + padding-top: 4rem !important; + } + .md\:pb-\[56px\] { + padding-bottom: 56px !important; + } + .md\:pb-5 { + padding-bottom: 1.5rem !important; + } + .md\:pl-1 { + padding-left: 0.25rem !important; + } + .md\:text-left { + text-align: left !important; + } + .md\:text-center { + text-align: center !important; + } + .md\:text-right { + text-align: right !important; + } + .md\:text-start { + text-align: start !important; + } + .md\:text-3 { + font-size: 0.875rem !important; + } + .md\:text-4 { + font-size: 1rem !important; + } + .md\:text-7 { + font-size: 1.5rem !important; + } + .md\:text-2 { + font-size: 0.75rem !important; + } + .md\:text-6 { + font-size: 1.25rem !important; + } + .md\:text-5 { + font-size: 1.125rem !important; + } + .md\:text-9 { + font-size: 2rem !important; + } + .md\:text-\[160px\] { + font-size: 160px !important; + } + .md\:font-bold { + font-weight: 700 !important; + } + .md\:font-normal { + font-weight: 400 !important; + } + .md\:font-black { + font-weight: 900 !important; + } + .md\:leading-loose { + line-height: 2 !important; + } + .md\:leading-snug { + line-height: 1.5 !important; + } + .md\:leading-\[32px\] { + line-height: 32px !important; + } + .md\:leading-\[28px\] { + line-height: 28px !important; + } + .md\:leading-relaxed { + line-height: 1.8 !important; + } + .md\:text-grays-600 { + color: #2b2f33 !important; + } + .md\:text-grays-700 { + color: #0a0b0c !important; + } + .md\:text-grays-400 { + color: #6c7680 !important; + } + .md\:text-white { + color: #fff !important; + } + .md\:text-secondary-600 { + color: #004075 !important; + } + .md\:text-grays-500 { + color: #4b5259 !important; + } + .md\:shadow-none { + --tw-shadow: 0 0 #0000 !important; + --tw-shadow-colored: 0 0 #0000 !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; + } + .md\:shadow-sm { + --tw-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.08) !important; + --tw-shadow-colored: 0 1px 1px -1px var(--tw-shadow-color) !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; + } + .md\:first\:mr-0:first-child { + margin-right: 0 !important; + } + .first\:md\:pr-0:first-child { + padding-right: 0 !important; + } + .md\:last\:ml-0:last-child { + margin-left: 0 !important; + } + .md\:last\:mb-0:last-child { + margin-bottom: 0 !important; + } + .last\:md\:pl-4:last-child { + padding-left: 1rem !important; + } +} +@media (min-width: 1024px) { + .lg\:text-display-lg { + font-weight: 900; + line-height: 130%; + font-size: 1.5rem; + } + @media (min-width: 768px) { + .lg\:text-display-lg { + line-height: 150%; + font-size: 2rem; + } + } + .lg\:text-headline-lg { + font-weight: 400; + line-height: 170%; + font-size: 1rem; + } + @media (min-width: 768px) { + .lg\:text-headline-lg { + font-weight: 700; + font-size: 1.125rem; + } + } + .lg\:top-0 { + top: 0 !important; + } + .lg\:text-body-lg { + font-weight: 400; + line-height: 200%; + font-size: 0.875rem; + } + @media (min-width: 768px) { + .lg\:text-body-lg { + font-size: 1rem; + } + } + .lg\:order-first { + order: -9999 !important; + } + .lg\:my-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .lg\:my-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .lg\:mx-auto { + margin-left: auto !important; + margin-right: auto !important; + } + .lg\:mb-5 { + margin-bottom: 1.5rem !important; + } + .lg\:mt-4 { + margin-top: 1rem !important; + } + .lg\:mb-8 { + margin-bottom: 4rem !important; + } + .lg\:ml-9 { + margin-left: 4.5rem !important; + } + .lg\:mb-7 { + margin-bottom: 3rem !important; + } + .lg\:mb-6 { + margin-bottom: 2rem !important; + } + .lg\:mb-0 { + margin-bottom: 0 !important; + } + .lg\:mb-4 { + margin-bottom: 1rem !important; + } + .lg\:mt-0 { + margin-top: 0 !important; + } + .lg\:mb-2 { + margin-bottom: 0.5rem !important; + } + .lg\:ml-5 { + margin-left: 1.5rem !important; + } + .lg\:mr-0 { + margin-right: 0 !important; + } + .lg\:mb-3 { + margin-bottom: 0.75rem !important; + } + .lg\:mt-\[3px\] { + margin-top: 3px !important; + } + .lg\:-mb-\[3px\] { + margin-bottom: -3px !important; + } + .lg\:mt-8 { + margin-top: 4rem !important; + } + .lg\:mr-3 { + margin-right: 0.75rem !important; + } + .lg\:mt-3 { + margin-top: 0.75rem !important; + } + .lg\:mt-11 { + margin-top: 8rem !important; + } + .lg\:mt-12 { + margin-top: 12rem !important; + } + .lg\:mr-\[56px\] { + margin-right: 56px !important; + } + .lg\:mt-\[104px\] { + margin-top: 104px !important; + } + .lg\:block { + display: block !important; + } + .lg\:flex { + display: flex !important; + } + .lg\:inline-flex { + display: inline-flex !important; + } + .lg\:grid { + display: grid !important; + } + .lg\:\!btn-secondary-lg-normal { + background-color: #0077db !important; + color: #fff !important; + gap: 0.25rem !important; + } + .lg\:h-\[3\.5rem\] { + height: 3.5rem !important; + } + .lg\:h-\[160px\] { + height: 160px !important; + } + .lg\:h-auto { + height: auto !important; + } + .lg\:\!btn-secondary-lg-normal:hover { + background-color: #00569e !important; + } + .lg\:\!btn-secondary-lg-normal:focus { + background-color: #0077db !important; + border: 1px solid #00569e !important; + } + .lg\:min-h-\[278px\] { + min-height: 278px !important; + } + .lg\:\!btn-secondary-lg-normal { + height: 3rem !important; + min-height: unset !important; + padding: 0 16px !important; + font-weight: 400 !important; + line-height: 170% !important; + font-size: 1rem !important; + } + .lg\:w-\[40px\] { + width: 40px !important; + } + .lg\:w-fit { + width: -webkit-fit-content !important; + width: -moz-fit-content !important; + width: fit-content !important; + } + .lg\:w-\[3\.5rem\] { + width: 3.5rem !important; + } + .lg\:w-\[35rem\] { + width: 35rem !important; + } + .lg\:w-\[160px\] { + width: 160px !important; + } + .lg\:w-\[1px\] { + width: 1px !important; + } + .lg\:w-3\/4 { + width: 75% !important; + } + .lg\:w-11 { + width: 8rem !important; + } + .lg\:w-1\/5 { + width: 20% !important; + } + .lg\:w-2\/5 { + width: 40% !important; + } + .lg\:w-1\/2 { + width: 50% !important; + } + .lg\:\!btn-secondary-lg-normal svg { + width: 1.5rem !important; + height: 1.5rem !important; + } + .lg\:w-auto { + width: auto !important; + } + .lg\:min-w-\[160px\] { + min-width: 160px !important; + } + .lg\:max-w-\[401px\] { + max-width: 401px !important; + } + .lg\:max-w-\[613px\] { + max-width: 613px !important; + } + .lg\:max-w-\[176px\] { + max-width: 176px !important; + } + .lg\:max-w-\[1px\] { + max-width: 1px !important; + } + .lg\:max-w-\[calc\(100\%-60px\)\] { + max-width: calc(100% - 60px) !important; + } + .lg\:max-w-\[881px\] { + max-width: 881px !important; + } + .lg\:basis-\[calc\(33\.3333\%-11px\)\] { + flex-basis: calc(33.3333% - 11px) !important; + } + .lg\:grid-cols-6 { + grid-template-columns: repeat(6, minmax(0, 1fr)) !important; + } + .lg\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)) !important; + } + .lg\:grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)) !important; + } + .lg\:flex-row { + flex-direction: row !important; + } + .lg\:flex-col { + flex-direction: column !important; + } + .lg\:flex-nowrap { + flex-wrap: nowrap !important; + } + .lg\:items-start { + align-items: flex-start !important; + } + .lg\:items-center { + align-items: center !important; + } + .lg\:items-stretch { + align-items: stretch !important; + } + .lg\:justify-end { + justify-content: flex-end !important; + } + .lg\:justify-center { + justify-content: center !important; + } + .lg\:gap-7 { + gap: 3rem !important; + } + .lg\:gap-4 { + gap: 1rem !important; + } + .lg\:gap-0 { + gap: 0 !important; + } + .lg\:gap-6 { + gap: 2rem !important; + } + .lg\:gap-2 { + gap: 0.5rem !important; + } + .lg\:gap-5 { + gap: 1.5rem !important; + } + .lg\:overflow-x-hidden { + overflow-x: hidden !important; + } + .lg\:rounded-full { + border-radius: 9999px !important; + } + .lg\:p-7 { + padding: 3rem !important; + } + .lg\:p-5 { + padding: 1.5rem !important; + } + .lg\:p-6 { + padding: 2rem !important; + } + .lg\:p-0 { + padding: 0 !important; + } + .lg\:px-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + .lg\:px-6 { + padding-left: 2rem !important; + padding-right: 2rem !important; + } + .lg\:py-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .lg\:px-7 { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + .lg\:px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + .lg\:py-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + .lg\:py-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .lg\:px-8 { + padding-left: 4rem !important; + padding-right: 4rem !important; + } + .lg\:px-4 { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + .lg\:pb-7 { + padding-bottom: 3rem !important; + } + .lg\:pt-\[40px\] { + padding-top: 40px !important; + } + .lg\:pl-6 { + padding-left: 2rem !important; + } + .lg\:pb-2 { + padding-bottom: 0.5rem !important; + } + .lg\:pl-1 { + padding-left: 0.25rem !important; + } + .lg\:pl-4 { + padding-left: 1rem !important; + } + .lg\:text-center { + text-align: center !important; + } + .lg\:text-right { + text-align: right !important; + } + .lg\:text-start { + text-align: start !important; + } + .lg\:text-4 { + font-size: 1rem !important; + } + .lg\:text-3 { + font-size: 0.875rem !important; + } + .lg\:text-5 { + font-size: 1.125rem !important; + } + .lg\:text-\[48px\] { + font-size: 48px !important; + } + .lg\:font-bold { + font-weight: 700 !important; + } + .lg\:shadow-xl { + --tw-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.12), + 0 10px 10px -6px rgba(0, 0, 0, 0.12) !important; + --tw-shadow-colored: 0 3px 10px 0 var(--tw-shadow-color), + 0 10px 10px -6px var(--tw-shadow-color) !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; + } +} +@media (min-width: 1280px) { + .xl\:mt-6 { + margin-top: 2rem !important; + } + .xl\:mt-0 { + margin-top: 0 !important; + } + .xl\:ml-6 { + margin-left: 2rem !important; + } + .xl\:mr-10 { + margin-right: 6rem !important; + } + .xl\:h-10 { + height: 6rem !important; + } + .xl\:w-\[726px\] { + width: 726px !important; + } + .xl\:w-\[350px\] { + width: 350px !important; + } + .xl\:w-8 { + width: 4rem !important; + } + .xl\:flex-row { + flex-direction: row !important; + } + .xl\:flex-wrap { + flex-wrap: wrap !important; + } + .xl\:px-10 { + padding-left: 6rem !important; + padding-right: 6rem !important; + } + .xl\:text-6 { + font-size: 1.25rem !important; + } + .xl\:text-3 { + font-size: 0.875rem !important; + } +} +.\[\&\:first-of-type\]\:mr-2:first-of-type { + margin-right: 0.5rem !important; +} +.\[\&\>div\]\:py-1 > div { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} +@media (min-width: 1024px) { + .lg\:\[\&\>div\]\:\!w-fit > div { + width: -webkit-fit-content !important; + width: -moz-fit-content !important; + width: fit-content !important; + } +} +@media (min-width: 1280px) { + .xl\:h-\[180px\] { + height: 180px !important; + } + .xl\:max-h-\[499px\] { + max-height: 499px !important; + } + .xl\:w-\[180px\] { + width: 180px !important; + } + .xl\:min-w-\[180px\] { + min-width: 180px !important; + } + .xl\:max-w-\[521px\] { + max-width: 521px !important; + } + .xl\:max-w-\[523px\] { + max-width: 523px !important; + } + .xl\:basis-\[calc\(25\%-12px\)\] { + flex-basis: calc(25% - 12px) !important; + } +} +.\[\&\>div\]\:\!items-start > div { + align-items: flex-start !important; +} +.\[\&\>div\]\:bg-white > div { + background-color: #fff !important; +} +@media (min-width: 1024px) { + .lg\:\[\&\>div\]\:\!items-center > div { + align-items: center !important; + } +} +.\[\&_video\]\:bg-white video { + background-color: #fff !important; +} +.\[\&\>div\>div\]\:min-w-\[85\%\] > div > div { + min-width: 85% !important; +} +.\[\&_img\]\:cursor-pointer img { + cursor: pointer !important; +} +.\[\&\>\*\]\:block > * { + display: block !important; +} +.\[\&\>\*\]\:text-center > * { + text-align: center !important; +} +.\[\&_small\]\:align-middle small { + vertical-align: middle !important; +} +@media (min-width: 1024px) { + .lg\:\[\&_small\]\:align-baseline small { + vertical-align: baseline !important; + } +} +@media (min-width: 1280px) { + .xl\:mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + .xl\:mr-auto { + margin-right: auto !important; + } + .xl\:mr-5 { + margin-right: 1.5rem !important; + } + .xl\:ml-2 { + margin-left: 0.5rem !important; + } + .xl\:block { + display: block !important; + } + .xl\:max-w-\[675px\] { + max-width: 675px !important; + } + .xl\:max-w-\[575px\] { + max-width: 575px !important; + } + .xl\:max-w-\[1184px\] { + max-width: 1184px !important; + } + .xl\:flex-col { + flex-direction: column !important; + } + .xl\:pb-0 { + padding-bottom: 0 !important; + } + .xl\:opacity-50 { + opacity: 0.5 !important; + } +} +.\[\&\>div\]\:\!pr-0 > div { + padding-right: 0 !important; +} +.\[\&\:not\(\:last-child\)\]\:mb-3:not(:last-child) { + margin-bottom: 0.75rem !important; +} +.\[\&\:last-child\]\:mb-2:last-child { + margin-bottom: 0.5rem !important; +} +.sticky-search-position.bottom-stick[data-v-2b0ba737] { + --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08); + --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.bottom-stick[data-v-2b0ba737] { + position: fixed; + z-index: 100; + bottom: 0; + left: 0; + right: 0; + will-change: transform; + transition: transform 0.3s linear; +} +.bottom-stick.scrolled-down.is-slidable[data-v-2b0ba737] { + transform: translateY(100%); +} +.bottom-stick-on-top .bottom-stick[data-v-2b0ba737] { + z-index: 1000; +} +.sticky-search-position.igr-modal[data-v-e199e706] { + --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08); + --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.igr-modal[data-v-e199e706] { + position: fixed; + z-index: 50; + display: flex; + height: 640px; + width: 360px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + flex-direction: column; + border-radius: 0.5rem; + border-width: 1px; + background-color: #fff; + --tw-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.08); + --tw-shadow-colored: 0 4px 6px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.slide-enter-active[data-v-e199e706] { + transition: all 0.3s ease-out; +} +.slide-leave-active[data-v-e199e706] { + transition: all 0.3s cubic-bezier(1, 0.5, 0.8, 1); +} +.slide-enter-from[data-v-e199e706], +.slide-leave-to[data-v-e199e706] { + transform: translate(-360px); +} +.igr-button[data-v-ae0b8df6] { + background-color: #0000 !important; + border-width: 1px !important; + border-style: solid !important; + gap: 0.25rem !important; +} +.igr-button[data-v-ae0b8df6]:focus { + border-color: #2b2f33 !important; + color: #2b2f33 !important; +} +.igr-button[data-v-ae0b8df6] { + height: 40px !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.igr-button svg[data-v-ae0b8df6] { + width: 1.25rem !important; + height: 1.25rem !important; +} +.igr-button[data-v-ae0b8df6] { + color: #4b5259 !important; + border-color: #4b5259 !important; +} +.igr-button[data-v-ae0b8df6]:hover { + background-color: #f8fafb !important; +} +.igr-button[data-v-ae0b8df6] { + height: 2rem !important; + border-color: var(--border-1) !important; +} +.message--button[data-v-84a42bf8] { + border: 1px !important; + border-style: solid !important; + border-radius: 8px !important; + border-color: transparent !important; + gap: 4px !important; + height: 32px !important; + min-height: unset !important; + padding: 0 8px !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.message--button svg[data-v-84a42bf8]:first-child, +.message--button svg[data-v-84a42bf8]:last-child { + width: 16px !important; + height: 16px !important; +} +.message--button[data-v-84a42bf8] { + color: #0077db !important; + background-color: #f2f9ff !important; +} +.message--button[data-v-84a42bf8]:hover { + background-color: #f2f9ff !important; + border-color: #0077db !important; +} +.message--button[data-v-84a42bf8]:disabled { + background-color: #f2f9ff !important; + color: #c9e3f8 !important; + border-color: transparent !important; +} +.message--button[data-v-84a42bf8]:focus { + background-color: #f2f9ff !important; + border-color: #c9e3f8 !important; +} +.message--button svg[data-v-84a42bf8] { + color: #0077db !important; +} +.message--button[data-v-84a42bf8] { + min-height: 2rem; +} +.message--button[data-v-84a42bf8]:nth-child(2n-1):last-of-type { + grid-column: 1 / -1; +} +@-webkit-keyframes slideLeft-390d14a7 { + 0% { + transform: translate(100vw); + } + to { + transform: translateY(0); + } +} +@keyframes slideLeft-390d14a7 { + 0% { + transform: translate(100vw); + } + to { + transform: translateY(0); + } +} +@-webkit-keyframes slideRight-390d14a7 { + 0% { + transform: translate(-100vw); + } + to { + transform: translateY(0); + } +} +@keyframes slideRight-390d14a7 { + 0% { + transform: translate(-100vw); + } + to { + transform: translateY(0); + } +} +.message[data-v-390d14a7] { + margin-top: 0.5rem; + display: flex; + flex-direction: column; + gap: 0.25rem; + border-radius: 0.75rem; + padding: 0.25rem 0.5rem; +} +.message[data-v-390d14a7]:last-child { + margin-bottom: 0.75rem; +} +.message--server[data-v-390d14a7] { + margin-right: 4rem; + background-color: #e2e6e9; +} +.message--server[data-v-390d14a7]:last-of-type { + -webkit-animation: slideRight-390d14a7 0.5s ease-in-out; + animation: slideRight-390d14a7 0.5s ease-in-out; +} +.message--client[data-v-390d14a7] { + position: relative; + align-self: flex-start; + border-bottom-right-radius: 0; + background-color: #000; + color: #fff; +} +.message--client[data-v-390d14a7]:last-of-type { + -webkit-animation: slideLeft-390d14a7 0.5s ease-in-out; + animation: slideLeft-390d14a7 0.5s ease-in-out; +} +.message--client[data-v-390d14a7]:after { + content: ""; + position: absolute; + bottom: -0.25rem; + right: -0.25rem; + height: 1rem; + width: 1rem; + background-color: #000; + -webkit-clip-path: polygon(70% 0, 0 70%, 100% 100%); + clip-path: polygon(70% 0, 0 70%, 100% 100%); +} +.sticky-search-position.igr[data-v-8e9dd7d0] { + --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08); + --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.igr[data-v-8e9dd7d0] { + position: fixed; + z-index: 699; + display: flex; + cursor: ns-resize; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + align-items: center; + gap: 1rem; + border-radius: 0.5rem; + border-width: 1px; + background-color: #fff; + padding: 0.5rem; + --tw-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.12), + 0 10px 10px -6px rgba(0, 0, 0, 0.12); + --tw-shadow-colored: 0 3px 10px 0 var(--tw-shadow-color), + 0 10px 10px -6px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +@media (min-width: 768px) { + .igr[data-v-8e9dd7d0] { + width: 328px; + cursor: move; + } +} +@media screen and (max-width: 767px) { + .igr[data-v-8e9dd7d0] { + width: calc(100% - 2rem); + touch-action: none; + } +} +.fade-enter-active[data-v-8e9dd7d0] { + transition: opacity 0.5s 0.2s ease; +} +.fade-leave-active[data-v-8e9dd7d0] { + transition: opacity 0.2s ease; +} +.fade-enter-from[data-v-8e9dd7d0], +.fade-leave-to[data-v-8e9dd7d0] { + opacity: 0; +} +.a-divider { + align-self: stretch; + min-height: 1px; + min-width: 1px; + margin: 0; + border: none; + flex: 0 1 0; + height: auto; + width: auto; + max-width: 100%; + background: var(--border-1); +} +[data-v-0ee8827e] .pbtn-plain { + min-width: -webkit-max-content; + min-width: -moz-max-content; + min-width: max-content; +} +@media (min-width: 768px) { + [data-v-0ee8827e] .pbtn-plain .pbtn-plain__content { + padding-left: 1rem; + padding-right: 1rem; + padding-top: unset; + padding-bottom: unset; + line-height: 40px; + height: 40px; + } +} +.notifications[data-v-3e9c4bf3] { + overflow-y: auto; +} +.notification-wrapper[data-v-3e9c4bf3] { + min-height: 350px; + max-height: 350px; +} +.notifications[data-v-628c1def] { + border-radius: 0.5rem; + border-width: 1px; +} +.auth-modal[data-v-7480b0b0] h3 { + margin-top: 0.5rem; + margin-bottom: 3rem; + text-align: center; + font-size: 1rem; + font-weight: 700; + color: #0a0b0c; +} +@media (min-width: 768px) { + .auth-modal[data-v-7480b0b0] h3 { + margin-bottom: 0.75rem; + margin-top: 0; + font-size: 1.25rem; + } +} +.auth-modal[data-v-7480b0b0] h4 { + margin-top: 0; + margin-bottom: 1rem; + font-size: 0.75rem; + font-weight: 400; + color: #2b2f33; +} +@media (min-width: 768px) { + .auth-modal[data-v-7480b0b0] h4 { + margin-left: -4rem; + margin-right: -4rem; + margin-bottom: 3rem; + text-align: center; + font-size: 1rem; + } +} +.auth-modal[data-v-7480b0b0] .auth-form { + display: flex; + flex-direction: column; + height: 100%; +} +.auth-modal[data-v-7480b0b0] .auth-actions { + margin-top: auto; +} +.auth-modal[data-v-7480b0b0] .auth-modal-close, +.auth-modal[data-v-7480b0b0] .auth-modal-back { + position: absolute; + top: 0; + left: 0; + z-index: 50; +} +.auth-modal[data-v-7480b0b0] .auth-modal-back { + left: auto; + right: 0; +} +.auth-modal[data-v-7480b0b0] .a-card__body { + margin-left: 0.5rem; + margin-right: 0.5rem; + padding-top: 1rem; + padding-bottom: 1.5rem; +} +@media (min-width: 768px) { + .auth-modal[data-v-7480b0b0] .a-card__body { + padding: 4.5rem 8rem; + } +} +.auth-modal__page .auth-modal-close[data-v-7480b0b0] { + display: none; +} +.auth-modal__page .auth-modal-page-logo[data-v-7480b0b0] { + position: absolute; + top: 3.5rem; + max-width: 180px; + right: 50%; + transform: translate(50%); +} +.auth-modal__page .auth-form[data-v-7480b0b0] { + padding-top: 7rem; +} +.not-found-img[data-v-570ca5a2] { + width: 360px; +} +.home-link[data-v-570ca5a2] { + text-decoration: underline; +} +.header-progress[data-v-6284d162] .a-progress_bar { + background-color: var(--primary); +} +.intro-service-landing[data-v-af62246a] { + display: flex; + font-size: 0.75rem; + list-style: none; + -webkit-padding-start: 0; + padding-inline-start: 0; +} +.intro-service-landing li[data-v-af62246a] { + margin-left: 0.25rem; + margin-right: 0.25rem; + flex-grow: 1; + color: #4b5259; + flex-basis: 33.33%; +} +.intro-service-landing__text[data-v-af62246a] { + width: 256px; +} +.footer[data-v-5f83dd99] { + border-top: solid 1px var(--grays-150); + background-color: #fff; + color: #2b2f33; +} +.footer__content[data-v-5f83dd99] { + padding-top: 0.5rem; + font-size: 0.875rem; + color: #0a0b0c; +} +.footer__heading[data-v-5f83dd99] { + margin-top: 0; + margin-bottom: 1.5rem; + font-size: 1.125rem; +} +.footer__applications[data-v-5f83dd99] { + padding-right: 0.75rem; + line-height: 2; +} +.footer__business-logos[data-v-5f83dd99] { + font-size: 0.75rem; +} +.footer__logo-item[data-v-5f83dd99] { + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; + border-radius: 0.5rem; + background-color: #fff; + width: 80px; + height: 80px; +} +.footer-link[data-v-5f83dd99] { + display: block; + font-size: 0.875rem; +} +.footer-link[data-v-5f83dd99]:hover { + color: #4b5259; +} +.footer-link[data-v-5f83dd99] { + transition: all ease 0.15s; +} +.footer-card[data-v-5f83dd99] { + margin-right: 0.5rem; + display: flex; + align-items: center; + border-width: 1px; + font-size: 0.875rem; + font-weight: 700; + line-height: 2; + padding: 5px 16px; + border-radius: 8px; +} +.footer__text-address[data-v-5f83dd99] { + display: block; + color: #4b5259; + letter-spacing: -0.5px; +} +button[data-v-f6d3ca5c] { + all: unset; + transition-property: transform; + transition-duration: 0.2s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} +[data-v-f6d3ca5c] .a-bullet { + top: -4px; +} +[data-v-f6d3ca5c] .a-bullet:before { + box-sizing: border-box; + border-width: 1px; + border-style: solid; + border-color: #fff; +} +@media (max-width: 767px) { + [data-v-f6d3ca5c] .a-pill span { + font-size: 10px; + width: unset; + min-width: 15px; + padding: 1px; + } +} +.home-bottom-menu { + box-shadow: var(--shadow-nav-bar); + padding-bottom: env(safe-area-inset-bottom); +} +.home-bottom-menu .btn { + box-shadow: none !important; +} +.home-bottom-menu .btn.is-active { + color: #0077db; +} +.home-bottom-menu .btn span { + text-wrap: nowrap; +} +.home-bottom-menu .login-indicator { + position: absolute; + right: -6px; + top: 1px; + display: inline-block; + border-radius: 9999px; + background-color: #fff; + vertical-align: top; + color: #28a745; +} +.sticky-search-position.add-experience-button[data-v-60f9ca34] { + --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08); + --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.add-experience-button[data-v-60f9ca34] { + position: fixed; + bottom: 0.5rem; + right: 0.5rem; + z-index: 10; + border-radius: 9999px; + --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08); + --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + width: 50px; + height: 50px; + bottom: 55px; +} +.add-experience-button__text[data-v-60f9ca34] { + opacity: 0; + visibility: hidden; + width: 0; +} +.add-experience-button__text.scrolled-up[data-v-60f9ca34] { + -webkit-animation: fadeout 0.2s forwards; + animation: fadeOut-60f9ca34 0.2s forwards; + -webkit-animation-delay: 0.1s; + animation-delay: 0.1s; + width: 80px; +} +.add-experience-button__text.scrolled-down[data-v-60f9ca34] { + -webkit-animation: fadeIn-60f9ca34 0.2s forwards; + animation: fadeIn-60f9ca34 0.2s forwards; +} +.add-experience-button.scrolled-up[data-v-60f9ca34] { + -webkit-animation: slideleft 0.1s both; + animation: slideLeft-60f9ca34 0.1s both; +} +.add-experience-button.scrolled-down[data-v-60f9ca34] { + -webkit-animation: slideright 0.1s forwards; + animation: slideRight-60f9ca34 0.1s forwards; +} +@-webkit-keyframes slideLeft-60f9ca34 { + to { + width: 130px; + } +} +@keyframes slideLeft-60f9ca34 { + to { + width: 130px; + } +} +@-webkit-keyframes slideRight-60f9ca34 { + 0% { + width: 80px; + } +} +@keyframes slideRight-60f9ca34 { + 0% { + width: 80px; + } +} +@-webkit-keyframes fadeOut-60f9ca34 { + to { + opacity: 1; + visibility: visible; + } +} +@keyframes fadeOut-60f9ca34 { + to { + opacity: 1; + visibility: visible; + } +} +@-webkit-keyframes fadeIn-60f9ca34 { + to { + opacity: 0; + visibility: hidden; + } +} +@keyframes fadeIn-60f9ca34 { + to { + opacity: 0; + visibility: hidden; + } +} +.is-old[data-v-7ffdd062] { + position: relative; + display: flex; + align-items: center; + justify-content: center; +} +.is-old[data-v-7ffdd062]:after { + position: absolute; + height: 1px; + width: 100%; + background-color: #bec6cc; + content: ""; + transform: rotate(-8deg); +} +.user-info[data-v-585cdda1] { + overflow: hidden; + white-space: nowrap; + border-radius: 0.5rem; + --tw-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.12), + 0 10px 10px -6px rgba(0, 0, 0, 0.12); + --tw-shadow-colored: 0 3px 10px 0 var(--tw-shadow-color), + 0 10px 10px -6px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.user-info__main-info[data-v-585cdda1] { + display: flex; + flex-direction: column; + background-color: #f8fafb; + padding: 1rem; +} +.user-info__action[data-v-585cdda1] { + border: none; + background: transparent; + cursor: pointer; + display: flex; + width: 100%; + align-items: center; + padding: 0.75rem 1rem; + font-size: 0.875rem; + font-weight: 500; + color: #4b5259; +} +.destination-item { + display: flex; + align-items: center; + border-top-width: 1px; + height: 56px; + margin: 0 0.875rem; + font-size: 0.875rem; +} +.destination-item path { + fill: var(--grays-300); +} +.a-menu li.is-group + li .destination-item, +.a-menu li:first-child .destination-item { + border-top: 0; +} +.destination-item__dummy-circle { + width: 24px; +} +.destination-item.is-loading .is-circle { + height: 24px; +} +.destination-item.is-loading .is-line { + width: 50px; +} +.destination-group { + padding: 0.4rem 0; + cursor: default; +} +.a-menu > li:not(.is-active) .destination-item > svg { + color: var(--grays-300); +} +.a-menu > li.active .destination-item { + color: var(--secondary-400); +} +.search-icon[data-v-0371f322] { + position: relative; + display: flex; + align-items: center; + justify-content: center; + width: 35px; + height: 34px; +} +.fake-search-mobile[data-v-0371f322] { + position: relative; + width: 35px; + height: 35px; +} +.fake-search-mobile__search-bar[data-v-0371f322] { + position: absolute; + z-index: 10; + margin: 0; + opacity: 0; + height: 35px; + width: 35px; + background: transparent; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} +.fake-search-mobile__search-bar[data-v-0371f322] button, +.fake-search-mobile__search-bar[data-v-0371f322] input, +.fake-search-mobile__search-bar[data-v-0371f322] label { + display: none; +} +.fake-search-mobile__icon[data-v-0371f322] { + position: absolute; + display: flex; + align-items: center; + justify-content: center; + margin: 0; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} +.fake-search-mobile__icon[data-v-0371f322] path { + fill: var(--grays-500); +} +.sticky-search-position.plus-header[data-v-e22bb02c] { + --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08); + --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.plus-header[data-v-e22bb02c] { + position: fixed; + z-index: 40; + background-color: #fff; + font-weight: 500; + top: 0; + left: 0; + right: 0; + min-height: var(--header-height); + will-change: transform; + transition: transform 0.3s linear; + border-bottom: solid 1px var(--border-1); + box-shadow: var(--shadow-md); + --header-height: 50px; +} +.plus-header.scrolled-away.scrolled-down[data-v-e22bb02c] { + transform: translateY(calc(var(--header-height) * -1)); +} +.plus-header__main[data-v-e22bb02c] { + height: var(--header-height); +} +.plus-header.is-desktop[data-v-e22bb02c] { + --header-height: 65px; +} +.plus-header.is-on-home[data-v-e22bb02c] { + border-bottom: none; +} +.plus-header__username[data-v-e22bb02c] { + max-width: 8rem; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + margin-left: 0.5rem; + display: inline-block; + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} +.plus-header__divider[data-v-e22bb02c] { + margin-right: 0.5rem; + height: 2rem; + background-color: #bec6cc; + width: 1px; +} +.before-init-page[data-v-d73f8cec] { + transform: translate(50px); +} +.initial-page[data-v-d73f8cec] { + transition: transform 0.1s linear; +} +.header-title[data-v-d73f8cec] { + position: absolute; + font-size: 0.875rem; + bottom: 8px; + right: 58px; +} +@media (max-width: 768px) { + .header-title[data-v-d73f8cec] { + font-size: 70%; + bottom: 0; + left: 0; + right: unset; + } +} +.header-menu[data-v-13aab30c] { + margin: 0; + display: flex; + height: 100%; + list-style-type: none; + align-items: center; + padding: 0; + color: #4b5259; +} +.header-menu[data-v-13aab30c] > .a-divider { + margin: 1.25rem 0.25rem; +} +.header-menu__children[data-v-13aab30c] { + margin-top: 0.5rem; + width: 8rem; + padding: 0; + --tw-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.12), + 0 10px 10px -6px rgba(0, 0, 0, 0.12); + --tw-shadow-colored: 0 3px 10px 0 var(--tw-shadow-color), + 0 10px 10px -6px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.sticky-search-position.header[data-v-76127e4a] { + --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08); + --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.header[data-v-76127e4a] { + position: fixed; + z-index: 40; + background-color: #fff; + font-weight: 500; + --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08); + --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + top: 0; + left: 0; + right: 0; + min-height: var(--header-height); + will-change: transform; + transition: transform 0.2s ease-out; + --header-height: auto; +} +.header.is-on-home[data-v-76127e4a] { + border-bottom: none; +} +.header.scrolled-away.scrolled-down[data-v-76127e4a] { + transform: translateY(calc(var(--header-height) * -1)); +} +.header.is-desktop[data-v-76127e4a] { + --header-height: 4rem; +} +.header.is-mobile[data-v-76127e4a] { + box-shadow: var(--shadow-md); +} +.header__main[data-v-76127e4a] { + display: flex; + width: 100%; + align-items: center; + height: var(--header-height); +} +.header__username[data-v-76127e4a] { + max-width: 8rem; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + margin-left: 0.5rem; + display: inline-block; + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} +.header__user-info[data-v-76127e4a] { + margin-top: 0.75rem; + width: 15rem; +} +body:has(.cms-banner) .header.is-mobile[data-v-76127e4a] { + z-index: 701; +} +.min-h-screen[data-v-44649fb5] { + min-height: 100vh; +} +body { + background-color: var(--bg); +} +.wrapper { + display: flex; + min-height: 100vh; + flex-direction: column; +} +.wrapper.is-offline { + overflow: hidden; + filter: blur(1px) grayscale(100%); +} +.sticky-search-position.offline-wrapper { + --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08); + --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.offline-wrapper { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; +} +body[data-no-footer] .wrapper > .footer { + display: none; +} +.on-top { + position: absolute; + top: 0; + left: 0; + z-index: 45; +} +@media (max-width: 767px) { + .toast { + transition: margin-bottom linear 0.3s; + margin-bottom: var(--bottom-stick-height, 0); + } +} diff --git a/src/test/resources/realworld/filterscontainer.css b/src/test/resources/realworld/filterscontainer.css index 2436cb8..9c76946 100644 --- a/src/test/resources/realworld/filterscontainer.css +++ b/src/test/resources/realworld/filterscontainer.css @@ -1 +1,197 @@ -.layout-sidebar[data-v-acd2d56a]{padding-bottom:.75rem}@media (min-width: 768px){.layout-sidebar[data-v-acd2d56a]{padding-top:1rem;padding-bottom:1rem}}.layout-sidebar__main[data-v-acd2d56a]{display:block;align-items:flex-start}@media (min-width: 768px){.layout-sidebar__main[data-v-acd2d56a]{display:flex}}@media (min-width: 640px){.layout-sidebar__sidebar[data-v-acd2d56a]{max-width:300px}}@media (max-width: 767px){.sticky-search-position.layout-sidebar__sidebar[data-v-acd2d56a]{--tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, .08);--tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.layout-sidebar__sidebar[data-v-acd2d56a]{position:fixed;right:-100%;top:0;width:100%;height:100%;z-index:1000;transition:all ease .3s}.layout-sidebar__sidebar.show[data-v-acd2d56a]{transform:translate(-100%)}}.a-card .a-accordion[data-v-3e657b4a]{border:0}.a-card[data-v-3e657b4a] .a-accordion__button{padding:.5rem 1rem}.bu-filters__provider-logo[data-v-5cc2b1c6],.tr-filters__provider-logo[data-v-7b0a6cb5]{vertical-align:middle;box-sizing:content-box;width:24px}.tr-filters__provider-logo[data-v-7b0a6cb5] .provider-logo__wrapper{padding:0}.filterbox .list-enter-from[data-v-5dabcc00],.filterbox .list-leave-to[data-v-5dabcc00]{--tw-translate-x: 1.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:0}.filterbox .list-leave-active[data-v-5dabcc00]{position:absolute}.filterbox .list-enter-active[data-v-5dabcc00],.filterbox .list-leave-active[data-v-5dabcc00]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:linear}.slider-widget[data-v-404329e5]{padding:1.5rem 1rem 1.6875rem}.slider-widget.has-chart[data-v-404329e5]{padding-top:1rem}.slider-widget.has-chart[data-v-404329e5] .a-slider{padding-top:0}.filter-price[data-v-558ae752] .a-slider__footer{white-space:pre}.filter-price[data-v-558ae752] .a-slider__footer :first-child{text-align:left}.filter-price[data-v-558ae752] .a-slider__footer :last-child{text-align:right}.filter-card[data-v-3bf9d946] .filter-card_option{margin-right:.5rem;display:flex;min-height:2rem}.filter-card[data-v-3bf9d946] .filter-card_option:not(:last-child){margin-bottom:.75rem}.filter-card[data-v-3bf9d946] .filter-card_option:last-child{margin-bottom:.5rem}.filter-card[data-v-3bf9d946] .a-slider__tooltip{font-weight:400;line-height:180%;font-size:.875rem;white-space:pre;color:#2b2f33}.dummy-sidebar[data-v-0f3fb5ba]{direction:rtl;border-radius:.5rem;box-shadow:var(--shadow-sm);border:solid 1px var(--border-1);background-color:var(--white)}.dummy-sidebar__item[data-v-0f3fb5ba]{display:flex;justify-content:space-between;padding:1rem;font-size:1.25rem}.dummy-sidebar__item__line[data-v-0f3fb5ba]{flex:1;max-width:150px}.dummy-sidebar__item__line.is-short[data-v-0f3fb5ba]{max-width:84px}.dummy-sidebar__item[data-v-0f3fb5ba]:not(:last-child){border-bottom-width:1px}.bu-filters__provider-logo[data-v-66afc2e5]{vertical-align:middle;box-sizing:content-box;width:24px}.pretty-scroll[data-v-7aa95e25]::-webkit-scrollbar{width:24px}.pretty-scroll[data-v-7aa95e25]::-webkit-scrollbar-thumb{border:8px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:99px;background-color:var(--grays-150)}.border-bottom[data-v-4027b5f5]{border-bottom:solid 1px var(--border-1)}[data-v-6be4bba8] .a-pill{height:32px;width:52px;justify-content:center;padding:0}@media (min-width: 768px){[data-v-6be4bba8] .a-pill{width:40px}}.GTO-checkbox-search[data-v-45741be3] .AC-scrollable-filter-section{max-height:300px;overflow-y:auto}.GTO-checkbox-search-mobile[data-v-45741be3] .AC-scrollable-filter-section{-ms-overflow-style:none;scrollbar-width:none}.GTO-checkbox-search-mobile[data-v-45741be3] .AC-scrollable-filter-section::-webkit-scrollbar{display:none}.hide-scroll[data-v-45741be3]{-ms-overflow-style:none;scrollbar-width:none}.hide-scroll[data-v-45741be3]::-webkit-scrollbar{display:none}[data-v-5aa56fe7] .a-card:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-top:0}[data-v-5aa56fe7] .a-card:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.close-icon[data-v-5aa56fe7]{min-width:1rem}[data-v-5aa56fe7] .filter-item{max-width:200px} +.layout-sidebar[data-v-acd2d56a] { + padding-bottom: 0.75rem; +} +@media (min-width: 768px) { + .layout-sidebar[data-v-acd2d56a] { + padding-top: 1rem; + padding-bottom: 1rem; + } +} +.layout-sidebar__main[data-v-acd2d56a] { + display: block; + align-items: flex-start; +} +@media (min-width: 768px) { + .layout-sidebar__main[data-v-acd2d56a] { + display: flex; + } +} +@media (min-width: 640px) { + .layout-sidebar__sidebar[data-v-acd2d56a] { + max-width: 300px; + } +} +@media (max-width: 767px) { + .sticky-search-position.layout-sidebar__sidebar[data-v-acd2d56a] { + --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08); + --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + } + .layout-sidebar__sidebar[data-v-acd2d56a] { + position: fixed; + right: -100%; + top: 0; + width: 100%; + height: 100%; + z-index: 1000; + transition: all ease 0.3s; + } + .layout-sidebar__sidebar.show[data-v-acd2d56a] { + transform: translate(-100%); + } +} +.a-card .a-accordion[data-v-3e657b4a] { + border: 0; +} +.a-card[data-v-3e657b4a] .a-accordion__button { + padding: 0.5rem 1rem; +} +.bu-filters__provider-logo[data-v-5cc2b1c6], +.tr-filters__provider-logo[data-v-7b0a6cb5] { + vertical-align: middle; + box-sizing: content-box; + width: 24px; +} +.tr-filters__provider-logo[data-v-7b0a6cb5] .provider-logo__wrapper { + padding: 0; +} +.filterbox .list-enter-from[data-v-5dabcc00], +.filterbox .list-leave-to[data-v-5dabcc00] { + --tw-translate-x: 1.5rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) + rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) + scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + opacity: 0; +} +.filterbox .list-leave-active[data-v-5dabcc00] { + position: absolute; +} +.filterbox .list-enter-active[data-v-5dabcc00], +.filterbox .list-leave-active[data-v-5dabcc00] { + transition-property: all; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 0.2s; + transition-timing-function: linear; +} +.slider-widget[data-v-404329e5] { + padding: 1.5rem 1rem 1.6875rem; +} +.slider-widget.has-chart[data-v-404329e5] { + padding-top: 1rem; +} +.slider-widget.has-chart[data-v-404329e5] .a-slider { + padding-top: 0; +} +.filter-price[data-v-558ae752] .a-slider__footer { + white-space: pre; +} +.filter-price[data-v-558ae752] .a-slider__footer :first-child { + text-align: left; +} +.filter-price[data-v-558ae752] .a-slider__footer :last-child { + text-align: right; +} +.filter-card[data-v-3bf9d946] .filter-card_option { + margin-right: 0.5rem; + display: flex; + min-height: 2rem; +} +.filter-card[data-v-3bf9d946] .filter-card_option:not(:last-child) { + margin-bottom: 0.75rem; +} +.filter-card[data-v-3bf9d946] .filter-card_option:last-child { + margin-bottom: 0.5rem; +} +.filter-card[data-v-3bf9d946] .a-slider__tooltip { + font-weight: 400; + line-height: 180%; + font-size: 0.875rem; + white-space: pre; + color: #2b2f33; +} +.dummy-sidebar[data-v-0f3fb5ba] { + direction: rtl; + border-radius: 0.5rem; + box-shadow: var(--shadow-sm); + border: solid 1px var(--border-1); + background-color: var(--white); +} +.dummy-sidebar__item[data-v-0f3fb5ba] { + display: flex; + justify-content: space-between; + padding: 1rem; + font-size: 1.25rem; +} +.dummy-sidebar__item__line[data-v-0f3fb5ba] { + flex: 1; + max-width: 150px; +} +.dummy-sidebar__item__line.is-short[data-v-0f3fb5ba] { + max-width: 84px; +} +.dummy-sidebar__item[data-v-0f3fb5ba]:not(:last-child) { + border-bottom-width: 1px; +} +.bu-filters__provider-logo[data-v-66afc2e5] { + vertical-align: middle; + box-sizing: content-box; + width: 24px; +} +.pretty-scroll[data-v-7aa95e25]::-webkit-scrollbar { + width: 24px; +} +.pretty-scroll[data-v-7aa95e25]::-webkit-scrollbar-thumb { + border: 8px solid rgba(0, 0, 0, 0); + background-clip: padding-box; + border-radius: 99px; + background-color: var(--grays-150); +} +.border-bottom[data-v-4027b5f5] { + border-bottom: solid 1px var(--border-1); +} +[data-v-6be4bba8] .a-pill { + height: 32px; + width: 52px; + justify-content: center; + padding: 0; +} +@media (min-width: 768px) { + [data-v-6be4bba8] .a-pill { + width: 40px; + } +} +.GTO-checkbox-search[data-v-45741be3] .AC-scrollable-filter-section { + max-height: 300px; + overflow-y: auto; +} +.GTO-checkbox-search-mobile[data-v-45741be3] .AC-scrollable-filter-section { + -ms-overflow-style: none; + scrollbar-width: none; +} +.GTO-checkbox-search-mobile[data-v-45741be3] + .AC-scrollable-filter-section::-webkit-scrollbar { + display: none; +} +.hide-scroll[data-v-45741be3] { + -ms-overflow-style: none; + scrollbar-width: none; +} +.hide-scroll[data-v-45741be3]::-webkit-scrollbar { + display: none; +} +[data-v-5aa56fe7] .a-card:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-top: 0; +} +[data-v-5aa56fe7] .a-card:not(:last-child) { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} +.close-icon[data-v-5aa56fe7] { + min-width: 1rem; +} +[data-v-5aa56fe7] .filter-item { + max-width: 200px; +} From 676709a23c80c3c135433cf84d8175a39b471993 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 21 Mar 2025 18:02:30 +0100 Subject: [PATCH 093/137] small test update --- .../parser/CSS3ParserRealWorldTest.java | 2 +- .../realworld/alibaba-huge-index.css | 1084 +++++++++++------ 2 files changed, 728 insertions(+), 358 deletions(-) diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java index 646a461..aebf824 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -534,7 +534,7 @@ public void alibabaHugeIndex() throws Exception { + "screen and (max-width: 480px);" + "screen and (max-width: 767px);" + "screen and (max-width: 768px);"; - realWorld("realworld/alibaba-huge-index.css", 3201, 6863, media, 12, 6); + realWorld("realworld/alibaba-huge-index.css", 3278, 6958, media, 12, 6); } private void realWorld(final String resourceName, final int rules, final int properties, diff --git a/src/test/resources/realworld/alibaba-huge-index.css b/src/test/resources/realworld/alibaba-huge-index.css index e7c3e4d..d0630b5 100644 --- a/src/test/resources/realworld/alibaba-huge-index.css +++ b/src/test/resources/realworld/alibaba-huge-index.css @@ -2351,6 +2351,12 @@ summary { .cursor-not-allowed { cursor: not-allowed !important; } +.select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} .resize { resize: both !important; } @@ -2962,42 +2968,43 @@ summary { flex: 1; background-color: transparent; } -.list-text__title { +.list-text__label { font-size: 0.875rem; font-weight: 400; line-height: 25.2px; color: var(--Content-on-surfac-Overwhelming); margin: 0; } -.list-text__subtitle { +.list-text__subtext { display: flex; font-size: 0.75rem; line-height: 21.6px; color: var(--Content-on-surfac-Intense); } -.list-text__subtitle.is-bullet { +.list-text__subtext.is-bullet { flex-direction: row; align-items: center; } -.list-text__subtitle.is-column { +.list-text__subtext.is-column { flex-direction: column; align-items: stretch; } -.a-item[data-v-f3142712] { +.a-item[data-v-b76cafe7] { display: flex; align-items: center; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; border-radius: 0; padding: var(--ListItem-top-down-padding) var(--ListItem-side-padding); width: auto; gap: 8px; +} +.a-item.has-divider[data-v-b76cafe7] { border: var(--ListItem-border-size) solid var(--ListItem-border-none); border-bottom-color: var(--ListItem-border-default); } -.a-item-link[data-v-f3142712] { +.a-item[data-v-b76cafe7]:last-child { + border: none; +} +.a-item-link[data-v-b76cafe7] { display: flex; align-items: center; font-weight: 400; @@ -3082,17 +3089,10 @@ summary { .a-menu-list li:focus { outline: none; } -.a-menu-list li.is-focused { - border-color: var(--ListItem-border-focus); -} .a-menu-list li.is-disabled { background-color: var(--ListItem-surface-disabled) !important; border: 1px solid var(--ListItem-border-none); pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; opacity: 12%; } .a-menu-list div.is-loading { @@ -4824,6 +4824,7 @@ summary { color: var(--label-on-surface-gray); } .a-checkbox { + position: relative; display: inline-flex; cursor: pointer; -webkit-user-select: none; @@ -7816,6 +7817,11 @@ body { line-height: 180%; font-size: 0.625rem; } +.\!text-footnote { + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.625rem !important; +} .btn-primary-nl-normal { background-color: #fdb713; color: #0a0b0c; @@ -8011,6 +8017,34 @@ body { .\!btn-ghost-nl-gray:hover { background-color: #f8fafb !important; } +.\!btn-ghost-nl-alert { + background-color: #0000 !important; + border-width: 1px !important; + border-style: solid !important; + gap: 0.25rem !important; +} +.\!btn-ghost-nl-alert:focus { + border-color: #871722 !important; + color: #871722 !important; +} +.\!btn-ghost-nl-alert { + height: 40px !important; + min-height: unset !important; + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; +} +.\!btn-ghost-nl-alert svg { + width: 1.25rem !important; + height: 1.25rem !important; +} +.\!btn-ghost-nl-alert { + color: #dc3545 !important; + border-color: #dc3545 !important; +} +.\!btn-ghost-nl-alert:hover { + background-color: #fdf2f3 !important; +} .\!btn-ghost-lg-blue { background-color: #0000 !important; border-width: 1px !important; @@ -8629,6 +8663,33 @@ body { .top-0 { top: 0 !important; } +.bottom-7 { + bottom: 3rem !important; +} +.left-4 { + left: 1rem !important; +} +.-top-\[5px\] { + top: -5px !important; +} +.left-0 { + left: 0 !important; +} +.right-0 { + right: 0 !important; +} +.top-\[5\%\] { + top: 5% !important; +} +.bottom-\[15px\] { + bottom: 15px !important; +} +.left-\[1\%\] { + left: 1% !important; +} +.bottom-0 { + bottom: 0 !important; +} .top-2 { top: 0.5rem !important; } @@ -8647,30 +8708,18 @@ body { .bottom-4 { bottom: 1rem !important; } -.left-4 { - left: 1rem !important; -} .right-4 { right: 1rem !important; } .top-4 { top: 1rem !important; } -.bottom-0 { - bottom: 0 !important; -} -.left-0 { - left: 0 !important; -} .top-1\/2 { top: 50% !important; } .right-1\/2 { right: 50% !important; } -.right-0 { - right: 0 !important; -} .top-1 { top: 0.25rem !important; } @@ -8707,6 +8756,9 @@ body { .top-5 { top: 1.5rem !important; } +.top-\[28px\] { + top: 28px !important; +} .-top-2 { top: -0.5rem !important; } @@ -8743,12 +8795,18 @@ body { .top-2\/4 { top: 50% !important; } -.bottom-\[52\.5px\] { - bottom: 52.5px !important; -} .bottom-3 { bottom: 0.75rem !important; } +.-bottom-1\/2 { + bottom: -50% !important; +} +.\!bottom-1\/2 { + bottom: 50% !important; +} +.bottom-\[52\.5px\] { + bottom: 52.5px !important; +} .bottom-5 { bottom: 1.5rem !important; } @@ -8779,9 +8837,6 @@ body { .-bottom-7 { bottom: -3rem !important; } -.bottom-7 { - bottom: 3rem !important; -} .-top-6 { top: -2rem !important; } @@ -8806,6 +8861,9 @@ body { .top-9 { top: 4.5rem !important; } +.top-\[60px\] { + top: 60px !important; +} .-top-\[10px\] { top: -10px !important; } @@ -8878,6 +8936,15 @@ body { .z-\[45\] { z-index: 45 !important; } +.z-\[100\] { + z-index: 100 !important; +} +.z-\[70\] { + z-index: 70 !important; +} +.z-\[300\] { + z-index: 300 !important; +} .z-40 { z-index: 40 !important; } @@ -9066,6 +9133,10 @@ body { margin-top: 6rem !important; margin-bottom: 6rem !important; } +.my-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; +} .-mx-2 { margin-left: -0.5rem !important; margin-right: -0.5rem !important; @@ -9082,10 +9153,6 @@ body { margin-left: 2rem !important; margin-right: 2rem !important; } -.my-3 { - margin-top: 0.75rem !important; - margin-bottom: 0.75rem !important; -} .my-5 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; @@ -9130,6 +9197,10 @@ body { margin-top: auto !important; margin-bottom: auto !important; } +.mx-\[-16px\] { + margin-left: -16px !important; + margin-right: -16px !important; +} .my-7 { margin-top: 3rem !important; margin-bottom: 3rem !important; @@ -9154,6 +9225,18 @@ body { margin-top: -0.25rem !important; margin-bottom: -0.25rem !important; } +.my-\[20px\] { + margin-top: 20px !important; + margin-bottom: 20px !important; +} +.-mx-\[28px\] { + margin-left: -28px !important; + margin-right: -28px !important; +} +.mx-\[28px\] { + margin-left: 28px !important; + margin-right: 28px !important; +} .-mx-\[20px\] { margin-left: -20px !important; margin-right: -20px !important; @@ -9245,6 +9328,18 @@ body { .mr-8 { margin-right: 4rem !important; } +.-mt-3 { + margin-top: -0.75rem !important; +} +.ml-0 { + margin-left: 0 !important; +} +.ml-1 { + margin-left: 0.25rem !important; +} +.mt-\[40px\] { + margin-top: 40px !important; +} .mt-auto { margin-top: auto !important; } @@ -9257,9 +9352,6 @@ body { .-ml-4 { margin-left: -1rem !important; } -.ml-1 { - margin-left: 0.25rem !important; -} .mr-4 { margin-right: 1rem !important; } @@ -9284,12 +9376,12 @@ body { .-mt-\[40px\] { margin-top: -40px !important; } -.ml-0 { - margin-left: 0 !important; -} .ml-9 { margin-left: 4.5rem !important; } +.mb-8 { + margin-bottom: 4rem !important; +} .ml-3 { margin-left: 0.75rem !important; } @@ -9299,9 +9391,6 @@ body { .mb-9 { margin-bottom: 4.5rem !important; } -.mb-8 { - margin-bottom: 4rem !important; -} .ml-7 { margin-left: 3rem !important; } @@ -9374,9 +9463,6 @@ body { .-ml-2 { margin-left: -0.5rem !important; } -.-mt-3 { - margin-top: -0.75rem !important; -} .mb-\[1px\] { margin-bottom: 1px !important; } @@ -9416,6 +9502,9 @@ body { .mb-\[2\.5rem\] { margin-bottom: 2.5rem !important; } +.\!mt-4 { + margin-top: 1rem !important; +} .-mr-4 { margin-right: -1rem !important; } @@ -9446,9 +9535,6 @@ body { .mt-13 { margin-top: 16rem !important; } -.mt-\[40px\] { - margin-top: 40px !important; -} .mt-\[-100px\] { margin-top: -100px !important; } @@ -9560,6 +9646,36 @@ body { .h-full { height: 100% !important; } +.h-2 { + height: 0.5rem !important; +} +.h-\[1px\] { + height: 1px !important; +} +.h-5 { + height: 1.5rem !important; +} +.h-\[64px\] { + height: 64px !important; +} +.h-\[25px\] { + height: 25px !important; +} +.h-\[32px\] { + height: 32px !important; +} +.h-\[56px\] { + height: 56px !important; +} +.h-\[95\%\] { + height: 95% !important; +} +.h-\[640px\] { + height: 640px !important; +} +.h-\[20px\] { + height: 20px !important; +} .h-3 { height: 0.75rem !important; } @@ -9569,9 +9685,6 @@ body { .h-6 { height: 2rem !important; } -.h-5 { - height: 1.5rem !important; -} .h-9 { height: 4.5rem !important; } @@ -9581,9 +9694,6 @@ body { .h-\[208px\] { height: 208px !important; } -.h-\[1px\] { - height: 1px !important; -} .h-7 { height: 3rem !important; } @@ -9599,12 +9709,6 @@ body { .h-10 { height: 6rem !important; } -.h-2 { - height: 0.5rem !important; -} -.h-\[56px\] { - height: 56px !important; -} .h-1 { height: 0.25rem !important; } @@ -9632,12 +9736,6 @@ body { .h-\[15px\] { height: 15px !important; } -.h-\[20px\] { - height: 20px !important; -} -.h-\[25px\] { - height: 25px !important; -} .h-\[27px\] { height: 27px !important; } @@ -9692,9 +9790,6 @@ body { .h-\[11rem\] { height: 11rem !important; } -.h-\[64px\] { - height: 64px !important; -} .h-px { height: 1px !important; } @@ -9716,9 +9811,6 @@ body { .h-\[5rem\] { height: 5rem !important; } -.h-\[640px\] { - height: 640px !important; -} .h-\[1\.25rem\] { height: 1.25rem !important; } @@ -9734,6 +9826,15 @@ body { .h-\[181px\] { height: 181px !important; } +.h-\[180px\] { + height: 180px !important; +} +.h-\[28px\] { + height: 28px !important; +} +.h-\[16px\] { + height: 16px !important; +} .h-\[9rem\] { height: 9rem !important; } @@ -9752,8 +9853,8 @@ body { .h-\[116px\] { height: 116px !important; } -.h-\[180px\] { - height: 180px !important; +.h-\[165px\] { + height: 165px !important; } .h-\[90px\] { height: 90px !important; @@ -9844,21 +9945,21 @@ body { .h-\[280px\] { height: 280px !important; } +.h-\[128px\] { + height: 128px !important; +} .h-\[255px\] { height: 255px !important; } .h-\[140px\] { height: 140px !important; } -.h-\[562px\] { - height: 562px !important; -} -.h-\[32px\] { - height: 32px !important; -} .h-\[156px\] { height: 156px !important; } +.h-\[562px\] { + height: 562px !important; +} .h-\[112px\] { height: 112px !important; } @@ -9880,12 +9981,15 @@ body { .h-\[200px\] { height: 200px !important; } -.h-\[28px\] { - height: 28px !important; +.h-\[inherit\] { + height: inherit !important; } .h-\[48px\] { height: 48px !important; } +.h-\[22px\] { + height: 22px !important; +} .h-\[37px\] { height: 37px !important; } @@ -9912,9 +10016,6 @@ body { .h-\[6px\] { height: 6px !important; } -.h-\[16px\] { - height: 16px !important; -} .\!h-\[33px\] { height: 33px !important; } @@ -10011,9 +10112,6 @@ body { .h-\[650px\] { height: 650px !important; } -.h-\[165px\] { - height: 165px !important; -} .h-\[78px\] { height: 78px !important; } @@ -10053,6 +10151,9 @@ body { .h-\[106px\] { height: 106px !important; } +.max-h-11 { + max-height: 8rem !important; +} .max-h-\[244px\] { max-height: 244px !important; } @@ -10062,6 +10163,12 @@ body { .max-h-\[98\%\] { max-height: 98% !important; } +.max-h-\[180px\] { + max-height: 180px !important; +} +.max-h-5 { + max-height: 1.5rem !important; +} .max-h-\[352px\] { max-height: 352px !important; } @@ -10074,12 +10181,18 @@ body { .max-h-\[116px\] { max-height: 116px !important; } +.max-h-\[165px\] { + max-height: 165px !important; +} .max-h-\[52px\] { max-height: 52px !important; } .max-h-\[188px\] { max-height: 188px !important; } +.max-h-\[700px\] { + max-height: 700px !important; +} .max-h-\[512px\] { max-height: 512px !important; } @@ -10108,6 +10221,12 @@ body { .max-h-\[300px\] { max-height: 300px !important; } +.max-h-\[185px\] { + max-height: 185px !important; +} +.max-h-\[calc\(100vh-224px\)\] { + max-height: calc(100vh - 224px) !important; +} .max-h-\[270px\] { max-height: 270px !important; } @@ -10147,6 +10266,12 @@ body { .max-h-\[600px\] { max-height: 600px !important; } +.min-h-0 { + min-height: 0px !important; +} +.min-h-\[32px\] { + min-height: 32px !important; +} .min-h-\[2rem\] { min-height: 2rem !important; } @@ -10166,6 +10291,9 @@ body { .min-h-\[auto\] { min-height: auto !important; } +.min-h-\[240px\] { + min-height: 240px !important; +} .min-h-\[516px\] { min-height: 516px !important; } @@ -10175,6 +10303,9 @@ body { .min-h-\[90px\] { min-height: 90px !important; } +.min-h-\[700px\] { + min-height: 700px !important; +} .min-h-\[55px\] { min-height: 55px !important; } @@ -10196,12 +10327,21 @@ body { .min-h-\[11\.5rem\] { min-height: 11.5rem !important; } +.min-h-\[185px\] { + min-height: 185px !important; +} +.min-h-\[113px\] { + min-height: 113px !important; +} +.min-h-\[56px\] { + min-height: 56px !important; +} +.min-h-full { + min-height: 100% !important; +} .min-h-\[48px\] { min-height: 48px !important; } -.min-h-0 { - min-height: 0px !important; -} .min-h-\[230px\] { min-height: 230px !important; } @@ -10223,9 +10363,6 @@ body { .min-h-\[360px\] { min-height: 360px !important; } -.min-h-full { - min-height: 100% !important; -} .min-h-\[355px\] { min-height: 355px !important; } @@ -10250,15 +10387,35 @@ body { .w-10 { width: 6rem !important; } -.w-3 { - width: 0.75rem !important; +.w-max { + width: -webkit-max-content !important; + width: -moz-max-content !important; + width: max-content !important; } -.w-12 { - width: 12rem !important; +.w-2 { + width: 0.5rem !important; } .w-5 { width: 1.5rem !important; } +.w-\[64px\] { + width: 64px !important; +} +.w-\[25px\] { + width: 25px !important; +} +.w-\[360px\] { + width: 360px !important; +} +.w-\[20px\] { + width: 20px !important; +} +.w-3 { + width: 0.75rem !important; +} +.w-12 { + width: 12rem !important; +} .w-\[280px\] { width: 280px !important; } @@ -10294,11 +10451,6 @@ body { .w-14 { width: 24rem !important; } -.w-max { - width: -webkit-max-content !important; - width: -moz-max-content !important; - width: max-content !important; -} .w-\[17\.5rem\] { width: 17.5rem !important; } @@ -10311,9 +10463,6 @@ body { .w-\[12rem\] { width: 12rem !important; } -.w-2 { - width: 0.5rem !important; -} .w-\[328px\] { width: 328px !important; } @@ -10389,9 +10538,6 @@ body { .w-1\/3 { width: 33.333333% !important; } -.w-\[20px\] { - width: 20px !important; -} .w-16 { width: 40rem !important; } @@ -10404,9 +10550,6 @@ body { .w-\[40px\] { width: 40px !important; } -.w-\[360px\] { - width: 360px !important; -} .w-\[284px\] { width: 284px !important; } @@ -10431,18 +10574,27 @@ body { .w-\[15rem\] { width: 15rem !important; } +.w-\[126px\] { + width: 126px !important; +} +.w-\[120px\] { + width: 120px !important; +} .w-\[11rem\] { width: 11rem !important; } .w-\[56px\] { width: 56px !important; } -.w-\[120px\] { - width: 120px !important; +.w-px { + width: 1px !important; } .w-screen { width: 100vw !important; } +.w-\[70px\] { + width: 70px !important; +} .w-\[calc\(100\%\+48px\)\] { width: calc(100% + 48px) !important; } @@ -10550,9 +10702,6 @@ body { .w-\[52px\] { width: 52px !important; } -.w-\[126px\] { - width: 126px !important; -} .w-\[171px\] { width: 171px !important; } @@ -10580,6 +10729,18 @@ body { .w-\[140px\] { width: 140px !important; } +.w-\[calc\(100\%\+56px\)\] { + width: calc(100% + 56px) !important; +} +.w-\[calc\(33\.33\%-56px\)\] { + width: calc(33.33% - 56px) !important; +} +.w-\[22px\] { + width: 22px !important; +} +.w-\[calc\(33\.33\%-38px\)\] { + width: calc(33.33% - 38px) !important; +} .w-\[17rem\] { width: 17rem !important; } @@ -10706,9 +10867,6 @@ body { .w-\[405px\] { width: 405px !important; } -.w-\[22px\] { - width: 22px !important; -} .w-\[5\.5rem\] { width: 5.5rem !important; } @@ -10772,6 +10930,9 @@ body { .w-\[552px\] { width: 552px !important; } +.min-w-\[75px\] { + min-width: 75px !important; +} .min-w-0 { min-width: 0px !important; } @@ -10796,6 +10957,12 @@ body { .min-w-\[6rem\] { min-width: 6rem !important; } +.min-w-\[185px\] { + min-width: 185px !important; +} +.min-w-\[230px\] { + min-width: 230px !important; +} .min-w-\[64px\] { min-width: 64px !important; } @@ -10814,9 +10981,6 @@ body { .\!min-w-\[144px\] { min-width: 144px !important; } -.min-w-\[185px\] { - min-width: 185px !important; -} .min-w-\[48px\] { min-width: 48px !important; } @@ -10878,6 +11042,24 @@ body { .min-w-\[150px\] { min-width: 150px !important; } +.min-w-\[16px\] { + min-width: 16px !important; +} +.min-w-\[264px\] { + min-width: 264px !important; +} +.min-w-\[40px\] { + min-width: 40px !important; +} +.min-w-\[26px\] { + min-width: 26px !important; +} +.min-w-\[172px\] { + min-width: 172px !important; +} +.min-w-\[284px\] { + min-width: 284px !important; +} .min-w-\[144px\] { min-width: 144px !important; } @@ -10923,6 +11105,9 @@ body { .min-w-\[204px\] { min-width: 204px !important; } +.max-w-\[250px\] { + max-width: 250px !important; +} .max-w-\[91\.25rem\] { max-width: 91.25rem !important; } @@ -10974,9 +11159,19 @@ body { .max-w-sm { max-width: 24rem !important; } +.max-w-\[438px\] { + max-width: 438px !important; +} .max-w-\[4rem\] { max-width: 4rem !important; } +.max-w-none, +.\!max-w-none { + max-width: none !important; +} +.max-w-\[15px\] { + max-width: 15px !important; +} .max-w-\[448px\] { max-width: 448px !important; } @@ -10989,9 +11184,6 @@ body { .max-w-\[9rem\] { max-width: 9rem !important; } -.\!max-w-none { - max-width: none !important; -} .\!max-w-full { max-width: 100% !important; } @@ -11094,15 +11286,9 @@ body { .max-w-\[31rem\] { max-width: 31rem !important; } -.max-w-\[40\%\] { - max-width: 40% !important; -} .max-w-\[456px\] { max-width: 456px !important; } -.max-w-none { - max-width: none !important; -} .max-w-\[992px\] { max-width: 992px !important; } @@ -11234,6 +11420,9 @@ body { .basis-auto { flex-basis: auto !important; } +.basis-1\/2 { + flex-basis: 50% !important; +} .basis-\[40\%\] { flex-basis: 40% !important; } @@ -11285,14 +11474,14 @@ body { rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; } -.translate-y-\[calc\(100\%-56px\)\] { - --tw-translate-y: calc(100% - 56px) !important; +.translate-y-1\/2 { + --tw-translate-y: 50% !important; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; } -.translate-y-1\/2 { - --tw-translate-y: 50% !important; +.translate-y-\[calc\(100\%-56px\)\] { + --tw-translate-y: calc(100% - 56px) !important; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; @@ -11421,6 +11610,9 @@ body { .cursor-move { cursor: move !important; } +.cursor-help { + cursor: help !important; +} .touch-pan-x { --tw-pan-x: pan-x !important; touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom) !important; @@ -11563,27 +11755,27 @@ body { .gap-1 { gap: 0.25rem !important; } -.gap-3 { - gap: 0.75rem !important; -} -.gap-6 { - gap: 2rem !important; -} .gap-5 { gap: 1.5rem !important; } .gap-4 { gap: 1rem !important; } +.gap-3 { + gap: 0.75rem !important; +} +.gap-\[2px\] { + gap: 2px !important; +} +.gap-6 { + gap: 2rem !important; +} .gap-10 { gap: 6rem !important; } .gap-\[20px\] { gap: 20px !important; } -.gap-\[2px\] { - gap: 2px !important; -} .gap-0 { gap: 0 !important; } @@ -11593,6 +11785,9 @@ body { .gap-\[40px\] { gap: 40px !important; } +.gap-\[10px\] { + gap: 10px !important; +} .gap-\[116px\] { gap: 116px !important; } @@ -11602,9 +11797,6 @@ body { .gap-\[130px\] { gap: 130px !important; } -.gap-\[10px\] { - gap: 10px !important; -} .gap-y-6 { row-gap: 2rem !important; } @@ -11654,6 +11846,10 @@ body { -moz-column-gap: 6rem !important; column-gap: 6rem !important; } +.gap-x-\[56px\] { + -moz-column-gap: 56px !important; + column-gap: 56px !important; +} .gap-x-6 { -moz-column-gap: 2rem !important; column-gap: 2rem !important; @@ -11754,24 +11950,27 @@ body { .break-words { overflow-wrap: break-word !important; } +.rounded-full { + border-radius: 9999px !important; +} +.rounded-3xl { + border-radius: 1.5rem !important; +} .rounded-lg { border-radius: 0.5rem !important; } +.rounded-\[48px\] { + border-radius: 48px !important; +} .rounded { border-radius: 0.25rem !important; } -.rounded-full { - border-radius: 9999px !important; -} .rounded-md { border-radius: 0.375rem !important; } .rounded-2xl { border-radius: 1rem !important; } -.rounded-3xl { - border-radius: 1.5rem !important; -} .rounded-none { border-radius: 0 !important; } @@ -11799,9 +11998,16 @@ body { .rounded-\[4px\] { border-radius: 4px !important; } +.rounded-\[8px\] { + border-radius: 8px !important; +} .\!rounded-2xl { border-radius: 1rem !important; } +.rounded-t-2xl { + border-top-left-radius: 1rem !important; + border-top-right-radius: 1rem !important; +} .rounded-t-md { border-top-left-radius: 0.375rem !important; border-top-right-radius: 0.375rem !important; @@ -11818,10 +12024,6 @@ body { border-top-right-radius: 0.5rem !important; border-bottom-right-radius: 0.5rem !important; } -.rounded-t-2xl { - border-top-left-radius: 1rem !important; - border-top-right-radius: 1rem !important; -} .rounded-t-none { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; @@ -11887,12 +12089,12 @@ body { .rounded-bl-none { border-bottom-left-radius: 0 !important; } -.border-0 { - border-width: 0px !important; -} .border { border-width: 1px !important; } +.border-0 { + border-width: 0px !important; +} .border-2, .border-\[2px\] { border-width: 2px !important; @@ -11900,6 +12102,12 @@ body { .border-\[1px\] { border-width: 1px !important; } +.\!border-0 { + border-width: 0px !important; +} +.border-t { + border-top-width: 1px !important; +} .border-b { border-bottom-width: 1px !important; } @@ -11915,9 +12123,6 @@ body { .border-r { border-right-width: 1px !important; } -.border-t { - border-top-width: 1px !important; -} .\!border-t-0 { border-top-width: 0px !important; } @@ -11955,6 +12160,9 @@ body { .\!border-none { border-style: none !important; } +.border-white { + border-color: #fff !important; +} .border-grays-150 { border-color: #e2e6e9 !important; } @@ -11994,9 +12202,6 @@ body { .\!border-grays-150 { border-color: #e2e6e9 !important; } -.border-white { - border-color: #fff !important; -} .border-\[\#e0e0e0\] { border-color: #e0e0e0 !important; } @@ -12036,12 +12241,18 @@ body { .bg-\[var\(--bg\)\] { background-color: var(--bg) !important; } -.bg-grays-200 { - background-color: #bec6cc !important; +.\!bg-black\/60 { + background-color: #0009 !important; +} +.bg-primary-light { + background-color: #ffe19c !important; } .bg-secondary-400 { background-color: #0077db !important; } +.bg-grays-200 { + background-color: #bec6cc !important; +} .bg-grays-150 { background-color: #e2e6e9 !important; } @@ -12066,9 +12277,6 @@ body { .bg-info-100 { background-color: #e8f9fc !important; } -.bg-primary-light { - background-color: #ffe19c !important; -} .bg-primary { background-color: #fdb713 !important; } @@ -12269,6 +12477,30 @@ body { padding-top: 3rem !important; padding-bottom: 3rem !important; } +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} +.px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; +} +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} +.py-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; +} +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} +.py-6 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; +} .py-4 { padding-top: 1rem !important; padding-bottom: 1rem !important; @@ -12277,14 +12509,6 @@ body { padding-left: 1.5rem !important; padding-right: 1.5rem !important; } -.py-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; -} -.py-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; -} .px-3 { padding-left: 0.75rem !important; padding-right: 0.75rem !important; @@ -12293,14 +12517,6 @@ body { padding-left: 4rem !important; padding-right: 4rem !important; } -.px-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; -} -.py-6 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; -} .px-6 { padding-left: 2rem !important; padding-right: 2rem !important; @@ -12313,10 +12529,6 @@ body { padding-top: 20px !important; padding-bottom: 20px !important; } -.py-3 { - padding-top: 0.75rem !important; - padding-bottom: 0.75rem !important; -} .px-10 { padding-left: 6rem !important; padding-right: 6rem !important; @@ -12325,10 +12537,6 @@ body { padding-left: 0.25rem !important; padding-right: 0.25rem !important; } -.py-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; -} .py-\[40px\] { padding-top: 40px !important; padding-bottom: 40px !important; @@ -12381,6 +12589,10 @@ body { padding-top: 4.5rem !important; padding-bottom: 4.5rem !important; } +.px-\[6px\] { + padding-left: 6px !important; + padding-right: 6px !important; +} .px-\[11px\] { padding-left: 11px !important; padding-right: 11px !important; @@ -12418,6 +12630,10 @@ body { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } +.px-\[2px\] { + padding-left: 2px !important; + padding-right: 2px !important; +} .px-\[34px\] { padding-left: 34px !important; padding-right: 34px !important; @@ -12455,12 +12671,21 @@ body { .pb-5 { padding-bottom: 1.5rem !important; } -.pl-2 { - padding-left: 0.5rem !important; +.pb-0 { + padding-bottom: 0 !important; +} +.pl-4 { + padding-left: 1rem !important; +} +.pt-2 { + padding-top: 0.5rem !important; } .pr-4 { padding-right: 1rem !important; } +.pl-2 { + padding-left: 0.5rem !important; +} .pb-4 { padding-bottom: 1rem !important; } @@ -12482,9 +12707,6 @@ body { .pr-1 { padding-right: 0.25rem !important; } -.pb-0 { - padding-bottom: 0 !important; -} .pt-0 { padding-top: 0 !important; } @@ -12503,9 +12725,6 @@ body { .pt-3 { padding-top: 0.75rem !important; } -.pl-4 { - padding-left: 1rem !important; -} .pr-0 { padding-right: 0 !important; } @@ -12521,9 +12740,6 @@ body { .pl-3 { padding-left: 0.75rem !important; } -.pt-2 { - padding-top: 0.5rem !important; -} .pl-0 { padding-left: 0 !important; } @@ -12542,6 +12758,9 @@ body { .pb-6 { padding-bottom: 2rem !important; } +.pb-9 { + padding-bottom: 4.5rem !important; +} .pl-12 { padding-left: 12rem !important; } @@ -12551,9 +12770,6 @@ body { .pt-\[100\%\] { padding-top: 100% !important; } -.pb-9 { - padding-bottom: 4.5rem !important; -} .pr-6 { padding-right: 2rem !important; } @@ -12566,11 +12782,17 @@ body { .\!pt-0 { padding-top: 0 !important; } +.\!pl-2 { + padding-left: 0.5rem !important; +} .\!pr-\[2px\] { padding-right: 2px !important; } -.\!pl-2 { - padding-left: 0.5rem !important; +.\!pb-4 { + padding-bottom: 1rem !important; +} +.pt-\[12px\] { + padding-top: 12px !important; } .pl-\[2px\] { padding-left: 2px !important; @@ -12593,6 +12815,12 @@ body { .\!pb-0 { padding-bottom: 0 !important; } +.pb-\[2px\] { + padding-bottom: 2px !important; +} +.pt-\[20px\] { + padding-top: 20px !important; +} .\!pb-3 { padding-bottom: 0.75rem !important; } @@ -12636,6 +12864,9 @@ body { .text-justify { text-align: justify !important; } +.text-start { + text-align: start !important; +} .text-end { text-align: end !important; } @@ -12732,6 +12963,9 @@ body { .leading-normal { line-height: 1.7 !important; } +.leading-relaxed { + line-height: 1.8 !important; +} .leading-loose { line-height: 2 !important; } @@ -12741,9 +12975,6 @@ body { .leading-\[1\.3\] { line-height: 1.3 !important; } -.leading-relaxed { - line-height: 1.8 !important; -} .leading-snug { line-height: 1.5 !important; } @@ -12840,15 +13071,21 @@ body { .text-secondary-600 { color: #004075 !important; } +.text-bg-cta-naturalWhite { + color: #fff !important; +} +.\!text-grays-600 { + color: #2b2f33 !important; +} +.text-grays-100 { + color: #f8fafb !important; +} .\!text-success-400 { color: #28a745 !important; } .\!text-grays-200 { color: #bec6cc !important; } -.text-grays-100 { - color: #f8fafb !important; -} .\!text-primary { color: #fdb713 !important; } @@ -12867,9 +13104,6 @@ body { .\!text-grays-300 { color: #959ea6 !important; } -.\!text-grays-600 { - color: #2b2f33 !important; -} .\!text-danger-400 { color: #dc3545 !important; } @@ -12897,12 +13131,12 @@ body { .text-fg-cta-alert { color: #dc3545 !important; } -.text-gray-400 { - color: #bec6cc !important; -} .text-success-300 { color: #84e199 !important; } +.text-gray-400 { + color: #bec6cc !important; +} .underline { -webkit-text-decoration-line: underline !important; text-decoration-line: underline !important; @@ -12911,6 +13145,9 @@ body { -webkit-text-decoration-line: line-through !important; text-decoration-line: line-through !important; } +.opacity-70 { + opacity: 0.7 !important; +} .opacity-80 { opacity: 0.8 !important; } @@ -12920,18 +13157,21 @@ body { .opacity-\[65\%\] { opacity: 65% !important; } -.opacity-60 { - opacity: 0.6 !important; -} .opacity-0 { opacity: 0 !important; } -.opacity-100 { +.\!opacity-100 { opacity: 1 !important; } +.opacity-60 { + opacity: 0.6 !important; +} .opacity-50 { opacity: 0.5 !important; } +.opacity-100 { + opacity: 1 !important; +} .opacity-75 { opacity: 0.75 !important; } @@ -12941,8 +13181,13 @@ body { .opacity-95 { opacity: 0.95 !important; } -.opacity-70 { - opacity: 0.7 !important; +.shadow-xl { + --tw-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.12), + 0 10px 10px -6px rgba(0, 0, 0, 0.12) !important; + --tw-shadow-colored: 0 3px 10px 0 var(--tw-shadow-color), + 0 10px 10px -6px var(--tw-shadow-color) !important; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), + var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; } .shadow-lg { --tw-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.08) !important; @@ -12956,14 +13201,6 @@ body { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; } -.shadow-xl { - --tw-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.12), - 0 10px 10px -6px rgba(0, 0, 0, 0.12) !important; - --tw-shadow-colored: 0 3px 10px 0 var(--tw-shadow-color), - 0 10px 10px -6px var(--tw-shadow-color) !important; - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), - var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; -} .shadow-none { --tw-shadow: 0 0 #0000 !important; --tw-shadow-colored: 0 0 #0000 !important; @@ -12994,11 +13231,9 @@ body { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; } -.shadow-inner { - --tw-shadow: inset 0 2px 4px 0 rgb(0, 0, 0, 0.05) !important; - --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color) !important; - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), - var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; +.outline-none { + outline: 2px solid transparent !important; + outline-offset: 2px !important; } .outline { outline-style: solid !important; @@ -13024,12 +13259,19 @@ body { var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important; } -.\!blur-0 { +.\!blur-0, +.blur-0 { --tw-blur: blur(0) !important; filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important; } +.\!blur-lg { + --tw-blur: blur(16px) !important; + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) + var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) + var(--tw-sepia) var(--tw-drop-shadow) !important; +} .filter, .\!filter { filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) @@ -13121,14 +13363,14 @@ body { .duration-200 { transition-duration: 0.2s !important; } -.ease-in { - transition-timing-function: cubic-bezier(0.4, 0, 1, 1) !important; +.ease-in-out { + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; } .ease-out { transition-timing-function: cubic-bezier(0, 0, 0.2, 1) !important; } -.ease-in-out { - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; +.ease-in { + transition-timing-function: cubic-bezier(0.4, 0, 1, 1) !important; } .content-\[\'\'\] { --tw-content: "" !important; @@ -13152,6 +13394,12 @@ body { -webkit-box-orient: vertical !important; overflow: hidden !important; } +.line-clamp-6 { + display: -webkit-box !important; + -webkit-line-clamp: 6 !important; + -webkit-box-orient: vertical !important; + overflow: hidden !important; +} .h-safearea { height: env(safe-area-inset-bottom) !important; } @@ -13206,9 +13454,6 @@ body { .last\:mb-0:last-child { margin-bottom: 0 !important; } -.last\:mt-3:last-child { - margin-top: 0.75rem !important; -} .last\:mb-3:last-child { margin-bottom: 0.75rem !important; } @@ -13233,6 +13478,9 @@ body { .last\:pb-0:last-child { padding-bottom: 0 !important; } +.first-of-type\:bg-\[\#F6F6F6\]:first-of-type { + background-color: #f6f6f6 !important; +} .last-of-type\:hidden:last-of-type { display: none !important; } @@ -13287,9 +13535,16 @@ body { .hover\:\!\[background-color\:transparent\]:hover { background-color: transparent !important; } +.focus\:border-none:focus { + border-style: none !important; +} .focus\:\!bg-white:focus { background-color: #fff !important; } +.focus\:outline-none:focus { + outline: 2px solid transparent !important; + outline-offset: 2px !important; +} .active\:shadow-none:active, .active\:\!shadow-none:active { --tw-shadow: 0 0 #0000 !important; @@ -13827,6 +14082,18 @@ body { font-size: 1.125rem; } } + .md\:bottom-4 { + bottom: 1rem !important; + } + .md\:-top-\[12px\] { + top: -12px !important; + } + .md\:bottom-\[15px\] { + bottom: 15px !important; + } + .md\:top-auto { + top: auto !important; + } .md\:text-body-md { font-weight: 400; line-height: 200%; @@ -13835,8 +14102,11 @@ body { .md\:top-0 { top: 0 !important; } - .md\:bottom-4 { - bottom: 1rem !important; + .md\:left-6 { + left: 2rem !important; + } + .md\:top-6 { + top: 2rem !important; } .md\:left-4 { left: 1rem !important; @@ -13900,6 +14170,11 @@ body { line-height: 180%; font-size: 0.875rem; } + .md\:\!text-callout { + font-weight: 400 !important; + line-height: 180% !important; + font-size: 0.875rem !important; + } .md\:text-callout-bold { font-weight: 700; line-height: 180%; @@ -13910,6 +14185,16 @@ body { line-height: 180%; font-size: 0.75rem; } + .md\:\!text-caption-bold { + font-weight: 700 !important; + line-height: 180% !important; + font-size: 0.75rem !important; + } + .md\:text-caption-bold { + font-weight: 700; + line-height: 180%; + font-size: 0.75rem; + } .md\:float-none { float: none !important; } @@ -13983,21 +14268,24 @@ body { margin-left: 1.5rem !important; margin-right: 1.5rem !important; } - .md\:my-8 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; + .md\:-mx-5 { + margin-left: -1.5rem !important; + margin-right: -1.5rem !important; } .md\:mx-1 { margin-left: 0.25rem !important; margin-right: 0.25rem !important; } - .md\:-mx-5 { - margin-left: -1.5rem !important; - margin-right: -1.5rem !important; + .md\:my-8 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; } .md\:mb-10 { margin-bottom: 6rem !important; } + .md\:mb-4 { + margin-bottom: 1rem !important; + } .md\:mb-8 { margin-bottom: 4rem !important; } @@ -14028,9 +14316,6 @@ body { .md\:mb-5 { margin-bottom: 1.5rem !important; } - .md\:mb-4 { - margin-bottom: 1rem !important; - } .md\:mb-0 { margin-bottom: 0 !important; } @@ -14112,9 +14397,15 @@ body { .md\:mt-5 { margin-top: 1.5rem !important; } + .md\:mb-\[2px\] { + margin-bottom: 2px !important; + } .md\:ml-3 { margin-left: 0.75rem !important; } + .md\:\!mt-0 { + margin-top: 0 !important; + } .md\:mb-px { margin-bottom: 1px !important; } @@ -14204,6 +14495,9 @@ body { .md\:aspect-\[1\.97\/1\] { aspect-ratio: 1.97/1 !important; } + .md\:h-\[80px\] { + height: 80px !important; + } .md\:h-\[354px\] { height: 354px !important; } @@ -14252,6 +14546,15 @@ body { .md\:h-\[40px\] { height: 40px !important; } + .md\:h-\[216px\] { + height: 216px !important; + } + .md\:h-auto { + height: auto !important; + } + .md\:h-\[36px\] { + height: 36px !important; + } .md\:h-9 { height: 4.5rem !important; } @@ -14264,18 +14567,12 @@ body { .md\:h-\[315px\] { height: 315px !important; } - .md\:h-\[244px\] { - height: 244px !important; - } - .md\:h-auto { - height: auto !important; - } - .md\:h-\[80px\] { - height: 80px !important; - } .md\:\!btn-secondary-lg-normal:hover { background-color: #00569e !important; } + .md\:h-\[244px\] { + height: 244px !important; + } .md\:h-\[110px\] { height: 110px !important; } @@ -14341,13 +14638,19 @@ body { .md\:h-\[12\.5rem\] { height: 12.5rem !important; } - .md\:max-h-\[200px\] { - max-height: 200px !important; + .md\:max-h-\[216px\] { + max-height: 216px !important; } .md\:\!btn-secondary-lg-normal:focus { background-color: #0077db !important; border: 1px solid #00569e !important; } + .md\:max-h-\[calc\(100\%-64px\)\] { + max-height: calc(100% - 64px) !important; + } + .md\:max-h-\[200px\] { + max-height: 200px !important; + } .md\:max-h-\[480px\] { max-height: 480px !important; } @@ -14357,6 +14660,9 @@ body { .md\:max-h-\[60vh\] { max-height: 60vh !important; } + .md\:min-h-full { + min-height: 100% !important; + } .md\:\!btn-secondary-lg-normal { height: 3rem !important; min-height: unset !important; @@ -14377,6 +14683,9 @@ body { .md\:w-11 { width: 8rem !important; } + .md\:w-\[80px\] { + width: 80px !important; + } .md\:w-\[100px\] { width: 100px !important; } @@ -14454,12 +14763,28 @@ body { width: -moz-fit-content !important; width: fit-content !important; } + .md\:w-\[216px\] { + width: 216px !important; + } + .md\:w-px { + width: 1px !important; + } + .md\:w-\[184px\] { + width: 184px !important; + } + .md\:w-\[140px\] { + width: 140px !important; + } .md\:w-9 { width: 4.5rem !important; } .md\:w-\[160px\] { width: 160px !important; } + .md\:\!btn-secondary-lg-normal svg { + width: 1.5rem !important; + height: 1.5rem !important; + } .md\:w-\[calc\(100\%-50px\)\] { width: calc(100% - 50px) !important; } @@ -14498,10 +14823,6 @@ body { .md\:w-\[400px\] { width: 400px !important; } - .md\:\!btn-secondary-lg-normal svg { - width: 1.5rem !important; - height: 1.5rem !important; - } .md\:w-\[260px\] { width: 260px !important; } @@ -14514,9 +14835,6 @@ body { .md\:w-\[276px\] { width: 276px !important; } - .md\:w-\[80px\] { - width: 80px !important; - } .md\:w-\[48px\] { width: 48px !important; } @@ -14667,6 +14985,18 @@ body { .md\:max-w-\[460px\] { max-width: 460px !important; } + .md\:max-w-\[216px\] { + max-width: 216px !important; + } + .md\:max-w-\[648px\] { + max-width: 648px !important; + } + .md\:max-w-\[280px\] { + max-width: 280px !important; + } + .md\:max-w-\[300px\] { + max-width: 300px !important; + } .md\:max-w-\[496px\] { max-width: 496px !important; } @@ -14932,6 +15262,9 @@ body { -moz-column-gap: 0.75rem !important; column-gap: 0.75rem !important; } + .md\:gap-y-1 { + row-gap: 0.25rem !important; + } .md\:self-start { align-self: flex-start !important; } @@ -14999,15 +15332,15 @@ body { .md\:border-l { border-left-width: 1px !important; } + .md\:border-r { + border-right-width: 1px !important; + } .md\:border-t-2 { border-top-width: 2px !important; } .md\:border-t-0 { border-top-width: 0px !important; } - .md\:border-r { - border-right-width: 1px !important; - } .md\:border-t { border-top-width: 1px !important; } @@ -15155,6 +15488,10 @@ body { padding-left: 6rem !important; padding-right: 6rem !important; } + .md\:px-\[10px\] { + padding-left: 10px !important; + padding-right: 10px !important; + } .md\:py-\[2px\] { padding-top: 2px !important; padding-bottom: 2px !important; @@ -15255,6 +15592,9 @@ body { .md\:pt-10 { padding-top: 6rem !important; } + .md\:pb-3 { + padding-bottom: 0.75rem !important; + } .md\:pt-2 { padding-top: 0.5rem !important; } @@ -15264,9 +15604,6 @@ body { .md\:pr-2 { padding-right: 0.5rem !important; } - .md\:pb-3 { - padding-bottom: 0.75rem !important; - } .md\:pb-1 { padding-bottom: 0.25rem !important; } @@ -15276,6 +15613,9 @@ body { .md\:pr-\[13px\] { padding-right: 13px !important; } + .md\:pl-2 { + padding-left: 0.5rem !important; + } .md\:pt-8 { padding-top: 4rem !important; } @@ -15300,6 +15640,15 @@ body { .md\:text-start { text-align: start !important; } + .md\:\!btn-icon-lg-outline { + min-height: unset !important; + min-width: 0px !important; + padding: 0 !important; + background-color: transparent !important; + border-width: 1px !important; + border-style: solid !important; + box-shadow: none !important; + } .md\:text-3 { font-size: 0.875rem !important; } @@ -15321,6 +15670,10 @@ body { .md\:text-9 { font-size: 2rem !important; } + .md\:\!btn-icon-lg-outline:focus { + background-color: transparent !important; + border-color: #2b2f33 !important; + } .md\:text-\[160px\] { font-size: 160px !important; } @@ -15333,6 +15686,22 @@ body { .md\:font-black { font-weight: 900 !important; } + .md\:\!btn-icon-lg-outline { + height: 3rem !important; + width: 3rem !important; + border-radius: 1rem !important; + } + .md\:\!btn-icon-lg-outline svg { + width: 1.5rem !important; + height: 1.5rem !important; + } + .md\:\!btn-icon-lg-outline { + border-color: #0000001f !important; + color: #2b2f33 !important; + } + .md\:\!btn-icon-lg-outline:hover { + background-color: #f8fafb !important; + } .md\:leading-loose { line-height: 2 !important; } @@ -15445,6 +15814,9 @@ body { margin-left: auto !important; margin-right: auto !important; } + .lg\:mb-6 { + margin-bottom: 2rem !important; + } .lg\:mb-5 { margin-bottom: 1.5rem !important; } @@ -15460,9 +15832,6 @@ body { .lg\:mb-7 { margin-bottom: 3rem !important; } - .lg\:mb-6 { - margin-bottom: 2rem !important; - } .lg\:mb-0 { margin-bottom: 0 !important; } @@ -15776,64 +16145,19 @@ body { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; } + .lg\:\[\&\>div\]\:\!w-fit > div { + width: -webkit-fit-content !important; + width: -moz-fit-content !important; + width: fit-content !important; + } } @media (min-width: 1280px) { - .xl\:mt-6 { - margin-top: 2rem !important; - } - .xl\:mt-0 { - margin-top: 0 !important; - } .xl\:ml-6 { margin-left: 2rem !important; } .xl\:mr-10 { margin-right: 6rem !important; } - .xl\:h-10 { - height: 6rem !important; - } - .xl\:w-\[726px\] { - width: 726px !important; - } - .xl\:w-\[350px\] { - width: 350px !important; - } - .xl\:w-8 { - width: 4rem !important; - } - .xl\:flex-row { - flex-direction: row !important; - } - .xl\:flex-wrap { - flex-wrap: wrap !important; - } - .xl\:px-10 { - padding-left: 6rem !important; - padding-right: 6rem !important; - } - .xl\:text-6 { - font-size: 1.25rem !important; - } - .xl\:text-3 { - font-size: 0.875rem !important; - } -} -.\[\&\:first-of-type\]\:mr-2:first-of-type { - margin-right: 0.5rem !important; -} -.\[\&\>div\]\:py-1 > div { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; -} -@media (min-width: 1024px) { - .lg\:\[\&\>div\]\:\!w-fit > div { - width: -webkit-fit-content !important; - width: -moz-fit-content !important; - width: fit-content !important; - } -} -@media (min-width: 1280px) { .xl\:h-\[180px\] { height: 180px !important; } @@ -15862,6 +16186,10 @@ body { .\[\&\>div\]\:bg-white > div { background-color: #fff !important; } +.\[\&\>div\]\:py-1 > div { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} @media (min-width: 1024px) { .lg\:\[\&\>div\]\:\!items-center > div { align-items: center !important; @@ -15870,12 +16198,6 @@ body { .\[\&_video\]\:bg-white video { background-color: #fff !important; } -.\[\&\>div\>div\]\:min-w-\[85\%\] > div > div { - min-width: 85% !important; -} -.\[\&_img\]\:cursor-pointer img { - cursor: pointer !important; -} .\[\&\>\*\]\:block > * { display: block !important; } @@ -15890,11 +16212,22 @@ body { vertical-align: baseline !important; } } +@media (min-width: 1200px) { + .min-\[1200px\]\:flex-wrap { + flex-wrap: wrap !important; + } +} @media (min-width: 1280px) { .xl\:mx-0 { margin-left: 0 !important; margin-right: 0 !important; } + .xl\:mt-6 { + margin-top: 2rem !important; + } + .xl\:mt-0 { + margin-top: 0 !important; + } .xl\:mr-auto { margin-right: auto !important; } @@ -15907,6 +16240,18 @@ body { .xl\:block { display: block !important; } + .xl\:h-10 { + height: 6rem !important; + } + .xl\:w-\[726px\] { + width: 726px !important; + } + .xl\:w-\[350px\] { + width: 350px !important; + } + .xl\:w-8 { + width: 4rem !important; + } .xl\:max-w-\[675px\] { max-width: 675px !important; } @@ -15916,19 +16261,50 @@ body { .xl\:max-w-\[1184px\] { max-width: 1184px !important; } + .xl\:flex-row { + flex-direction: row !important; + } .xl\:flex-col { flex-direction: column !important; } + .xl\:flex-wrap { + flex-wrap: wrap !important; + } + .xl\:px-10 { + padding-left: 6rem !important; + padding-right: 6rem !important; + } .xl\:pb-0 { padding-bottom: 0 !important; } + .xl\:text-6 { + font-size: 1.25rem !important; + } + .xl\:text-3 { + font-size: 0.875rem !important; + } .xl\:opacity-50 { opacity: 0.5 !important; } } +.\[\&\:first-of-type\]\:mr-2:first-of-type { + margin-right: 0.5rem !important; +} +.\[\&_img\]\:\!blur-md img { + --tw-blur: blur(12px) !important; + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) + var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) + var(--tw-sepia) var(--tw-drop-shadow) !important; +} +.\[\&\>div\]\:\!flex-row > div { + flex-direction: row !important; +} .\[\&\>div\]\:\!pr-0 > div { padding-right: 0 !important; } +.\[\&\>div\>div\]\:min-w-\[85\%\] > div > div { + min-width: 85% !important; +} .\[\&\:not\(\:last-child\)\]\:mb-3:not(:last-child) { margin-bottom: 0.75rem !important; } @@ -16805,12 +17181,6 @@ body { overflow: hidden; filter: blur(1px) grayscale(100%); } -.sticky-search-position.offline-wrapper { - --tw-shadow: 0 2px 5px -1px rgba(0, 0, 0, 0.08); - --tw-shadow-colored: 0 2px 5px -1px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), - var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} .offline-wrapper { position: fixed; top: 0; From 5ee732e8300c53f44c1e1d0e33351d54a6de526f Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 23 Mar 2025 14:45:48 +0100 Subject: [PATCH 094/137] checkstyle / jdoc --- checkstyle.xml | 29 ++++-- checkstyle_suppressions.xml | 4 + .../cssparser/dom/DOMExceptionImpl.java | 4 +- .../cssparser/parser/AbstractCSSParser.java | 90 +++++++++---------- .../cssparser/parser/CSSErrorHandler.java | 6 +- .../cssparser/parser/CSSParseException.java | 1 - .../cssparser/parser/DocumentHandler.java | 16 ++-- .../parser/condition/AttributeCondition.java | 3 + .../parser/condition/LangCondition.java | 1 - .../cssparser/parser/CSS3ParserTest.java | 3 +- 10 files changed, 88 insertions(+), 69 deletions(-) diff --git a/checkstyle.xml b/checkstyle.xml index 6ca5e3b..4399fa8 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -33,6 +33,7 @@ + @@ -99,15 +100,11 @@
- @@ -123,12 +120,12 @@ - - - - + + + + @@ -145,9 +142,22 @@ + + + + + + + + + + + + + @@ -162,6 +172,9 @@ + + + diff --git a/checkstyle_suppressions.xml b/checkstyle_suppressions.xml index fe8dbbf..a87ce46 100644 --- a/checkstyle_suppressions.xml +++ b/checkstyle_suppressions.xml @@ -12,4 +12,8 @@ + + + + diff --git a/src/main/java/org/htmlunit/cssparser/dom/DOMExceptionImpl.java b/src/main/java/org/htmlunit/cssparser/dom/DOMExceptionImpl.java index 7657a32..5d4d625 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/DOMExceptionImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/DOMExceptionImpl.java @@ -58,7 +58,7 @@ public class DOMExceptionImpl extends DOMException { /** INSERT_BEFORE_IMPORT = 16. */ public static final int INSERT_BEFORE_IMPORT = 16; - static final String[] messages = { + static final String[] MESSAGES_ = { "Syntax error", "Index out of bounds error", "This style sheet is read only", @@ -103,6 +103,6 @@ public DOMExceptionImpl(final int code, final int messageKey) { * @param info additional info */ public DOMExceptionImpl(final int code, final int messageKey, final String info) { - super((short) code, messages[messageKey] + " (" + info + ")"); + super((short) code, MESSAGES_[messageKey] + " (" + info + ")"); } } diff --git a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java index b54ad68..405596d 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java @@ -39,55 +39,55 @@ public abstract class AbstractCSSParser { private CSSErrorHandler errorHandler_; private InputSource source_; - private static final HashMap parserMessages_ = new HashMap<>(); + private static final HashMap PARSER_MESSAGES_ = new HashMap<>(); static { - parserMessages_.put("invalidExpectingOne", "Invalid token \"{0}\". Was expecting: {1}."); - parserMessages_.put("invalidExpectingMore", "Invalid token \"{0}\". Was expecting one of: {1}."); - parserMessages_.put("invalidColor", "Invalid color \"{0}\"."); - parserMessages_.put("invalidStyleSheet", "Error in style sheet."); - parserMessages_.put("invalidRule", "Error in rule."); - parserMessages_.put("invalidUnknownRule", "Error in unknown at-rule."); - parserMessages_.put("invalidCharsetRule", "Error in @charset rule."); - parserMessages_.put("misplacedCharsetRule", "The @charset must be the first element in the style sheet."); - parserMessages_.put("invalidImportRule", "Error in @import rule."); - parserMessages_.put("invalidImportRuleIgnored", "@import rule must occur before all other rules."); - parserMessages_.put("invalidImportRuleIgnored2", + PARSER_MESSAGES_.put("invalidExpectingOne", "Invalid token \"{0}\". Was expecting: {1}."); + PARSER_MESSAGES_.put("invalidExpectingMore", "Invalid token \"{0}\". Was expecting one of: {1}."); + PARSER_MESSAGES_.put("invalidColor", "Invalid color \"{0}\"."); + PARSER_MESSAGES_.put("invalidStyleSheet", "Error in style sheet."); + PARSER_MESSAGES_.put("invalidRule", "Error in rule."); + PARSER_MESSAGES_.put("invalidUnknownRule", "Error in unknown at-rule."); + PARSER_MESSAGES_.put("invalidCharsetRule", "Error in @charset rule."); + PARSER_MESSAGES_.put("misplacedCharsetRule", "The @charset must be the first element in the style sheet."); + PARSER_MESSAGES_.put("invalidImportRule", "Error in @import rule."); + PARSER_MESSAGES_.put("invalidImportRuleIgnored", "@import rule must occur before all other rules."); + PARSER_MESSAGES_.put("invalidImportRuleIgnored2", "@import rule must occur before all other rules, except the @charset rule."); - parserMessages_.put("invalidPageRule", "Error in @page rule."); - parserMessages_.put("invalidFontFaceRule", "Error in @font-face rule."); - parserMessages_.put("invalidMediaList", "Error in media list."); - parserMessages_.put("invalidMediaRule", "Error in @media rule."); - parserMessages_.put("invalidStyleRule", "Error in style rule."); - parserMessages_.put("invalidStyleDeclaration", "Error in style declaration."); - parserMessages_.put("invalidDeclaration", "Error in declaration."); - parserMessages_.put("invalidDeclarationInvalidChar", "Error in declaration; invalid character \"{0}\" found."); - parserMessages_.put("invalidDeclarationStarHack", + PARSER_MESSAGES_.put("invalidPageRule", "Error in @page rule."); + PARSER_MESSAGES_.put("invalidFontFaceRule", "Error in @font-face rule."); + PARSER_MESSAGES_.put("invalidMediaList", "Error in media list."); + PARSER_MESSAGES_.put("invalidMediaRule", "Error in @media rule."); + PARSER_MESSAGES_.put("invalidStyleRule", "Error in style rule."); + PARSER_MESSAGES_.put("invalidStyleDeclaration", "Error in style declaration."); + PARSER_MESSAGES_.put("invalidDeclaration", "Error in declaration."); + PARSER_MESSAGES_.put("invalidDeclarationInvalidChar", "Error in declaration; invalid character \"{0}\" found."); + PARSER_MESSAGES_.put("invalidDeclarationStarHack", "Error in declaration. ''*'' is not allowed as first char of a property."); - parserMessages_.put("invalidSelectorList", "Error in selector list."); - parserMessages_.put("invalidSelector", "Error in selector."); - parserMessages_.put("invalidSimpleSelector", "Error in simple selector."); - parserMessages_.put("invalidClassSelector", "Error in class selector."); - parserMessages_.put("invalidElementName", "Error in element name."); - parserMessages_.put("invalidAttrib", "Error in attribute selector."); - parserMessages_.put("invalidPseudo", "Error in pseudo class or element."); - parserMessages_.put("duplicatePseudo", "Duplicate pseudo class \":{0}\" or pseudo class \":{0}\" not at end."); - parserMessages_.put("invalidHash", "Error in hash."); - parserMessages_.put("invalidExpr", "Error in expression."); - parserMessages_.put("invalidExprColon", "Error in expression; '':'' found after identifier \"{0}\"."); - parserMessages_.put("invalidPrio", "Error in priority."); - - parserMessages_.put("invalidPagePseudoClass", + PARSER_MESSAGES_.put("invalidSelectorList", "Error in selector list."); + PARSER_MESSAGES_.put("invalidSelector", "Error in selector."); + PARSER_MESSAGES_.put("invalidSimpleSelector", "Error in simple selector."); + PARSER_MESSAGES_.put("invalidClassSelector", "Error in class selector."); + PARSER_MESSAGES_.put("invalidElementName", "Error in element name."); + PARSER_MESSAGES_.put("invalidAttrib", "Error in attribute selector."); + PARSER_MESSAGES_.put("invalidPseudo", "Error in pseudo class or element."); + PARSER_MESSAGES_.put("duplicatePseudo", "Duplicate pseudo class \":{0}\" or pseudo class \":{0}\" not at end."); + PARSER_MESSAGES_.put("invalidHash", "Error in hash."); + PARSER_MESSAGES_.put("invalidExpr", "Error in expression."); + PARSER_MESSAGES_.put("invalidExprColon", "Error in expression; '':'' found after identifier \"{0}\"."); + PARSER_MESSAGES_.put("invalidPrio", "Error in priority."); + + PARSER_MESSAGES_.put("invalidPagePseudoClass", "Invalid page pseudo class \"{0}\"; valid values are \"blank\", \"first\", \"left\", and \"right\"."); - parserMessages_.put("invalidCaseInSensitivelyIdentifier", + PARSER_MESSAGES_.put("invalidCaseInSensitivelyIdentifier", "Invalid case-insensitively identifier \"{0}\" found; valid values are \"i\", and \"s\"."); - parserMessages_.put("ignoringRule", "Ignoring the whole rule."); - parserMessages_.put("ignoringFollowingDeclarations", "Ignoring the following declarations in this rule."); + PARSER_MESSAGES_.put("ignoringRule", "Ignoring the whole rule."); + PARSER_MESSAGES_.put("ignoringFollowingDeclarations", "Ignoring the following declarations in this rule."); - parserMessages_.put("tokenMgrError", "Lexical error."); - parserMessages_.put("domException", "DOM exception: ''{0}''"); + PARSER_MESSAGES_.put("tokenMgrError", "Lexical error."); + PARSER_MESSAGES_.put("domException", "DOM exception: ''{0}''"); } private static final String NUM_CHARS = "0123456789."; @@ -169,7 +169,7 @@ protected InputSource getInputSource() { * @return the parser message */ protected String getParserMessage(final String key) { - final String msg = parserMessages_.get(key); + final String msg = PARSER_MESSAGES_.get(key); if (msg == null) { return "[[" + key + "]]"; } @@ -555,10 +555,10 @@ private static CharStream getCharStream(final InputSource source) throws IOExcep /** * @return a string about which CSS language is supported by this - * parser. For CSS Level 1, it returns "http://www.w3.org/TR/REC-CSS1", for - * CSS Level 2, it returns "http://www.w3.org/TR/REC-CSS2". Note that a - * "CSSx" parser can return lexical unit other than those allowed by CSS - * Level x but this usage is not recommended. + * parser. For CSS Level 1, it returns "http://www.w3.org/TR/REC-CSS1", for + * CSS Level 2, it returns "http://www.w3.org/TR/REC-CSS2". Note that a + * "CSSx" parser can return lexical unit other than those allowed by CSS + * Level x but this usage is not recommended. */ public abstract String getParserVersion(); diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java b/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java index e39deae..95079db 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java @@ -15,9 +15,9 @@ package org.htmlunit.cssparser.parser; /** - * Interface for CSS parser error handlers. - * @author Ronald Brill - */ + * Interface for CSS parser error handlers. + * @author Ronald Brill + */ public interface CSSErrorHandler { /** diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java b/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java index 8a5391e..9a120a7 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java @@ -41,7 +41,6 @@ public CSSParseException(final String message, final Locator locator) { } /** - * Wrap an existing exception in a CSSParseException. * *

This constructor is especially useful when an application is diff --git a/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java b/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java index 27a7337..904ea63 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java +++ b/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java @@ -95,7 +95,7 @@ public interface DocumentHandler { * @param characterEncoding the character encoding * @param locator the locator * @throws CSSException Any CSS exception, possibly wrapping another - * exception. + * exception. */ void charset(String characterEncoding, Locator locator) throws CSSException; @@ -105,10 +105,10 @@ public interface DocumentHandler { * @param uri The URI of the imported style sheet. * @param media The intended destination media for style information. * @param defaultNamespaceURI The default namespace URI for the imported - * style sheet. + * style sheet. * @param locator the locator * @exception CSSException Any CSS exception, possibly wrapping another - * exception. + * exception. */ void importStyle(String uri, MediaQueryList media, String defaultNamespaceURI, Locator locator) throws CSSException; @@ -120,7 +120,7 @@ void importStyle(String uri, MediaQueryList media, * @param atRule The complete ignored at-rule. * @param locator the locator * @exception CSSException Any CSS exception, possibly wrapping another - * exception. + * exception. */ void ignorableAtRule(String atRule, Locator locator) throws CSSException; @@ -133,7 +133,7 @@ void importStyle(String uri, MediaQueryList media, * * @param locator the locator * @exception CSSException Any CSS exception, possibly wrapping another - * exception. + * exception. */ void startFontFace(Locator locator) throws CSSException; @@ -148,7 +148,7 @@ void importStyle(String uri, MediaQueryList media, * @param pseudoPage the pseudo page (if any, null otherwise) * @param locator the locator * @exception CSSException Any CSS exception, possibly wrapping another - * exception. + * exception. */ void startPage(String name, String pseudoPage, Locator locator) throws CSSException; @@ -162,7 +162,7 @@ void importStyle(String uri, MediaQueryList media, * @param media The intended destination media for style information. * @param locator the locator * @exception CSSException Any CSS exception, possibly wrapping another - * exception. + * exception. */ void startMedia(MediaQueryList media, Locator locator) throws CSSException; @@ -172,7 +172,7 @@ void importStyle(String uri, MediaQueryList media, * @param selectors All intended selectors for all declarations. * @param locator the locator * @exception CSSException Any CSS exception, possibly wrapping another - * exception. + * exception. */ void startSelector(SelectorList selectors, Locator locator) throws CSSException; diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/AttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/AttributeCondition.java index 32356e9..34610bf 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/AttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/AttributeCondition.java @@ -67,6 +67,9 @@ public boolean isCaseInSensitive() { return caseInSensitive_ != null && caseInSensitive_.booleanValue(); } + /** + * @return the operator '=' + */ public String getOperator() { return "="; } diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java index c35f000..4632660 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java @@ -20,7 +20,6 @@ import org.htmlunit.cssparser.parser.Locator; /** - * * @author Ronald Brill */ public class LangCondition extends AbstractLocatable implements Condition, Serializable { diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 312eb14..4a9b5a0 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -2275,7 +2275,8 @@ public void skipInvalidColor() throws Exception { assertEquals("*.test { display: block; }", rules.getRules().get(0).getCssText()); assertEquals("*.another { display: none; }", rules.getRules().get(1).getCssText()); } -/** + + /** * @throws Exception if any error occurs */ @Test From 48ed9afa21be237088b0383887d2d0c1889b59e2 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 23 Mar 2025 14:49:08 +0100 Subject: [PATCH 095/137] 4.11.0 --- README.md | 8 ++++---- pom.xml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index be0cc16..9a60400 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) -### Latest release Version 4.10.0 / February 22, 2025 +### Latest release Version 4.11.0 / March 23, 2025 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.10.0 + 4.11.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.10.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.11.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.11.0-SNAPSHOT + 4.12.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index a58f868..ea4ff78 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.11.0-SNAPSHOT + 4.11.0 HtmlUnit CSS Parser HtmlUnit @@ -20,7 +20,7 @@ 8 8 - 10.21.1 + 10.21.4 10.0.4 From 6c97c6f92979c6b9a277815976b2eaa8b113f900 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 16 May 2025 18:56:11 +0200 Subject: [PATCH 096/137] 4.12.0 --- README.md | 8 ++++---- checkstyle.xml | 3 +-- pom.xml | 8 ++++---- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 9a60400..19144ad 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) -### Latest release Version 4.11.0 / March 23, 2025 +### Latest release Version 4.12.0 / May 17, 2025 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.11.0 + 4.12.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.11.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.12.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.12.0-SNAPSHOT + 4.13.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/checkstyle.xml b/checkstyle.xml index 4399fa8..0f2683b 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -134,7 +134,7 @@ - + @@ -264,7 +264,6 @@ - \ No newline at end of file diff --git a/pom.xml b/pom.xml index ea4ff78..ba01765 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.11.0 + 4.12.0 HtmlUnit CSS Parser HtmlUnit @@ -20,7 +20,7 @@ 8 8 - 10.21.4 + 10.23.1 10.0.4 @@ -69,7 +69,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.5.2 + 3.5.3 org.apache.maven.plugins @@ -328,7 +328,7 @@ commons-io commons-io - 2.18.0 + 2.19.0 test From 0a97522757f48b3d55c7b3616c001395958139dc Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 3 Jun 2025 09:27:47 +0200 Subject: [PATCH 097/137] checkstyle --- src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 4a9b5a0..2c3a829 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -785,7 +785,7 @@ public void atRules1() throws Exception { /** * @see - * http://www.w3.org/TR/CSS21/syndata.html#at-rules + * http://www.w3.org/TR/CSS21/syndata.html#at-rules * @throws Exception if the test fails */ @Test From 058edc48ef63d752f85a6ff56c98753a4bfaff4a Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 3 Jun 2025 09:27:59 +0200 Subject: [PATCH 098/137] 4.13.0 --- README.md | 8 ++++---- pom.xml | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 19144ad..813456b 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) -### Latest release Version 4.12.0 / May 17, 2025 +### Latest release Version 4.13.0 / June 03, 2025 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.12.0 + 4.13.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.12.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.13.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.13.0-SNAPSHOT + 4.14.0-SNAPSHOT You have to add the sonatype snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index ba01765..d096d4e 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.12.0 + 4.13.0 HtmlUnit CSS Parser HtmlUnit @@ -20,7 +20,7 @@ 8 8 - 10.23.1 + 10.25.0 10.0.4 @@ -322,7 +322,7 @@ org.junit.jupiter junit-jupiter-engine - 5.12.0 + 5.13.0 test From 8b428ce40e439df9d58519af909a857b1f3c6cfe Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 30 Jun 2025 08:12:53 +0200 Subject: [PATCH 099/137] https://www.apache.org/licenses/LICENSE-2.0 --- LICENSE | 2 +- checkstyle.xml | 2 +- pom.xml | 4 ++-- .../java/org/htmlunit/cssparser/dom/AbstractCSSRuleImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java | 2 +- .../org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSStyleRuleImpl.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java | 2 +- .../org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/CounterImpl.java | 2 +- .../java/org/htmlunit/cssparser/dom/DOMExceptionImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/Property.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/RectImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/dom/package-info.java | 2 +- .../java/org/htmlunit/cssparser/parser/AbstractCSSParser.java | 2 +- .../java/org/htmlunit/cssparser/parser/AbstractLocatable.java | 2 +- .../java/org/htmlunit/cssparser/parser/CSSErrorHandler.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/CSSException.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java | 2 +- .../java/org/htmlunit/cssparser/parser/CSSParseException.java | 2 +- .../java/org/htmlunit/cssparser/parser/DocumentHandler.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/HandlerBase.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/InputSource.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java | 2 +- .../java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/Locatable.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/Locator.java | 2 +- .../cssparser/parser/condition/AttributeCondition.java | 2 +- .../parser/condition/BeginHyphenAttributeCondition.java | 2 +- .../htmlunit/cssparser/parser/condition/ClassCondition.java | 2 +- .../org/htmlunit/cssparser/parser/condition/Condition.java | 2 +- .../org/htmlunit/cssparser/parser/condition/IdCondition.java | 2 +- .../htmlunit/cssparser/parser/condition/LangCondition.java | 2 +- .../cssparser/parser/condition/NotPseudoClassCondition.java | 2 +- .../cssparser/parser/condition/OneOfAttributeCondition.java | 2 +- .../cssparser/parser/condition/PrefixAttributeCondition.java | 2 +- .../cssparser/parser/condition/PseudoClassCondition.java | 2 +- .../parser/condition/SubstringAttributeCondition.java | 2 +- .../cssparser/parser/condition/SuffixAttributeCondition.java | 2 +- .../org/htmlunit/cssparser/parser/condition/package-info.java | 2 +- .../java/org/htmlunit/cssparser/parser/media/MediaQuery.java | 2 +- .../org/htmlunit/cssparser/parser/media/MediaQueryList.java | 2 +- .../org/htmlunit/cssparser/parser/media/package-info.java | 2 +- src/main/java/org/htmlunit/cssparser/parser/package-info.java | 2 +- .../htmlunit/cssparser/parser/selector/AbstractSelector.java | 2 +- .../org/htmlunit/cssparser/parser/selector/ChildSelector.java | 2 +- .../cssparser/parser/selector/DescendantSelector.java | 2 +- .../cssparser/parser/selector/DirectAdjacentSelector.java | 2 +- .../htmlunit/cssparser/parser/selector/ElementSelector.java | 2 +- .../cssparser/parser/selector/GeneralAdjacentSelector.java | 2 +- .../cssparser/parser/selector/PseudoElementSelector.java | 2 +- .../java/org/htmlunit/cssparser/parser/selector/Selector.java | 2 +- .../org/htmlunit/cssparser/parser/selector/SelectorList.java | 2 +- .../htmlunit/cssparser/parser/selector/SelectorListImpl.java | 2 +- .../cssparser/parser/selector/SelectorSpecificity.java | 2 +- .../htmlunit/cssparser/parser/selector/SimpleSelector.java | 2 +- .../org/htmlunit/cssparser/parser/selector/package-info.java | 2 +- src/main/java/org/htmlunit/cssparser/util/ParserUtils.java | 2 +- .../cssparser/util/ThrowCssExceptionErrorHandler.java | 2 +- src/main/java/org/htmlunit/cssparser/util/package-info.java | 2 +- src/main/javacc/CSS3Parser.jj | 2 +- src/test/java/org/htmlunit/cssparser/DomTest.java | 2 +- src/test/java/org/htmlunit/cssparser/ErrorHandler.java | 2 +- src/test/java/org/htmlunit/cssparser/SerializableTest.java | 2 +- src/test/java/org/htmlunit/cssparser/TestException.java | 2 +- .../org/htmlunit/cssparser/dom/CSSCharsetRuleImplTest.java | 2 +- .../org/htmlunit/cssparser/dom/CSSFontFaceRuleImplTest.java | 2 +- .../org/htmlunit/cssparser/dom/CSSImportRuleImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSMediaRuleImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSPageRuleImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSRuleListImplTest.java | 2 +- .../htmlunit/cssparser/dom/CSSStyleDeclarationImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSStyleRuleImplTest.java | 2 +- .../org/htmlunit/cssparser/dom/CSSStyleSheetImplTest.java | 2 +- .../org/htmlunit/cssparser/dom/CSSUnknownRuleImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/CSSValueImplTest.java | 2 +- src/test/java/org/htmlunit/cssparser/dom/CounterImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/HSLColorImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/HWBColorImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/LABColorImplTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/LCHColorImplTest.java | 2 +- src/test/java/org/htmlunit/cssparser/dom/MediaListTest.java | 2 +- src/test/java/org/htmlunit/cssparser/dom/PropteryTest.java | 2 +- .../java/org/htmlunit/cssparser/dom/RGBColorImplTest.java | 2 +- src/test/java/org/htmlunit/cssparser/dom/RectImplTest.java | 2 +- .../org/htmlunit/cssparser/parser/AbstractCSSParserTest.java | 2 +- .../htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java | 2 +- .../java/org/htmlunit/cssparser/parser/CSS3ParserTest.java | 2 +- .../java/org/htmlunit/cssparser/parser/CSSOMParserTest.java | 2 +- .../org/htmlunit/cssparser/parser/HSLColorParserTest.java | 2 +- .../org/htmlunit/cssparser/parser/HWBColorParserTest.java | 2 +- .../java/org/htmlunit/cssparser/parser/ImportantTest.java | 2 +- .../org/htmlunit/cssparser/parser/LABColorParserTest.java | 2 +- .../org/htmlunit/cssparser/parser/LCHColorParserTest.java | 2 +- .../org/htmlunit/cssparser/parser/LexicalUnitImplTest.java | 2 +- src/test/java/org/htmlunit/cssparser/parser/LocatorTest.java | 2 +- .../org/htmlunit/cssparser/parser/OKLABColorParserTest.java | 2 +- .../org/htmlunit/cssparser/parser/OKLCHColorParserTest.java | 2 +- .../org/htmlunit/cssparser/parser/RGBColorParserTest.java | 2 +- src/test/java/org/htmlunit/cssparser/parser/XhtmlCssTest.java | 2 +- .../cssparser/parser/condition/AttributeConditionTest.java | 2 +- .../parser/condition/BeginHyphenAttributeConditionTest.java | 2 +- .../cssparser/parser/condition/ClassConditionTest.java | 2 +- .../htmlunit/cssparser/parser/condition/IdConditionTest.java | 2 +- .../cssparser/parser/condition/LangConditionTest.java | 2 +- .../parser/condition/OneOfAttributeConditionTest.java | 2 +- .../parser/condition/PrefixAttributeConditionTest.java | 2 +- .../cssparser/parser/condition/PseudoClassConditionTest.java | 2 +- .../parser/condition/SubstringAttributeConditionTest.java | 2 +- .../parser/condition/SuffixAttributeConditionTest.java | 2 +- .../org/htmlunit/cssparser/parser/media/CSS3MediaTest.java | 2 +- .../org/htmlunit/cssparser/parser/media/MediaQueryTest.java | 2 +- .../htmlunit/cssparser/parser/selector/ChildSelectorTest.java | 2 +- .../cssparser/parser/selector/DescendantSelectorImplTest.java | 2 +- .../cssparser/parser/selector/DirectAdjacentSelectorTest.java | 2 +- .../cssparser/parser/selector/ElementSelectorTest.java | 2 +- .../parser/selector/GeneralAdjacentSelectorTest.java | 2 +- .../cssparser/parser/selector/PseudoElementSelectorTest.java | 2 +- .../cssparser/parser/selector/SelectorSpecificityTest.java | 2 +- .../org/htmlunit/cssparser/parser/util/ParserUtilsTest.java | 2 +- 134 files changed, 135 insertions(+), 135 deletions(-) diff --git a/LICENSE b/LICENSE index 261eeb9..b447376 100644 --- a/LICENSE +++ b/LICENSE @@ -192,7 +192,7 @@ you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/checkstyle.xml b/checkstyle.xml index 0f2683b..a85e3b7 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -24,7 +24,7 @@ - + diff --git a/pom.xml b/pom.xml index d096d4e..fcf922c 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.13.0 + 4.14.0-SNAPSHOT HtmlUnit CSS Parser HtmlUnit @@ -269,7 +269,7 @@ Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt + https://www.apache.org/licenses/LICENSE-2.0.txt repo diff --git a/src/main/java/org/htmlunit/cssparser/dom/AbstractCSSRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/AbstractCSSRuleImpl.java index 7713eaf..4435439 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/AbstractCSSRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/AbstractCSSRuleImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java b/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java index 78a4f39..082da53 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java +++ b/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java index e1e6810..8954cf1 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java index 30faf49..f326793 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java index 1460fc0..bc8b04b 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java index 3e959e9..0a1ef2b 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java index 675ac77..0c0d0a4 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java index 86f452c..4dec9ff 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java index ee63eea..e253d3f 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleRuleImpl.java index 9606fa5..8feaea0 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleRuleImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java index ff58966..310dbe8 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java index 35067ea..b38fb14 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java index 971f8f6..5b72017 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java index 2214722..f53ea22 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/CounterImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CounterImpl.java index 016c8b5..4a31054 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CounterImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CounterImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/DOMExceptionImpl.java b/src/main/java/org/htmlunit/cssparser/dom/DOMExceptionImpl.java index 5d4d625..4f3395d 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/DOMExceptionImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/DOMExceptionImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java index eaf6bbf..304611f 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/HSLColorImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java index c69a7ed..e2c708b 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/HWBColorImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java index dc49330..34e0775 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/LABColorImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java index 20e4f6d..d38bd63 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/LCHColorImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java b/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java index 398d9a8..8da6c54 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/Property.java b/src/main/java/org/htmlunit/cssparser/dom/Property.java index fa1229b..c24bb14 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/Property.java +++ b/src/main/java/org/htmlunit/cssparser/dom/Property.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java index d44e224..25fd9ee 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/RGBColorImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/RectImpl.java b/src/main/java/org/htmlunit/cssparser/dom/RectImpl.java index 2078e2f..1b046c9 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/RectImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/RectImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/dom/package-info.java b/src/main/java/org/htmlunit/cssparser/dom/package-info.java index b0198ab..bafbd64 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/package-info.java +++ b/src/main/java/org/htmlunit/cssparser/dom/package-info.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java index 405596d..12159d7 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/AbstractLocatable.java b/src/main/java/org/htmlunit/cssparser/parser/AbstractLocatable.java index 25eb947..496a325 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/AbstractLocatable.java +++ b/src/main/java/org/htmlunit/cssparser/parser/AbstractLocatable.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java b/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java index 95079db..f74e5a5 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSErrorHandler.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSException.java b/src/main/java/org/htmlunit/cssparser/parser/CSSException.java index 8030bb7..32e985d 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSException.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSException.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java b/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java index 8cc45ee..faa8f07 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSOMParser.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java b/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java index 9a120a7..70df78f 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java +++ b/src/main/java/org/htmlunit/cssparser/parser/CSSParseException.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java b/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java index 904ea63..136689c 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java +++ b/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/HandlerBase.java b/src/main/java/org/htmlunit/cssparser/parser/HandlerBase.java index d92dab6..b74ba60 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/HandlerBase.java +++ b/src/main/java/org/htmlunit/cssparser/parser/HandlerBase.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/InputSource.java b/src/main/java/org/htmlunit/cssparser/parser/InputSource.java index dffc85d..b6c53d9 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/InputSource.java +++ b/src/main/java/org/htmlunit/cssparser/parser/InputSource.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java index 0b101de..08474e6 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java index 8493461..737ff3b 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/Locatable.java b/src/main/java/org/htmlunit/cssparser/parser/Locatable.java index f9db2ba..bfcebe0 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/Locatable.java +++ b/src/main/java/org/htmlunit/cssparser/parser/Locatable.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/Locator.java b/src/main/java/org/htmlunit/cssparser/parser/Locator.java index 2efaa2f..e795e96 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/Locator.java +++ b/src/main/java/org/htmlunit/cssparser/parser/Locator.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/AttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/AttributeCondition.java index 34610bf..2005e79 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/AttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/AttributeCondition.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeCondition.java index 80d9b27..676bd5e 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeCondition.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/ClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/ClassCondition.java index 1598762..41b031a 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/ClassCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/ClassCondition.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java index 0f70dce..a38064e 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/IdCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/IdCondition.java index 6c58026..7cfca66 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/IdCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/IdCondition.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java index 4632660..1edc016 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/LangCondition.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/NotPseudoClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/NotPseudoClassCondition.java index 6350d4b..7a8f3e3 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/NotPseudoClassCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/NotPseudoClassCondition.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeCondition.java index 5e5b16e..60225e2 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeCondition.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeCondition.java index 1869c8e..185a3f2 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeCondition.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/PseudoClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/PseudoClassCondition.java index 77d36d6..380af9c 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/PseudoClassCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/PseudoClassCondition.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeCondition.java index 47eddae..3f147b0 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeCondition.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeCondition.java index 0c97feb..fdc6836 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeCondition.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/package-info.java b/src/main/java/org/htmlunit/cssparser/parser/condition/package-info.java index b65be9e..d2120ac 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/package-info.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/package-info.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/media/MediaQuery.java b/src/main/java/org/htmlunit/cssparser/parser/media/MediaQuery.java index ebc9e3e..3458d6d 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/media/MediaQuery.java +++ b/src/main/java/org/htmlunit/cssparser/parser/media/MediaQuery.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/media/MediaQueryList.java b/src/main/java/org/htmlunit/cssparser/parser/media/MediaQueryList.java index 045a00a..8b01ca5 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/media/MediaQueryList.java +++ b/src/main/java/org/htmlunit/cssparser/parser/media/MediaQueryList.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/media/package-info.java b/src/main/java/org/htmlunit/cssparser/parser/media/package-info.java index c325e5b..8ed9118 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/media/package-info.java +++ b/src/main/java/org/htmlunit/cssparser/parser/media/package-info.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/package-info.java b/src/main/java/org/htmlunit/cssparser/parser/package-info.java index 7c9439e..69939eb 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/package-info.java +++ b/src/main/java/org/htmlunit/cssparser/parser/package-info.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/AbstractSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/AbstractSelector.java index 501f02d..08afdb9 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/AbstractSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/AbstractSelector.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java index 564715f..e75c6ec 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/ChildSelector.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/DescendantSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/DescendantSelector.java index 9200e5c..c53d13b 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/DescendantSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/DescendantSelector.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelector.java index 09467f6..635fc04 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelector.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/ElementSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/ElementSelector.java index 3b0d76a..2ddc530 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/ElementSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/ElementSelector.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelector.java index 574ec00..5046dce 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelector.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelector.java index 0e4f3a0..5510197 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelector.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java index b3be350..16b9c48 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorList.java b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorList.java index 1ba8dfc..f39d863 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorList.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorList.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorListImpl.java b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorListImpl.java index cfe420c..b45a353 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorListImpl.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java index f01699f..e24afc9 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/SimpleSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/SimpleSelector.java index 52c7b12..ade7751 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/SimpleSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/SimpleSelector.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/package-info.java b/src/main/java/org/htmlunit/cssparser/parser/selector/package-info.java index 6cc2b06..e10b86f 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/package-info.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/package-info.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/util/ParserUtils.java b/src/main/java/org/htmlunit/cssparser/util/ParserUtils.java index d6b5d77..ab14a24 100644 --- a/src/main/java/org/htmlunit/cssparser/util/ParserUtils.java +++ b/src/main/java/org/htmlunit/cssparser/util/ParserUtils.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/util/ThrowCssExceptionErrorHandler.java b/src/main/java/org/htmlunit/cssparser/util/ThrowCssExceptionErrorHandler.java index a92037c..d86793c 100644 --- a/src/main/java/org/htmlunit/cssparser/util/ThrowCssExceptionErrorHandler.java +++ b/src/main/java/org/htmlunit/cssparser/util/ThrowCssExceptionErrorHandler.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/java/org/htmlunit/cssparser/util/package-info.java b/src/main/java/org/htmlunit/cssparser/util/package-info.java index 8f9bd8d..898ba80 100644 --- a/src/main/java/org/htmlunit/cssparser/util/package-info.java +++ b/src/main/java/org/htmlunit/cssparser/util/package-info.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 593a39b..8d8234f 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/DomTest.java b/src/test/java/org/htmlunit/cssparser/DomTest.java index 3c2ed2c..13254d6 100644 --- a/src/test/java/org/htmlunit/cssparser/DomTest.java +++ b/src/test/java/org/htmlunit/cssparser/DomTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/ErrorHandler.java b/src/test/java/org/htmlunit/cssparser/ErrorHandler.java index c79e1dc..e6e98b4 100644 --- a/src/test/java/org/htmlunit/cssparser/ErrorHandler.java +++ b/src/test/java/org/htmlunit/cssparser/ErrorHandler.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/SerializableTest.java b/src/test/java/org/htmlunit/cssparser/SerializableTest.java index 8dd35be..fd89b82 100644 --- a/src/test/java/org/htmlunit/cssparser/SerializableTest.java +++ b/src/test/java/org/htmlunit/cssparser/SerializableTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/TestException.java b/src/test/java/org/htmlunit/cssparser/TestException.java index 7cc4317..5d47776 100644 --- a/src/test/java/org/htmlunit/cssparser/TestException.java +++ b/src/test/java/org/htmlunit/cssparser/TestException.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImplTest.java index ab65b4f..cde7892 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImplTest.java index 0548654..68b7809 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSImportRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSImportRuleImplTest.java index d47249a..2f17f72 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSImportRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSImportRuleImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSMediaRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSMediaRuleImplTest.java index 4486209..e39ae74 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSMediaRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSMediaRuleImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSPageRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSPageRuleImplTest.java index 776f8bd..9006692 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSPageRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSPageRuleImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSRuleListImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSRuleListImplTest.java index 75be7a3..dffb96e 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSRuleListImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSRuleListImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImplTest.java index e79ed39..3c5306f 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSStyleRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSStyleRuleImplTest.java index 2b2315f..e5ba003 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSStyleRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSStyleRuleImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSStyleSheetImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSStyleSheetImplTest.java index 3ee6b2c..91c08e7 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSStyleSheetImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSStyleSheetImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImplTest.java index 1cbca10..950f8ac 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java index 4af7114..8daeafd 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CSSValueImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/CounterImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/CounterImplTest.java index c6f6f5c..25956db 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/CounterImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/CounterImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java index 425fab8..9de82a9 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/HSLColorImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java index db1f9ba..4ce54f9 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/HWBColorImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java index 9a8cfa5..7f57867 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/LABColorImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java index 6a7c1ba..0f66390 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/LCHColorImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/MediaListTest.java b/src/test/java/org/htmlunit/cssparser/dom/MediaListTest.java index 68eda5e..9403ece 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/MediaListTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/MediaListTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/PropteryTest.java b/src/test/java/org/htmlunit/cssparser/dom/PropteryTest.java index c061edb..f321ac0 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/PropteryTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/PropteryTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java index 0ae942e..0c5a6d4 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/RGBColorImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/dom/RectImplTest.java b/src/test/java/org/htmlunit/cssparser/dom/RectImplTest.java index b53e201..920b233 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/RectImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/RectImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java index 2b20313..a99aa4c 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java index aebf824..9e5bc40 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 2c3a829..8b46c06 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSSOMParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSSOMParserTest.java index 92b6159..091dbd2 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSSOMParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSSOMParserTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java index e1ccc62..f72a0e8 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/HSLColorParserTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java index f7d0dda..5dc380b 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/HWBColorParserTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/ImportantTest.java b/src/test/java/org/htmlunit/cssparser/parser/ImportantTest.java index 1f89d8b..5e63a10 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/ImportantTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/ImportantTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java index 887f927..fec1d9d 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LABColorParserTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java index 9f8319d..6ff38f3 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LCHColorParserTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/LexicalUnitImplTest.java b/src/test/java/org/htmlunit/cssparser/parser/LexicalUnitImplTest.java index 6b461e2..f34ae7e 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LexicalUnitImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LexicalUnitImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/LocatorTest.java b/src/test/java/org/htmlunit/cssparser/parser/LocatorTest.java index 6a80dfc..0191de4 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LocatorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LocatorTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java index dcda202..d5d0d1f 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/OKLABColorParserTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java index f063cab..31483d6 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/OKLCHColorParserTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java index 015a2c0..7e9d911 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/RGBColorParserTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/XhtmlCssTest.java b/src/test/java/org/htmlunit/cssparser/parser/XhtmlCssTest.java index edaa2f0..224bfed 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/XhtmlCssTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/XhtmlCssTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/AttributeConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/AttributeConditionTest.java index d3cece5..1cf5f00 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/AttributeConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/AttributeConditionTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeConditionTest.java index 030fcee..7343c30 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/BeginHyphenAttributeConditionTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/ClassConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/ClassConditionTest.java index c97374d..462d6f8 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/ClassConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/ClassConditionTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/IdConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/IdConditionTest.java index 4099ee4..ad81c3b 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/IdConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/IdConditionTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/LangConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/LangConditionTest.java index f2fc9f2..57f6ac7 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/LangConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/LangConditionTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeConditionTest.java index 3091b25..d87b760 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/OneOfAttributeConditionTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeConditionTest.java index 1cd198e..0993fcd 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/PrefixAttributeConditionTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/PseudoClassConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/PseudoClassConditionTest.java index f60ae21..f8fe00b 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/PseudoClassConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/PseudoClassConditionTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeConditionTest.java index 88e36c4..8eafbd1 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/SubstringAttributeConditionTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeConditionTest.java index 5072f5e..c91ab5c 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/SuffixAttributeConditionTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/media/CSS3MediaTest.java b/src/test/java/org/htmlunit/cssparser/parser/media/CSS3MediaTest.java index 0a9be46..f8bf66e 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/media/CSS3MediaTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/media/CSS3MediaTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/media/MediaQueryTest.java b/src/test/java/org/htmlunit/cssparser/parser/media/MediaQueryTest.java index 4d10475..fa68bb9 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/media/MediaQueryTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/media/MediaQueryTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/ChildSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/ChildSelectorTest.java index a3f6186..93561ed 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/ChildSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/ChildSelectorTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/DescendantSelectorImplTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/DescendantSelectorImplTest.java index 38ab960..ad63cb2 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/DescendantSelectorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/DescendantSelectorImplTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelectorTest.java index 2b4b6a7..9f10161 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/DirectAdjacentSelectorTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/ElementSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/ElementSelectorTest.java index 8457fb0..4e23aec 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/ElementSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/ElementSelectorTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelectorTest.java index 3c1eb72..f129483 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/GeneralAdjacentSelectorTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelectorTest.java index 53777cf..0642173 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/PseudoElementSelectorTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java index 5d22467..4d6d8e8 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/src/test/java/org/htmlunit/cssparser/parser/util/ParserUtilsTest.java b/src/test/java/org/htmlunit/cssparser/parser/util/ParserUtilsTest.java index 14776fc..eec4997 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/util/ParserUtilsTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/util/ParserUtilsTest.java @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, From 0318c5fb3f7e6bb176ff24e3a8ea9caf5ac82541 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 30 Jul 2025 08:07:56 +0200 Subject: [PATCH 100/137] central publishing and pom --- pom.xml | 57 +++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 22 deletions(-) diff --git a/pom.xml b/pom.xml index fcf922c..310548a 100644 --- a/pom.xml +++ b/pom.xml @@ -20,8 +20,19 @@ 8 8 - 10.25.0 + + 5.13.4 + 2.20.0 + + + 10.26.1 10.0.4 + + + 0.8.0 + 3.6.0 + 3.2.8 + 3.6.1 @@ -29,7 +40,7 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.5.0 + ${enforcer-plugin.version} enforce-maven @@ -49,6 +60,15 @@ + + org.sonatype.central + central-publishing-maven-plugin + ${central-publishing-plugin.version} + true + + central + + org.owasp dependency-check-maven @@ -149,7 +169,7 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.6.0 + ${checkstyle-plugin.version} checkstyle.xml checkstyle_suppressions.xml @@ -214,7 +234,7 @@ org.apache.maven.plugins maven-gpg-plugin - 3.2.7 + ${gpg-plugin.version} verify @@ -322,37 +342,30 @@ org.junit.jupiter junit-jupiter-engine - 5.13.0 + ${junit.version} test commons-io commons-io - 2.19.0 + ${commons-io.version} test - - - s01-sonatype-nexus-snapshots - https://s01.oss.sonatype.org/content/repositories/snapshots - - - s01-sonatype-nexus-staging - https://s01.oss.sonatype.org/service/local/staging/deploy/maven2 - - + + - - true - always - + Central Portal Snapshots + central-portal-snapshots + https://central.sonatype.com/repository/maven-snapshots/ false - OSS Sonatype snapshots - https://s01.oss.sonatype.org/content/repositories/snapshots/ + + true + + From cdf82240d3e9480d57ea37881a136efebddad285 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 30 Jul 2025 09:49:02 +0200 Subject: [PATCH 101/137] 4.14.0 --- README.md | 39 ++++++++++++++++++++------------------- pom.xml | 20 +++----------------- 2 files changed, 23 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 813456b..291c232 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) -### Latest release Version 4.13.0 / June 03, 2025 +### Latest release Version 4.14.0 / July 30, 2025 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.13.0 + 4.14.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.13.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.14.0' ``` @@ -55,22 +55,24 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.14.0-SNAPSHOT + 4.15.0-SNAPSHOT -You have to add the sonatype snapshot repository to your pom `repositories` section also: +You have to add the sonatype-central snapshot repository to your pom `repositories` section also: - - OSS Sonatype snapshots - https://s01.oss.sonatype.org/content/repositories/snapshots/ - - true - always - - - false - - + + + Central Portal Snapshots + central-portal-snapshots + https://central.sonatype.com/repository/maven-snapshots/ + + false + + + true + + + ## Start HtmlUnit - CSSParser Development @@ -126,9 +128,8 @@ This part is intended for committer who are packaging a release. mvn -up clean deploy ``` -* Go to [Sonatype staging repositories](https://s01.oss.sonatype.org/index.html#stagingRepositories) and process the deploy - - select the repository and close it - wait until the close is processed - - release the package and wait until it is processed +* Go to [Maven Central Portal](https://central.sonatype.com/) and process the deploy + - publish the package and wait until it is processed * Create the version on Github * login to Github and open project https://github.com/HtmlUnit/htmlunit-cssparser diff --git a/pom.xml b/pom.xml index 310548a..d9af415 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.14.0-SNAPSHOT + 4.14.0 HtmlUnit CSS Parser HtmlUnit @@ -33,6 +33,7 @@ 3.6.0 3.2.8 3.6.1 + 3.4.2 @@ -188,7 +189,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.4.2 + ${jar-plugin.version} @@ -353,19 +354,4 @@ - - - - Central Portal Snapshots - central-portal-snapshots - https://central.sonatype.com/repository/maven-snapshots/ - - false - - - true - - - - From e65a4ce8cb7a21ff551b695403b1a5d114c91e6e Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sat, 16 Aug 2025 11:07:39 +0200 Subject: [PATCH 102/137] 4.15.0 --- README.md | 8 ++++---- pom.xml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 291c232..57ce650 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) -### Latest release Version 4.14.0 / July 30, 2025 +### Latest release Version 4.15.0 / August 17, 2025 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.14.0 + 4.15.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.14.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.15.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.15.0-SNAPSHOT + 4.16.0-SNAPSHOT You have to add the sonatype-central snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index d9af415..37f8355 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.14.0 + 4.15.0 HtmlUnit CSS Parser HtmlUnit From 099c5f8ed6e2678d517e284708e48d9dc9d579c3 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 29 Aug 2025 15:00:23 +0200 Subject: [PATCH 103/137] 4.16.0 --- README.md | 8 ++++---- pom.xml | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 57ce650..6fa2599 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) -### Latest release Version 4.15.0 / August 17, 2025 +### Latest release Version 4.16.0 / August 29, 2025 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.15.0 + 4.16.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.15.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.16.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.16.0-SNAPSHOT + 4.17.0-SNAPSHOT You have to add the sonatype-central snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index 37f8355..c0a1ca9 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.15.0 + 4.16.0 HtmlUnit CSS Parser HtmlUnit @@ -34,6 +34,7 @@ 3.2.8 3.6.1 3.4.2 + 3.11.3 @@ -219,7 +220,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.11.2 + ${javadoc-plugin.version} --allow-script-in-comments org.htmlunit.cssparser.parser.javacc From aae514f17e178aca05d94de73428b4f5456136b8 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 17 Sep 2025 15:27:51 +0200 Subject: [PATCH 104/137] start working on 4.17.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c0a1ca9..a19361b 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.16.0 + 4.17.0-SNAPSHOT HtmlUnit CSS Parser HtmlUnit From 437148e9c907fe189973930821079811bfdf03ec Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 17 Sep 2025 15:28:35 +0200 Subject: [PATCH 105/137] :is pseudo selector support added --- .../cssparser/parser/condition/Condition.java | 13 ++++ .../condition/IsPseudoClassCondition.java | 77 +++++++++++++++++++ src/main/javacc/CSS3Parser.jj | 14 ++++ .../parser/CSS3ParserIsSelectorTest.java | 63 +++++++++++++++ .../cssparser/parser/CSS3ParserTest.java | 2 +- 5 files changed, 168 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/htmlunit/cssparser/parser/condition/IsPseudoClassCondition.java create mode 100644 src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java index a38064e..b1f6e11 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java @@ -29,24 +29,37 @@ public interface Condition extends Locatable { enum ConditionType { /** ATTRIBUTE_CONDITION. */ ATTRIBUTE_CONDITION, + /** ID_CONDITION. */ ID_CONDITION, + /** LANG_CONDITION. */ LANG_CONDITION, + /** ONE_OF_ATTRIBUTE_CONDITION. */ ONE_OF_ATTRIBUTE_CONDITION, + /** BEGIN_HYPHEN_ATTRIBUTE_CONDITION. */ BEGIN_HYPHEN_ATTRIBUTE_CONDITION, + /** CLASS_CONDITION. */ CLASS_CONDITION, + /** PREFIX_ATTRIBUTE_CONDITION. */ PREFIX_ATTRIBUTE_CONDITION, + /** PSEUDO_CLASS_CONDITION. */ PSEUDO_CLASS_CONDITION, + + /** IS_PSEUDO_CLASS_CONDITION. */ + IS_PSEUDO_CLASS_CONDITION, + /** NOT_PSEUDO_CLASS_CONDITION. */ NOT_PSEUDO_CLASS_CONDITION, + /** SUBSTRING_ATTRIBUTE_CONDITION. */ SUBSTRING_ATTRIBUTE_CONDITION, + /** SUFFIX_ATTRIBUTE_CONDITION. */ SUFFIX_ATTRIBUTE_CONDITION } diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/IsPseudoClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/IsPseudoClassCondition.java new file mode 100644 index 0000000..05b5db7 --- /dev/null +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/IsPseudoClassCondition.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser.condition; + +import java.io.Serializable; + +import org.htmlunit.cssparser.parser.AbstractLocatable; +import org.htmlunit.cssparser.parser.Locator; +import org.htmlunit.cssparser.parser.selector.SelectorList; + +/** + * Not condition. + * + * @author Ronald Brill + */ +public class IsPseudoClassCondition extends AbstractLocatable implements Condition, Serializable { + + private final SelectorList selectors_; + private final boolean doubleColon_; + + /** + * Ctor. + * @param selectors the selector list + * @param locator the locator + * @param doubleColon true if was prefixed by double colon + */ + public IsPseudoClassCondition(final SelectorList selectors, final Locator locator, final boolean doubleColon) { + selectors_ = selectors; + setLocator(locator); + doubleColon_ = doubleColon; + } + + @Override + public ConditionType getConditionType() { + return ConditionType.IS_PSEUDO_CLASS_CONDITION; + } + + /** + * {@inheritDoc} + */ + @Override + public String getLocalName() { + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String getValue() { + return selectors_.toString(); + } + + /** + * @return the list of selectors + */ + public SelectorList getSelectors() { + return selectors_; + } + + @Override + public String toString() { + return (doubleColon_ ? "::" : ":") + "is(" + getValue() + ")"; + } +} diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 8d8234f..2fc7212 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -48,6 +48,7 @@ import org.htmlunit.cssparser.parser.condition.ClassCondition; import org.htmlunit.cssparser.parser.condition.Condition; import org.htmlunit.cssparser.parser.condition.IdCondition; import org.htmlunit.cssparser.parser.condition.LangCondition; +import org.htmlunit.cssparser.parser.condition.IsPseudoClassCondition; import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; @@ -425,6 +426,8 @@ TOKEN_MGR_DECLS : | < FUNCTION_LAB: ("ok")? "lab" > | < FUNCTION_LCH: ("ok")? "lch" > +| < FUNCTION_IS: "is" > + | < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > // {ident} "(" {return FUNCTION;} @@ -1398,6 +1401,17 @@ Object pseudo(boolean pseudoElementFound) : } ) | + ( + t = { function = unescape(t.image, false); } + ( )* + selectorList = selectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } + return new IsPseudoClassCondition(selectorList, locator, doubleColon); + } + ) + | ( t = { function = unescape(t.image, false); } ( )* diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java new file mode 100644 index 0000000..ea383fa --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.htmlunit.cssparser.parser.condition.Condition; +import org.htmlunit.cssparser.parser.condition.Condition.ConditionType; +import org.htmlunit.cssparser.parser.condition.IsPseudoClassCondition; +import org.htmlunit.cssparser.parser.selector.ElementSelector; +import org.htmlunit.cssparser.parser.selector.Selector; +import org.htmlunit.cssparser.parser.selector.Selector.SelectorType; +import org.htmlunit.cssparser.parser.selector.SelectorList; +import org.junit.jupiter.api.Test; + +/** + * @author Ronald Brill + */ +public class CSS3ParserIsSelectorTest extends AbstractCSSParserTest { + + /** + * @throws Exception if any error occurs + */ + @Test + public void isElementType() throws Exception { + // element name + final SelectorList selectors = createSelectors(":is(ol, ul)"); + assertEquals("*:is(ol, ul)", selectors.get(0).toString()); + + assertEquals(1, selectors.size()); + final Selector selector = selectors.get(0); + + assertEquals(SelectorType.ELEMENT_NODE_SELECTOR, selector.getSelectorType()); + + final ElementSelector elemSel = (ElementSelector) selector; + assertEquals(1, elemSel.getConditions().size()); + + final Condition condition = elemSel.getConditions().get(0); + assertEquals(ConditionType.IS_PSEUDO_CLASS_CONDITION, condition.getConditionType()); + + final IsPseudoClassCondition pseudo = (IsPseudoClassCondition) condition; + assertEquals("ol, ul", pseudo.getValue()); + assertEquals(":is(ol, ul)", pseudo.toString()); + + final SelectorList conditionSelectors = pseudo.getSelectors(); + assertEquals(2, conditionSelectors.size()); + final Selector conditionSelector = conditionSelectors.get(0); + final ElementSelector conditionElemSelector = (ElementSelector) conditionSelector; + assertEquals("ol", conditionElemSelector.getElementName()); + } +} diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 8b46c06..d911dca 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -3289,7 +3289,7 @@ public void pseudoElementsErrors() throws Exception { checkErrorSelector("input:before:", "Error in pseudo class or element. (Invalid token \"\". " + "Was expecting one of: \"and\", \"only\", \"inherit\", \"none\", \"from\", , " - + "\":\", , , .)"); + + "\":\", , , , .)"); // pseudo element not at end checkErrorSelector("input:before:not(#test)", From fe92dc7ae52d5f26a339c5d0ce6758159f7cc0aa Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 17 Sep 2025 15:35:10 +0200 Subject: [PATCH 106/137] fix specificity for :is() selector --- .../parser/selector/SelectorSpecificity.java | 12 ++++++++++-- .../parser/selector/SelectorSpecificityTest.java | 12 ++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java index e24afc9..86c1cf5 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java @@ -17,6 +17,7 @@ import java.io.Serializable; import org.htmlunit.cssparser.parser.condition.Condition; +import org.htmlunit.cssparser.parser.condition.IsPseudoClassCondition; import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; /** @@ -131,8 +132,15 @@ private void readSelectorSpecificity(final Condition condition) { return; case NOT_PSEUDO_CLASS_CONDITION: final NotPseudoClassCondition notPseudoCondition = (NotPseudoClassCondition) condition; - final SelectorList selectorList = notPseudoCondition.getSelectors(); - for (final Selector selector : selectorList) { + final SelectorList notSelectorList = notPseudoCondition.getSelectors(); + for (final Selector selector : notSelectorList) { + readSelectorSpecificity(selector); + } + return; + case IS_PSEUDO_CLASS_CONDITION: + final IsPseudoClassCondition isPseudoCondition = (IsPseudoClassCondition) condition; + final SelectorList isSelectorList = isPseudoCondition.getSelectors(); + for (final Selector selector : isSelectorList) { readSelectorSpecificity(selector); } return; diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java index 4d6d8e8..d382424 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java @@ -213,4 +213,16 @@ public void notTest() throws Exception { selectorSpecifity("a:not(#fakeId#fakeId#fakeID)", "0,3,0,1"); } + + /** + * @throws Exception if the test fails + */ + @Test + public void isTest() throws Exception { + selectorSpecifity("div:is(.inner) p", "0,0,1,2"); + + selectorSpecifity("div:is(.inner, #fakeId) p", "0,1,1,2"); + + selectorSpecifity("a:is(#fakeId#fakeId#fakeID)", "0,3,0,1"); + } } From 7903c8b759a9302ee5b49046016feb1ae12eab50 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 17 Sep 2025 19:01:05 +0200 Subject: [PATCH 107/137] more :is() selector tests --- .../parser/AbstractCSSParserTest.java | 21 +- .../parser/CSS3ParserIsSelectorTest.java | 182 +++++++++++++++++- 2 files changed, 199 insertions(+), 4 deletions(-) diff --git a/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java index a99aa4c..5fecc9b 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/AbstractCSSParserTest.java @@ -162,12 +162,27 @@ protected MediaQueryList parseMedia(final String media, return mediaList; } + protected SelectorList parseSelectors(final String cssText, + final int err, final int fatal, final int warn) throws Exception { + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final SelectorList selectorList = parser.parseSelectors(cssText); + + assertEquals(err, errorHandler.getErrorCount()); + assertEquals(fatal, errorHandler.getFatalErrorCount()); + assertEquals(warn, errorHandler.getWarningCount()); + + return selectorList; + } + protected SelectorList createSelectors(final String cssText) throws Exception { return new CSSOMParser().parseSelectors(cssText); } protected List createConditions(final String cssText) throws Exception { - final SelectorList selectors = createSelectors(cssText); + final SelectorList selectors = parseSelectors(cssText, 0, 0, 0); final Selector selector = selectors.get(0); final ElementSelector elementSelector = (ElementSelector) selector; return elementSelector.getConditions(); @@ -243,12 +258,12 @@ protected void conditionAssert(final String cssText, final String name, } protected void selectorList(final String cssText, final int length) throws Exception { - final SelectorList selectors = createSelectors(cssText); + final SelectorList selectors = parseSelectors(cssText, 0, 0, 0); assertEquals(length, selectors.size()); } protected void selectorType(final String cssText, final SelectorType... selectorTypes) throws Exception { - final SelectorList selectors = createSelectors(cssText); + final SelectorList selectors = parseSelectors(cssText, 0, 0, 0); final Selector selector = selectors.get(0); assertEquals(selectorTypes[0], selector.getSelectorType()); if (selectorTypes[0] == SelectorType.DESCENDANT_SELECTOR) { diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java index ea383fa..401d404 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java @@ -36,7 +36,7 @@ public class CSS3ParserIsSelectorTest extends AbstractCSSParserTest { @Test public void isElementType() throws Exception { // element name - final SelectorList selectors = createSelectors(":is(ol, ul)"); + final SelectorList selectors = parseSelectors(":is(ol, ul)", 0, 0, 0); assertEquals("*:is(ol, ul)", selectors.get(0).toString()); assertEquals(1, selectors.size()); @@ -60,4 +60,184 @@ public void isElementType() throws Exception { final ElementSelector conditionElemSelector = (ElementSelector) conditionSelector; assertEquals("ol", conditionElemSelector.getElementName()); } + + /** + * @throws Exception if any error occurs + */ + @Test + public void basic() throws Exception { + parseSelectors(":is(h1, h2, h3)", 0, 0, 0); + parseSelectors(":is(.class1, .class2)", 0, 0, 0); + parseSelectors(":is(#id1, #id2, #id3)", 0, 0, 0); + parseSelectors(":is(div, span, p)", 0, 0, 0); + parseSelectors(":is([data-attr], [title])", 0, 0, 0); + parseSelectors(":is(input, textarea, select)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void pseudoClassCombinations() throws Exception { + parseSelectors(":is(a:hover, a:focus)", 0, 0, 0); + parseSelectors(":is(button:disabled, input:disabled)", 0, 0, 0); + parseSelectors(":is(li:first-child, li:last-child)", 0, 0, 0); + parseSelectors(":is(tr:nth-child(odd), tr:nth-child(even))", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void complex() throws Exception { + parseSelectors(":is(.nav > li, .menu > li)", 0, 0, 0); + parseSelectors(":is(article h1, section h1)", 0, 0, 0); + parseSelectors(":is(.sidebar .widget, .footer .widget)", 0, 0, 0); + parseSelectors(":is(form input[type=\"text\"], form input[type=\"email\"])", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void nested() throws Exception { + parseSelectors(":is(:is(h1, h2), :is(h3, h4))", 0, 0, 0); + parseSelectors(":is(article h1, section h1)", 0, 0, 0); + parseSelectors(":is(.sidebar .widget, .footer .widget)", 0, 0, 0); + parseSelectors(":is(.container :is(.item, .element), .wrapper :is(.item, .element))", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void descendant() throws Exception { + parseSelectors("div :is(p, span)", 0, 0, 0); + parseSelectors(".container :is(.item, .box)", 0, 0, 0); + parseSelectors("article :is(h1, h2, h3)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void adjacentGeneralSibling() throws Exception { + parseSelectors(":is(h1, h2) + p", 0, 0, 0); + parseSelectors(":is(.alert, .warning) ~ div", 0, 0, 0); + parseSelectors(":is(img, video) + figcaption", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void multiple() throws Exception { + parseSelectors(":is(main, aside) > :is(section, article)", 0, 0, 0); + parseSelectors(":is(.header, .footer) .nav :is(a, button)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void attribute() throws Exception { + parseSelectors(":is(input[required], textarea[required])", 0, 0, 0); + parseSelectors(":is([data-theme=\"dark\"], [data-theme=\"night\"])", 0, 0, 0); + parseSelectors(":is(a[href^=\"http\"], a[href^=\"mailto\"])", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void pseudo() throws Exception { + parseSelectors(":is(h1, h2, h3)::before", 0, 0, 0); + parseSelectors(":is(blockquote, q)::after", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void whitespace() throws Exception { + parseSelectors(":is(h1,h2,h3)", 0, 0, 0); + parseSelectors(":is( h1 , h2 , h3 )", 0, 0, 0); + parseSelectors(":is( h1,\n h2,\n h3\n )", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void single() throws Exception { + parseSelectors(":is(div)", 0, 0, 0); + parseSelectors(":is(.single-class)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void emptyAndWhitespace() throws Exception { + parseSelectors(":is()", 1, 0, 0); + parseSelectors(":is( )", 1, 0, 0); + parseSelectors(":is(,)", 1, 0, 0); + parseSelectors(":is(h1,)", 1, 0, 0); + parseSelectors(":is(h1,,h2)", 1, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void syntaxErrors() throws Exception { + // parseSelectors(":is(h1 h2)", 1, 0, 0); + // parseSelectors(":is h1, h2", 1, 0, 0); + parseSelectors("is(h1, h2)", 1, 0, 0); + parseSelectors(":is((h1, h2))", 1, 0, 0); + parseSelectors(":is[h1, h2]", 1, 0, 0); + + parseSelectors(":is(h1, h2", 1, 0, 0); + parseSelectors(":is h1, h2)", 1, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void pseudoElementsInside() throws Exception { + parseSelectors(":is(p::before, p::after)", 0, 0, 0); + parseSelectors(":is(::first-line, ::first-letter)", 0, 0, 0); + parseSelectors(":is(div::placeholder, input::placeholder)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void invalidSelectorsWithin() throws Exception { + parseSelectors(":is(123, h2)", 1, 0, 0); + //parseSelectors(":is(.class--, h2)", 1, 0, 0); + parseSelectors(":is(#, h2)", 1, 0, 0); + parseSelectors(":is([attr=], h2)", 1, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void caseSensitive() throws Exception { + parseSelectors(":IS(h2)", 0, 0, 0); + parseSelectors(":iS(h2)", 0, 0, 0); + parseSelectors(":Is(h2)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void comment() throws Exception { + parseSelectors(":is(h1 /* comment */, h2)", 0, 0, 0); + parseSelectors(":is(/* comment */ h1, h2)", 0, 0, 0); + } } From 5d1cb9eb60bdf4bac82024b44fbdc000ddb63ef4 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 17 Sep 2025 19:04:32 +0200 Subject: [PATCH 108/137] :has() pseudo selector support added --- .../cssparser/parser/condition/Condition.java | 3 + .../condition/HasPseudoClassCondition.java | 77 +++++++++++++++++++ .../parser/selector/RelativeSelector.java | 57 ++++++++++++++ .../cssparser/parser/selector/Selector.java | 10 ++- .../parser/selector/SelectorSpecificity.java | 8 ++ src/main/javacc/CSS3Parser.jj | 49 ++++++++++++ .../parser/CSS3ParserHasSelectorTest.java | 67 ++++++++++++++++ .../parser/CSS3ParserRealWorldTest.java | 4 +- .../cssparser/parser/CSS3ParserTest.java | 2 +- 9 files changed, 273 insertions(+), 4 deletions(-) create mode 100644 src/main/java/org/htmlunit/cssparser/parser/condition/HasPseudoClassCondition.java create mode 100644 src/main/java/org/htmlunit/cssparser/parser/selector/RelativeSelector.java create mode 100644 src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java index b1f6e11..a9112ea 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java @@ -54,6 +54,9 @@ enum ConditionType { /** IS_PSEUDO_CLASS_CONDITION. */ IS_PSEUDO_CLASS_CONDITION, + /** HAS_PSEUDO_CLASS_CONDITION. */ + HAS_PSEUDO_CLASS_CONDITION, + /** NOT_PSEUDO_CLASS_CONDITION. */ NOT_PSEUDO_CLASS_CONDITION, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/HasPseudoClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/HasPseudoClassCondition.java new file mode 100644 index 0000000..68efd39 --- /dev/null +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/HasPseudoClassCondition.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser.condition; + +import java.io.Serializable; + +import org.htmlunit.cssparser.parser.AbstractLocatable; +import org.htmlunit.cssparser.parser.Locator; +import org.htmlunit.cssparser.parser.selector.SelectorList; + +/** + * Not condition. + * + * @author Ronald Brill + */ +public class HasPseudoClassCondition extends AbstractLocatable implements Condition, Serializable { + + private final SelectorList selectors_; + private final boolean doubleColon_; + + /** + * Ctor. + * @param selectors the selector list + * @param locator the locator + * @param doubleColon true if was prefixed by double colon + */ + public HasPseudoClassCondition(final SelectorList selectors, final Locator locator, final boolean doubleColon) { + selectors_ = selectors; + setLocator(locator); + doubleColon_ = doubleColon; + } + + @Override + public ConditionType getConditionType() { + return ConditionType.HAS_PSEUDO_CLASS_CONDITION; + } + + /** + * {@inheritDoc} + */ + @Override + public String getLocalName() { + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String getValue() { + return selectors_.toString(); + } + + /** + * @return the list of selectors + */ + public SelectorList getSelectors() { + return selectors_; + } + + @Override + public String toString() { + return (doubleColon_ ? "::" : ":") + "has(" + getValue() + ")"; + } +} diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/RelativeSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/RelativeSelector.java new file mode 100644 index 0000000..eb848ec --- /dev/null +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/RelativeSelector.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser.selector; + +/** + * @author Ronald Brill + */ +public class RelativeSelector extends AbstractSelector { + + private final char combinator_; + private final Selector selector_; + + /** + * Ctor. + * @param combinator the combinator to use + * @param selector the selector + */ + public RelativeSelector(final char combinator, final Selector selector) { + combinator_ = combinator; + selector_ = selector; + } + + /** + * @return the containing selector + */ + public Selector getSelector() { + return selector_; + } + + @Override + public SelectorType getSelectorType() { + return SelectorType.RELATIVE_SELECTOR; + } + + @Override + public SimpleSelector getSimpleSelector() { + return null; + } + + /** {@inheritDoc} */ + @Override + public String toString() { + return combinator_ + " " + selector_.toString(); + } +} diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java index 16b9c48..d384568 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/Selector.java @@ -27,16 +27,24 @@ public interface Selector extends Locatable { enum SelectorType { /** CHILD_SELECTOR. */ CHILD_SELECTOR, + /** DESCENDANT_SELECTOR. */ DESCENDANT_SELECTOR, + /** DIRECT_ADJACENT_SELECTOR. */ DIRECT_ADJACENT_SELECTOR, + /** ELEMENT_NODE_SELECTOR. */ ELEMENT_NODE_SELECTOR, + /** GENERAL_ADJACENT_SELECTOR. */ GENERAL_ADJACENT_SELECTOR, + /** PSEUDO_ELEMENT_SELECTOR. */ - PSEUDO_ELEMENT_SELECTOR + PSEUDO_ELEMENT_SELECTOR, + + /** RELATIVE_SELECTOR. */ + RELATIVE_SELECTOR } /** diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java index 86c1cf5..54a9fbd 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java @@ -17,6 +17,7 @@ import java.io.Serializable; import org.htmlunit.cssparser.parser.condition.Condition; +import org.htmlunit.cssparser.parser.condition.HasPseudoClassCondition; import org.htmlunit.cssparser.parser.condition.IsPseudoClassCondition; import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; @@ -144,6 +145,13 @@ private void readSelectorSpecificity(final Condition condition) { readSelectorSpecificity(selector); } return; + case HAS_PSEUDO_CLASS_CONDITION: + final HasPseudoClassCondition hasPseudoCondition = (HasPseudoClassCondition) condition; + final SelectorList hasSelectorList = hasPseudoCondition.getSelectors(); + for (final Selector selector : hasSelectorList) { + readSelectorSpecificity(selector); + } + return; case PSEUDO_CLASS_CONDITION: classCount_++; return; diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 2fc7212..3705ff3 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -48,6 +48,7 @@ import org.htmlunit.cssparser.parser.condition.ClassCondition; import org.htmlunit.cssparser.parser.condition.Condition; import org.htmlunit.cssparser.parser.condition.IdCondition; import org.htmlunit.cssparser.parser.condition.LangCondition; +import org.htmlunit.cssparser.parser.condition.HasPseudoClassCondition; import org.htmlunit.cssparser.parser.condition.IsPseudoClassCondition; import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; @@ -63,6 +64,7 @@ import org.htmlunit.cssparser.parser.selector.DirectAdjacentSelector; import org.htmlunit.cssparser.parser.selector.ElementSelector; import org.htmlunit.cssparser.parser.selector.GeneralAdjacentSelector; import org.htmlunit.cssparser.parser.selector.PseudoElementSelector; +import org.htmlunit.cssparser.parser.selector.RelativeSelector; import org.htmlunit.cssparser.parser.selector.Selector; import org.htmlunit.cssparser.parser.selector.SelectorList; import org.htmlunit.cssparser.parser.selector.SelectorListImpl; @@ -427,6 +429,7 @@ TOKEN_MGR_DECLS : | < FUNCTION_LCH: ("ok")? "lch" > | < FUNCTION_IS: "is" > +| < FUNCTION_HAS: "has" > | < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > @@ -1006,6 +1009,19 @@ char combinator() : { return c; } } +char combinatorWithoutWhitespace() : +{ + char c = ' '; +} +{ + ( + { c='+'; } ( )* + | { c='>'; } ( )* + | { c='~'; } ( )* + ) + { return c; } +} + // // unary_operator // : '-' | PLUS @@ -1093,6 +1109,27 @@ SelectorList selectorList() : } } +SelectorList relativeSelectorList() : +{ + SelectorListImpl selList = new SelectorListImpl(); + Selector sel; + char comb; +} +{ + comb = combinatorWithoutWhitespace() + sel = selector() { selList.setLocator(sel.getLocator()); } + ( ( )* + { selList.add(new RelativeSelector(comb, sel)); } + + comb = combinatorWithoutWhitespace() + sel = selector() { selList.setLocator(sel.getLocator()); } + )* + { + selList.add(new RelativeSelector(comb, sel)); + return selList; + } +} + // // selector // : simple_selector_sequence [ combinator simple_selector_sequence ]* @@ -1367,6 +1404,7 @@ Object pseudo(boolean pseudoElementFound) : String function; boolean doubleColon = false; SelectorList selectorList; + SelectorList relativeSelectorList; Locator locator; } { @@ -1412,6 +1450,17 @@ Object pseudo(boolean pseudoElementFound) : } ) | + ( + t = { function = unescape(t.image, false); } + ( )* + relativeSelectorList = relativeSelectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + relativeSelectorList + ")" }, locator); } + return new HasPseudoClassCondition(relativeSelectorList, locator, doubleColon); + } + ) + | ( t = { function = unescape(t.image, false); } ( )* diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java new file mode 100644 index 0000000..ec47bf1 --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.htmlunit.cssparser.parser.condition.Condition; +import org.htmlunit.cssparser.parser.condition.Condition.ConditionType; +import org.htmlunit.cssparser.parser.condition.HasPseudoClassCondition; +import org.htmlunit.cssparser.parser.selector.ChildSelector; +import org.htmlunit.cssparser.parser.selector.ElementSelector; +import org.htmlunit.cssparser.parser.selector.RelativeSelector; +import org.htmlunit.cssparser.parser.selector.Selector; +import org.htmlunit.cssparser.parser.selector.Selector.SelectorType; +import org.htmlunit.cssparser.parser.selector.SelectorList; +import org.junit.jupiter.api.Test; + +/** + * @author Ronald Brill + */ +public class CSS3ParserHasSelectorTest extends AbstractCSSParserTest { + + /** + * @throws Exception if any error occurs + */ + @Test + public void hasPlus() throws Exception { + // element name + final SelectorList selectors = createSelectors(":has(+ div#topic > #reference)"); + assertEquals("*:has(+ div#topic > *#reference)", selectors.get(0).toString()); + + assertEquals(1, selectors.size()); + final Selector selector = selectors.get(0); + + assertEquals(SelectorType.ELEMENT_NODE_SELECTOR, selector.getSelectorType()); + + final ElementSelector elemSel = (ElementSelector) selector; + assertEquals(1, elemSel.getConditions().size()); + + final Condition condition = elemSel.getConditions().get(0); + assertEquals(ConditionType.HAS_PSEUDO_CLASS_CONDITION, condition.getConditionType()); + + final HasPseudoClassCondition pseudo = (HasPseudoClassCondition) condition; + assertEquals("+ div#topic > *#reference", pseudo.getValue()); + assertEquals(":has(+ div#topic > *#reference)", pseudo.toString()); + + final SelectorList conditionSelectors = pseudo.getSelectors(); + assertEquals(1, conditionSelectors.size()); + final Selector conditionSelector = conditionSelectors.get(0); + final RelativeSelector conditionRelativeSelector = (RelativeSelector) conditionSelector; + + final ChildSelector conditionChildSelector = (ChildSelector) conditionRelativeSelector.getSelector(); + assertEquals("div#topic > *#reference", conditionChildSelector.toString()); + } +} diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java index 9e5bc40..8dbf51e 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -407,8 +407,8 @@ public void bulma_1_0_2() throws Exception { + "screen and (min-width: 1408px);" + "screen and (min-width: 769px);" + "screen and (min-width: 769px) and (max-width: 1023px);"; - realWorld("realworld/bulma_1_0_2.css", 3036, 7226, media, 13, 13); - realWorld("realworld/bulma_1_0_2.min.css", 3011, 7180, media, 13, 13); + realWorld("realworld/bulma_1_0_2.css", 3038, 7228, media, 11, 11); + realWorld("realworld/bulma_1_0_2.min.css", 3013, 7182, media, 11, 11); } /** diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index d911dca..0445360 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -3289,7 +3289,7 @@ public void pseudoElementsErrors() throws Exception { checkErrorSelector("input:before:", "Error in pseudo class or element. (Invalid token \"\". " + "Was expecting one of: \"and\", \"only\", \"inherit\", \"none\", \"from\", , " - + "\":\", , , , .)"); + + "\":\", , , , , .)"); // pseudo element not at end checkErrorSelector("input:before:not(#test)", From ff07bc766ed954aec5003744ae48635fcfbd88e0 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 17 Sep 2025 19:44:22 +0200 Subject: [PATCH 109/137] :has() parser fix --- src/main/javacc/CSS3Parser.jj | 8 +- .../parser/CSS3ParserHasSelectorTest.java | 192 ++++++++++++++++++ .../parser/CSS3ParserRealWorldTest.java | 2 +- 3 files changed, 197 insertions(+), 5 deletions(-) diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 3705ff3..8153118 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1009,7 +1009,7 @@ char combinator() : { return c; } } -char combinatorWithoutWhitespace() : +char relativeCombinator() : { char c = ' '; } @@ -1018,7 +1018,7 @@ char combinatorWithoutWhitespace() : { c='+'; } ( )* | { c='>'; } ( )* | { c='~'; } ( )* - ) + )? { return c; } } @@ -1116,12 +1116,12 @@ SelectorList relativeSelectorList() : char comb; } { - comb = combinatorWithoutWhitespace() + comb = relativeCombinator() sel = selector() { selList.setLocator(sel.getLocator()); } ( ( )* { selList.add(new RelativeSelector(comb, sel)); } - comb = combinatorWithoutWhitespace() + comb = relativeCombinator() sel = selector() { selList.setLocator(sel.getLocator()); } )* { diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java index ec47bf1..d326697 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java @@ -64,4 +64,196 @@ public void hasPlus() throws Exception { final ChildSelector conditionChildSelector = (ChildSelector) conditionRelativeSelector.getSelector(); assertEquals("div#topic > *#reference", conditionChildSelector.toString()); } + + /** + * @throws Exception if any error occurs + */ + @Test + public void basic() throws Exception { + parseSelectors("div:has(p)", 0, 0, 0); + parseSelectors("section:has(h1)", 0, 0, 0); + parseSelectors("article:has(img)", 0, 0, 0); + parseSelectors("form:has(input)", 0, 0, 0); + parseSelectors("ul:has(li)", 0, 0, 0); + + parseSelectors("div:has(.warning)", 0, 0, 0); + parseSelectors("section:has(#main-title)", 0, 0, 0); + parseSelectors("article:has(.featured)", 0, 0, 0); + parseSelectors("container:has(#sidebar)", 0, 0, 0); + } + +// /* VALID CASES - Attribute selectors within :has() */ +// form:has(input[required]) { border: 2px solid red; } +// div:has([data-active]) { opacity: 1; } +// section:has(a[href^="https"]) { padding-left: 20px; } +// article:has(img[alt]) { margin: 10px; } +// fieldset:has(input[type="checkbox"]) { background: #e8f4fd; } +// +// /* VALID CASES - Pseudo-class selectors within :has() */ +// div:has(a:hover) { background: lightblue; } +// form:has(input:focus) { box-shadow: 0 0 5px blue; } +// ul:has(li:first-child) { margin-top: 0; } +// table:has(tr:nth-child(odd)) { border: 1px solid; } +// section:has(p:empty) { min-height: 100px; } +// +// /* VALID CASES - Combinators within :has() */ +// div:has(> p) { padding: 10px; } /* Direct child */ +// section:has(h1 + p) { margin: 20px; } /* Adjacent sibling */ +// article:has(h2 ~ p) { line-height: 1.5; } /* General sibling */ +// container:has(nav a) { position: relative; } /* Descendant */ +// +// /* VALID CASES - Multiple selectors in :has() */ +// div:has(p, span) { color: blue; } +// section:has(h1, h2, h3) { font-weight: bold; } +// article:has(img, video, iframe) { max-width: 100%; } +// form:has(input, textarea, select) { padding: 15px; } +// +// /* VALID CASES - Nested :has() selectors */ +// div:has(section:has(p)) { border: 2px dashed green; } +// article:has(div:has(img)) { background: lightgray; } +// container:has(nav:has(ul:has(li))) { position: sticky; } +// +// /* VALID CASES - :has() with other pseudo-classes */ +// div:hover:has(p) { transform: scale(1.02); } +// section:focus:has(input) { outline: 2px solid blue; } +// article:first-child:has(h1) { margin-top: 0; } +// li:last-child:has(a) { border-bottom: none; } +// +// /* VALID CASES - Complex combinators with :has() */ +// main > section:has(aside) { display: grid; } +// nav + div:has(ul) { margin-top: 10px; } +// header ~ main:has(article) { padding-top: 20px; } +// .sidebar div:has(.widget) { background: white; } +// +// /* VALID CASES - :has() with :not() */ +// div:has(:not(p)) { color: red; } +// section:has(h1:not(.hidden)) { display: block; } +// article:has(img:not([alt])) { border: 1px solid red; } +// form:has(input:not(:disabled)) { opacity: 1; } +// +// /* VALID CASES - :has() with :is() */ +// div:has(:is(p, span)) { margin: 10px; } +// section:has(:is(h1, h2):not(.subtitle)) { padding: 15px; } +// article:has(:is(img, video)[src]) { position: relative; } +// +// /* VALID CASES - Whitespace variations */ +// div:has(p) { color: red; } +// div:has( p ) { color: blue; } +// div:has( +// p +// ) { color: green; } +// div :has(p) { color: purple; } /* Space before :has() - different meaning */ +// +// /* VALID CASES - Single and empty selectors */ +// div:has(span) { display: block; } +// section:has(*) { border: 1px solid; } /* Has any child */ +// +// /* EDGE CASES - Complex attribute selectors */ +// div:has([data-value*="test"]) { background: yellow; } +// section:has([class~="active"]) { color: green; } +// article:has([id|="section"]) { margin: 20px; } +// form:has([name$="email"]) { border: 1px solid blue; } +// +// /* EDGE CASES - Escaped characters */ +// div:has(.class\:name) { color: red; } +// section:has(#id\.special) { background: blue; } +// article:has([data-test\=value]) { padding: 10px; } +// +// /* EDGE CASES - Unicode selectors */ +// div:has(.class-über) { font-family: serif; } +// section:has([data-测试]) { color: red; } +// article:has(.🎉) { animation: bounce 1s; } +// +// /* INVALID CASES - Empty :has() */ +// div:has() { color: red; } /* Invalid - empty selector */ +// section:has( ) { color: blue; } /* Invalid - whitespace only */ +// article:has(,) { color: green; } /* Invalid - empty selectors */ +// +// /* INVALID CASES - Pseudo-elements inside :has() */ +// div:has(p::before) { color: red; } /* Invalid - pseudo-elements not allowed */ +// section:has(::first-line) { background: blue; } /* Invalid */ +// article:has(span::after) { margin: 10px; } /* Invalid */ +// +// /* INVALID CASES - Nested :has() with pseudo-elements */ +// div:has(p:has(::before)) { color: red; } /* Invalid - pseudo-elements in nested :has() */ +// +// /* INVALID CASES - :has() inside :has() with invalid selectors */ +// div:has(:has()) { color: red; } /* Invalid - empty nested :has() */ +// section:has(p:has(::after)) { background: blue; } /* Invalid - pseudo-element in nested :has() */ +// +// /* INVALID CASES - Syntax errors */ +// div:has(p { color: red; } /* Invalid - missing closing parenthesis */ +// section:has p) { color: blue; } /* Invalid - missing opening parenthesis */ +// article has(p) { color: green; } /* Invalid - missing colon */ +// div:has[p] { color: yellow; } /* Invalid - wrong brackets */ +// section:has((p)) { color: purple; } /* Invalid - double parentheses */ +// +// /* INVALID CASES - Malformed selectors within :has() */ +// div:has(123) { color: red; } /* Invalid - selector starting with number */ +// section:has(.class--) { color: blue; } /* Invalid - malformed class name */ +// article:has(#) { color: green; } /* Invalid - empty ID */ +// form:has([=value]) { color: yellow; } /* Invalid - missing attribute name */ +// +// /* COMPLEX VALID CASES */ +// .container:has(.sidebar):has(.main-content) { display: grid; grid-template-columns: 1fr 3fr; } +// article:has(h1):has(p):not(:has(img)) { font-family: serif; } +// section:has(> div:first-child:has(h2)) { margin-top: 2rem; } +// form:has(fieldset:has(legend):has(input[required])) { border: 2px solid red; } +// +// /* PERFORMANCE TEST CASES - Deeply nested */ +// div:has(div:has(div:has(div:has(p)))) { color: red; } +// section:has(article:has(header:has(h1:has(span)))) { background: lightblue; } +// +// /* EDGE CASES - :has() with various combinators */ +// main:has(> section > article) { padding: 20px; } +// nav:has(ul + div) { position: relative; } +// aside:has(h3 ~ p ~ div) { border-left: 3px solid; } +// +// /* EDGE CASES - Comments within :has() */ +// div:has(p /* comment */) { color: red; } +// section:has(/* comment */ h1) { background: blue; } +// +// /* EDGE CASES - Very long selector lists in :has() */ +// div:has(h1, h2, h3, h4, h5, h6, p, span, div, section, article, aside, header, footer, nav, main) { font-size: 14px; } +// +// /* EDGE CASES - Case sensitivity */ +// DIV:has(P) { color: red; } /* Valid - CSS is case-insensitive for HTML elements */ +// div:HAS(p) { color: blue; } /* Invalid - pseudo-classes are case-sensitive */ +// +// /* EDGE CASES - Specificity testing */ +// div:has(p) { color: red; } /* Specificity: 0,1,1 */ +// div.container:has(p.content) { color: blue; } /* Specificity: 0,2,2 */ +// #main div:has(p) { color: green; } /* Specificity: 1,1,1 */ +// +// /* EDGE CASES - Multiple :has() selectors */ +// div:has(p):has(span) { background: yellow; } +// section:has(h1):has(img):has(a) { border: 1px solid; } +// article:has(.title):has(.content):has(.footer) { margin: 20px; } +// +// /* EDGE CASES - :has() with :where() (low specificity) */ +// :where(div):has(p) { color: red; } +// div:has(:where(p, span)) { background: blue; } +// +// /* BROWSER COMPATIBILITY - Older syntax (for comparison) */ +// /* Note: :has() is relatively new, no legacy equivalents exist */ +// +// /* STRESS TESTS - Complex realistic scenarios */ +// .card:has(.card-header):has(.card-body):not(:has(.card-footer)) { +// border-bottom: 2px solid #ccc; +// } +// +// .form-group:has(input[required]):has(label):not(:has(.error)) { +// border-left: 3px solid green; +// } +// +// .navigation:has(ul:has(li:has(a[href^="#"]))):has(.dropdown) { +// position: sticky; +// top: 0; +// } +// +// /* EDGE CASES - :has() at different positions */ +// :has(p) div { color: red; } /* Invalid - :has() must be preceded by a selector */ +// *:has(p) { color: blue; } /* Valid - universal selector with :has() */ +// :root:has(body) { font-size: 16px; } /* Valid but unusual */ + } diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java index 8dbf51e..7c0b4f7 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -534,7 +534,7 @@ public void alibabaHugeIndex() throws Exception { + "screen and (max-width: 480px);" + "screen and (max-width: 767px);" + "screen and (max-width: 768px);"; - realWorld("realworld/alibaba-huge-index.css", 3278, 6958, media, 12, 6); + realWorld("realworld/alibaba-huge-index.css", 3279, 6959, media, 11, 5); } private void realWorld(final String resourceName, final int rules, final int properties, From 0cccb40636502801103595f8d9c1441a75c13cec Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Thu, 18 Sep 2025 08:20:40 +0200 Subject: [PATCH 110/137] :where() support --- .../cssparser/parser/condition/Condition.java | 3 + .../condition/WherePseudoClassCondition.java | 77 ++++++ src/main/javacc/CSS3Parser.jj | 13 + .../parser/CSS3ParserRealWorldTest.java | 2 +- .../cssparser/parser/CSS3ParserTest.java | 3 +- .../parser/CSS3ParserWhereSelectorTest.java | 243 ++++++++++++++++++ 6 files changed, 339 insertions(+), 2 deletions(-) create mode 100644 src/main/java/org/htmlunit/cssparser/parser/condition/WherePseudoClassCondition.java create mode 100644 src/test/java/org/htmlunit/cssparser/parser/CSS3ParserWhereSelectorTest.java diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java index a9112ea..029a617 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/Condition.java @@ -54,6 +54,9 @@ enum ConditionType { /** IS_PSEUDO_CLASS_CONDITION. */ IS_PSEUDO_CLASS_CONDITION, + /** WHERE_PSEUDO_CLASS_CONDITION. */ + WHERE_PSEUDO_CLASS_CONDITION, + /** HAS_PSEUDO_CLASS_CONDITION. */ HAS_PSEUDO_CLASS_CONDITION, diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/WherePseudoClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/WherePseudoClassCondition.java new file mode 100644 index 0000000..6cc2784 --- /dev/null +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/WherePseudoClassCondition.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser.condition; + +import java.io.Serializable; + +import org.htmlunit.cssparser.parser.AbstractLocatable; +import org.htmlunit.cssparser.parser.Locator; +import org.htmlunit.cssparser.parser.selector.SelectorList; + +/** + * Not condition. + * + * @author Ronald Brill + */ +public class WherePseudoClassCondition extends AbstractLocatable implements Condition, Serializable { + + private final SelectorList selectors_; + private final boolean doubleColon_; + + /** + * Ctor. + * @param selectors the selector list + * @param locator the locator + * @param doubleColon true if was prefixed by double colon + */ + public WherePseudoClassCondition(final SelectorList selectors, final Locator locator, final boolean doubleColon) { + selectors_ = selectors; + setLocator(locator); + doubleColon_ = doubleColon; + } + + @Override + public ConditionType getConditionType() { + return ConditionType.WHERE_PSEUDO_CLASS_CONDITION; + } + + /** + * {@inheritDoc} + */ + @Override + public String getLocalName() { + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String getValue() { + return selectors_.toString(); + } + + /** + * @return the list of selectors + */ + public SelectorList getSelectors() { + return selectors_; + } + + @Override + public String toString() { + return (doubleColon_ ? "::" : ":") + "where(" + getValue() + ")"; + } +} diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 8153118..a1c1330 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -56,6 +56,7 @@ import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; import org.htmlunit.cssparser.parser.condition.PseudoClassCondition; import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; +import org.htmlunit.cssparser.parser.condition.WherePseudoClassCondition; import org.htmlunit.cssparser.parser.media.MediaQuery; import org.htmlunit.cssparser.parser.media.MediaQueryList; import org.htmlunit.cssparser.parser.selector.ChildSelector; @@ -429,6 +430,7 @@ TOKEN_MGR_DECLS : | < FUNCTION_LCH: ("ok")? "lch" > | < FUNCTION_IS: "is" > +| < FUNCTION_WHERE: "where" > | < FUNCTION_HAS: "has" > | < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > @@ -1450,6 +1452,17 @@ Object pseudo(boolean pseudoElementFound) : } ) | + ( + t = { function = unescape(t.image, false); } + ( )* + selectorList = selectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } + return new WherePseudoClassCondition(selectorList, locator, doubleColon); + } + ) + | ( t = { function = unescape(t.image, false); } ( )* diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java index 7c0b4f7..f7b2519 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -534,7 +534,7 @@ public void alibabaHugeIndex() throws Exception { + "screen and (max-width: 480px);" + "screen and (max-width: 767px);" + "screen and (max-width: 768px);"; - realWorld("realworld/alibaba-huge-index.css", 3279, 6959, media, 11, 5); + realWorld("realworld/alibaba-huge-index.css", 3284, 6984, media, 6, 0); } private void realWorld(final String resourceName, final int rules, final int properties, diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 0445360..6d49c82 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -3289,7 +3289,8 @@ public void pseudoElementsErrors() throws Exception { checkErrorSelector("input:before:", "Error in pseudo class or element. (Invalid token \"\". " + "Was expecting one of: \"and\", \"only\", \"inherit\", \"none\", \"from\", , " - + "\":\", , , , , .)"); + + "\":\", , , " + + ", , , .)"); // pseudo element not at end checkErrorSelector("input:before:not(#test)", diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserWhereSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserWhereSelectorTest.java new file mode 100644 index 0000000..4442941 --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserWhereSelectorTest.java @@ -0,0 +1,243 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.htmlunit.cssparser.parser.condition.Condition; +import org.htmlunit.cssparser.parser.condition.Condition.ConditionType; +import org.htmlunit.cssparser.parser.condition.WherePseudoClassCondition; +import org.htmlunit.cssparser.parser.selector.ElementSelector; +import org.htmlunit.cssparser.parser.selector.Selector; +import org.htmlunit.cssparser.parser.selector.Selector.SelectorType; +import org.htmlunit.cssparser.parser.selector.SelectorList; +import org.junit.jupiter.api.Test; + +/** + * @author Ronald Brill + */ +public class CSS3ParserWhereSelectorTest extends AbstractCSSParserTest { + + /** + * @throws Exception if any error occurs + */ + @Test + public void isElementType() throws Exception { + // element name + final SelectorList selectors = parseSelectors(":where(ol, ul)", 0, 0, 0); + assertEquals("*:where(ol, ul)", selectors.get(0).toString()); + + assertEquals(1, selectors.size()); + final Selector selector = selectors.get(0); + + assertEquals(SelectorType.ELEMENT_NODE_SELECTOR, selector.getSelectorType()); + + final ElementSelector elemSel = (ElementSelector) selector; + assertEquals(1, elemSel.getConditions().size()); + + final Condition condition = elemSel.getConditions().get(0); + assertEquals(ConditionType.WHERE_PSEUDO_CLASS_CONDITION, condition.getConditionType()); + + final WherePseudoClassCondition pseudo = (WherePseudoClassCondition) condition; + assertEquals("ol, ul", pseudo.getValue()); + assertEquals(":where(ol, ul)", pseudo.toString()); + + final SelectorList conditionSelectors = pseudo.getSelectors(); + assertEquals(2, conditionSelectors.size()); + final Selector conditionSelector = conditionSelectors.get(0); + final ElementSelector conditionElemSelector = (ElementSelector) conditionSelector; + assertEquals("ol", conditionElemSelector.getElementName()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void basic() throws Exception { + parseSelectors(":where(h1, h2, h3)", 0, 0, 0); + parseSelectors(":where(.class1, .class2)", 0, 0, 0); + parseSelectors(":where(#id1, #id2, #id3)", 0, 0, 0); + parseSelectors(":where(div, span, p)", 0, 0, 0); + parseSelectors(":where([data-attr], [title])", 0, 0, 0); + parseSelectors(":where(input, textarea, select)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void pseudoClassCombinations() throws Exception { + parseSelectors(":where(a:hover, a:focus)", 0, 0, 0); + parseSelectors(":where(button:disabled, input:disabled)", 0, 0, 0); + parseSelectors(":where(li:first-child, li:last-child)", 0, 0, 0); + parseSelectors(":where(tr:nth-child(odd), tr:nth-child(even))", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void complex() throws Exception { + parseSelectors(":where(.nav > li, .menu > li)", 0, 0, 0); + parseSelectors(":where(article h1, section h1)", 0, 0, 0); + parseSelectors(":where(.sidebar .widget, .footer .widget)", 0, 0, 0); + parseSelectors(":where(form input[type=\"text\"], form input[type=\"email\"])", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void nested() throws Exception { + parseSelectors(":where(:where(h1, h2), :where(h3, h4))", 0, 0, 0); + parseSelectors(":where(article h1, section h1)", 0, 0, 0); + parseSelectors(":where(.sidebar .widget, .footer .widget)", 0, 0, 0); + parseSelectors(":where(.container :where(.item, .element), .wrapper :where(.item, .element))", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void descendant() throws Exception { + parseSelectors("div :where(p, span)", 0, 0, 0); + parseSelectors(".container :where(.item, .box)", 0, 0, 0); + parseSelectors("article :where(h1, h2, h3)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void adjacentGeneralSibling() throws Exception { + parseSelectors(":where(h1, h2) + p", 0, 0, 0); + parseSelectors(":where(.alert, .warning) ~ div", 0, 0, 0); + parseSelectors(":where(img, video) + figcaption", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void multiple() throws Exception { + parseSelectors(":where(main, aside) > :where(section, article)", 0, 0, 0); + parseSelectors(":where(.header, .footer) .nav :where(a, button)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void attribute() throws Exception { + parseSelectors(":where(input[required], textarea[required])", 0, 0, 0); + parseSelectors(":where([data-theme=\"dark\"], [data-theme=\"night\"])", 0, 0, 0); + parseSelectors(":where(a[href^=\"http\"], a[href^=\"mailto\"])", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void pseudo() throws Exception { + parseSelectors(":where(h1, h2, h3)::before", 0, 0, 0); + parseSelectors(":where(blockquote, q)::after", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void whitespace() throws Exception { + parseSelectors(":where(h1,h2,h3)", 0, 0, 0); + parseSelectors(":where( h1 , h2 , h3 )", 0, 0, 0); + parseSelectors(":where( h1,\n h2,\n h3\n )", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void single() throws Exception { + parseSelectors(":where(div)", 0, 0, 0); + parseSelectors(":where(.single-class)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void emptyAndWhitespace() throws Exception { + parseSelectors(":where()", 1, 0, 0); + parseSelectors(":where( )", 1, 0, 0); + parseSelectors(":where(,)", 1, 0, 0); + parseSelectors(":where(h1,)", 1, 0, 0); + parseSelectors(":where(h1,,h2)", 1, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void syntaxErrors() throws Exception { + // parseSelectors(":where(h1 h2)", 1, 0, 0); + // parseSelectors(":is h1, h2", 1, 0, 0); + parseSelectors("is(h1, h2)", 1, 0, 0); + parseSelectors(":where((h1, h2))", 1, 0, 0); + parseSelectors(":is[h1, h2]", 1, 0, 0); + + parseSelectors(":where(h1, h2", 1, 0, 0); + parseSelectors(":is h1, h2)", 1, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void pseudoElementsInside() throws Exception { + parseSelectors(":where(p::before, p::after)", 0, 0, 0); + parseSelectors(":where(::first-line, ::first-letter)", 0, 0, 0); + parseSelectors(":where(div::placeholder, input::placeholder)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void invalidSelectorsWithin() throws Exception { + parseSelectors(":where(123, h2)", 1, 0, 0); + //parseSelectors(":where(.class--, h2)", 1, 0, 0); + parseSelectors(":where(#, h2)", 1, 0, 0); + parseSelectors(":where([attr=], h2)", 1, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void caseSensitive() throws Exception { + parseSelectors(":where(h2)", 0, 0, 0); + parseSelectors(":where(h2)", 0, 0, 0); + parseSelectors(":where(h2)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void comment() throws Exception { + parseSelectors(":where(h1 /* comment */, h2)", 0, 0, 0); + parseSelectors(":where(/* comment */ h1, h2)", 0, 0, 0); + } +} From dec0592e8d4d7d23361795c71ab0069ee717fb0a Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Thu, 18 Sep 2025 09:45:03 +0200 Subject: [PATCH 111/137] selectorSpecifity --- .../parser/selector/SelectorSpecificity.java | 27 +- .../parser/CSS3ParserHasSelectorTest.java | 356 +++++++++--------- .../parser/CSS3ParserIsSelectorTest.java | 7 +- .../selector/SelectorSpecificityTest.java | 43 ++- 4 files changed, 252 insertions(+), 181 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java index 54a9fbd..6437b12 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificity.java @@ -59,6 +59,12 @@ private SelectorSpecificity(final boolean fromStyle, final int idCount, final in typeCount_ = typeCount; } + private void add(final SelectorSpecificity specificity) { + idCount_ += specificity.idCount_; + classCount_ += specificity.classCount_; + typeCount_ += specificity.typeCount_; + } + private void readSelectorSpecificity(final Selector selector) { switch (selector.getSelectorType()) { case DESCENDANT_SELECTOR: @@ -99,6 +105,10 @@ private void readSelectorSpecificity(final Selector selector) { readSelectorSpecificity(gas.getSelector()); readSelectorSpecificity(gas.getSimpleSelector()); return; + case RELATIVE_SELECTOR: + final RelativeSelector rs = (RelativeSelector) selector; + readSelectorSpecificity(rs.getSelector()); + return; default: throw new RuntimeException("Unhandled CSS selector type for specificity computation: '" + selector.getSelectorType() + "'."); @@ -141,16 +151,29 @@ private void readSelectorSpecificity(final Condition condition) { case IS_PSEUDO_CLASS_CONDITION: final IsPseudoClassCondition isPseudoCondition = (IsPseudoClassCondition) condition; final SelectorList isSelectorList = isPseudoCondition.getSelectors(); + SelectorSpecificity maxIs = new SelectorSpecificity(false, 0, 0, 0); for (final Selector selector : isSelectorList) { - readSelectorSpecificity(selector); + final SelectorSpecificity selSpec = new SelectorSpecificity(selector); + if (selSpec.compareTo(maxIs) > 0) { + maxIs = selSpec; + } } + add(maxIs); + return; + case WHERE_PSEUDO_CLASS_CONDITION: + // always 0 return; case HAS_PSEUDO_CLASS_CONDITION: final HasPseudoClassCondition hasPseudoCondition = (HasPseudoClassCondition) condition; final SelectorList hasSelectorList = hasPseudoCondition.getSelectors(); + SelectorSpecificity maxHas = new SelectorSpecificity(false, 0, 0, 0); for (final Selector selector : hasSelectorList) { - readSelectorSpecificity(selector); + final SelectorSpecificity selSpec = new SelectorSpecificity(selector); + if (selSpec.compareTo(maxHas) > 0) { + maxHas = selSpec; + } } + add(maxHas); return; case PSEUDO_CLASS_CONDITION: classCount_++; diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java index d326697..c167ece 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java @@ -82,178 +82,188 @@ public void basic() throws Exception { parseSelectors("container:has(#sidebar)", 0, 0, 0); } -// /* VALID CASES - Attribute selectors within :has() */ -// form:has(input[required]) { border: 2px solid red; } -// div:has([data-active]) { opacity: 1; } -// section:has(a[href^="https"]) { padding-left: 20px; } -// article:has(img[alt]) { margin: 10px; } -// fieldset:has(input[type="checkbox"]) { background: #e8f4fd; } -// -// /* VALID CASES - Pseudo-class selectors within :has() */ -// div:has(a:hover) { background: lightblue; } -// form:has(input:focus) { box-shadow: 0 0 5px blue; } -// ul:has(li:first-child) { margin-top: 0; } -// table:has(tr:nth-child(odd)) { border: 1px solid; } -// section:has(p:empty) { min-height: 100px; } -// -// /* VALID CASES - Combinators within :has() */ -// div:has(> p) { padding: 10px; } /* Direct child */ -// section:has(h1 + p) { margin: 20px; } /* Adjacent sibling */ -// article:has(h2 ~ p) { line-height: 1.5; } /* General sibling */ -// container:has(nav a) { position: relative; } /* Descendant */ -// -// /* VALID CASES - Multiple selectors in :has() */ -// div:has(p, span) { color: blue; } -// section:has(h1, h2, h3) { font-weight: bold; } -// article:has(img, video, iframe) { max-width: 100%; } -// form:has(input, textarea, select) { padding: 15px; } -// -// /* VALID CASES - Nested :has() selectors */ -// div:has(section:has(p)) { border: 2px dashed green; } -// article:has(div:has(img)) { background: lightgray; } -// container:has(nav:has(ul:has(li))) { position: sticky; } -// -// /* VALID CASES - :has() with other pseudo-classes */ -// div:hover:has(p) { transform: scale(1.02); } -// section:focus:has(input) { outline: 2px solid blue; } -// article:first-child:has(h1) { margin-top: 0; } -// li:last-child:has(a) { border-bottom: none; } -// -// /* VALID CASES - Complex combinators with :has() */ -// main > section:has(aside) { display: grid; } -// nav + div:has(ul) { margin-top: 10px; } -// header ~ main:has(article) { padding-top: 20px; } -// .sidebar div:has(.widget) { background: white; } -// -// /* VALID CASES - :has() with :not() */ -// div:has(:not(p)) { color: red; } -// section:has(h1:not(.hidden)) { display: block; } -// article:has(img:not([alt])) { border: 1px solid red; } -// form:has(input:not(:disabled)) { opacity: 1; } -// -// /* VALID CASES - :has() with :is() */ -// div:has(:is(p, span)) { margin: 10px; } -// section:has(:is(h1, h2):not(.subtitle)) { padding: 15px; } -// article:has(:is(img, video)[src]) { position: relative; } -// -// /* VALID CASES - Whitespace variations */ -// div:has(p) { color: red; } -// div:has( p ) { color: blue; } -// div:has( -// p -// ) { color: green; } -// div :has(p) { color: purple; } /* Space before :has() - different meaning */ -// -// /* VALID CASES - Single and empty selectors */ -// div:has(span) { display: block; } -// section:has(*) { border: 1px solid; } /* Has any child */ -// -// /* EDGE CASES - Complex attribute selectors */ -// div:has([data-value*="test"]) { background: yellow; } -// section:has([class~="active"]) { color: green; } -// article:has([id|="section"]) { margin: 20px; } -// form:has([name$="email"]) { border: 1px solid blue; } -// -// /* EDGE CASES - Escaped characters */ -// div:has(.class\:name) { color: red; } -// section:has(#id\.special) { background: blue; } -// article:has([data-test\=value]) { padding: 10px; } -// -// /* EDGE CASES - Unicode selectors */ -// div:has(.class-über) { font-family: serif; } -// section:has([data-测试]) { color: red; } -// article:has(.🎉) { animation: bounce 1s; } -// -// /* INVALID CASES - Empty :has() */ -// div:has() { color: red; } /* Invalid - empty selector */ -// section:has( ) { color: blue; } /* Invalid - whitespace only */ -// article:has(,) { color: green; } /* Invalid - empty selectors */ -// -// /* INVALID CASES - Pseudo-elements inside :has() */ -// div:has(p::before) { color: red; } /* Invalid - pseudo-elements not allowed */ -// section:has(::first-line) { background: blue; } /* Invalid */ -// article:has(span::after) { margin: 10px; } /* Invalid */ -// -// /* INVALID CASES - Nested :has() with pseudo-elements */ -// div:has(p:has(::before)) { color: red; } /* Invalid - pseudo-elements in nested :has() */ -// -// /* INVALID CASES - :has() inside :has() with invalid selectors */ -// div:has(:has()) { color: red; } /* Invalid - empty nested :has() */ -// section:has(p:has(::after)) { background: blue; } /* Invalid - pseudo-element in nested :has() */ -// -// /* INVALID CASES - Syntax errors */ -// div:has(p { color: red; } /* Invalid - missing closing parenthesis */ -// section:has p) { color: blue; } /* Invalid - missing opening parenthesis */ -// article has(p) { color: green; } /* Invalid - missing colon */ -// div:has[p] { color: yellow; } /* Invalid - wrong brackets */ -// section:has((p)) { color: purple; } /* Invalid - double parentheses */ -// -// /* INVALID CASES - Malformed selectors within :has() */ -// div:has(123) { color: red; } /* Invalid - selector starting with number */ -// section:has(.class--) { color: blue; } /* Invalid - malformed class name */ -// article:has(#) { color: green; } /* Invalid - empty ID */ -// form:has([=value]) { color: yellow; } /* Invalid - missing attribute name */ -// -// /* COMPLEX VALID CASES */ -// .container:has(.sidebar):has(.main-content) { display: grid; grid-template-columns: 1fr 3fr; } -// article:has(h1):has(p):not(:has(img)) { font-family: serif; } -// section:has(> div:first-child:has(h2)) { margin-top: 2rem; } -// form:has(fieldset:has(legend):has(input[required])) { border: 2px solid red; } -// -// /* PERFORMANCE TEST CASES - Deeply nested */ -// div:has(div:has(div:has(div:has(p)))) { color: red; } -// section:has(article:has(header:has(h1:has(span)))) { background: lightblue; } -// -// /* EDGE CASES - :has() with various combinators */ -// main:has(> section > article) { padding: 20px; } -// nav:has(ul + div) { position: relative; } -// aside:has(h3 ~ p ~ div) { border-left: 3px solid; } -// -// /* EDGE CASES - Comments within :has() */ -// div:has(p /* comment */) { color: red; } -// section:has(/* comment */ h1) { background: blue; } -// -// /* EDGE CASES - Very long selector lists in :has() */ -// div:has(h1, h2, h3, h4, h5, h6, p, span, div, section, article, aside, header, footer, nav, main) { font-size: 14px; } -// -// /* EDGE CASES - Case sensitivity */ -// DIV:has(P) { color: red; } /* Valid - CSS is case-insensitive for HTML elements */ -// div:HAS(p) { color: blue; } /* Invalid - pseudo-classes are case-sensitive */ -// -// /* EDGE CASES - Specificity testing */ -// div:has(p) { color: red; } /* Specificity: 0,1,1 */ -// div.container:has(p.content) { color: blue; } /* Specificity: 0,2,2 */ -// #main div:has(p) { color: green; } /* Specificity: 1,1,1 */ -// -// /* EDGE CASES - Multiple :has() selectors */ -// div:has(p):has(span) { background: yellow; } -// section:has(h1):has(img):has(a) { border: 1px solid; } -// article:has(.title):has(.content):has(.footer) { margin: 20px; } -// -// /* EDGE CASES - :has() with :where() (low specificity) */ -// :where(div):has(p) { color: red; } -// div:has(:where(p, span)) { background: blue; } -// -// /* BROWSER COMPATIBILITY - Older syntax (for comparison) */ -// /* Note: :has() is relatively new, no legacy equivalents exist */ -// -// /* STRESS TESTS - Complex realistic scenarios */ -// .card:has(.card-header):has(.card-body):not(:has(.card-footer)) { -// border-bottom: 2px solid #ccc; -// } -// -// .form-group:has(input[required]):has(label):not(:has(.error)) { -// border-left: 3px solid green; -// } -// -// .navigation:has(ul:has(li:has(a[href^="#"]))):has(.dropdown) { -// position: sticky; -// top: 0; -// } -// -// /* EDGE CASES - :has() at different positions */ -// :has(p) div { color: red; } /* Invalid - :has() must be preceded by a selector */ -// *:has(p) { color: blue; } /* Valid - universal selector with :has() */ -// :root:has(body) { font-size: 16px; } /* Valid but unusual */ + /** + * @throws Exception if any error occurs + */ + @Test + public void attribute() throws Exception { + parseSelectors("form:has(input[required])", 0, 0, 0); + parseSelectors("div:has([data-active])", 0, 0, 0); + parseSelectors("section:has(a[href^=\"https\"])", 0, 0, 0); + parseSelectors("article:has(img[alt])", 0, 0, 0); + parseSelectors("fieldset:has(input[type=\"checkbox\"])", 0, 0, 0); + } + /** + * @throws Exception if any error occurs + */ + @Test + public void pseudo() throws Exception { + parseSelectors("div:has(a:hover)", 0, 0, 0); + parseSelectors("form:has(input:focus)", 0, 0, 0); + parseSelectors("ul:has(li:first-child)", 0, 0, 0); + parseSelectors("table:has(tr:nth-child(odd))", 0, 0, 0); + parseSelectors("section:has(p:empty)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void combinators() throws Exception { + parseSelectors("div:has(> p)", 0, 0, 0); + parseSelectors("section:has(h1 + p)", 0, 0, 0); + parseSelectors("article:has(h2 ~ p)", 0, 0, 0); + parseSelectors("container:has(nav a)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void multiple() throws Exception { + parseSelectors("div:has(p, span)", 0, 0, 0); + parseSelectors("section:has(h1, h2, h3)", 0, 0, 0); + parseSelectors("article:has(img, video, iframe)", 0, 0, 0); + parseSelectors("form:has(input, textarea, select)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void nested() throws Exception { + parseSelectors("div:has(section:has(p))", 0, 0, 0); + parseSelectors("article:has(div:has(img))", 0, 0, 0); + parseSelectors("container:has(nav:has(ul:has(li)))", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void mixedPseudo() throws Exception { + parseSelectors("div:hover:has(p)", 0, 0, 0); + parseSelectors("section:focus:has(input)", 0, 0, 0); + parseSelectors("article:first-child:has(h1)", 0, 0, 0); + parseSelectors("li:last-child:has(a)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void complexCombinators() throws Exception { + parseSelectors("main > section:has(aside)", 0, 0, 0); + parseSelectors("nav + div:has(ul)", 0, 0, 0); + parseSelectors("header ~ main:has(article)", 0, 0, 0); + parseSelectors(".sidebar div:has(.widget)", 0, 0, 0); + parseSelectors("main:has(> section > article)", 0, 0, 0); + parseSelectors("aside:has(h3 ~ p ~ div)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void mixedNot() throws Exception { + parseSelectors("div:has(:not(p))", 0, 0, 0); + parseSelectors("section:has(h1:not(.hidden))", 0, 0, 0); + parseSelectors("article:has(img:not([alt]))", 0, 0, 0); + parseSelectors("form:has(input:not(:disabled))", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void mixedIs() throws Exception { + parseSelectors("div:has(:is(p, span))", 0, 0, 0); + parseSelectors("section:has(:is(h1, h2):not(.subtitle))", 0, 0, 0); + parseSelectors("article:has(:is(img, video)[src])", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void whitespace() throws Exception { + parseSelectors("div:has(p)", 0, 0, 0); + parseSelectors("div:has( p )", 0, 0, 0); + parseSelectors("div:has(\n p\n )", 0, 0, 0); + parseSelectors("div :has(p)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void empty() throws Exception { + parseSelectors("section:has(*)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void complex() throws Exception { + parseSelectors("div:has([data-value*=\"test\"])", 0, 0, 0); + parseSelectors("section:has([class~=\"active\"])", 0, 0, 0); + parseSelectors("article:has([id|=\"section\"])", 0, 0, 0); + parseSelectors("form:has([name$=\"email\"])", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void syntaxErrors() throws Exception { + parseSelectors("div:has()", 1, 0, 0); + parseSelectors("section:has( )", 1, 0, 0); + parseSelectors("article:has(,)", 1, 0, 0); + + parseSelectors(":has(h1", 1, 0, 0); + parseSelectors(":has h1, h2)", 1, 0, 0); + parseSelectors("has(h1, h2)", 1, 0, 0); + parseSelectors(":has[h1, h2]", 1, 0, 0); + parseSelectors("has((h1, h2)", 1, 0, 0); + parseSelectors("has(h1, h2))", 1, 0, 0); + parseSelectors("has((h1, h2))", 1, 0, 0); + + parseSelectors(":has(123, h2)", 1, 0, 0); + parseSelectors(":has(.class--, h2)", 0, 0, 0); // valid! + parseSelectors(":has(#, h2)", 1, 0, 0); + parseSelectors(":has([attr=], h2)", 1, 0, 0); + parseSelectors(":has([=value], h2)", 1, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void pseudoElementsInside() throws Exception { + // todo parseSelectors("div:has(p::before)", 1, 0, 0); + // todo parseSelectors("section:has(::first-line)", 1, 0, 0); + // todo parseSelectors("article:has(span::after)", 1, 0, 0); + // todo parseSelectors("div:has(p:has(::before))", 1, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void caseSensitive() throws Exception { + parseSelectors(":HAS(h2)", 0, 0, 0); + parseSelectors(":haS(h2)", 0, 0, 0); + parseSelectors(":Has(h2)", 0, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void comment() throws Exception { + parseSelectors(":has(h1 /* comment */, h2)", 0, 0, 0); + parseSelectors(":has(/* comment */ h1, h2)", 0, 0, 0); + } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java index 401d404..9ccff05 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java @@ -191,7 +191,9 @@ public void emptyAndWhitespace() throws Exception { */ @Test public void syntaxErrors() throws Exception { - // parseSelectors(":is(h1 h2)", 1, 0, 0); + // valid! + parseSelectors(":is(h1 h2)", 0, 0, 0); + // parseSelectors(":is h1, h2", 1, 0, 0); parseSelectors("is(h1, h2)", 1, 0, 0); parseSelectors(":is((h1, h2))", 1, 0, 0); @@ -217,9 +219,10 @@ public void pseudoElementsInside() throws Exception { @Test public void invalidSelectorsWithin() throws Exception { parseSelectors(":is(123, h2)", 1, 0, 0); - //parseSelectors(":is(.class--, h2)", 1, 0, 0); + parseSelectors(":is(.class--, h2)", 0, 0, 0); // valid! parseSelectors(":is(#, h2)", 1, 0, 0); parseSelectors(":is([attr=], h2)", 1, 0, 0); + parseSelectors(":is([=value], h2)", 1, 0, 0); } /** diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java index d382424..fd6786b 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java @@ -208,9 +208,7 @@ public void equalsTest() throws Exception { @Test public void notTest() throws Exception { selectorSpecifity("div:not(.inner) p", "0,0,1,2"); - selectorSpecifity("div:not(.inner, #fakeId) p", "0,1,1,2"); - selectorSpecifity("a:not(#fakeId#fakeId#fakeID)", "0,3,0,1"); } @@ -220,9 +218,46 @@ public void notTest() throws Exception { @Test public void isTest() throws Exception { selectorSpecifity("div:is(.inner) p", "0,0,1,2"); + selectorSpecifity("div:is(.inner, #fakeId) p", "0,1,0,2"); + selectorSpecifity("a:is(#fakeId#fakeId#fakeID)", "0,3,0,1"); + selectorSpecifity(":is(h1, h2, h3)", "0,0,0,1"); + selectorSpecifity(":is(.container :is(.item, .element), .wrapper :is(.item, .element))", "0,0,2,0"); + selectorSpecifity(":is(img, video) + figcaption", "0,0,0,2"); + selectorSpecifity(":is([data-theme='dark'], [data-theme='night'])", "0,0,1,0"); + selectorSpecifity(":is([data-theme='dark'], img)", "0,0,1,0"); + selectorSpecifity(":is([data-theme='dark'], .night)", "0,0,1,0"); + selectorSpecifity(":is([data-theme='dark'], #night)", "0,1,0,0"); + } - selectorSpecifity("div:is(.inner, #fakeId) p", "0,1,1,2"); + /** + * @throws Exception if the test fails + */ + @Test + public void whereTest() throws Exception { + selectorSpecifity("div:where(.inner) p", "0,0,0,2"); + selectorSpecifity("div:where(.inner, #fakeId) p", "0,0,0,2"); + selectorSpecifity("a:where(#fakeId#fakeId#fakeID)", "0,0,0,1"); + selectorSpecifity(":where(h1, h2, h3)", "0,0,0,0"); + selectorSpecifity(":where(.container :where(.item, .element), .wrapper :where(.item, .element))", "0,0,0,0"); + selectorSpecifity(":where(img, video) + figcaption", "0,0,0,1"); + selectorSpecifity(":where([data-theme='dark'], [data-theme='night'])", "0,0,0,0"); + selectorSpecifity(":where([data-theme='dark'], img)", "0,0,0,0"); + selectorSpecifity(":where([data-theme='dark'], .night)", "0,0,0,0"); + selectorSpecifity(":where([data-theme='dark'], #night)", "0,0,0,0"); + } - selectorSpecifity("a:is(#fakeId#fakeId#fakeID)", "0,3,0,1"); + /** + * @throws Exception if the test fails + */ + @Test + public void hasTest() throws Exception { + selectorSpecifity(":has(+ div#topic > #reference)", "0,2,0,1"); + selectorSpecifity("div:has(~ .inner, #fakeId) p", "0,1,0,2"); + selectorSpecifity("a:has(#fakeId#fakeId#fakeID)", "0,3,0,1"); + selectorSpecifity(":has(h1, h2, h3)", "0,0,0,1"); + selectorSpecifity(":has([data-theme='dark'], [data-theme='night'])", "0,0,1,0"); + selectorSpecifity(":has([data-theme='dark'], img)", "0,0,1,0"); + selectorSpecifity(":has([data-theme='dark'], .night)", "0,0,1,0"); + selectorSpecifity(":has([data-theme='dark'], #night)", "0,1,0,0"); } } From 3f4b4d6be6be8db248cb38fe2f9d300975ae3c19 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Thu, 18 Sep 2025 09:58:33 +0200 Subject: [PATCH 112/137] remove empty statements --- pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pom.xml b/pom.xml index a19361b..279f32a 100644 --- a/pom.xml +++ b/pom.xml @@ -165,6 +165,10 @@ \s*throw new IllegalStateException \("Missing return statement in function"\); + + ;\s*; + ; + From f49a4670c7bce4106183ebbf80b348a519e98c62 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Thu, 18 Sep 2025 13:43:18 +0200 Subject: [PATCH 113/137] introduce Combinator enum --- .../cssparser/parser/selector/Combinator.java | 53 + .../parser/selector/RelativeSelector.java | 13 +- src/main/javacc/CSS3Parser.jj | 6693 +++++++++-------- 3 files changed, 3413 insertions(+), 3346 deletions(-) create mode 100644 src/main/java/org/htmlunit/cssparser/parser/selector/Combinator.java diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/Combinator.java b/src/main/java/org/htmlunit/cssparser/parser/selector/Combinator.java new file mode 100644 index 0000000..909e515 --- /dev/null +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/Combinator.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser.selector; + +/** + *

Combinator enum.

+ * + * @author Ronald Brill + */ +public enum Combinator { + + /** DESCENDANT_COMBINATOR ( ). */ + DESCENDANT_COMBINATOR(' '), + + /** CHILD_COMBINATOR (>). */ + CHILD_COMBINATOR('>'), + + /** NEXT_SIBLING_COMBINATOR (+). */ + NEXT_SIBLING_COMBINATOR('+'), + + /** SUBSEQUENT_SIBLING_COMBINATOR (~). */ + SUBSEQUENT_SIBLING_COMBINATOR('~'); + + private final char combinatorChar_; + + Combinator(final char combinatorChar) { + combinatorChar_ = combinatorChar; + } + + char getChar() { + return combinatorChar_; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return name() + " ('" + getChar() + "')"; + } +} diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/RelativeSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/RelativeSelector.java index eb848ec..b8a2d80 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/RelativeSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/RelativeSelector.java @@ -19,7 +19,7 @@ */ public class RelativeSelector extends AbstractSelector { - private final char combinator_; + private final Combinator combinator_; private final Selector selector_; /** @@ -27,7 +27,7 @@ public class RelativeSelector extends AbstractSelector { * @param combinator the combinator to use * @param selector the selector */ - public RelativeSelector(final char combinator, final Selector selector) { + public RelativeSelector(final Combinator combinator, final Selector selector) { combinator_ = combinator; selector_ = selector; } @@ -44,6 +44,13 @@ public SelectorType getSelectorType() { return SelectorType.RELATIVE_SELECTOR; } + /** + * @return the combinator + */ + public Combinator getCombinator() { + return combinator_; + } + @Override public SimpleSelector getSimpleSelector() { return null; @@ -52,6 +59,6 @@ public SimpleSelector getSimpleSelector() { /** {@inheritDoc} */ @Override public String toString() { - return combinator_ + " " + selector_.toString(); + return combinator_.getChar() + " " + selector_.toString(); } } diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index a1c1330..89551e8 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1,3343 +1,3350 @@ -/* - * Copyright (c) 2019-2024 Ronald Brill. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -options { - IGNORE_CASE = true; - - UNICODE_INPUT = true; - USER_CHAR_STREAM = true; - -// DEBUG_TOKEN_MANAGER = true; -// DEBUG_PARSER = true; - - JDK_VERSION = "1.8"; -// JAVA_TEMPLATE_TYPE = "modern" -} - -PARSER_BEGIN(CSS3Parser) - -package org.htmlunit.cssparser.parser.javacc; - -import java.util.LinkedList; -import java.util.Locale; - -import org.htmlunit.cssparser.dom.CSSValueImpl; -import org.htmlunit.cssparser.dom.Property; -import org.htmlunit.cssparser.parser.AbstractCSSParser; -import org.htmlunit.cssparser.parser.CSSParseException; -import org.htmlunit.cssparser.parser.LexicalUnit; -import org.htmlunit.cssparser.parser.LexicalUnitImpl; -import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; -import org.htmlunit.cssparser.parser.Locatable; -import org.htmlunit.cssparser.parser.Locator; -import org.htmlunit.cssparser.parser.condition.AttributeCondition; -import org.htmlunit.cssparser.parser.condition.BeginHyphenAttributeCondition; -import org.htmlunit.cssparser.parser.condition.ClassCondition; -import org.htmlunit.cssparser.parser.condition.Condition; -import org.htmlunit.cssparser.parser.condition.IdCondition; -import org.htmlunit.cssparser.parser.condition.LangCondition; -import org.htmlunit.cssparser.parser.condition.HasPseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.IsPseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; -import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; -import org.htmlunit.cssparser.parser.condition.PseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; -import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; -import org.htmlunit.cssparser.parser.condition.WherePseudoClassCondition; -import org.htmlunit.cssparser.parser.media.MediaQuery; -import org.htmlunit.cssparser.parser.media.MediaQueryList; -import org.htmlunit.cssparser.parser.selector.ChildSelector; -import org.htmlunit.cssparser.parser.selector.DescendantSelector; -import org.htmlunit.cssparser.parser.selector.DirectAdjacentSelector; -import org.htmlunit.cssparser.parser.selector.ElementSelector; -import org.htmlunit.cssparser.parser.selector.GeneralAdjacentSelector; -import org.htmlunit.cssparser.parser.selector.PseudoElementSelector; -import org.htmlunit.cssparser.parser.selector.RelativeSelector; -import org.htmlunit.cssparser.parser.selector.Selector; -import org.htmlunit.cssparser.parser.selector.SelectorList; -import org.htmlunit.cssparser.parser.selector.SelectorListImpl; -import org.htmlunit.cssparser.parser.selector.SimpleSelector; -import org.htmlunit.cssparser.util.ParserUtils; - -/** - * @author David Schweinsberg - * @author waldbaer - * @author Ahmed Ashour - * @author Ronald Brill - */ -public class CSS3Parser extends AbstractCSSParser { - - public CSS3Parser() { - this((CharStream) null); - } - - @Override - public String getParserVersion() { - return "http://www.w3.org/Style/CSS/"; - } - - protected String getGrammarUri() - { - return "http://www.w3.org/TR/WD-css3-syntax-20030813"; - } -} - -PARSER_END(CSS3Parser) - -TOKEN_MGR_DECLS : -{ -} - - TOKEN : -{ -// s [ \t\r\n\f]+ -// {s} {return S;} - < S: ( " "|"\t"|"\r"|"\n"|"\f" )+ > -// w {s}? -// | < W: ( )? > -} - - MORE : -{ - < "/*" > : COMMENT -} - - SKIP : -{ - < "*/" > : DEFAULT -} - - MORE : -{ - < ~[] > : COMMENT -} - - TOKEN : -{ -// h [0-9a-f] - < #H: ["0"-"9","a"-"f"] > -| < #HNUM: | | | | | > - -// nonascii [\200-\377] -// The two occurrences of "\377" represent the highest character number that -// current versions of Flex can deal with (decimal 255). They should be read as -// "\4177777" (decimal 1114111), which is the highest possible code point in -// Unicode/ISO-10646. -// Limitation: This parser can only handle Unicode characters up to \uFFFF -// (decimal 65535). -| < #NONASCII: ["\u0080"-"\uFFFF"] > - -// unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? -| < #UNICODE: "\\" ( "\r\n" | [" ","\t","\r","\n","\f"] )? > - -// escape {unicode}|\\[^\r\n\f0-9a-f] -| < #ESCAPE: | ( "\\" ~["\r","\n","\f","0"-"9","a"-"f"] ) > - -// nmstart [_a-z]|{nonascii}|{escape} -| < #NMSTART: ["_","a"-"z"] | | > - -// nmchar [_a-z0-9-]|{nonascii}|{escape} -| < #NMCHAR: ["_","a"-"z","0"-"9","-"] | | > - -// nl \n|\r\n|\r|\f -| < #NL: "\n" | "\r\n" | "\r" | "\f" > - -// string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\" -| < #STRING1: ( ~["\n","\r","\f","\\","\""] | "\\" | )* > - -// string2 \'([^\n\r\f\\']|\\{nl}|{escape})*\' -| < #STRING2: ( ~["\n","\r","\f","\\","\'"] | "\\" | )* > - -// comment \/\*[^*]*\*+([^/*][^*]*\*+)*\/ -| < #COMMENT_: "/" "*" ( ~["*"] )* ("*")+ ( ~["/","*"] ( ~["*"] )* ( "*" )+ )* "/"> - -| < AND: "and" > -| < NOT: "not" > -| < ONLY: "only" > - -// {num} {return NUMBER;} -| < NUMBER: > - -| < INHERIT: "inherit" > -| < NONE: "none" > -| < FROM: "from" > - -// ident -?{nmstart}{nmchar}* -// {ident} {return IDENT;} -| < IDENT: (< MINUS >)? ( )* > - -// name {nmchar}+ -| < #NAME: ( )+ > - -// num [0-9]+|[0-9]*"."[0-9]+ -| < NUM: ( ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ ) (["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+)? > - -// string {string1}|{string2} -// {string} {return STRING;} -| < STRING: ( "\"" "\"" ) | ( "\'" "\'" ) > { matchedToken.image = ParserUtils.trimBy(image, 1, 1); } - -// url ([!#$%&*-~]|{nonascii}|{escape})* -| < #URL: ( ["!","#","$","%","&","*"-"[","]"-"~"] | | )* > - -// A a|\\0{0,4}(41|61)(\r\n|[ \t\r\n\f])? -| < #A_LETTER: "a" | "\\" ("0")? ("0")? ("0")? ("0")? ( "41" | "61" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// C c|\\0{0,4}(43|63)(\r\n|[ \t\r\n\f])? -| < #C_LETTER: "c" | "\\" ("0")? ("0")? ("0")? ("0")? ( "43" | "63" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// D d|\\0{0,4}(44|64)(\r\n|[ \t\r\n\f])? -| < #D_LETTER: "d" | "\\" ("0")? ("0")? ("0")? ("0")? ( "44" | "64" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// E e|\\0{0,4}(45|65)(\r\n|[ \t\r\n\f])? -| < #E_LETTER: "e" | "\\" ("0")? ("0")? ("0")? ("0")? ( "45" | "65" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// F f|\\0{0,4}(46|66)(\r\n|[ \t\r\n\f])? -| < #F_LETTER: "f" | "\\" ("0")? ("0")? ("0")? ("0")? ( "46" | "66" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// G g|\\0{0,4}(47|67)(\r\n|[ \t\r\n\f])?|\\g -| < #G_LETTER: "g" | "\\" ("0")? ("0")? ("0")? ("0")? ( "47" | "67" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "g" > - -// H h|\\0{0,4}(48|68)(\r\n|[ \t\r\n\f])?|\\h -| < #H_LETTER: "h" | "\\" ("0")? ("0")? ("0")? ("0")? ( "48" | "68" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "h" > - -// I i|\\0{0,4}(49|69)(\r\n|[ \t\r\n\f])?|\\i -| < #I_LETTER: "i" | "\\" ("0")? ("0")? ("0")? ("0")? ( "49" | "69" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "i" > - -// K k|\\0{0,4}(4b|6b)(\r\n|[ \t\r\n\f])?|\\k -| < #K_LETTER: "k" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4b" | "6b" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "k" > - -// L l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l -| < #L_LETTER: "l" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4c" | "6c" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "l" > - -// M m|\\0{0,4}(4d|6d)(\r\n|[ \t\r\n\f])?|\\m -| < #M_LETTER: "m" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4d" | "6d" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "m" > - -// N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n -| < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > - -// O o|\\0{0,4}(51|71)(\r\n|[ \t\r\n\f])?|\\o -| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "51" | "71" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > - -// P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p -| < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > - -// R r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r -| < #R_LETTER: "r" | "\\" ("0")? ("0")? ("0")? ("0")? ( "52" | "72" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "r" > - -// S s|\\0{0,4}(53|73)(\r\n|[ \t\r\n\f])?|\\s -| < #S_LETTER: "s" | "\\" ("0")? ("0")? ("0")? ("0")? ( "53" | "73" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "s" > - -// T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t -| < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > - -// U v|\\0{0,4}(55|76)(\r\n|[ \t\r\n\f])?|\\v -| < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > - -// X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x -| < #X_LETTER: "x" | "\\" ("0")? ("0")? ("0")? ("0")? ( "58" | "78" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "x" > - -// Z z|\\0{0,4}(5a|7a)(\r\n|[ \t\r\n\f])?|\\z -| < #Z_LETTER: "z" | "\\" ("0")? ("0")? ("0")? ("0")? ( "5a" | "7a" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "z" > - -// "" {return CDC;} -| < CDC: "-->" > - -// "~=" {return INCLUDES;} -| < INCLUDES: "~=" > - -// "|=" {return DASHMATCH;} -| < DASHMATCH: "|=" > - -// "^=" {return PREFIXMATCH;} -| < PREFIXMATCH: "^=" > - -// "$=" {return SUFFIXMATCH;} -| < SUFFIXMATCH: "$=" > - -// "*=" {return SUBSTRINGMATCH;} -| < SUBSTRINGMATCH: "*=" > - -// {w}"{" {return LBRACE;} -| < LBRACE: "{" > -| < RBRACE: "}" > - -| < LROUND: "(" > -| < RROUND: ")" > - -| < DOT: "." > -| < SEMICOLON: ";" > -| < COLON: ":" > -| < ASTERISK: "*" > -| < SLASH: "/" > -| < MINUS: "-" > -| < EQUALS: "=" > -| < LSQUARE: "[" > -| < RSQUARE: "]" > - -// {w}"+" {return PLUS;} -| < PLUS: "+" > - -// {w}">" {return GREATER;} -| < GREATER: ">" > - -// {w}"~" {return TILDE;} -| < TILDE: "~" > - -// {w}"," {return COMMA;} -| < COMMA: "," > - -// "#"{name} {return HASH;} -| < HASH: "#" > - -// @{I}{M}{P}{O}{R}{T} {return IMPORT_SYM;} -| < IMPORT_SYM: "@" > - -// @{P}{A}{G}{E} {return PAGE_SYM;} -| < PAGE_SYM: "@" > - -// @{M}{E}{D}{I}{A} {return MEDIA_SYM;} -| < MEDIA_SYM: "@" > - -// "@{F}{O}{N}{T}-{F}{A}{C}{E}" {return FONT_FACE_SYM;} -| < FONT_FACE_SYM: "@" < MINUS > > - -// @{C}{H}{A}{R}{S}{E}{T} {return CHARSET_SYM;} -| < CHARSET_SYM: "@" > - -// "!"({w}|{comment})*{I}{M}{P}{O}{R}{T}{A}{N}{T} {return IMPORTANT_SYM;} -| < IMPORTANT_SYM: "!" ( | )* > - -// {num}{E}{M} {return EMS;} -| < EMS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{R}{E}{M} {return REM;} -| < REM: "rem" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{E}{X} {return EXS;} -| < EXS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{C}{H} {return CH;} -| < CH: "ch" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{W} {return VW;} -| < VW: "vw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{H} {return VH;} -| < VH: "vh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{M}{I}{N} {return VMIN;} -| < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{V}{M}{I}{N} {return VMAX;} -| < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{P}{X} {return LENGTH;} -| < LENGTH_PX: "px" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{C}{M} {return LENGTH;} -| < LENGTH_CM: "cm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{M}{M} {return LENGTH;} -| < LENGTH_MM: "mm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{I}{N} {return LENGTH;} -| < LENGTH_IN: "in" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{P}{T} {return LENGTH;} -| < LENGTH_PT: "pt" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{P}{C} {return LENGTH;} -| < LENGTH_PC: "pc" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{Q} {return LENGTH;} -| < LENGTH_Q: "Q" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{D}{E}{G} {return ANGLE;} -| < ANGLE_DEG: "deg" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{R}{A}{D} {return ANGLE;} -| < ANGLE_RAD: "rad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{G}{R}{A}{D} {return ANGLE;} -| < ANGLE_GRAD: "grad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{T}{U}{R}{N} {return ANGLE;} -| < ANGLE_TURN: "turn" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{M}{S} {return TIME;} -| < TIME_MS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{S} {return TIME;} -| < TIME_S: > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{H}{Z} {return FREQ;} -| < FREQ_HZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{K}{H}{Z} {return FREQ;} -| < FREQ_KHZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{D}{P}{I} {return RESOLUTION;} -| < RESOLUTION_DPI: "dpi" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{D}{P}{C}{M} {return RESOLUTION;} -| < RESOLUTION_DPCM: "dpcm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}% {return PERCENTAGE;} -| < PERCENTAGE: "%" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{ident} {return DIMENSION;} -| < DIMENSION: ( ["a"-"z","0"-"9"] | | )* > - -| < #H_PLACEHOLDER: ( | "?"){1,6} > -| < UNICODE_RANGE: "u+" (< MINUS > < H_PLACEHOLDER >)? > - -// "url("{w}{string}{w}")" {return URI;} -// "url("{w}{url}{w}")" {return URI;} -| < URI: "url" ( )* ( | ) ( )* > { matchedToken.image = ParserUtils.trimUrl(image); } - -// {N}{O}{T} "(" {return FUNCTION_NOT;} -| < FUNCTION_NOT: "not" > - -// {L}{A}{N}{G} "(" {return FUNCTION_LANG;} -| < FUNCTION_LANG: "lang" > - -// {C}{A}{L}{C} "(" {return FUNCTION_CALC;} -| < FUNCTION_CALC: "calc" > - -// {V}{A}{R} "(" {return FUNCTION_VAR;} -| < FUNCTION_VAR: "var" > - -| < FUNCTION_RGB: "rgb" ("a")? > -| < FUNCTION_HSL: "hsl" ("a")? > -| < FUNCTION_HWB: "hwb" > -| < FUNCTION_LAB: ("ok")? "lab" > -| < FUNCTION_LCH: ("ok")? "lch" > - -| < FUNCTION_IS: "is" > -| < FUNCTION_WHERE: "where" > -| < FUNCTION_HAS: "has" > - -| < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > - -// {ident} "(" {return FUNCTION;} -| < FUNCTION: > - -| < ATKEYWORD: "@" > -} - -<*> TOKEN: -{ - < UNKNOWN: ~[] > - { - // System.err.println("Illegal character : " + image.toString()); - } -} - -// -// stylesheet -// : [ CHARSET_SYM STRING ';' ]? -// [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* -// [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* -// ; -// -void styleSheet() : -{ -} -{ - try - { - { handleStartDocument(); } - styleSheetRuleList() - - } - finally - { - handleEndDocument(); - } -} - -void styleSheetRuleList() : -{ - boolean ruleFound = false; -} -{ - ( | | )* - ( - charsetRule() - ( | | )* - )? - ( - ( - ( - importRule(ruleFound) - | - ( - styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() - ) - { - ruleFound = true; - } - ) - | - ( - // skip until the next RBRACE - { ParseException e = generateParseException(); } - invalidRule() - { - Token t = getNextToken(); - - boolean charsetProcessed = false; - if (t.kind == CHARSET_SYM) { - t = getNextToken(); - if (t.kind == S) { - t = getNextToken(); - if (t.kind == STRING) { - t = getNextToken(); - if (t.kind == SEMICOLON) { - getNextToken(); - charsetProcessed = true; - } - } - } - CSSParseException cpe = toCSSParseException("misplacedCharsetRule", e); - getErrorHandler().error(cpe); - getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - } - - if (!charsetProcessed) { - if (t.kind == EOF) { - return; - } - - CSSParseException cpe = toCSSParseException("invalidRule", e); - getErrorHandler().error(cpe); - getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - while (t.kind != RBRACE && t.kind != EOF ) { - t = getNextToken(); - } - if (t.kind == EOF) { - return; - } - } - } - ) - ) - ( | | )* - )* -} - -JAVACODE -void invalidRule() -{ -} - -// -// This is used by ASTStyleSheet.insertRule to parse a single rule -// -void styleSheetRuleSingle() : -{ -} -{ - ( )* - ( charsetRule() | importRule(false) | styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() ) - ( )* -} - -void charsetRule() : -{ - Token t; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - - t = - - { - handleCharset(t.toString(), locator); - } - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidCharsetRule", e)); - } -} - -void unknownAtRule() : -{ - String s; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - s = skip(); - handleIgnorableAtRule(s, locator); - } - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidUnknownRule", generateParseException())); - } -} - -// -// import -// : IMPORT_SYM S* -// [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S* -// ; -// -void importRule(final boolean nonImportRuleFoundBefore) : -{ - Token t; - MediaQueryList ml = new MediaQueryList(); - Locator locator; -} -{ - try - { - { - ParseException e = null; - if (nonImportRuleFoundBefore) - { - e = generateParseException(); - } - } - - { - locator = createLocator(token); - } - ( )* - ( t = | t = ) ( )* - ( mediaList(ml) )? - - { - if (nonImportRuleFoundBefore) - { - getErrorHandler().error(toCSSParseException("invalidImportRuleIgnored2", e)); - } - else - { - handleImportStyle(unescape(t.image, false), ml, null, locator); - } - } - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipAtRule(); - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidImportRule", e)); - error_skipAtRule(); - } -} - -// -// media -// : MEDIA_SYM S* medium [ COMMA S* medium ]* '{' S* ruleset* '}' S* -// ; -// -void mediaRule() : -{ - boolean start = false; - MediaQueryList ml = new MediaQueryList(); - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - ( )* - mediaList(ml) - { - start = true; - handleStartMedia(ml, locator); - } - ( )* - ( mediaRuleList() )? - - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidMediaRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringRule", cpe); - } - finally - { - if (start) { - handleEndMedia(ml); - } - } -} - -void mediaList(MediaQueryList ml) : -{ - MediaQuery mq; -} -{ - try - { - mq = mediaQuery() - { - ml.setLocator(createLocator(token)); - } - ( ( )* { ml.add(mq); } mq = mediaQuery() )* - { ml.add(mq); } - } - catch(ParseException e) - { - throw toCSSParseException("invalidMediaList", e); - } -} - -// -// media_query -// : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* -// | expression [ AND S* expression ]* -// ; -// -MediaQuery mediaQuery() : -{ - String s; - MediaQuery mq; - Property p; - boolean only = false; - boolean not = false; -} -{ - ( - ( - ( - ( - { only = true; } - | - { not = true; } - ) ( )* - )? - s = medium() - { mq = new MediaQuery(s, only, not); mq.setLocator(createLocator(token)); } - ( - ( )* - p = mediaExpression() - { - mq.addMediaProperty(p); - } - )* - ) - | - ( - p = mediaExpression() - { - mq = new MediaQuery(null, only, not); - mq.setLocator(createLocator(token)); - mq.addMediaProperty(p); - } - ( - ( )* - p = mediaExpression() - { - mq.addMediaProperty(p); - } - )* - ) - ) - { return mq; } -} - -// -// expression -// : '(' S* media_feature S* [ ':' S* expr ]? ')' S* -// ; -// -Property mediaExpression() : -{ - String p; - LexicalUnit e = null; - Property prop; - Token t; -} -{ - - ( )* - ( - t = identExcludingOnly() ( )* { p = unescape(t.image, false); } - | t = ( )* { p = unescape(t.image, false); } - ) - ( - ( )* - e = expr() - )? - - ( )* - { - if(e==null) - { - prop = new Property(p, null, false); - } - else - { - prop = new Property(p, new CSSValueImpl(e), false); - } - return prop; - } -} - -void mediaRuleList() : -{ -} -{ - ( ( styleRule() | mediaRule() | pageRule() | importRule(true) | unknownAtRule() ) ( )* )+ -} - -// -// medium -// : IDENT S* -// ; -// -String medium() : -{ - Token t; -} -{ - t = identExcludingOnly() ( )* - { - return unescape(t.image, false); - } -} - -// -// page -// : PAGE_SYM S* pseudo_page? S* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void pageRule() : -{ - String sel = null; - boolean start = false; - Locator locator; -} -{ - try { - - { - locator = createLocator(token); - } - ( )* - - ( sel = pageSelectorList() )? - - ( )* - { - start = true; - handleStartPage(null, sel, locator); - } - - styleDeclaration() - - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidPageRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringRule", cpe); - } - finally { - if (start) { - handleEndPage(null, sel); - } - } -} - -// -// pageSelectorList -// : [ pageSelector S* [ ',' pageSelector S* ]* ]? -// ; -// -String pageSelectorList() : -{ - String sel; - LinkedList selectors = new LinkedList<>(); -} -{ - sel = pageSelector() { selectors.add(sel); } - ( - ( )* sel = pageSelector() { selectors.add(sel); } - )* - - { return String.join(", ", selectors); } -} - -// -// pageSelector -// : pseudoPage+ | IDENT pseudoPage* -// ; -// -String pageSelector() : -{ - StringBuilder pseudos = new StringBuilder(); - String pseudo; - Token ident; -} -{ - ( - pseudo = pseudoPage() { pseudos.append(pseudo); } - | - ident = ident() { pseudos.append(unescape(ident.image, false)); } - ) - ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* - ( )* - - { return pseudos.toString(); } -} - -// -// pseudoPage -// : ':' IDENT -// ; -// -String pseudoPage() : -{ - Token t; -} -{ - t = ident() { return ":" + normalizeAndValidatePagePseudoClass(t); } -} - -// -// font_face -// : FONT_FACE_SYM S* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void fontFaceRule() : -{ - boolean start = false; - Locator locator; -} -{ - try { - - { - locator = createLocator(token); - } - ( )* - ( )* { start = true; handleStartFontFace(locator); } - styleDeclaration() - - } - catch(ParseException e) - { - throw toCSSParseException("invalidFontFaceRule", e); - } - finally { - if (start) { - handleEndFontFace(); - } - } -} - -// -// operator -// : '/' S* | COMMA S* | /* empty */ -// ; -// -LexicalUnit operator(LexicalUnit prev) : -{ -} -{ - ( )* { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_SLASH); } - | ( )* { return LexicalUnitImpl.createComma(prev); } -} - -// -// combinator -// : PLUS S* -// | GREATER S* -// | S -// ; -// -char combinator() : -{ - char c = ' '; -} -{ - ( - { c='+'; } ( )* - | { c='>'; } ( )* - | { c='~'; } ( )* - | ( ( { c='+'; } | { c='>'; } | { c='~'; } ) ( )* )? - ) - { return c; } -} - -char relativeCombinator() : -{ - char c = ' '; -} -{ - ( - { c='+'; } ( )* - | { c='>'; } ( )* - | { c='~'; } ( )* - )? - { return c; } -} - -// -// unary_operator -// : '-' | PLUS -// ; -// -char unaryOperator() : -{ -} -{ - ( { return '-'; } | { return '+'; } ) -} - - -// -// ruleset -// : selector [ COMMA S* selector ]* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void styleRule() : -{ - SelectorList selList = null; - boolean start = false; - Token t; -} -{ - try { - { - t = token; - } - selList = selectorList() - ( )* - { - start = true; - handleStartSelector(selList, createLocator(t.next)); - } - styleDeclaration() - ( | ) - } - catch(CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidStyleRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringFollowingDeclarations", cpe); - } - finally { - if (start) { - handleEndSelector(selList); - } - } -} - -SelectorList parseSelectorsInternal() : -{ - SelectorList selectors; -} -{ - ( )* - selectors = selectorList() - - { - return selectors; - } -} - -SelectorList selectorList() : -{ - SelectorListImpl selList = new SelectorListImpl(); - Selector sel; -} -{ - sel = selector() { selList.setLocator(sel.getLocator()); } - ( ( )* - { selList.add(sel); } - sel = selector() { selList.setLocator(sel.getLocator()); } - )* - { - selList.add(sel); - return selList; - } -} - -SelectorList relativeSelectorList() : -{ - SelectorListImpl selList = new SelectorListImpl(); - Selector sel; - char comb; -} -{ - comb = relativeCombinator() - sel = selector() { selList.setLocator(sel.getLocator()); } - ( ( )* - { selList.add(new RelativeSelector(comb, sel)); } - - comb = relativeCombinator() - sel = selector() { selList.setLocator(sel.getLocator()); } - )* - { - selList.add(new RelativeSelector(comb, sel)); - return selList; - } -} - -// -// selector -// : simple_selector_sequence [ combinator simple_selector_sequence ]* -// ; -// -Selector selector() : -{ - Selector sel; - char comb; -} -{ - try { - sel = simpleSelector(null, ' ') - ( LOOKAHEAD(2) comb = combinator() sel = simpleSelector(sel, comb) )* ( )* - { - return sel; - } - } catch (ParseException e) { - throw toCSSParseException("invalidSelector", e); - } -} - -// -// simple_selector -// : element_name [ HASH | class | attrib | pseudo ]* -// | [ HASH | class | attrib | pseudo ]+ -// ; -// -Selector simpleSelector(Selector sel, char comb) : -{ - ElementSelector elemSel = null; - SimpleSelector simpleSel = null; - Condition c = null; - SimpleSelector pseudoElementSel = null; - Object o = null; -} -{ - try - { - ( - ( elemSel = elementName() - ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } - | ( - o = pseudo(null != pseudoElementSel) - { if (o instanceof Condition) - { elemSel.addCondition((Condition) o); - } else { - pseudoElementSel = (SimpleSelector) o; - } - } - ) - )* - ) - | - ( { elemSel = new ElementSelector(null, createLocator(token)); } - ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } - | ( - o = pseudo(null != pseudoElementSel) - { if (o instanceof Condition) - { elemSel.addCondition((Condition) o); - } else { - pseudoElementSel = (SimpleSelector) o; - } - } - ) - )+ - ) - ) - - { - simpleSel = elemSel; - if (sel == null) { - sel = simpleSel; - } else { - switch (comb) { - case ' ': - sel = new DescendantSelector(sel, simpleSel); - break; - case '+': - sel = new DirectAdjacentSelector(sel, simpleSel); - break; - case '>': - sel = new ChildSelector(sel, simpleSel); - break; - case '~': - sel = new GeneralAdjacentSelector(sel, simpleSel); - break; - } - } - if (pseudoElementSel != null) - { - sel = new DescendantSelector(sel, pseudoElementSel); - } - - return sel; - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidSimpleSelector", e); - } -} - -// -// class -// : '.' IDENT -// ; -// -Condition _class(boolean pseudoElementFound) : -{ - Token t; - Locator locator; - ParseException pe = null; -} -{ - try - { - { if (pseudoElementFound) { pe = generateParseException(); } } - - { - locator = createLocator(token); - } - - t = ident() - { - if (pseudoElementFound) { throw pe; } - return new ClassCondition(unescape(t.image, false), locator); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidClassSelector", e); - } -} - -// -// element_name -// : IDENT | '*' -// ; -// -ElementSelector elementName() : -{ - Token t; -} -{ - try - { - t = ident() - { - return new ElementSelector(unescape(t.image, false), createLocator(t)); - } - | - { - return new ElementSelector(null, createLocator(token)); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidElementName", e); - } -} - -// -// attrib -// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH | PREFIXMATCH | SUFFIXMATCH | SUBSTRINGMATCH ] S* -// [ IDENT | STRING ] S* ]? ']' -// ; -// -Condition attrib(boolean pseudoElementFound) : -{ - Token t; - String name = null; - String value = null; - Boolean insensitive = null; - int type = 0; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - ( )* - { if (pseudoElementFound) { throw generateParseException(); } } - - t = ident() { name = unescape(t.image, false); } - ( )* - ( - ( - { type = 4; } - | - { type = 5; } - | - { type = 6; } - | - "=" { type = 1; } // don't use because of the leading whitespace - | - { type = 2; } - | - { type = 3; } - ) - ( )* - ( - ( - t = ident() { value = unescape(t.image, false); } - | - t = { value = unescape(t.image, false); } - ) - - ( )* - ) - ( - t = ident() { insensitive = handleCaseInSensitive(t); } - ( )* - )? - )? - - { - Condition c = null; - switch (type) { - case 0: - c = new AttributeCondition(name, null, insensitive); - break; - case 1: - c = new AttributeCondition(name, value, insensitive); - break; - case 2: - c = new OneOfAttributeCondition(name, value, insensitive); - break; - case 3: - c = new BeginHyphenAttributeCondition(name, value, insensitive); - break; - case 4: - c = new PrefixAttributeCondition(name, value, insensitive); - break; - case 5: - c = new SuffixAttributeCondition(name, value, insensitive); - break; - case 6: - c = new SubstringAttributeCondition(name, value, insensitive); - break; - } - c.setLocator(locator); - return c; - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidAttrib", e); - } -} - -// -// pseudo -// : ':' (':')? -// [ IDENT -// | FUNCTION_NOT S* selector() S* ')' -// | FUNCTION_LANG S* IDENT S* ')' -// | FUNCTION S* ((PLUS | MINUS | DIMENSION | NUMBER | STRING | IDENT)? S*)+ ')' -// ] -// ; -// -Object pseudo(boolean pseudoElementFound) : -{ - Token t; - String function; - boolean doubleColon = false; - SelectorList selectorList; - SelectorList relativeSelectorList; - Locator locator; -} -{ - try - { - { locator = createLocator(token); } - ( { doubleColon = true; } )? - - ( - t = ident() - { - String s = unescape(t.image, false); - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } - if ("first-line".equals(s) - || "first-letter".equals(s) - || "before".equals(s) - || "after".equals(s)) - { - return new PseudoElementSelector(s, locator, doubleColon); - } - return new PseudoClassCondition(s, locator, doubleColon); - } - | - ( - t = { function = unescape(t.image, false); } - ( )* - selectorList = selectorList() - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } - return new NotPseudoClassCondition(selectorList, locator, doubleColon); - } - ) - | - ( - t = { function = unescape(t.image, false); } - ( )* - selectorList = selectorList() - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } - return new IsPseudoClassCondition(selectorList, locator, doubleColon); - } - ) - | - ( - t = { function = unescape(t.image, false); } - ( )* - selectorList = selectorList() - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } - return new WherePseudoClassCondition(selectorList, locator, doubleColon); - } - ) - | - ( - t = { function = unescape(t.image, false); } - ( )* - relativeSelectorList = relativeSelectorList() - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + relativeSelectorList + ")" }, locator); } - return new HasPseudoClassCondition(relativeSelectorList, locator, doubleColon); - } - ) - | - ( - t = { function = unescape(t.image, false); } - ( )* - t = ident() { String lang = unescape(t.image, false); } - ( )* - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { "lang(" + lang + ")" }, locator); } - return new LangCondition(lang, locator); - } - ) - | - ( - t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } - ( )* - ( - (t = | t = | t = | t = | t = | t = ident()) - { args.append(unescape(t.image, false)); } - ( t = - { args.append(unescape(t.image, false)); } - )* - )+ - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + args.toString().trim() + ")" }, locator); } - return new PseudoClassCondition(function + args.toString().trim() + ")", locator, doubleColon); - } - ) - ) - } - catch (ParseException e) - { - throw toCSSParseException("invalidPseudo", e); - } -} - -Condition hash(boolean pseudoElementFound) : -{ - Token t; - ParseException pe = null; -} -{ - try - { - { if (pseudoElementFound) { pe = generateParseException(); } } - t = - { - if (pseudoElementFound) { throw pe; } - return new IdCondition(unescape(t.image.substring(1), false), createLocator(t)); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidHash", e); - } -} - -void styleDeclaration() : -{ -} -{ - ( declaration() )? - ( ( )* ( declaration() )? )* -} - -// -// declaration -// : property ':' S* expr prio? -// | -// ; -// -void declaration() : -{ - String p; - LexicalUnit e = null; - Token t; - boolean priority = false; - Locator starHack = null; - Locator locator = null; -} -{ - try - { - // at the moment i have no better idea how to handle the - // infamous css-star-hack (http://en.wikipedia.org/wiki/CSS_filter#Star_hack) - // smart (means: ignoring only one decl) - ( { starHack = createLocator(token); } )? - ( - ( - t = ident() { p = unescape(t.image, false); locator = createLocator(t); } - ( )* - ( )* - e = expr() - ) - | - ( - t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } - ( )* - ( e = expr() )? - ) - ) - - ( priority = prio() )? - - // maybe there are strange characters at the end - create error and skip - ( t = - { - locator = createLocator(t); - CSSParseException cpe = toCSSParseException("invalidDeclarationInvalidChar", new String[] {t.image}, locator); - getErrorHandler().error(cpe); - error_skipdecl(); - } - )? - - { - if (starHack != null) - { - CSSParseException cpe = toCSSParseException("invalidDeclarationStarHack", new Object[0], starHack); - getErrorHandler().error(cpe); - return; - } - handleProperty(p, e, priority, locator); - } - } - catch (CSSParseException ex) - { - getErrorHandler().error(ex); - error_skipdecl(); - } - catch (ParseException ex) - { - CSSParseException cpe = toCSSParseException("invalidDeclaration", ex); - getErrorHandler().error(cpe); - error_skipdecl(); - } -} - -// -// prio -// : IMPORTANT_SYM S* -// ; -boolean prio() : -{ -} -{ - ( )* - { return true; } -} - -// -// expr -// : term [ operator term ]* -// ; -LexicalUnit expr() : -{ - LexicalUnit head; - LexicalUnit body; -} -{ - try - { - head = term(null) { body = head; } - ( - ( body = operator(body) )? - body = term(body) - )* - { return head; } - } - catch (ParseException ex) - { - throw toCSSParseException("invalidExpr", ex); - } -} - -// -// term -// : unary_operator? -// [ NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | function ] -// | STRING | IDENT | URI | hexcolor | DIMENSION -// S* -// ; -// -LexicalUnit term(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit value = null; - Locator locator = null; -} -{ - ( op = unaryOperator() )? { if (op != ' ') { locator = createLocator(token); } } - ( - ( value = number(prev, op) - | value = dimension(prev, op) - | value = percentage(prev, op) - | value = function(prev) - | value = rgbColor(prev) - | value = hslColor(prev) - | value = hwbColor(prev) - | value = labColor(prev) - | value = lchColor(prev) - | value = calc(prev) - | value = var(prev) - ) - | t = { value = LexicalUnitImpl.createString(prev, unescape(t.image, false)); } - | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } - | - ( - t = identExcludingInherit() - ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? - ) - { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - | t = { value = LexicalUnitImpl.createURI(prev, unescape(t.image, true)); } - | value = unicodeRange(prev) - | value = hexcolor(prev) - | t = - { - int n = getLastNumPos(t.image); - value = LexicalUnitImpl.createDimension( - prev, - doubleValue(op, t.image.substring(0, n+1)), - t.image.substring(n+1)); - } - | t = { value = LexicalUnitImpl.createInherit(prev); } - ) - { - if (locator == null) - { - locator = createLocator(token); - } - } - ( )* - { - if(value != null) - { - value.setLocator(locator); - } - return value; - } -} - -// -// function -// : FUNCTION S* ((EQUALS | COMMA | (unaryOperator? NUMBER) | STRING | IDENT | URI)? S*)+ ')' S* -// ; -// -LexicalUnit function(LexicalUnit prev) : -{ - Token t; - LexicalUnit param = null; - LexicalUnit body = null; - String funct = ""; -} -{ - t = { funct = funct + unescape(t.image, false); } - ( )* - ( - param = term(null) { body = param; } - ( - ( - ( - t = { body = LexicalUnitImpl.createComma(body); } - | t = { body = LexicalUnitImpl.createIdent(body, t.image); } - ) - ( )* - )? - body = term(body) - )* - )? - - { - return functionInternal(prev, funct, param); - } -} - -// -// calc() -// https://www.w3.org/TR/css3-values/#calc-syntax -// = calc( ) -// -LexicalUnit calc(LexicalUnit prev) : -{ - Token t; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); - String funct = ""; -} -{ - t = { funct = unescape(t.image, false); } - ( )* - calcSum(head) - - { - return functionInternal(prev, funct, head.getNextLexicalUnit()); - } -} - -// -// calcSum() -// = [ [ '+' | '-' ] ]* -// -LexicalUnit calcSum(LexicalUnit prev) : -{ -} -{ - ( - prev = calcProduct(prev) - ( - ( - { prev = LexicalUnitImpl.createPlus(prev); } - | { prev = LexicalUnitImpl.createMinus(prev); } - ) - ( )* - prev = calcProduct(prev) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcProduct() -// = [ '*' | '/' ]* -// -LexicalUnit calcProduct(LexicalUnit prev) : -{ -} -{ - ( - prev = calcValue(prev) - ( - ( - { prev = LexicalUnitImpl.createMultiply(prev); } - ( )* - prev = calcValue(prev) - ) - | - ( - { prev = LexicalUnitImpl.createDivide(prev); } - ( )* - prev = calcNumberValue(prev) - ) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcValue() -// = | | | ( ) -// -LexicalUnit calcValue(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); -} -{ - ( - ( - ( - (op = unaryOperator() )? - ( - prev = number(prev, op) - | prev = dimension(prev, op) - | prev = percentage(prev, op) - | t = ident() { prev = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - ) - ) - | prev = var(prev) - | - ( - ( | ) - calcSum(head) - - ) - { - // use an empty function as block scope - prev = functionInternal(prev, "(", head.getNextLexicalUnit()); - } - ) - ( )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberSum() -// = [ [ '+' | '-' ] ]* -// -LexicalUnit calcNumberSum(LexicalUnit prev) : -{ -} -{ - ( - prev = calcNumberProduct(prev) - ( - ( - { prev = LexicalUnitImpl.createPlus(prev); } - | { prev = LexicalUnitImpl.createMinus(prev); } - ) - ( )* - prev = calcNumberProduct(prev) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberProduct() -// = [ '*' | '/' ]* -// -LexicalUnit calcNumberProduct(LexicalUnit prev) : -{ -} -{ - ( - prev = calcNumberValue(prev) - ( - ( - { prev = LexicalUnitImpl.createMultiply(prev); } - ( )* - prev = calcNumberValue(prev) - ) - | - ( - { prev = LexicalUnitImpl.createDivide(prev); } - ( )* - prev = calcNumberValue(prev) - ) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberValue() -// = | ( ) -// -LexicalUnit calcNumberValue(LexicalUnit prev) : -{ - Token t; - char op = ' '; - String funct = "("; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); -} -{ - ( - ( - ( - (op = unaryOperator() )? - prev = number(prev, op) - | t = ident() { prev = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - ) - | prev = var(prev) - | - ( - ( - t = { funct = unescape(t.image, false); } - | t = { funct = unescape(t.image, false); } - ) - calcNumberSum(head) - - ) - { - // use an empty function as block scope - prev = functionInternal(prev, funct, head.getNextLexicalUnit()); - } - ) - ( )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// var() -// https://developer.mozilla.org/en-US/docs/Web/CSS/var -// var( , ? ) -// -LexicalUnit var(LexicalUnit prev) : -{ - Token t; - LexicalUnit current, propertyName; - String funct = ""; -} -{ - t = { funct = unescape(t.image, false); } - ( )* - t = { current = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); propertyName = current; } - ( )* - ( - { current = LexicalUnitImpl.createComma(current); } - ( )* - ( - // inline expr here because we need a differnt prev handling - current = term(current) - ( LOOKAHEAD(2) - ( current = operator(current) )? - current = term(current) - )* - )? - )* - - { - return functionInternal(prev, funct, propertyName); - } -} - - -// rgb() / rgba() -// -LexicalUnit rgbColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - ( - { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( - t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } - ) - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - ) - - { - return rgbColorInternal(prev, funct, param); - } -} - - -// hsl() / hsla() -// -LexicalUnit hslColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - ( - { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( - t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = angle(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = angle(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } - ) - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - ) - - { - return hslColorInternal(prev, funct, param); - } -} - - -// hwb() -// -LexicalUnit hwbColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - ( - { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( - t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = angle(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = angle(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - ) - - { - return hwbColorInternal(prev, funct, param); - } -} - - -// lab() -// -LexicalUnit labColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - ( - { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( - t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - ) - - { - return labColorInternal(prev, funct, param); - } -} - - -// lch() -// -LexicalUnit lchColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - ( - { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( - t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = angle(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = angle(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - ) - - { - return lchColorInternal(prev, funct, param); - } -} - - -// -// Helper to process various keywords as IDENT -// -Token ident() : -{ - Token t; -} -{ - t = { return t; } - | - ( - t = - | t = - | t = - | t = - | t = - ) - { - Token ident = new Token(IDENT, unescape(t.image, false)); - ident.beginLine = t.beginLine; - ident.beginColumn = t.endColumn; - ident.endLine = t.beginLine; - ident.endColumn = t.endColumn; - ident.next = t.next; - ident.specialToken = t.specialToken; - return ident; - - } -} - -Token identExcludingInherit() : -{ - Token t; -} -{ - t = { return t; } - | - ( - t = - | t = - | t = - ) - { - Token ident = new Token(IDENT, unescape(t.image, false)); - ident.beginLine = t.beginLine; - ident.beginColumn = t.endColumn; - ident.endLine = t.beginLine; - ident.endColumn = t.endColumn; - ident.next = t.next; - ident.specialToken = t.specialToken; - return ident; - - } -} - -Token identExcludingOnly() : -{ - Token t; -} -{ - t = { return t; } - | - ( - t = - | t = - | t = - ) - { - Token ident = new Token(IDENT, unescape(t.image, false)); - ident.beginLine = t.beginLine; - ident.beginColumn = t.endColumn; - ident.endLine = t.beginLine; - ident.endColumn = t.endColumn; - ident.next = t.next; - ident.specialToken = t.specialToken; - return ident; - - } -} - - -// -// number() -// -LexicalUnit number(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = - ) - { - try - { - value = LexicalUnitImpl.createNumber(prev, intValue(op, t.image)); - } - catch (NumberFormatException e) - { - value = LexicalUnitImpl.createNumber(prev, doubleValue(op, t.image)); - } - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// percentage() -// -LexicalUnit percentage(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createPercentage(prev, doubleValue(op, t.image)); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// dimension() -// -LexicalUnit dimension(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createPixel(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createCentimeter(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createMillimeter(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createInch(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createPoint(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createPica(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createQuater(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createEm(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRem(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createEx(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createCh(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVw(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVh(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVMin(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVMax(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createMillisecond(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createSecond(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createHertz(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createKiloHertz(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpi"); } - | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpcm"); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - - -// -// angle() -// -LexicalUnit angle(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - - -// -// unicodeRange -// -LexicalUnit unicodeRange(LexicalUnit prev) : -{ - Token t; - StringBuilder range = new StringBuilder(); -} -{ - t = { range.append(unescape(t.image, false)); } - { - return LexicalUnitImpl.createIdent(prev, range.toString().toUpperCase(Locale.ROOT)); - } -} - -// -// hexcolor -// : HASH S* -// ; -// -LexicalUnit hexcolor(LexicalUnit prev) : -{ - Token t; -} -{ - t = - { - return hexColorInternal(prev, t); - } -} - -JAVACODE -String skip() { - StringBuilder sb = new StringBuilder(); - int nesting = 0; - Token t = getToken(0); - if (t.image != null) { - sb.append(t.image); - } - - do { - t = getNextToken(); - if (t.kind == EOF) { - break; - } - sb.append(t.image); - appendUnit(t, sb); - - if (t.kind == LBRACE) { - nesting++; - } - else if (t.kind == RBRACE) { - nesting--; - } - } - while ((t.kind != RBRACE && t.kind != SEMICOLON) || nesting > 0); - - return sb.toString(); -} - -JAVACODE -String skipUnit() { - StringBuilder sb = new StringBuilder(); - - Token t = token; - Token oldToken = null; - while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { - oldToken = t; - sb.append(oldToken.image); - appendUnit(t, sb); - - t = getNextToken(); - } - if (t.kind != EOF) { - token = oldToken; - } - - return sb.toString(); -} - -JAVACODE -void appendUnit(Token t, StringBuilder sb) { - if (t.kind == EMS) { - sb.append("em"); - return; - } - if (t.kind == REM) { - sb.append("rem"); - return; - } - if (t.kind == EXS) { - sb.append("ex"); - return; - } - if (t.kind == CH) { - sb.append("ch"); - return; - } - if (t.kind == VW) { - sb.append("vw"); - return; - } - if (t.kind == VH) { - sb.append("vh"); - return; - } - if (t.kind == VMIN) { - sb.append("vmin"); - return; - } - if (t.kind == VMAX) { - sb.append("vmax"); - return; - } - if (t.kind == LENGTH_PX) { - sb.append("px"); - return; - } - if (t.kind == LENGTH_CM) { - sb.append("cm"); - return; - } - if (t.kind == LENGTH_MM) { - sb.append("mm"); - return; - } - if (t.kind == LENGTH_IN) { - sb.append("in"); - return; - } - if (t.kind == LENGTH_PT) { - sb.append("pt"); - return; - } - if (t.kind == LENGTH_PC) { - sb.append("pc"); - return; - } - if (t.kind == LENGTH_Q) { - sb.append("Q"); - return; - } - if (t.kind == ANGLE_DEG) { - sb.append("deg"); - return; - } - if (t.kind == ANGLE_RAD) { - sb.append("rad"); - return; - } - if (t.kind == ANGLE_GRAD) { - sb.append("grad"); - return; - } - if (t.kind == ANGLE_TURN) { - sb.append("turn"); - return; - } - if (t.kind == TIME_MS) { - sb.append("ms"); - return; - } - if (t.kind == TIME_S) { - sb.append('s'); - return; - } - if (t.kind == FREQ_HZ) { - sb.append("hz"); - return; - } - if (t.kind == FREQ_KHZ) { - sb.append("khz"); - return; - } - if (t.kind == RESOLUTION_DPI) { - sb.append("dpi"); - return; - } - if (t.kind == RESOLUTION_DPCM) { - sb.append("dpcm"); - return; - } - if (t.kind == PERCENTAGE) { - sb.append('%'); - return; - } -} - -JAVACODE -void error_skipblock(String msgKey, CSSParseException e) -{ - if (msgKey != null) { - getErrorHandler().warning(createSkipWarning(msgKey, e)); - } - - Token t; - int nesting = 0; - do { - t = getNextToken(); - if (t.kind == LBRACE) { - nesting++; - } - else if (t.kind == RBRACE) { - nesting--; - } - } - while (t.kind != EOF && (t.kind != RBRACE || nesting > 0)); -} - -JAVACODE -void error_skipdecl() -{ - Token t = getToken(1); - if (t.kind == LBRACE) { - error_skipblock(null, null); - return; - } - if (t.kind == RBRACE) { - // next will be RBRACE so we are finished - return; - } - - Token oldToken = token; - while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF) { - oldToken = t; - t = getNextToken(); - } - if (t.kind != EOF) { - token = oldToken; - } -} - -JAVACODE -void error_skipAtRule() -{ - Token t = null; - do { - t = getNextToken(); - } - while (t.kind != SEMICOLON && t.kind != EOF); -} - -JAVACODE -Boolean handleCaseInSensitive(Token t) -{ - String s = unescape(t.image, false); - if ("i".equalsIgnoreCase(s)) { - return Boolean.TRUE; - } - if ("s".equalsIgnoreCase(s)) { - return Boolean.FALSE; - } - - throw toCSSParseException("invalidCaseInSensitivelyIdentifier", new String[] { s }, createLocator(t)); -} +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +options { + IGNORE_CASE = true; + + UNICODE_INPUT = true; + USER_CHAR_STREAM = true; + +// DEBUG_TOKEN_MANAGER = true; +// DEBUG_PARSER = true; + + JDK_VERSION = "1.8"; +// JAVA_TEMPLATE_TYPE = "modern" +} + +PARSER_BEGIN(CSS3Parser) + +package org.htmlunit.cssparser.parser.javacc; + +import java.util.LinkedList; +import java.util.Locale; + +import org.htmlunit.cssparser.dom.CSSValueImpl; +import org.htmlunit.cssparser.dom.Property; +import org.htmlunit.cssparser.parser.AbstractCSSParser; +import org.htmlunit.cssparser.parser.CSSParseException; +import org.htmlunit.cssparser.parser.LexicalUnit; +import org.htmlunit.cssparser.parser.LexicalUnitImpl; +import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; +import org.htmlunit.cssparser.parser.Locatable; +import org.htmlunit.cssparser.parser.Locator; +import org.htmlunit.cssparser.parser.condition.AttributeCondition; +import org.htmlunit.cssparser.parser.condition.BeginHyphenAttributeCondition; +import org.htmlunit.cssparser.parser.condition.ClassCondition; +import org.htmlunit.cssparser.parser.condition.Condition; +import org.htmlunit.cssparser.parser.condition.IdCondition; +import org.htmlunit.cssparser.parser.condition.LangCondition; +import org.htmlunit.cssparser.parser.condition.HasPseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.IsPseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; +import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; +import org.htmlunit.cssparser.parser.condition.PseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; +import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; +import org.htmlunit.cssparser.parser.condition.WherePseudoClassCondition; +import org.htmlunit.cssparser.parser.media.MediaQuery; +import org.htmlunit.cssparser.parser.media.MediaQueryList; +import org.htmlunit.cssparser.parser.selector.ChildSelector; +import org.htmlunit.cssparser.parser.selector.Combinator; +import org.htmlunit.cssparser.parser.selector.DescendantSelector; +import org.htmlunit.cssparser.parser.selector.DirectAdjacentSelector; +import org.htmlunit.cssparser.parser.selector.ElementSelector; +import org.htmlunit.cssparser.parser.selector.GeneralAdjacentSelector; +import org.htmlunit.cssparser.parser.selector.PseudoElementSelector; +import org.htmlunit.cssparser.parser.selector.RelativeSelector; +import org.htmlunit.cssparser.parser.selector.Selector; +import org.htmlunit.cssparser.parser.selector.SelectorList; +import org.htmlunit.cssparser.parser.selector.SelectorListImpl; +import org.htmlunit.cssparser.parser.selector.SimpleSelector; +import org.htmlunit.cssparser.util.ParserUtils; + +/** + * @author David Schweinsberg + * @author waldbaer + * @author Ahmed Ashour + * @author Ronald Brill + */ +public class CSS3Parser extends AbstractCSSParser { + + public CSS3Parser() { + this((CharStream) null); + } + + @Override + public String getParserVersion() { + return "http://www.w3.org/Style/CSS/"; + } + + protected String getGrammarUri() + { + return "http://www.w3.org/TR/WD-css3-syntax-20030813"; + } +} + +PARSER_END(CSS3Parser) + +TOKEN_MGR_DECLS : +{ +} + + TOKEN : +{ +// s [ \t\r\n\f]+ +// {s} {return S;} + < S: ( " "|"\t"|"\r"|"\n"|"\f" )+ > +// w {s}? +// | < W: ( )? > +} + + MORE : +{ + < "/*" > : COMMENT +} + + SKIP : +{ + < "*/" > : DEFAULT +} + + MORE : +{ + < ~[] > : COMMENT +} + + TOKEN : +{ +// h [0-9a-f] + < #H: ["0"-"9","a"-"f"] > +| < #HNUM: | | | | | > + +// nonascii [\200-\377] +// The two occurrences of "\377" represent the highest character number that +// current versions of Flex can deal with (decimal 255). They should be read as +// "\4177777" (decimal 1114111), which is the highest possible code point in +// Unicode/ISO-10646. +// Limitation: This parser can only handle Unicode characters up to \uFFFF +// (decimal 65535). +| < #NONASCII: ["\u0080"-"\uFFFF"] > + +// unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? +| < #UNICODE: "\\" ( "\r\n" | [" ","\t","\r","\n","\f"] )? > + +// escape {unicode}|\\[^\r\n\f0-9a-f] +| < #ESCAPE: | ( "\\" ~["\r","\n","\f","0"-"9","a"-"f"] ) > + +// nmstart [_a-z]|{nonascii}|{escape} +| < #NMSTART: ["_","a"-"z"] | | > + +// nmchar [_a-z0-9-]|{nonascii}|{escape} +| < #NMCHAR: ["_","a"-"z","0"-"9","-"] | | > + +// nl \n|\r\n|\r|\f +| < #NL: "\n" | "\r\n" | "\r" | "\f" > + +// string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\" +| < #STRING1: ( ~["\n","\r","\f","\\","\""] | "\\" | )* > + +// string2 \'([^\n\r\f\\']|\\{nl}|{escape})*\' +| < #STRING2: ( ~["\n","\r","\f","\\","\'"] | "\\" | )* > + +// comment \/\*[^*]*\*+([^/*][^*]*\*+)*\/ +| < #COMMENT_: "/" "*" ( ~["*"] )* ("*")+ ( ~["/","*"] ( ~["*"] )* ( "*" )+ )* "/"> + +| < AND: "and" > +| < NOT: "not" > +| < ONLY: "only" > + +// {num} {return NUMBER;} +| < NUMBER: > + +| < INHERIT: "inherit" > +| < NONE: "none" > +| < FROM: "from" > + +// ident -?{nmstart}{nmchar}* +// {ident} {return IDENT;} +| < IDENT: (< MINUS >)? ( )* > + +// name {nmchar}+ +| < #NAME: ( )+ > + +// num [0-9]+|[0-9]*"."[0-9]+ +| < NUM: ( ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ ) (["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+)? > + +// string {string1}|{string2} +// {string} {return STRING;} +| < STRING: ( "\"" "\"" ) | ( "\'" "\'" ) > { matchedToken.image = ParserUtils.trimBy(image, 1, 1); } + +// url ([!#$%&*-~]|{nonascii}|{escape})* +| < #URL: ( ["!","#","$","%","&","*"-"[","]"-"~"] | | )* > + +// A a|\\0{0,4}(41|61)(\r\n|[ \t\r\n\f])? +| < #A_LETTER: "a" | "\\" ("0")? ("0")? ("0")? ("0")? ( "41" | "61" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// C c|\\0{0,4}(43|63)(\r\n|[ \t\r\n\f])? +| < #C_LETTER: "c" | "\\" ("0")? ("0")? ("0")? ("0")? ( "43" | "63" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// D d|\\0{0,4}(44|64)(\r\n|[ \t\r\n\f])? +| < #D_LETTER: "d" | "\\" ("0")? ("0")? ("0")? ("0")? ( "44" | "64" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// E e|\\0{0,4}(45|65)(\r\n|[ \t\r\n\f])? +| < #E_LETTER: "e" | "\\" ("0")? ("0")? ("0")? ("0")? ( "45" | "65" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// F f|\\0{0,4}(46|66)(\r\n|[ \t\r\n\f])? +| < #F_LETTER: "f" | "\\" ("0")? ("0")? ("0")? ("0")? ( "46" | "66" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// G g|\\0{0,4}(47|67)(\r\n|[ \t\r\n\f])?|\\g +| < #G_LETTER: "g" | "\\" ("0")? ("0")? ("0")? ("0")? ( "47" | "67" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "g" > + +// H h|\\0{0,4}(48|68)(\r\n|[ \t\r\n\f])?|\\h +| < #H_LETTER: "h" | "\\" ("0")? ("0")? ("0")? ("0")? ( "48" | "68" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "h" > + +// I i|\\0{0,4}(49|69)(\r\n|[ \t\r\n\f])?|\\i +| < #I_LETTER: "i" | "\\" ("0")? ("0")? ("0")? ("0")? ( "49" | "69" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "i" > + +// K k|\\0{0,4}(4b|6b)(\r\n|[ \t\r\n\f])?|\\k +| < #K_LETTER: "k" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4b" | "6b" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "k" > + +// L l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l +| < #L_LETTER: "l" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4c" | "6c" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "l" > + +// M m|\\0{0,4}(4d|6d)(\r\n|[ \t\r\n\f])?|\\m +| < #M_LETTER: "m" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4d" | "6d" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "m" > + +// N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n +| < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > + +// O o|\\0{0,4}(51|71)(\r\n|[ \t\r\n\f])?|\\o +| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "51" | "71" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > + +// P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p +| < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > + +// R r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r +| < #R_LETTER: "r" | "\\" ("0")? ("0")? ("0")? ("0")? ( "52" | "72" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "r" > + +// S s|\\0{0,4}(53|73)(\r\n|[ \t\r\n\f])?|\\s +| < #S_LETTER: "s" | "\\" ("0")? ("0")? ("0")? ("0")? ( "53" | "73" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "s" > + +// T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t +| < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > + +// U v|\\0{0,4}(55|76)(\r\n|[ \t\r\n\f])?|\\v +| < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > + +// X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x +| < #X_LETTER: "x" | "\\" ("0")? ("0")? ("0")? ("0")? ( "58" | "78" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "x" > + +// Z z|\\0{0,4}(5a|7a)(\r\n|[ \t\r\n\f])?|\\z +| < #Z_LETTER: "z" | "\\" ("0")? ("0")? ("0")? ("0")? ( "5a" | "7a" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "z" > + +// "" {return CDC;} +| < CDC: "-->" > + +// "~=" {return INCLUDES;} +| < INCLUDES: "~=" > + +// "|=" {return DASHMATCH;} +| < DASHMATCH: "|=" > + +// "^=" {return PREFIXMATCH;} +| < PREFIXMATCH: "^=" > + +// "$=" {return SUFFIXMATCH;} +| < SUFFIXMATCH: "$=" > + +// "*=" {return SUBSTRINGMATCH;} +| < SUBSTRINGMATCH: "*=" > + +// {w}"{" {return LBRACE;} +| < LBRACE: "{" > +| < RBRACE: "}" > + +| < LROUND: "(" > +| < RROUND: ")" > + +| < DOT: "." > +| < SEMICOLON: ";" > +| < COLON: ":" > +| < ASTERISK: "*" > +| < SLASH: "/" > +| < MINUS: "-" > +| < EQUALS: "=" > +| < LSQUARE: "[" > +| < RSQUARE: "]" > + +// {w}"+" {return PLUS;} +| < PLUS: "+" > + +// {w}">" {return GREATER;} +| < GREATER: ">" > + +// {w}"~" {return TILDE;} +| < TILDE: "~" > + +// {w}"," {return COMMA;} +| < COMMA: "," > + +// "#"{name} {return HASH;} +| < HASH: "#" > + +// @{I}{M}{P}{O}{R}{T} {return IMPORT_SYM;} +| < IMPORT_SYM: "@" > + +// @{P}{A}{G}{E} {return PAGE_SYM;} +| < PAGE_SYM: "@" > + +// @{M}{E}{D}{I}{A} {return MEDIA_SYM;} +| < MEDIA_SYM: "@" > + +// "@{F}{O}{N}{T}-{F}{A}{C}{E}" {return FONT_FACE_SYM;} +| < FONT_FACE_SYM: "@" < MINUS > > + +// @{C}{H}{A}{R}{S}{E}{T} {return CHARSET_SYM;} +| < CHARSET_SYM: "@" > + +// "!"({w}|{comment})*{I}{M}{P}{O}{R}{T}{A}{N}{T} {return IMPORTANT_SYM;} +| < IMPORTANT_SYM: "!" ( | )* > + +// {num}{E}{M} {return EMS;} +| < EMS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{R}{E}{M} {return REM;} +| < REM: "rem" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{E}{X} {return EXS;} +| < EXS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{C}{H} {return CH;} +| < CH: "ch" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{W} {return VW;} +| < VW: "vw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{H} {return VH;} +| < VH: "vh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{M}{I}{N} {return VMIN;} +| < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{V}{M}{I}{N} {return VMAX;} +| < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{P}{X} {return LENGTH;} +| < LENGTH_PX: "px" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{C}{M} {return LENGTH;} +| < LENGTH_CM: "cm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{M}{M} {return LENGTH;} +| < LENGTH_MM: "mm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{I}{N} {return LENGTH;} +| < LENGTH_IN: "in" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{P}{T} {return LENGTH;} +| < LENGTH_PT: "pt" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{P}{C} {return LENGTH;} +| < LENGTH_PC: "pc" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{Q} {return LENGTH;} +| < LENGTH_Q: "Q" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{D}{E}{G} {return ANGLE;} +| < ANGLE_DEG: "deg" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{R}{A}{D} {return ANGLE;} +| < ANGLE_RAD: "rad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{G}{R}{A}{D} {return ANGLE;} +| < ANGLE_GRAD: "grad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{T}{U}{R}{N} {return ANGLE;} +| < ANGLE_TURN: "turn" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{M}{S} {return TIME;} +| < TIME_MS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{S} {return TIME;} +| < TIME_S: > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{H}{Z} {return FREQ;} +| < FREQ_HZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{K}{H}{Z} {return FREQ;} +| < FREQ_KHZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{D}{P}{I} {return RESOLUTION;} +| < RESOLUTION_DPI: "dpi" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{D}{P}{C}{M} {return RESOLUTION;} +| < RESOLUTION_DPCM: "dpcm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}% {return PERCENTAGE;} +| < PERCENTAGE: "%" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{ident} {return DIMENSION;} +| < DIMENSION: ( ["a"-"z","0"-"9"] | | )* > + +| < #H_PLACEHOLDER: ( | "?"){1,6} > +| < UNICODE_RANGE: "u+" (< MINUS > < H_PLACEHOLDER >)? > + +// "url("{w}{string}{w}")" {return URI;} +// "url("{w}{url}{w}")" {return URI;} +| < URI: "url" ( )* ( | ) ( )* > { matchedToken.image = ParserUtils.trimUrl(image); } + +// {N}{O}{T} "(" {return FUNCTION_NOT;} +| < FUNCTION_NOT: "not" > + +// {L}{A}{N}{G} "(" {return FUNCTION_LANG;} +| < FUNCTION_LANG: "lang" > + +// {C}{A}{L}{C} "(" {return FUNCTION_CALC;} +| < FUNCTION_CALC: "calc" > + +// {V}{A}{R} "(" {return FUNCTION_VAR;} +| < FUNCTION_VAR: "var" > + +| < FUNCTION_RGB: "rgb" ("a")? > +| < FUNCTION_HSL: "hsl" ("a")? > +| < FUNCTION_HWB: "hwb" > +| < FUNCTION_LAB: ("ok")? "lab" > +| < FUNCTION_LCH: ("ok")? "lch" > + +| < FUNCTION_IS: "is" > +| < FUNCTION_WHERE: "where" > +| < FUNCTION_HAS: "has" > + +| < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > + +// {ident} "(" {return FUNCTION;} +| < FUNCTION: > + +| < ATKEYWORD: "@" > +} + +<*> TOKEN: +{ + < UNKNOWN: ~[] > + { + // System.err.println("Illegal character : " + image.toString()); + } +} + +// +// stylesheet +// : [ CHARSET_SYM STRING ';' ]? +// [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* +// [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* +// ; +// +void styleSheet() : +{ +} +{ + try + { + { handleStartDocument(); } + styleSheetRuleList() + + } + finally + { + handleEndDocument(); + } +} + +void styleSheetRuleList() : +{ + boolean ruleFound = false; +} +{ + ( | | )* + ( + charsetRule() + ( | | )* + )? + ( + ( + ( + importRule(ruleFound) + | + ( + styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() + ) + { + ruleFound = true; + } + ) + | + ( + // skip until the next RBRACE + { ParseException e = generateParseException(); } + invalidRule() + { + Token t = getNextToken(); + + boolean charsetProcessed = false; + if (t.kind == CHARSET_SYM) { + t = getNextToken(); + if (t.kind == S) { + t = getNextToken(); + if (t.kind == STRING) { + t = getNextToken(); + if (t.kind == SEMICOLON) { + getNextToken(); + charsetProcessed = true; + } + } + } + CSSParseException cpe = toCSSParseException("misplacedCharsetRule", e); + getErrorHandler().error(cpe); + getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); + } + + if (!charsetProcessed) { + if (t.kind == EOF) { + return; + } + + CSSParseException cpe = toCSSParseException("invalidRule", e); + getErrorHandler().error(cpe); + getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); + while (t.kind != RBRACE && t.kind != EOF ) { + t = getNextToken(); + } + if (t.kind == EOF) { + return; + } + } + } + ) + ) + ( | | )* + )* +} + +JAVACODE +void invalidRule() +{ +} + +// +// This is used by ASTStyleSheet.insertRule to parse a single rule +// +void styleSheetRuleSingle() : +{ +} +{ + ( )* + ( charsetRule() | importRule(false) | styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() ) + ( )* +} + +void charsetRule() : +{ + Token t; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + + t = + + { + handleCharset(t.toString(), locator); + } + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidCharsetRule", e)); + } +} + +void unknownAtRule() : +{ + String s; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + s = skip(); + handleIgnorableAtRule(s, locator); + } + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidUnknownRule", generateParseException())); + } +} + +// +// import +// : IMPORT_SYM S* +// [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S* +// ; +// +void importRule(final boolean nonImportRuleFoundBefore) : +{ + Token t; + MediaQueryList ml = new MediaQueryList(); + Locator locator; +} +{ + try + { + { + ParseException e = null; + if (nonImportRuleFoundBefore) + { + e = generateParseException(); + } + } + + { + locator = createLocator(token); + } + ( )* + ( t = | t = ) ( )* + ( mediaList(ml) )? + + { + if (nonImportRuleFoundBefore) + { + getErrorHandler().error(toCSSParseException("invalidImportRuleIgnored2", e)); + } + else + { + handleImportStyle(unescape(t.image, false), ml, null, locator); + } + } + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipAtRule(); + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidImportRule", e)); + error_skipAtRule(); + } +} + +// +// media +// : MEDIA_SYM S* medium [ COMMA S* medium ]* '{' S* ruleset* '}' S* +// ; +// +void mediaRule() : +{ + boolean start = false; + MediaQueryList ml = new MediaQueryList(); + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + ( )* + mediaList(ml) + { + start = true; + handleStartMedia(ml, locator); + } + ( )* + ( mediaRuleList() )? + + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidMediaRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringRule", cpe); + } + finally + { + if (start) { + handleEndMedia(ml); + } + } +} + +void mediaList(MediaQueryList ml) : +{ + MediaQuery mq; +} +{ + try + { + mq = mediaQuery() + { + ml.setLocator(createLocator(token)); + } + ( ( )* { ml.add(mq); } mq = mediaQuery() )* + { ml.add(mq); } + } + catch(ParseException e) + { + throw toCSSParseException("invalidMediaList", e); + } +} + +// +// media_query +// : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* +// | expression [ AND S* expression ]* +// ; +// +MediaQuery mediaQuery() : +{ + String s; + MediaQuery mq; + Property p; + boolean only = false; + boolean not = false; +} +{ + ( + ( + ( + ( + { only = true; } + | + { not = true; } + ) ( )* + )? + s = medium() + { mq = new MediaQuery(s, only, not); mq.setLocator(createLocator(token)); } + ( + ( )* + p = mediaExpression() + { + mq.addMediaProperty(p); + } + )* + ) + | + ( + p = mediaExpression() + { + mq = new MediaQuery(null, only, not); + mq.setLocator(createLocator(token)); + mq.addMediaProperty(p); + } + ( + ( )* + p = mediaExpression() + { + mq.addMediaProperty(p); + } + )* + ) + ) + { return mq; } +} + +// +// expression +// : '(' S* media_feature S* [ ':' S* expr ]? ')' S* +// ; +// +Property mediaExpression() : +{ + String p; + LexicalUnit e = null; + Property prop; + Token t; +} +{ + + ( )* + ( + t = identExcludingOnly() ( )* { p = unescape(t.image, false); } + | t = ( )* { p = unescape(t.image, false); } + ) + ( + ( )* + e = expr() + )? + + ( )* + { + if(e==null) + { + prop = new Property(p, null, false); + } + else + { + prop = new Property(p, new CSSValueImpl(e), false); + } + return prop; + } +} + +void mediaRuleList() : +{ +} +{ + ( ( styleRule() | mediaRule() | pageRule() | importRule(true) | unknownAtRule() ) ( )* )+ +} + +// +// medium +// : IDENT S* +// ; +// +String medium() : +{ + Token t; +} +{ + t = identExcludingOnly() ( )* + { + return unescape(t.image, false); + } +} + +// +// page +// : PAGE_SYM S* pseudo_page? S* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void pageRule() : +{ + String sel = null; + boolean start = false; + Locator locator; +} +{ + try { + + { + locator = createLocator(token); + } + ( )* + + ( sel = pageSelectorList() )? + + ( )* + { + start = true; + handleStartPage(null, sel, locator); + } + + styleDeclaration() + + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidPageRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringRule", cpe); + } + finally { + if (start) { + handleEndPage(null, sel); + } + } +} + +// +// pageSelectorList +// : [ pageSelector S* [ ',' pageSelector S* ]* ]? +// ; +// +String pageSelectorList() : +{ + String sel; + LinkedList selectors = new LinkedList<>(); +} +{ + sel = pageSelector() { selectors.add(sel); } + ( + ( )* sel = pageSelector() { selectors.add(sel); } + )* + + { return String.join(", ", selectors); } +} + +// +// pageSelector +// : pseudoPage+ | IDENT pseudoPage* +// ; +// +String pageSelector() : +{ + StringBuilder pseudos = new StringBuilder(); + String pseudo; + Token ident; +} +{ + ( + pseudo = pseudoPage() { pseudos.append(pseudo); } + | + ident = ident() { pseudos.append(unescape(ident.image, false)); } + ) + ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* + ( )* + + { return pseudos.toString(); } +} + +// +// pseudoPage +// : ':' IDENT +// ; +// +String pseudoPage() : +{ + Token t; +} +{ + t = ident() { return ":" + normalizeAndValidatePagePseudoClass(t); } +} + +// +// font_face +// : FONT_FACE_SYM S* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void fontFaceRule() : +{ + boolean start = false; + Locator locator; +} +{ + try { + + { + locator = createLocator(token); + } + ( )* + ( )* { start = true; handleStartFontFace(locator); } + styleDeclaration() + + } + catch(ParseException e) + { + throw toCSSParseException("invalidFontFaceRule", e); + } + finally { + if (start) { + handleEndFontFace(); + } + } +} + +// +// operator +// : '/' S* | COMMA S* | /* empty */ +// ; +// +LexicalUnit operator(LexicalUnit prev) : +{ +} +{ + ( )* { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_SLASH); } + | ( )* { return LexicalUnitImpl.createComma(prev); } +} + +// +// combinator +// : PLUS S* +// | GREATER S* +// | TILDE S* +// | S +// ; +// +Combinator combinator() : +{ + Combinator c = Combinator.DESCENDANT_COMBINATOR; +} +{ + ( + { c = Combinator.NEXT_SIBLING_COMBINATOR; } ( )* + | { c = Combinator.CHILD_COMBINATOR; } ( )* + | { c = Combinator.SUBSEQUENT_SIBLING_COMBINATOR; } ( )* + | + ( ( { c = Combinator.NEXT_SIBLING_COMBINATOR; } + | { c = Combinator.CHILD_COMBINATOR; } + | { c = Combinator.SUBSEQUENT_SIBLING_COMBINATOR; } + ) ( )* + )? + ) + { return c; } +} + +Combinator relativeCombinator() : +{ + Combinator c = Combinator.DESCENDANT_COMBINATOR; +} +{ + ( + { c = Combinator.NEXT_SIBLING_COMBINATOR; } ( )* + | { c = Combinator.CHILD_COMBINATOR; } ( )* + | { c = Combinator.SUBSEQUENT_SIBLING_COMBINATOR; } ( )* + )? + { return c; } +} + +// +// unary_operator +// : '-' | PLUS +// ; +// +char unaryOperator() : +{ +} +{ + ( { return '-'; } | { return '+'; } ) +} + + +// +// ruleset +// : selector [ COMMA S* selector ]* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void styleRule() : +{ + SelectorList selList = null; + boolean start = false; + Token t; +} +{ + try { + { + t = token; + } + selList = selectorList() + ( )* + { + start = true; + handleStartSelector(selList, createLocator(t.next)); + } + styleDeclaration() + ( | ) + } + catch(CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidStyleRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringFollowingDeclarations", cpe); + } + finally { + if (start) { + handleEndSelector(selList); + } + } +} + +SelectorList parseSelectorsInternal() : +{ + SelectorList selectors; +} +{ + ( )* + selectors = selectorList() + + { + return selectors; + } +} + +SelectorList selectorList() : +{ + SelectorListImpl selList = new SelectorListImpl(); + Selector sel; +} +{ + sel = selector() { selList.setLocator(sel.getLocator()); } + ( ( )* + { selList.add(sel); } + sel = selector() { selList.setLocator(sel.getLocator()); } + )* + { + selList.add(sel); + return selList; + } +} + +SelectorList relativeSelectorList() : +{ + SelectorListImpl selList = new SelectorListImpl(); + Selector sel; + Combinator comb; +} +{ + comb = relativeCombinator() + sel = selector() { selList.setLocator(sel.getLocator()); } + ( ( )* + { selList.add(new RelativeSelector(comb, sel)); } + + comb = relativeCombinator() + sel = selector() { selList.setLocator(sel.getLocator()); } + )* + { + selList.add(new RelativeSelector(comb, sel)); + return selList; + } +} + +// +// selector +// : simple_selector_sequence [ combinator simple_selector_sequence ]* +// ; +// +Selector selector() : +{ + Selector sel; + Combinator comb; +} +{ + try { + sel = simpleSelector(null, Combinator.DESCENDANT_COMBINATOR) + ( LOOKAHEAD(2) comb = combinator() sel = simpleSelector(sel, comb) )* ( )* + { + return sel; + } + } catch (ParseException e) { + throw toCSSParseException("invalidSelector", e); + } +} + +// +// simple_selector +// : element_name [ HASH | class | attrib | pseudo ]* +// | [ HASH | class | attrib | pseudo ]+ +// ; +// +Selector simpleSelector(Selector sel, Combinator comb) : +{ + ElementSelector elemSel = null; + SimpleSelector simpleSel = null; + Condition c = null; + SimpleSelector pseudoElementSel = null; + Object o = null; +} +{ + try + { + ( + ( elemSel = elementName() + ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } + | ( + o = pseudo(null != pseudoElementSel) + { if (o instanceof Condition) + { elemSel.addCondition((Condition) o); + } else { + pseudoElementSel = (SimpleSelector) o; + } + } + ) + )* + ) + | + ( { elemSel = new ElementSelector(null, createLocator(token)); } + ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } + | ( + o = pseudo(null != pseudoElementSel) + { if (o instanceof Condition) + { elemSel.addCondition((Condition) o); + } else { + pseudoElementSel = (SimpleSelector) o; + } + } + ) + )+ + ) + ) + + { + simpleSel = elemSel; + if (sel == null) { + sel = simpleSel; + } else { + switch (comb) { + case DESCENDANT_COMBINATOR: + sel = new DescendantSelector(sel, simpleSel); + break; + case NEXT_SIBLING_COMBINATOR: + sel = new DirectAdjacentSelector(sel, simpleSel); + break; + case CHILD_COMBINATOR: + sel = new ChildSelector(sel, simpleSel); + break; + case SUBSEQUENT_SIBLING_COMBINATOR: + sel = new GeneralAdjacentSelector(sel, simpleSel); + break; + } + } + if (pseudoElementSel != null) + { + sel = new DescendantSelector(sel, pseudoElementSel); + } + + return sel; + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidSimpleSelector", e); + } +} + +// +// class +// : '.' IDENT +// ; +// +Condition _class(boolean pseudoElementFound) : +{ + Token t; + Locator locator; + ParseException pe = null; +} +{ + try + { + { if (pseudoElementFound) { pe = generateParseException(); } } + + { + locator = createLocator(token); + } + + t = ident() + { + if (pseudoElementFound) { throw pe; } + return new ClassCondition(unescape(t.image, false), locator); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidClassSelector", e); + } +} + +// +// element_name +// : IDENT | '*' +// ; +// +ElementSelector elementName() : +{ + Token t; +} +{ + try + { + t = ident() + { + return new ElementSelector(unescape(t.image, false), createLocator(t)); + } + | + { + return new ElementSelector(null, createLocator(token)); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidElementName", e); + } +} + +// +// attrib +// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH | PREFIXMATCH | SUFFIXMATCH | SUBSTRINGMATCH ] S* +// [ IDENT | STRING ] S* ]? ']' +// ; +// +Condition attrib(boolean pseudoElementFound) : +{ + Token t; + String name = null; + String value = null; + Boolean insensitive = null; + int type = 0; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + ( )* + { if (pseudoElementFound) { throw generateParseException(); } } + + t = ident() { name = unescape(t.image, false); } + ( )* + ( + ( + { type = 4; } + | + { type = 5; } + | + { type = 6; } + | + "=" { type = 1; } // don't use because of the leading whitespace + | + { type = 2; } + | + { type = 3; } + ) + ( )* + ( + ( + t = ident() { value = unescape(t.image, false); } + | + t = { value = unescape(t.image, false); } + ) + + ( )* + ) + ( + t = ident() { insensitive = handleCaseInSensitive(t); } + ( )* + )? + )? + + { + Condition c = null; + switch (type) { + case 0: + c = new AttributeCondition(name, null, insensitive); + break; + case 1: + c = new AttributeCondition(name, value, insensitive); + break; + case 2: + c = new OneOfAttributeCondition(name, value, insensitive); + break; + case 3: + c = new BeginHyphenAttributeCondition(name, value, insensitive); + break; + case 4: + c = new PrefixAttributeCondition(name, value, insensitive); + break; + case 5: + c = new SuffixAttributeCondition(name, value, insensitive); + break; + case 6: + c = new SubstringAttributeCondition(name, value, insensitive); + break; + } + c.setLocator(locator); + return c; + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidAttrib", e); + } +} + +// +// pseudo +// : ':' (':')? +// [ IDENT +// | FUNCTION_NOT S* selector() S* ')' +// | FUNCTION_LANG S* IDENT S* ')' +// | FUNCTION S* ((PLUS | MINUS | DIMENSION | NUMBER | STRING | IDENT)? S*)+ ')' +// ] +// ; +// +Object pseudo(boolean pseudoElementFound) : +{ + Token t; + String function; + boolean doubleColon = false; + SelectorList selectorList; + SelectorList relativeSelectorList; + Locator locator; +} +{ + try + { + { locator = createLocator(token); } + ( { doubleColon = true; } )? + + ( + t = ident() + { + String s = unescape(t.image, false); + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } + if ("first-line".equals(s) + || "first-letter".equals(s) + || "before".equals(s) + || "after".equals(s)) + { + return new PseudoElementSelector(s, locator, doubleColon); + } + return new PseudoClassCondition(s, locator, doubleColon); + } + | + ( + t = { function = unescape(t.image, false); } + ( )* + selectorList = selectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } + return new NotPseudoClassCondition(selectorList, locator, doubleColon); + } + ) + | + ( + t = { function = unescape(t.image, false); } + ( )* + selectorList = selectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } + return new IsPseudoClassCondition(selectorList, locator, doubleColon); + } + ) + | + ( + t = { function = unescape(t.image, false); } + ( )* + selectorList = selectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } + return new WherePseudoClassCondition(selectorList, locator, doubleColon); + } + ) + | + ( + t = { function = unescape(t.image, false); } + ( )* + relativeSelectorList = relativeSelectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + relativeSelectorList + ")" }, locator); } + return new HasPseudoClassCondition(relativeSelectorList, locator, doubleColon); + } + ) + | + ( + t = { function = unescape(t.image, false); } + ( )* + t = ident() { String lang = unescape(t.image, false); } + ( )* + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { "lang(" + lang + ")" }, locator); } + return new LangCondition(lang, locator); + } + ) + | + ( + t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } + ( )* + ( + (t = | t = | t = | t = | t = | t = ident()) + { args.append(unescape(t.image, false)); } + ( t = + { args.append(unescape(t.image, false)); } + )* + )+ + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + args.toString().trim() + ")" }, locator); } + return new PseudoClassCondition(function + args.toString().trim() + ")", locator, doubleColon); + } + ) + ) + } + catch (ParseException e) + { + throw toCSSParseException("invalidPseudo", e); + } +} + +Condition hash(boolean pseudoElementFound) : +{ + Token t; + ParseException pe = null; +} +{ + try + { + { if (pseudoElementFound) { pe = generateParseException(); } } + t = + { + if (pseudoElementFound) { throw pe; } + return new IdCondition(unescape(t.image.substring(1), false), createLocator(t)); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidHash", e); + } +} + +void styleDeclaration() : +{ +} +{ + ( declaration() )? + ( ( )* ( declaration() )? )* +} + +// +// declaration +// : property ':' S* expr prio? +// | +// ; +// +void declaration() : +{ + String p; + LexicalUnit e = null; + Token t; + boolean priority = false; + Locator starHack = null; + Locator locator = null; +} +{ + try + { + // at the moment i have no better idea how to handle the + // infamous css-star-hack (http://en.wikipedia.org/wiki/CSS_filter#Star_hack) + // smart (means: ignoring only one decl) + ( { starHack = createLocator(token); } )? + ( + ( + t = ident() { p = unescape(t.image, false); locator = createLocator(t); } + ( )* + ( )* + e = expr() + ) + | + ( + t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } + ( )* + ( e = expr() )? + ) + ) + + ( priority = prio() )? + + // maybe there are strange characters at the end - create error and skip + ( t = + { + locator = createLocator(t); + CSSParseException cpe = toCSSParseException("invalidDeclarationInvalidChar", new String[] {t.image}, locator); + getErrorHandler().error(cpe); + error_skipdecl(); + } + )? + + { + if (starHack != null) + { + CSSParseException cpe = toCSSParseException("invalidDeclarationStarHack", new Object[0], starHack); + getErrorHandler().error(cpe); + return; + } + handleProperty(p, e, priority, locator); + } + } + catch (CSSParseException ex) + { + getErrorHandler().error(ex); + error_skipdecl(); + } + catch (ParseException ex) + { + CSSParseException cpe = toCSSParseException("invalidDeclaration", ex); + getErrorHandler().error(cpe); + error_skipdecl(); + } +} + +// +// prio +// : IMPORTANT_SYM S* +// ; +boolean prio() : +{ +} +{ + ( )* + { return true; } +} + +// +// expr +// : term [ operator term ]* +// ; +LexicalUnit expr() : +{ + LexicalUnit head; + LexicalUnit body; +} +{ + try + { + head = term(null) { body = head; } + ( + ( body = operator(body) )? + body = term(body) + )* + { return head; } + } + catch (ParseException ex) + { + throw toCSSParseException("invalidExpr", ex); + } +} + +// +// term +// : unary_operator? +// [ NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | function ] +// | STRING | IDENT | URI | hexcolor | DIMENSION +// S* +// ; +// +LexicalUnit term(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit value = null; + Locator locator = null; +} +{ + ( op = unaryOperator() )? { if (op != ' ') { locator = createLocator(token); } } + ( + ( value = number(prev, op) + | value = dimension(prev, op) + | value = percentage(prev, op) + | value = function(prev) + | value = rgbColor(prev) + | value = hslColor(prev) + | value = hwbColor(prev) + | value = labColor(prev) + | value = lchColor(prev) + | value = calc(prev) + | value = var(prev) + ) + | t = { value = LexicalUnitImpl.createString(prev, unescape(t.image, false)); } + | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } + | + ( + t = identExcludingInherit() + ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? + ) + { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + | t = { value = LexicalUnitImpl.createURI(prev, unescape(t.image, true)); } + | value = unicodeRange(prev) + | value = hexcolor(prev) + | t = + { + int n = getLastNumPos(t.image); + value = LexicalUnitImpl.createDimension( + prev, + doubleValue(op, t.image.substring(0, n+1)), + t.image.substring(n+1)); + } + | t = { value = LexicalUnitImpl.createInherit(prev); } + ) + { + if (locator == null) + { + locator = createLocator(token); + } + } + ( )* + { + if(value != null) + { + value.setLocator(locator); + } + return value; + } +} + +// +// function +// : FUNCTION S* ((EQUALS | COMMA | (unaryOperator? NUMBER) | STRING | IDENT | URI)? S*)+ ')' S* +// ; +// +LexicalUnit function(LexicalUnit prev) : +{ + Token t; + LexicalUnit param = null; + LexicalUnit body = null; + String funct = ""; +} +{ + t = { funct = funct + unescape(t.image, false); } + ( )* + ( + param = term(null) { body = param; } + ( + ( + ( + t = { body = LexicalUnitImpl.createComma(body); } + | t = { body = LexicalUnitImpl.createIdent(body, t.image); } + ) + ( )* + )? + body = term(body) + )* + )? + + { + return functionInternal(prev, funct, param); + } +} + +// +// calc() +// https://www.w3.org/TR/css3-values/#calc-syntax +// = calc( ) +// +LexicalUnit calc(LexicalUnit prev) : +{ + Token t; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); + String funct = ""; +} +{ + t = { funct = unescape(t.image, false); } + ( )* + calcSum(head) + + { + return functionInternal(prev, funct, head.getNextLexicalUnit()); + } +} + +// +// calcSum() +// = [ [ '+' | '-' ] ]* +// +LexicalUnit calcSum(LexicalUnit prev) : +{ +} +{ + ( + prev = calcProduct(prev) + ( + ( + { prev = LexicalUnitImpl.createPlus(prev); } + | { prev = LexicalUnitImpl.createMinus(prev); } + ) + ( )* + prev = calcProduct(prev) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcProduct() +// = [ '*' | '/' ]* +// +LexicalUnit calcProduct(LexicalUnit prev) : +{ +} +{ + ( + prev = calcValue(prev) + ( + ( + { prev = LexicalUnitImpl.createMultiply(prev); } + ( )* + prev = calcValue(prev) + ) + | + ( + { prev = LexicalUnitImpl.createDivide(prev); } + ( )* + prev = calcNumberValue(prev) + ) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcValue() +// = | | | ( ) +// +LexicalUnit calcValue(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); +} +{ + ( + ( + ( + (op = unaryOperator() )? + ( + prev = number(prev, op) + | prev = dimension(prev, op) + | prev = percentage(prev, op) + | t = ident() { prev = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + ) + ) + | prev = var(prev) + | + ( + ( | ) + calcSum(head) + + ) + { + // use an empty function as block scope + prev = functionInternal(prev, "(", head.getNextLexicalUnit()); + } + ) + ( )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberSum() +// = [ [ '+' | '-' ] ]* +// +LexicalUnit calcNumberSum(LexicalUnit prev) : +{ +} +{ + ( + prev = calcNumberProduct(prev) + ( + ( + { prev = LexicalUnitImpl.createPlus(prev); } + | { prev = LexicalUnitImpl.createMinus(prev); } + ) + ( )* + prev = calcNumberProduct(prev) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberProduct() +// = [ '*' | '/' ]* +// +LexicalUnit calcNumberProduct(LexicalUnit prev) : +{ +} +{ + ( + prev = calcNumberValue(prev) + ( + ( + { prev = LexicalUnitImpl.createMultiply(prev); } + ( )* + prev = calcNumberValue(prev) + ) + | + ( + { prev = LexicalUnitImpl.createDivide(prev); } + ( )* + prev = calcNumberValue(prev) + ) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberValue() +// = | ( ) +// +LexicalUnit calcNumberValue(LexicalUnit prev) : +{ + Token t; + char op = ' '; + String funct = "("; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); +} +{ + ( + ( + ( + (op = unaryOperator() )? + prev = number(prev, op) + | t = ident() { prev = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + ) + | prev = var(prev) + | + ( + ( + t = { funct = unescape(t.image, false); } + | t = { funct = unescape(t.image, false); } + ) + calcNumberSum(head) + + ) + { + // use an empty function as block scope + prev = functionInternal(prev, funct, head.getNextLexicalUnit()); + } + ) + ( )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// var() +// https://developer.mozilla.org/en-US/docs/Web/CSS/var +// var( , ? ) +// +LexicalUnit var(LexicalUnit prev) : +{ + Token t; + LexicalUnit current, propertyName; + String funct = ""; +} +{ + t = { funct = unescape(t.image, false); } + ( )* + t = { current = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); propertyName = current; } + ( )* + ( + { current = LexicalUnitImpl.createComma(current); } + ( )* + ( + // inline expr here because we need a differnt prev handling + current = term(current) + ( LOOKAHEAD(2) + ( current = operator(current) )? + current = term(current) + )* + )? + )* + + { + return functionInternal(prev, funct, propertyName); + } +} + + +// rgb() / rgba() +// +LexicalUnit rgbColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return rgbColorInternal(prev, funct, param); + } +} + + +// hsl() / hsla() +// +LexicalUnit hslColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = angle(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = angle(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return hslColorInternal(prev, funct, param); + } +} + + +// hwb() +// +LexicalUnit hwbColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = angle(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = angle(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return hwbColorInternal(prev, funct, param); + } +} + + +// lab() +// +LexicalUnit labColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return labColorInternal(prev, funct, param); + } +} + + +// lch() +// +LexicalUnit lchColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = angle(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = angle(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return lchColorInternal(prev, funct, param); + } +} + + +// +// Helper to process various keywords as IDENT +// +Token ident() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + +Token identExcludingInherit() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + +Token identExcludingOnly() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + + +// +// number() +// +LexicalUnit number(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = + ) + { + try + { + value = LexicalUnitImpl.createNumber(prev, intValue(op, t.image)); + } + catch (NumberFormatException e) + { + value = LexicalUnitImpl.createNumber(prev, doubleValue(op, t.image)); + } + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// percentage() +// +LexicalUnit percentage(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createPercentage(prev, doubleValue(op, t.image)); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// dimension() +// +LexicalUnit dimension(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createPixel(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createCentimeter(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createMillimeter(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createInch(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createPoint(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createPica(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createQuater(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createEm(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRem(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createEx(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createCh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVw(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVMin(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVMax(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createMillisecond(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createSecond(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createHertz(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createKiloHertz(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpi"); } + | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpcm"); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + + +// +// angle() +// +LexicalUnit angle(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + + +// +// unicodeRange +// +LexicalUnit unicodeRange(LexicalUnit prev) : +{ + Token t; + StringBuilder range = new StringBuilder(); +} +{ + t = { range.append(unescape(t.image, false)); } + { + return LexicalUnitImpl.createIdent(prev, range.toString().toUpperCase(Locale.ROOT)); + } +} + +// +// hexcolor +// : HASH S* +// ; +// +LexicalUnit hexcolor(LexicalUnit prev) : +{ + Token t; +} +{ + t = + { + return hexColorInternal(prev, t); + } +} + +JAVACODE +String skip() { + StringBuilder sb = new StringBuilder(); + int nesting = 0; + Token t = getToken(0); + if (t.image != null) { + sb.append(t.image); + } + + do { + t = getNextToken(); + if (t.kind == EOF) { + break; + } + sb.append(t.image); + appendUnit(t, sb); + + if (t.kind == LBRACE) { + nesting++; + } + else if (t.kind == RBRACE) { + nesting--; + } + } + while ((t.kind != RBRACE && t.kind != SEMICOLON) || nesting > 0); + + return sb.toString(); +} + +JAVACODE +String skipUnit() { + StringBuilder sb = new StringBuilder(); + + Token t = token; + Token oldToken = null; + while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { + oldToken = t; + sb.append(oldToken.image); + appendUnit(t, sb); + + t = getNextToken(); + } + if (t.kind != EOF) { + token = oldToken; + } + + return sb.toString(); +} + +JAVACODE +void appendUnit(Token t, StringBuilder sb) { + if (t.kind == EMS) { + sb.append("em"); + return; + } + if (t.kind == REM) { + sb.append("rem"); + return; + } + if (t.kind == EXS) { + sb.append("ex"); + return; + } + if (t.kind == CH) { + sb.append("ch"); + return; + } + if (t.kind == VW) { + sb.append("vw"); + return; + } + if (t.kind == VH) { + sb.append("vh"); + return; + } + if (t.kind == VMIN) { + sb.append("vmin"); + return; + } + if (t.kind == VMAX) { + sb.append("vmax"); + return; + } + if (t.kind == LENGTH_PX) { + sb.append("px"); + return; + } + if (t.kind == LENGTH_CM) { + sb.append("cm"); + return; + } + if (t.kind == LENGTH_MM) { + sb.append("mm"); + return; + } + if (t.kind == LENGTH_IN) { + sb.append("in"); + return; + } + if (t.kind == LENGTH_PT) { + sb.append("pt"); + return; + } + if (t.kind == LENGTH_PC) { + sb.append("pc"); + return; + } + if (t.kind == LENGTH_Q) { + sb.append("Q"); + return; + } + if (t.kind == ANGLE_DEG) { + sb.append("deg"); + return; + } + if (t.kind == ANGLE_RAD) { + sb.append("rad"); + return; + } + if (t.kind == ANGLE_GRAD) { + sb.append("grad"); + return; + } + if (t.kind == ANGLE_TURN) { + sb.append("turn"); + return; + } + if (t.kind == TIME_MS) { + sb.append("ms"); + return; + } + if (t.kind == TIME_S) { + sb.append('s'); + return; + } + if (t.kind == FREQ_HZ) { + sb.append("hz"); + return; + } + if (t.kind == FREQ_KHZ) { + sb.append("khz"); + return; + } + if (t.kind == RESOLUTION_DPI) { + sb.append("dpi"); + return; + } + if (t.kind == RESOLUTION_DPCM) { + sb.append("dpcm"); + return; + } + if (t.kind == PERCENTAGE) { + sb.append('%'); + return; + } +} + +JAVACODE +void error_skipblock(String msgKey, CSSParseException e) +{ + if (msgKey != null) { + getErrorHandler().warning(createSkipWarning(msgKey, e)); + } + + Token t; + int nesting = 0; + do { + t = getNextToken(); + if (t.kind == LBRACE) { + nesting++; + } + else if (t.kind == RBRACE) { + nesting--; + } + } + while (t.kind != EOF && (t.kind != RBRACE || nesting > 0)); +} + +JAVACODE +void error_skipdecl() +{ + Token t = getToken(1); + if (t.kind == LBRACE) { + error_skipblock(null, null); + return; + } + if (t.kind == RBRACE) { + // next will be RBRACE so we are finished + return; + } + + Token oldToken = token; + while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF) { + oldToken = t; + t = getNextToken(); + } + if (t.kind != EOF) { + token = oldToken; + } +} + +JAVACODE +void error_skipAtRule() +{ + Token t = null; + do { + t = getNextToken(); + } + while (t.kind != SEMICOLON && t.kind != EOF); +} + +JAVACODE +Boolean handleCaseInSensitive(Token t) +{ + String s = unescape(t.image, false); + if ("i".equalsIgnoreCase(s)) { + return Boolean.TRUE; + } + if ("s".equalsIgnoreCase(s)) { + return Boolean.FALSE; + } + + throw toCSSParseException("invalidCaseInSensitivelyIdentifier", new String[] { s }, createLocator(t)); +} From 60e1cdfd618b43e7074a1aceed8b4ccd39e70d3e Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 29 Sep 2025 13:07:05 +0200 Subject: [PATCH 114/137] ::has, ::is, ::where are invalid --- .../cssparser/parser/AbstractCSSParser.java | 1 + .../condition/HasPseudoClassCondition.java | 9 ++-- .../condition/IsPseudoClassCondition.java | 9 ++-- .../condition/WherePseudoClassCondition.java | 9 ++-- .../parser/selector/RelativeSelector.java | 4 ++ src/main/javacc/CSS3Parser.jj | 9 ++-- .../parser/CSS3ParserHasSelectorTest.java | 42 +++++++++++++++++-- .../parser/CSS3ParserIsSelectorTest.java | 34 +++++++++++++++ .../parser/CSS3ParserWhereSelectorTest.java | 40 ++++++++++++++++-- 9 files changed, 129 insertions(+), 28 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java index 12159d7..b152df0 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java @@ -71,6 +71,7 @@ public abstract class AbstractCSSParser { PARSER_MESSAGES_.put("invalidElementName", "Error in element name."); PARSER_MESSAGES_.put("invalidAttrib", "Error in attribute selector."); PARSER_MESSAGES_.put("invalidPseudo", "Error in pseudo class or element."); + PARSER_MESSAGES_.put("invalidPseudoColon", "\":{0}\" is not a valid selector."); PARSER_MESSAGES_.put("duplicatePseudo", "Duplicate pseudo class \":{0}\" or pseudo class \":{0}\" not at end."); PARSER_MESSAGES_.put("invalidHash", "Error in hash."); PARSER_MESSAGES_.put("invalidExpr", "Error in expression."); diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/HasPseudoClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/HasPseudoClassCondition.java index 68efd39..8837731 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/HasPseudoClassCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/HasPseudoClassCondition.java @@ -21,25 +21,22 @@ import org.htmlunit.cssparser.parser.selector.SelectorList; /** - * Not condition. + * :has condition. * * @author Ronald Brill */ public class HasPseudoClassCondition extends AbstractLocatable implements Condition, Serializable { private final SelectorList selectors_; - private final boolean doubleColon_; /** * Ctor. * @param selectors the selector list * @param locator the locator - * @param doubleColon true if was prefixed by double colon */ - public HasPseudoClassCondition(final SelectorList selectors, final Locator locator, final boolean doubleColon) { + public HasPseudoClassCondition(final SelectorList selectors, final Locator locator) { selectors_ = selectors; setLocator(locator); - doubleColon_ = doubleColon; } @Override @@ -72,6 +69,6 @@ public SelectorList getSelectors() { @Override public String toString() { - return (doubleColon_ ? "::" : ":") + "has(" + getValue() + ")"; + return ":has(" + getValue() + ")"; } } diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/IsPseudoClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/IsPseudoClassCondition.java index 05b5db7..34acc56 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/IsPseudoClassCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/IsPseudoClassCondition.java @@ -21,25 +21,22 @@ import org.htmlunit.cssparser.parser.selector.SelectorList; /** - * Not condition. + * :is condition. * * @author Ronald Brill */ public class IsPseudoClassCondition extends AbstractLocatable implements Condition, Serializable { private final SelectorList selectors_; - private final boolean doubleColon_; /** * Ctor. * @param selectors the selector list * @param locator the locator - * @param doubleColon true if was prefixed by double colon */ - public IsPseudoClassCondition(final SelectorList selectors, final Locator locator, final boolean doubleColon) { + public IsPseudoClassCondition(final SelectorList selectors, final Locator locator) { selectors_ = selectors; setLocator(locator); - doubleColon_ = doubleColon; } @Override @@ -72,6 +69,6 @@ public SelectorList getSelectors() { @Override public String toString() { - return (doubleColon_ ? "::" : ":") + "is(" + getValue() + ")"; + return ":is(" + getValue() + ")"; } } diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/WherePseudoClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/WherePseudoClassCondition.java index 6cc2784..2d964b8 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/WherePseudoClassCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/WherePseudoClassCondition.java @@ -21,25 +21,22 @@ import org.htmlunit.cssparser.parser.selector.SelectorList; /** - * Not condition. + * :where condition. * * @author Ronald Brill */ public class WherePseudoClassCondition extends AbstractLocatable implements Condition, Serializable { private final SelectorList selectors_; - private final boolean doubleColon_; /** * Ctor. * @param selectors the selector list * @param locator the locator - * @param doubleColon true if was prefixed by double colon */ - public WherePseudoClassCondition(final SelectorList selectors, final Locator locator, final boolean doubleColon) { + public WherePseudoClassCondition(final SelectorList selectors, final Locator locator) { selectors_ = selectors; setLocator(locator); - doubleColon_ = doubleColon; } @Override @@ -72,6 +69,6 @@ public SelectorList getSelectors() { @Override public String toString() { - return (doubleColon_ ? "::" : ":") + "where(" + getValue() + ")"; + return ":where(" + getValue() + ")"; } } diff --git a/src/main/java/org/htmlunit/cssparser/parser/selector/RelativeSelector.java b/src/main/java/org/htmlunit/cssparser/parser/selector/RelativeSelector.java index b8a2d80..7e78413 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/selector/RelativeSelector.java +++ b/src/main/java/org/htmlunit/cssparser/parser/selector/RelativeSelector.java @@ -59,6 +59,10 @@ public SimpleSelector getSimpleSelector() { /** {@inheritDoc} */ @Override public String toString() { + if (' ' == combinator_.getChar()) { + return selector_.toString(); + } + return combinator_.getChar() + " " + selector_.toString(); } } diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 89551e8..8b49484 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1455,7 +1455,8 @@ Object pseudo(boolean pseudoElementFound) : { if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } - return new IsPseudoClassCondition(selectorList, locator, doubleColon); + if (doubleColon) { throw toCSSParseException("invalidPseudoColon", new String[] { ":" + function + selectorList + ")" }, locator); } + return new IsPseudoClassCondition(selectorList, locator); } ) | @@ -1466,7 +1467,8 @@ Object pseudo(boolean pseudoElementFound) : { if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } - return new WherePseudoClassCondition(selectorList, locator, doubleColon); + if (doubleColon) { throw toCSSParseException("invalidPseudoColon", new String[] { ":" + function + selectorList + ")" }, locator); } + return new WherePseudoClassCondition(selectorList, locator); } ) | @@ -1477,7 +1479,8 @@ Object pseudo(boolean pseudoElementFound) : { if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + relativeSelectorList + ")" }, locator); } - return new HasPseudoClassCondition(relativeSelectorList, locator, doubleColon); + if (doubleColon) { throw toCSSParseException("invalidPseudoColon", new String[] { ":" + function + relativeSelectorList + ")" }, locator); } + return new HasPseudoClassCondition(relativeSelectorList, locator); } ) | diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java index c167ece..10d0e73 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserHasSelectorTest.java @@ -16,6 +16,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; +import org.htmlunit.cssparser.ErrorHandler; import org.htmlunit.cssparser.parser.condition.Condition; import org.htmlunit.cssparser.parser.condition.Condition.ConditionType; import org.htmlunit.cssparser.parser.condition.HasPseudoClassCondition; @@ -235,6 +236,39 @@ public void syntaxErrors() throws Exception { parseSelectors(":has(#, h2)", 1, 0, 0); parseSelectors(":has([attr=], h2)", 1, 0, 0); parseSelectors(":has([=value], h2)", 1, 0, 0); + + parseSelectors("::has(h2)", 1, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void syntaxErrorDoubleColon() throws Exception { + String selector = "::has(h2)"; + + final CSSOMParser parser = new CSSOMParser(); + ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + parser.parseSelectors(selector); + + assertEquals(1, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getFatalErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + assertEquals("\"::has(h2)\" is not a valid selector.", errorHandler.getErrorMessage()); + + selector = "p::has(h4)"; + errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + parser.parseSelectors(selector); + + assertEquals(1, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getFatalErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + assertEquals("\"::has(h4)\" is not a valid selector.", errorHandler.getErrorMessage()); } /** @@ -242,10 +276,10 @@ public void syntaxErrors() throws Exception { */ @Test public void pseudoElementsInside() throws Exception { - // todo parseSelectors("div:has(p::before)", 1, 0, 0); - // todo parseSelectors("section:has(::first-line)", 1, 0, 0); - // todo parseSelectors("article:has(span::after)", 1, 0, 0); - // todo parseSelectors("div:has(p:has(::before))", 1, 0, 0); + parseSelectors("div:has(p::before)", 0, 0, 0); + parseSelectors("section:has(::first-line)", 0, 0, 0); + parseSelectors("article:has(span::after)", 0, 0, 0); + parseSelectors("div:has(p:has(::before))", 0, 0, 0); } /** diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java index 9ccff05..fcd866b 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserIsSelectorTest.java @@ -16,6 +16,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; +import org.htmlunit.cssparser.ErrorHandler; import org.htmlunit.cssparser.parser.condition.Condition; import org.htmlunit.cssparser.parser.condition.Condition.ConditionType; import org.htmlunit.cssparser.parser.condition.IsPseudoClassCondition; @@ -201,6 +202,39 @@ public void syntaxErrors() throws Exception { parseSelectors(":is(h1, h2", 1, 0, 0); parseSelectors(":is h1, h2)", 1, 0, 0); + + parseSelectors("::is(h2)", 1, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void syntaxErrorDoubleColon() throws Exception { + String selector = "::is(h2)"; + + final CSSOMParser parser = new CSSOMParser(); + ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + parser.parseSelectors(selector); + + assertEquals(1, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getFatalErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + assertEquals("\"::is(h2)\" is not a valid selector.", errorHandler.getErrorMessage()); + + selector = "p::is(h4)"; + errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + parser.parseSelectors(selector); + + assertEquals(1, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getFatalErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + assertEquals("\"::is(h4)\" is not a valid selector.", errorHandler.getErrorMessage()); } /** diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserWhereSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserWhereSelectorTest.java index 4442941..b9672a5 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserWhereSelectorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserWhereSelectorTest.java @@ -16,6 +16,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; +import org.htmlunit.cssparser.ErrorHandler; import org.htmlunit.cssparser.parser.condition.Condition; import org.htmlunit.cssparser.parser.condition.Condition.ConditionType; import org.htmlunit.cssparser.parser.condition.WherePseudoClassCondition; @@ -193,12 +194,45 @@ public void emptyAndWhitespace() throws Exception { public void syntaxErrors() throws Exception { // parseSelectors(":where(h1 h2)", 1, 0, 0); // parseSelectors(":is h1, h2", 1, 0, 0); - parseSelectors("is(h1, h2)", 1, 0, 0); + parseSelectors("where(h1, h2)", 1, 0, 0); parseSelectors(":where((h1, h2))", 1, 0, 0); - parseSelectors(":is[h1, h2]", 1, 0, 0); + parseSelectors(":where[h1, h2]", 1, 0, 0); parseSelectors(":where(h1, h2", 1, 0, 0); - parseSelectors(":is h1, h2)", 1, 0, 0); + parseSelectors(":where h1, h2)", 1, 0, 0); + + parseSelectors("::where(h2)", 1, 0, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void syntaxErrorDoubleColon() throws Exception { + String selector = "::where(h2)"; + + final CSSOMParser parser = new CSSOMParser(); + ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + parser.parseSelectors(selector); + + assertEquals(1, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getFatalErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + assertEquals("\"::where(h2)\" is not a valid selector.", errorHandler.getErrorMessage()); + + selector = "p::where(h4)"; + errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + parser.parseSelectors(selector); + + assertEquals(1, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getFatalErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + assertEquals("\"::where(h4)\" is not a valid selector.", errorHandler.getErrorMessage()); } /** From fabbc8bddb58a982f48e643d32a140f23f8d3406 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 29 Sep 2025 16:12:52 +0200 Subject: [PATCH 115/137] ::not is invalid --- .../condition/NotPseudoClassCondition.java | 9 ++---- src/main/javacc/CSS3Parser.jj | 3 +- .../cssparser/parser/CSS3ParserTest.java | 31 +++++++++++++++++++ .../selector/SelectorSpecificityTest.java | 2 ++ 4 files changed, 38 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/parser/condition/NotPseudoClassCondition.java b/src/main/java/org/htmlunit/cssparser/parser/condition/NotPseudoClassCondition.java index 7a8f3e3..55d834b 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/condition/NotPseudoClassCondition.java +++ b/src/main/java/org/htmlunit/cssparser/parser/condition/NotPseudoClassCondition.java @@ -21,25 +21,22 @@ import org.htmlunit.cssparser.parser.selector.SelectorList; /** - * Not condition. + * :not condition. * * @author Ronald Brill */ public class NotPseudoClassCondition extends AbstractLocatable implements Condition, Serializable { private final SelectorList selectors_; - private final boolean doubleColon_; /** * Ctor. * @param selectors the selector list * @param locator the locator - * @param doubleColon true if was prefixed by double colon */ - public NotPseudoClassCondition(final SelectorList selectors, final Locator locator, final boolean doubleColon) { + public NotPseudoClassCondition(final SelectorList selectors, final Locator locator) { selectors_ = selectors; setLocator(locator); - doubleColon_ = doubleColon; } @Override @@ -72,6 +69,6 @@ public SelectorList getSelectors() { @Override public String toString() { - return (doubleColon_ ? "::" : ":") + "not(" + getValue() + ")"; + return ":not(" + getValue() + ")"; } } diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 8b49484..aed93c0 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1444,7 +1444,8 @@ Object pseudo(boolean pseudoElementFound) : { if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } - return new NotPseudoClassCondition(selectorList, locator, doubleColon); + if (doubleColon) { throw toCSSParseException("invalidPseudoColon", new String[] { ":" + function + selectorList + ")" }, locator); } + return new NotPseudoClassCondition(selectorList, locator); } ) | diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index 6d49c82..be4d8f4 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -3247,6 +3247,37 @@ public void invalid_not() throws Exception { // + " Was expecting one of: , \")\".)"); } + /** + * @throws Exception if any error occurs + */ + @Test + public void syntaxErrorDoubleColon() throws Exception { + String selector = "::not(h2)"; + + final CSSOMParser parser = new CSSOMParser(); + ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + parser.parseSelectors(selector); + + assertEquals(1, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getFatalErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + assertEquals("\"::not(h2)\" is not a valid selector.", errorHandler.getErrorMessage()); + + selector = "p::not(h4)"; + errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + parser.parseSelectors(selector); + + assertEquals(1, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getFatalErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + assertEquals("\"::not(h4)\" is not a valid selector.", errorHandler.getErrorMessage()); + } + /** * @throws Exception if any error occurs */ diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java index fd6786b..de24606 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java @@ -210,6 +210,8 @@ public void notTest() throws Exception { selectorSpecifity("div:not(.inner) p", "0,0,1,2"); selectorSpecifity("div:not(.inner, #fakeId) p", "0,1,1,2"); selectorSpecifity("a:not(#fakeId#fakeId#fakeID)", "0,3,0,1"); + + selectorSpecifity("#foo:not(#bar)", "0,2,0,0"); } /** From 23463be0cddaf90859757ac0af5204d7dfb9e650 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 30 Sep 2025 17:25:48 +0200 Subject: [PATCH 116/137] plugin updates and jdoc config sync with htmlunit --- pom.xml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 279f32a..217b9bf 100644 --- a/pom.xml +++ b/pom.xml @@ -29,12 +29,14 @@ 10.0.4 - 0.8.0 + 0.9.0 3.6.0 3.2.8 3.6.1 + 3.14.1 3.4.2 - 3.11.3 + 3.12.0 + 3.5.4 @@ -91,12 +93,12 @@ org.apache.maven.plugins maven-surefire-plugin - 3.5.3 + ${surefire-plugin.version} org.apache.maven.plugins maven-compiler-plugin - 3.14.0 + ${compiler-plugin.version} @@ -226,7 +228,11 @@ maven-javadoc-plugin ${javadoc-plugin.version} - --allow-script-in-comments + true + protected + html,reference,syntax + true + true org.htmlunit.cssparser.parser.javacc From b8a61327844531c3d58b6c547f8522f8b1c3722e Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 5 Oct 2025 10:30:35 +0200 Subject: [PATCH 117/137] dep update --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 217b9bf..e03434d 100644 --- a/pom.xml +++ b/pom.xml @@ -21,18 +21,18 @@ 8 - 5.13.4 + 5.14.0 2.20.0 - 10.26.1 + 11.1.0 10.0.4 0.9.0 3.6.0 3.2.8 - 3.6.1 + 3.6.2 3.14.1 3.4.2 3.12.0 From 9e666f12a991f95ef19aaa8fb18e533c49fa811f Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 5 Oct 2025 10:35:19 +0200 Subject: [PATCH 118/137] 4.17.0 --- README.md | 8 ++++---- pom.xml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6fa2599..1489d08 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) -### Latest release Version 4.16.0 / August 29, 2025 +### Latest release Version 4.17.0 / October 05, 2025 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.16.0 + 4.17.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.16.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.17.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.17.0-SNAPSHOT + 4.18.0-SNAPSHOT You have to add the sonatype-central snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index e03434d..6071238 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.17.0-SNAPSHOT + 4.17.0 HtmlUnit CSS Parser HtmlUnit From e8ca1e7641273725d7e1ee25a1e4e7dc604c5601 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sat, 11 Oct 2025 08:57:57 +0200 Subject: [PATCH 119/137] add one more realworl test --- .../parser/CSS3ParserRealWorldTest.java | 13 +++++++++++++ .../bootstrap_2_3_2_responsive_2_3_2_min.css | 17 +++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 src/test/resources/realworld/bootstrap_2_3_2_responsive_2_3_2_min.css diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java index f7b2519..8b61580 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -203,6 +203,19 @@ public void blueprint() throws Exception { realWorld("realworld/blueprint/ie.css", 22, 30, "", 1, 0); } + /** + * @throws Exception if any error occurs + */ + @Test + public void bootstrap_2_3_2_responsive_2_3_2_min() throws Exception { + final String media = "(max-width: 480px);(max-width: 767px);" + + "(max-width: 979px);" + + "(min-width: 1200px);" + + "(min-width: 768px) and (max-width: 979px);" + + "(min-width: 980px);print;projection;screen;"; + realWorld("realworld/bootstrap_2_3_2_responsive_2_3_2_min.css", 1005, 2506, media, 213, 0); + } + /** * @throws Exception if any error occurs */ diff --git a/src/test/resources/realworld/bootstrap_2_3_2_responsive_2_3_2_min.css b/src/test/resources/realworld/bootstrap_2_3_2_responsive_2_3_2_min.css new file mode 100644 index 0000000..0bafa30 --- /dev/null +++ b/src/test/resources/realworld/bootstrap_2_3_2_responsive_2_3_2_min.css @@ -0,0 +1,17 @@ +/*! + * Bootstrap v2.3.2 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000 !important;text-shadow:none !important;background:transparent !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:gray}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table-hover tbody tr.success:hover>td{background-color:#d0e9c6}.table-hover tbody tr.error:hover>td{background-color:#ebcccc}.table-hover tbody tr.warning:hover>td{background-color:#faf2cc}.table-hover tbody tr.info:hover>td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,0.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}/*! + * Bootstrap Responsive v2.3.2 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none !important}.visible-tablet{display:none !important}.hidden-desktop{display:none !important}.visible-desktop{display:inherit !important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit !important}.visible-desktop{display:none !important}.visible-tablet{display:inherit !important}.hidden-tablet{display:none !important}}@media(max-width:767px){.hidden-desktop{display:inherit !important}.visible-desktop{display:none !important}.visible-phone{display:inherit !important}.hidden-phone{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:inherit !important}.hidden-print{display:none !important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto !important;overflow:visible !important}}.clear{clear:both;visibility:hidden}.clear hr{display:none}.section p,.section p,.section dt,.section dt{margin-right:7px;margin-left:7px}#ohloh{margin-bottom:10px}#poweredBy{text-align:center}a.externalLink{padding-right:18px}a.newWindow{background:url('../images/window-new.png') right center no-repeat;padding-right:18px}a.externalLink[href^=http]{background:url('../images/internet-web-browser.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".asc"]{background:url('../images/accessories-text-editor.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".jpg"],a.externalLink[href$=".jpeg"],a.externalLink[href$=".gif"],a.externalLink[href$=".png"]{background:url('../images/image-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".tar.gz"],a.externalLink[href$=".zip"]{background:url('../images/package-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".md5"],a.externalLink[href$=".sha1"]{background:url('../images/document-properties.png') right center no-repeat;padding-right:18px}a.externalLink[href^=https]{background:url('../images/application-certificate.png') right center no-repeat;padding-right:18px}a.externalLink[href^=file]{background:url('../images/drive-harddisk.png') right center no-repeat;padding-right:18px}a.externalLink[href^=ftp]{background:url('../images/network-server.png') right center no-repeat;padding-right:18px}a.externalLink[href^=mailto]{background:url('../images/contact-new.png') right center no-repeat;padding-right:18px}li.none{list-style:none}.search-query{background-image:url(https://cse.google.com/cse/images/google_custom_search_watermark.gif);background-attachment:initial;background-origin:initial;background-clip:initial;background-color:#fff;background-position:0 50%;background-repeat:no-repeat no-repeat;width:95%}body.topBarEnabled{padding-top:60px}body.topBarDisabled{padding-top:20px}.builtBy{display:block}img.builtBy{margin:10px auto}#search-form{margin-left:9px;margin-right:9px}.hero-unit h2{font-size:60px}tt{padding:0 3px 2px;font-family:Monaco,Andale Mono,Courier New,monospace;font-size:.9em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#fee9cc;color:rgba(0,0,0,0.75);padding:1px 3px}li{color:#404040}table.zebra-striped{background-color:#FFF}.footer{background-color:#EEE}.sidebar-nav{padding-left:0;padding-right:0}.sidebar-nav .icon-chevron-right,.sidebar-nav .icon-chevron-down{margin-top:2px;margin-right:-6px;float:right;opacity:.25}li.pull-right{margin-left:3px;margin-right:3px}.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0;padding-left:15px}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} \ No newline at end of file From 77d94742dd77ca87f3728584a21a9b8ace96e004 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 28 Oct 2025 19:14:30 +0100 Subject: [PATCH 120/137] 4.18.0 --- README.md | 8 ++++---- pom.xml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1489d08..333851e 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) -### Latest release Version 4.17.0 / October 05, 2025 +### Latest release Version 4.18.0 / October 30, 2025 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.17.0 + 4.18.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.17.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.18.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.18.0-SNAPSHOT + 4.19.0-SNAPSHOT You have to add the sonatype-central snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index 6071238..8977f67 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.17.0 + 4.18.0 HtmlUnit CSS Parser HtmlUnit @@ -25,7 +25,7 @@ 2.20.0 - 11.1.0 + 12.1.1 10.0.4 From c3fae5fe8c4835ed3f57fb3df598b4be6c6ce951 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Fri, 31 Oct 2025 19:36:36 +0100 Subject: [PATCH 121/137] fix maven central badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 333851e..3c46e33 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ This implementation starts based on CSSParser 0.9.25; we removed the sac depende We will try to stay in sync with CSSParser regarding the features in the future. -[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.htmlunit/htmlunit-cssparser/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.htmlunit/htmlunit-cssparser) +[![Maven Central Version](https://img.shields.io/maven-central/v/org.htmlunit/htmlunit-cssparser)](https://central.sonatype.com/artifact/org.htmlunit/htmlunit-cssparser) :heart: [Sponsor](https://github.com/sponsors/rbri) From f21b83deb44bc87a925cabcd7f63444c3ef4ad99 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sat, 22 Nov 2025 17:57:47 +0100 Subject: [PATCH 122/137] 4.19.0 --- README.md | 8 ++++---- pom.xml | 15 +++++++++------ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 3c46e33..f4dbb78 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) -### Latest release Version 4.18.0 / October 30, 2025 +### Latest release Version 4.19.0 / November 23, 2025 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.18.0 + 4.19.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.18.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.19.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.19.0-SNAPSHOT + 4.20.0-SNAPSHOT You have to add the sonatype-central snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index 8977f67..6e843b4 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.18.0 + 4.19.0 HtmlUnit CSS Parser HtmlUnit @@ -21,11 +21,11 @@ 8 - 5.14.0 - 2.20.0 + 5.14.1 + 2.21.0 - 12.1.1 + 12.1.2 10.0.4 @@ -34,7 +34,8 @@ 3.2.8 3.6.2 3.14.1 - 3.4.2 + 3.5.0 + 3.2.0 3.12.0 3.5.4 @@ -73,6 +74,7 @@ central
+ org.apache.maven.plugins maven-surefire-plugin @@ -293,7 +296,7 @@ org.apache.maven.plugins maven-release-plugin - 3.1.1 + ${release-plugin.version}
From 299752c75e6ce68ed43b4deed9d1657c59a48cea Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 7 Dec 2025 10:36:14 +0100 Subject: [PATCH 123/137] 4.20.0 --- README.md | 8 ++++---- pom.xml | 9 +++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index f4dbb78..c7b687d 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) -### Latest release Version 4.19.0 / November 23, 2025 +### Latest release Version 4.20.0 / December 07, 2025 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.19.0 + 4.20.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.19.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.20.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.20.0-SNAPSHOT + 4.21.0-SNAPSHOT You have to add the sonatype-central snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index 6e843b4..41df472 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.19.0 + 4.21.0-SNAPSHOT HtmlUnit CSS Parser HtmlUnit @@ -25,7 +25,7 @@ 2.21.0 - 12.1.2 + 12.2.0 10.0.4 @@ -35,7 +35,8 @@ 3.6.2 3.14.1 3.5.0 - 3.2.0 + 3.3.0 + 3.4.0 3.12.0 3.5.4 @@ -217,7 +218,7 @@ org.apache.maven.plugins maven-source-plugin - 3.3.1 + ${source-plugin.version} From 583808c7d42e0c8b414e92a3c8f1c3f08a0a4905 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 22 Dec 2025 19:12:41 +0100 Subject: [PATCH 124/137] add junit-launcher --- pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pom.xml b/pom.xml index 41df472..7947f04 100644 --- a/pom.xml +++ b/pom.xml @@ -22,6 +22,7 @@ 5.14.1 + 1.14.1 2.21.0 @@ -361,6 +362,12 @@ ${junit.version} test
+ + org.junit.platform + junit-platform-launcher + ${junit-launcher.version} + test + commons-io commons-io From c4d848305ee52bb8665a1a50688f1f8d46187a70 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 22 Dec 2025 19:12:52 +0100 Subject: [PATCH 125/137] typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c7b687d..b1b0ff4 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.20 -### Latst CI build +### Latest CI build The latest builds are available from our [Jenkins CI build server](https://jenkins.wetator.org/job/HtmlUnit%20-%20CSS%20Parser/ "HtmlUnit - CSS Parser CI") From 824467c0a5bff26ea297285a01c715e346e7fbec Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Mon, 22 Dec 2025 19:13:36 +0100 Subject: [PATCH 126/137] use error_skipblock() instead of special skip code --- src/main/javacc/CSS3Parser.jj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index aed93c0..4fb69c9 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -529,8 +529,8 @@ void styleSheetRuleList() : CSSParseException cpe = toCSSParseException("invalidRule", e); getErrorHandler().error(cpe); getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - while (t.kind != RBRACE && t.kind != EOF ) { - t = getNextToken(); + if (t.kind != RBRACE) { + error_skipblock(null, null); } if (t.kind == EOF) { return; From cff9a5d8ec3012530f55b3dcbd712a810c99d691 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 23 Dec 2025 11:47:09 +0100 Subject: [PATCH 127/137] more tests --- .../{PropteryTest.java => PropertyTest.java} | 80 ++- .../condition/PseudoClassConditionTest.java | 55 +++ .../parser/media/MediaQueryTest.java | 155 ++++++ .../parser/selector/ComplexSelectorTest.java | 456 ++++++++++++++++++ 4 files changed, 745 insertions(+), 1 deletion(-) rename src/test/java/org/htmlunit/cssparser/dom/{PropteryTest.java => PropertyTest.java} (58%) create mode 100644 src/test/java/org/htmlunit/cssparser/parser/selector/ComplexSelectorTest.java diff --git a/src/test/java/org/htmlunit/cssparser/dom/PropteryTest.java b/src/test/java/org/htmlunit/cssparser/dom/PropertyTest.java similarity index 58% rename from src/test/java/org/htmlunit/cssparser/dom/PropteryTest.java rename to src/test/java/org/htmlunit/cssparser/dom/PropertyTest.java index f321ac0..cf19ef0 100644 --- a/src/test/java/org/htmlunit/cssparser/dom/PropteryTest.java +++ b/src/test/java/org/htmlunit/cssparser/dom/PropertyTest.java @@ -28,7 +28,7 @@ * * @author Ronald Brill */ -public class PropteryTest { +public class PropertyTest { /** * @throws Exception if any error occurs @@ -94,4 +94,82 @@ public void constructWithParams() throws Exception { assertEquals("13.2cm", prop.getValue().toString()); assertFalse(prop.isImportant()); } + + /** + * Test equals method with same object. + * @throws Exception if any error occurs + */ + @Test + public void equalsSameObject() throws Exception { + final LexicalUnit lu = LexicalUnitImpl.createPixel(null, 10); + final Property prop = new Property("color", new CSSValueImpl(lu, true), false); + + assertTrue(prop.equals(prop)); + } + + /** + * Test equals method with different names. + * @throws Exception if any error occurs + */ + @Test + public void equalsDifferentNames() throws Exception { + final LexicalUnit lu1 = LexicalUnitImpl.createPixel(null, 10); + final Property prop1 = new Property("color", new CSSValueImpl(lu1, true), false); + + final LexicalUnit lu2 = LexicalUnitImpl.createPixel(null, 10); + final Property prop2 = new Property("background", new CSSValueImpl(lu2, true), false); + + assertFalse(prop1.equals(prop2)); + } + + /** + * Test equals method with different important flags. + * @throws Exception if any error occurs + */ + @Test + public void equalsDifferentImportant() throws Exception { + final Property prop1 = new Property("color", null, false); + final Property prop2 = new Property("color", null, true); + + assertFalse(prop1.equals(prop2)); + } + + /** + * Test equals method with null. + * @throws Exception if any error occurs + */ + @Test + public void equalsWithNull() throws Exception { + final LexicalUnit lu = LexicalUnitImpl.createPixel(null, 10); + final Property prop = new Property("color", new CSSValueImpl(lu, true), false); + + assertFalse(prop.equals(null)); + } + + /** + * Test equals method with different class. + * @throws Exception if any error occurs + */ + @Test + public void equalsWithDifferentClass() throws Exception { + final LexicalUnit lu = LexicalUnitImpl.createPixel(null, 10); + final Property prop = new Property("color", new CSSValueImpl(lu, true), false); + + assertFalse(prop.equals("not a property")); + } + + /** + * Test hashCode consistency. + * @throws Exception if any error occurs + */ + @Test + public void hashCodeConsistency() throws Exception { + final LexicalUnit lu = LexicalUnitImpl.createPixel(null, 10); + final Property prop = new Property("color", new CSSValueImpl(lu, true), false); + + final int hash1 = prop.hashCode(); + final int hash2 = prop.hashCode(); + + assertEquals(hash1, hash2); + } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/condition/PseudoClassConditionTest.java b/src/test/java/org/htmlunit/cssparser/parser/condition/PseudoClassConditionTest.java index f8fe00b..533d91c 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/condition/PseudoClassConditionTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/condition/PseudoClassConditionTest.java @@ -21,6 +21,7 @@ /** * Testcases for {@link PseudoClassCondition}. + * * @author Ronald Brill */ public class PseudoClassConditionTest { @@ -60,4 +61,58 @@ public void withValue() throws Exception { assertEquals(":value", c.toString()); } + + /** + * @throws Exception if any error occurs + */ + @Test + public void doubleColonPrefix() throws Exception { + final PseudoClassCondition c = new PseudoClassCondition("hover", null, true); + assertEquals("hover", c.getValue()); + assertEquals("::hover", c.toString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void singleColonPrefix() throws Exception { + final PseudoClassCondition c = new PseudoClassCondition("hover", null, false); + assertEquals("hover", c.getValue()); + assertEquals(":hover", c.toString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void doubleColonWithNullValue() throws Exception { + final PseudoClassCondition c = new PseudoClassCondition(null, null, true); + assertNull(c.getValue()); + assertNull(c.toString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void conditionType() throws Exception { + final PseudoClassCondition c = new PseudoClassCondition("active", null, false); + assertEquals(Condition.ConditionType.PSEUDO_CLASS_CONDITION, c.getConditionType()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void variousPseudoClassesDoubleColon() throws Exception { + final PseudoClassCondition c1 = new PseudoClassCondition("first-child", null, true); + assertEquals("::first-child", c1.toString()); + + final PseudoClassCondition c2 = new PseudoClassCondition("last-child", null, true); + assertEquals("::last-child", c2.toString()); + + final PseudoClassCondition c3 = new PseudoClassCondition("nth-child(2n)", null, true); + assertEquals("::nth-child(2n)", c3.toString()); + } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/media/MediaQueryTest.java b/src/test/java/org/htmlunit/cssparser/parser/media/MediaQueryTest.java index fa68bb9..0cce857 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/media/MediaQueryTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/media/MediaQueryTest.java @@ -15,6 +15,8 @@ package org.htmlunit.cssparser.parser.media; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import org.htmlunit.cssparser.dom.CSSValueImpl; import org.htmlunit.cssparser.dom.Property; @@ -22,6 +24,7 @@ /** * Testcases for {@link MediaQuery}. + * * @author Ronald Brill */ public class MediaQueryTest { @@ -76,4 +79,156 @@ public void media() throws Exception { final MediaQuery mq = new MediaQuery("test"); assertEquals("test", mq.getMedia()); } + + /** + * @throws Exception if any error occurs + */ + @Test + public void isOnly() throws Exception { + MediaQuery mq = new MediaQuery("screen", false, false); + assertFalse(mq.isOnly()); + + mq = new MediaQuery("screen", true, false); + assertTrue(mq.isOnly()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void isNot() throws Exception { + MediaQuery mq = new MediaQuery("screen", false, false); + assertFalse(mq.isNot()); + + mq = new MediaQuery("screen", false, true); + assertTrue(mq.isNot()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void onlyAndNot() throws Exception { + // If both only and not are true, only takes precedence + final MediaQuery mq = new MediaQuery("screen", true, true); + assertEquals("only screen", mq.toString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void nullMediaType() throws Exception { + final MediaQuery mq = new MediaQuery(null); + // null media is converted to "all" but implicitAll is set + // so toString doesn't show it unless there are properties + assertEquals("", mq.toString()); + assertEquals("all", mq.getMedia()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void emptyMediaType() throws Exception { + final MediaQuery mq = new MediaQuery(""); + assertEquals("", mq.toString()); + assertEquals("", mq.getMedia()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void multipleProperties() throws Exception { + final MediaQuery mq = new MediaQuery("screen"); + + final CSSValueImpl value1 = new CSSValueImpl(null); + value1.setCssText("800px"); + final Property prop1 = new Property("min-width", value1, false); + mq.addMediaProperty(prop1); + + final CSSValueImpl value2 = new CSSValueImpl(null); + value2.setCssText("1200px"); + final Property prop2 = new Property("max-width", value2, false); + mq.addMediaProperty(prop2); + + final CSSValueImpl value3 = new CSSValueImpl(null); + value3.setCssText("landscape"); + final Property prop3 = new Property("orientation", value3, false); + mq.addMediaProperty(prop3); + + assertEquals("screen and (min-width: 800px) and (max-width: 1200px) and (orientation: landscape)", + mq.toString()); + assertEquals(3, mq.getProperties().size()); + + Property prop = mq.getProperties().get(0); + assertEquals("min-width: 800px", prop.toString()); + + prop = mq.getProperties().get(1); + assertEquals("max-width: 1200px", prop.toString()); + + prop = mq.getProperties().get(2); + assertEquals("orientation: landscape", prop.toString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void commonMediaTypes() throws Exception { + MediaQuery mq = new MediaQuery("all"); + assertEquals("all", mq.toString()); + + mq = new MediaQuery("screen"); + assertEquals("screen", mq.toString()); + + mq = new MediaQuery("print"); + assertEquals("print", mq.toString()); + + mq = new MediaQuery("speech"); + assertEquals("speech", mq.toString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void onlyWithProperties() throws Exception { + final MediaQuery mq = new MediaQuery("print", true, false); + + final CSSValueImpl value = new CSSValueImpl(null); + value.setCssText("300dpi"); + final Property prop1 = new Property("resolution", value, false); + mq.addMediaProperty(prop1); + + assertEquals("only print and (resolution: 300dpi)", mq.toString()); + assertTrue(mq.isOnly()); + assertFalse(mq.isNot()); + assertEquals(1, mq.getProperties().size()); + + final Property prop = mq.getProperties().get(0); + assertEquals("resolution: 300dpi", prop.toString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void notWithProperties() throws Exception { + final MediaQuery mq = new MediaQuery("screen", false, true); + + final CSSValueImpl value = new CSSValueImpl(null); + value.setCssText("600px"); + final Property prop1 = new Property("max-width", value, false); + mq.addMediaProperty(prop1); + + assertEquals("not screen and (max-width: 600px)", mq.toString()); + assertFalse(mq.isOnly()); + assertTrue(mq.isNot()); + assertEquals(1, mq.getProperties().size()); + + final Property prop = mq.getProperties().get(0); + assertEquals("max-width: 600px", prop.toString()); + } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/ComplexSelectorTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/ComplexSelectorTest.java new file mode 100644 index 0000000..a44f7b3 --- /dev/null +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/ComplexSelectorTest.java @@ -0,0 +1,456 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.htmlunit.cssparser.parser.selector; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import java.io.StringReader; + +import org.htmlunit.cssparser.ErrorHandler; +import org.htmlunit.cssparser.dom.CSSRuleListImpl; +import org.htmlunit.cssparser.dom.CSSStyleRuleImpl; +import org.htmlunit.cssparser.dom.CSSStyleSheetImpl; +import org.htmlunit.cssparser.parser.CSSOMParser; +import org.htmlunit.cssparser.parser.InputSource; +import org.junit.jupiter.api.Test; + +/** + * Unit tests for complex selector combinations. + * + * @author Ronald Brill + */ +public class ComplexSelectorTest { + + /** + * @throws Exception if any error occurs + */ + @Test + public void complexDescendantChain() throws Exception { + final String css = "div ul li a { color: blue; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(0, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + final CSSRuleListImpl rules = sheet.getCssRules(); + assertEquals(1, rules.getLength()); + + final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) rules.getRules().get(0); + assertEquals("div ul li a", rule.getSelectorText()); + assertEquals("color: blue", rule.getStyle().getCssText()); + assertEquals(1, rule.getStyle().getLength()); + assertEquals("blue", rule.getStyle().getPropertyValue("color")); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void childCombinator() throws Exception { + final String css = "div > p { margin: 10px; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(0, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + final CSSRuleListImpl rules = sheet.getCssRules(); + assertEquals(1, rules.getLength()); + + final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) rules.getRules().get(0); + assertEquals("div > p", rule.getSelectorText()); + assertEquals("margin: 10px", rule.getStyle().getCssText()); + assertEquals(1, rule.getStyle().getLength()); + assertEquals("10px", rule.getStyle().getPropertyValue("margin")); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void adjacentSiblingCombinator() throws Exception { + final String css = "h1 + p { font-weight: bold; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(0, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + final CSSRuleListImpl rules = sheet.getCssRules(); + assertEquals(1, rules.getLength()); + + final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) rules.getRules().get(0); + assertEquals("h1 + p", rule.getSelectorText()); + assertEquals("font-weight: bold", rule.getStyle().getCssText()); + assertEquals(1, rule.getStyle().getLength()); + assertEquals("bold", rule.getStyle().getPropertyValue("font-weight")); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void generalSiblingCombinator() throws Exception { + final String css = "h1 ~ p { color: gray; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(0, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + final CSSRuleListImpl rules = sheet.getCssRules(); + assertEquals(1, rules.getLength()); + + final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) rules.getRules().get(0); + assertEquals("h1 ~ p", rule.getSelectorText()); + assertEquals("color: gray", rule.getStyle().getCssText()); + assertEquals(1, rule.getStyle().getLength()); + assertEquals("gray", rule.getStyle().getPropertyValue("color")); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void classesAndIds() throws Exception { + final String css = "div#main.container.active { display: block; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(0, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + final CSSRuleListImpl rules = sheet.getCssRules(); + assertEquals(1, rules.getLength()); + + final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) rules.getRules().get(0); + assertEquals("div#main.container.active", rule.getSelectorText()); + assertEquals("display: block", rule.getStyle().getCssText()); + assertEquals(1, rule.getStyle().getLength()); + assertEquals("block", rule.getStyle().getPropertyValue("display")); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void pseudoClassCombinations() throws Exception { + final String css = "a:link:hover:not(.external) { text-decoration: underline; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(0, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + final CSSRuleListImpl rules = sheet.getCssRules(); + assertEquals(1, rules.getLength()); + + final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) rules.getRules().get(0); + assertEquals("a:link:hover:not(*.external)", rule.getSelectorText()); + assertEquals("text-decoration: underline", rule.getStyle().getCssText()); + assertEquals(1, rule.getStyle().getLength()); + assertEquals("underline", rule.getStyle().getPropertyValue("text-decoration")); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void attributeSelectorCombinations() throws Exception { + final String css = "input[type=\"text\"][required]:focus { border-color: blue; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(0, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + final CSSRuleListImpl rules = sheet.getCssRules(); + assertEquals(1, rules.getLength()); + + final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) rules.getRules().get(0); + assertEquals("input[type=\"text\"][required]:focus", rule.getSelectorText()); + assertEquals("border-color: blue", rule.getStyle().getCssText()); + assertEquals(1, rule.getStyle().getLength()); + assertEquals("blue", rule.getStyle().getPropertyValue("border-color")); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void nthChildVariations() throws Exception { + final String css = "li:nth-child(2n) { background: gray; }\n" + + "li:nth-child(odd) { background: white; }\n" + + "li:nth-child(3n+1) { font-weight: bold; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(0, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + assertEquals(3, sheet.getCssRules().getLength()); + + final CSSStyleRuleImpl rule1 = (CSSStyleRuleImpl) sheet.getCssRules().getRules().get(0); + assertEquals("li:nth-child(2n)", rule1.getSelectorText()); + assertEquals("background: gray", rule1.getStyle().getCssText()); + assertEquals("gray", rule1.getStyle().getPropertyValue("background")); + + final CSSStyleRuleImpl rule2 = (CSSStyleRuleImpl) sheet.getCssRules().getRules().get(1); + assertEquals("li:nth-child(odd)", rule2.getSelectorText()); + assertEquals("background: white", rule2.getStyle().getCssText()); + assertEquals("white", rule2.getStyle().getPropertyValue("background")); + + final CSSStyleRuleImpl rule3 = (CSSStyleRuleImpl) sheet.getCssRules().getRules().get(2); + assertEquals("li:nth-child(3n+1)", rule3.getSelectorText()); + assertEquals("font-weight: bold", rule3.getStyle().getCssText()); + assertEquals("bold", rule3.getStyle().getPropertyValue("font-weight")); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void pseudoElementWithPseudoClass() throws Exception { + final String css = "p:first-child::first-letter { font-size: 2em; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(0, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + final CSSRuleListImpl rules = sheet.getCssRules(); + assertEquals(1, rules.getLength()); + + final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) rules.getRules().get(0); + assertEquals("p:first-child::first-letter", rule.getSelectorText()); + assertEquals("font-size: 2em", rule.getStyle().getCssText()); + assertEquals(1, rule.getStyle().getLength()); + assertEquals("2em", rule.getStyle().getPropertyValue("font-size")); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void complexSelectorList() throws Exception { + final String css = "h1, h2, h3, .heading, #title { font-family: Arial; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(0, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + final CSSRuleListImpl rules = sheet.getCssRules(); + assertEquals(1, rules.getLength()); + + final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) rules.getRules().get(0); + assertNotNull(rule.getSelectorText()); + assertEquals("h1, h2, h3, *.heading, *#title", rule.getSelectorText()); + assertEquals("font-family: Arial", rule.getStyle().getCssText()); + assertEquals(1, rule.getStyle().getLength()); + assertEquals("Arial", rule.getStyle().getPropertyValue("font-family")); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void mixedCombinators() throws Exception { + final String css = "div > ul li + span ~ a { color: red; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(0, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + final CSSRuleListImpl rules = sheet.getCssRules(); + assertEquals(1, rules.getLength()); + + final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) rules.getRules().get(0); + assertEquals("div > ul li + span ~ a", rule.getSelectorText()); + assertEquals("color: red", rule.getStyle().getCssText()); + assertEquals(1, rule.getStyle().getLength()); + assertEquals("red", rule.getStyle().getPropertyValue("color")); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void universalSelectorCombinations() throws Exception { + final String css = "* { box-sizing: border-box; }\n" + + "div * { margin: 0; }\n" + + "*:hover { cursor: pointer; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(0, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + assertEquals(3, sheet.getCssRules().getLength()); + + final CSSStyleRuleImpl rule1 = (CSSStyleRuleImpl) sheet.getCssRules().getRules().get(0); + assertEquals("*", rule1.getSelectorText()); + assertEquals("box-sizing: border-box", rule1.getStyle().getCssText()); + assertEquals("border-box", rule1.getStyle().getPropertyValue("box-sizing")); + + final CSSStyleRuleImpl rule2 = (CSSStyleRuleImpl) sheet.getCssRules().getRules().get(1); + assertEquals("div *", rule2.getSelectorText()); + assertEquals("margin: 0", rule2.getStyle().getCssText()); + assertEquals("0", rule2.getStyle().getPropertyValue("margin")); + + final CSSStyleRuleImpl rule3 = (CSSStyleRuleImpl) sheet.getCssRules().getRules().get(2); + assertEquals("*:hover", rule3.getSelectorText()); + assertEquals("cursor: pointer", rule3.getStyle().getCssText()); + assertEquals("pointer", rule3.getStyle().getPropertyValue("cursor")); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void namespaceSelectorsCombinations() throws Exception { + final String css = "svg|rect { fill: blue; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(1, errorHandler.getErrorCount()); + assertEquals("Error in style rule. (Invalid token \"|\". Was expecting one of: , \"{\", \".\", \":\", \"[\", \",\", , .)", + errorHandler.getErrorMessage()); + assertEquals(1, errorHandler.getWarningCount()); + + final CSSRuleListImpl rules = sheet.getCssRules(); + assertEquals(0, rules.getLength()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void caseInsensitiveAttribute() throws Exception { + final String css = "a[href*=\"example\" i] { color: blue; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(0, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + final CSSRuleListImpl rules = sheet.getCssRules(); + assertEquals(1, rules.getLength()); + + final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) rules.getRules().get(0); + assertEquals("a[href*=\"example\" i]", rule.getSelectorText()); + assertEquals("color: blue", rule.getStyle().getCssText()); + assertEquals(1, rule.getStyle().getLength()); + assertEquals("blue", rule.getStyle().getPropertyValue("color")); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void deeplyNestedSelectors() throws Exception { + final String css = "html body div.container section article > p:first-of-type { line-height: 1.5; }"; + + final CSSOMParser parser = new CSSOMParser(); + final ErrorHandler errorHandler = new ErrorHandler(); + parser.setErrorHandler(errorHandler); + + final CSSStyleSheetImpl sheet = parser.parseStyleSheet(new InputSource(new StringReader(css)), null); + + assertNotNull(sheet); + assertEquals(0, errorHandler.getErrorCount()); + assertEquals(0, errorHandler.getWarningCount()); + + final CSSRuleListImpl rules = sheet.getCssRules(); + assertEquals(1, rules.getLength()); + + final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) rules.getRules().get(0); + assertEquals("html body div.container section article > p:first-of-type", rule.getSelectorText()); + assertEquals("line-height: 1.5", rule.getStyle().getCssText()); + assertEquals(1, rule.getStyle().getLength()); + assertEquals("1.5", rule.getStyle().getPropertyValue("line-height")); + } +} From 08f54a8242268db98385985b3233baecc20d6c55 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 23 Dec 2025 13:01:59 +0100 Subject: [PATCH 128/137] more tests --- .../selector/DescendantSelectorImplTest.java | 171 +++++++++++++++++- .../selector/SelectorSpecificityTest.java | 76 ++++++++ 2 files changed, 246 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/DescendantSelectorImplTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/DescendantSelectorImplTest.java index ad63cb2..55aa8bb 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/DescendantSelectorImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/DescendantSelectorImplTest.java @@ -15,12 +15,15 @@ package org.htmlunit.cssparser.parser.selector; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; import org.htmlunit.cssparser.parser.selector.Selector.SelectorType; import org.junit.jupiter.api.Test; /** * Testcases for {@link DescendantSelector}. + * * @author Ronald Brill */ public class DescendantSelectorImplTest { @@ -33,8 +36,17 @@ public void ancestorSelector() { final ElementSelector parent = new ElementSelector("p", null); final ElementSelector descendant = new ElementSelector("a", null); final DescendantSelector selector = new DescendantSelector(parent, descendant); + + assertNotNull(selector.getAncestorSelector()); assertEquals(parent, selector.getAncestorSelector()); + assertEquals(SelectorType.ELEMENT_NODE_SELECTOR, selector.getAncestorSelector().getSelectorType()); + assertEquals("p", ((ElementSelector) selector.getAncestorSelector()).getLocalName()); + assertNotNull(selector.getSimpleSelector()); + assertEquals(descendant, selector.getSimpleSelector()); + assertEquals(SelectorType.ELEMENT_NODE_SELECTOR, selector.getSimpleSelector().getSelectorType()); + + assertEquals(SelectorType.DESCENDANT_SELECTOR, selector.getSelectorType()); assertEquals("p a", selector.toString()); } @@ -46,8 +58,13 @@ public void simpleSelector() { final ElementSelector parent = new ElementSelector("p", null); final ElementSelector descendant = new ElementSelector("a", null); final DescendantSelector selector = new DescendantSelector(parent, descendant); + + assertNotNull(selector.getSimpleSelector()); assertEquals(descendant, selector.getSimpleSelector()); + assertEquals(SelectorType.ELEMENT_NODE_SELECTOR, selector.getSimpleSelector().getSelectorType()); + assertEquals("a", ((ElementSelector) selector.getSimpleSelector()).getLocalName()); + assertEquals(SelectorType.DESCENDANT_SELECTOR, selector.getSelectorType()); assertEquals("p a", selector.toString()); } @@ -59,8 +76,10 @@ public void selectorType() { final ElementSelector parent = new ElementSelector("p", null); final ElementSelector descendant = new ElementSelector("a", null); final DescendantSelector selector = new DescendantSelector(parent, descendant); - assertEquals(SelectorType.DESCENDANT_SELECTOR, selector.getSelectorType()); + assertEquals(SelectorType.DESCENDANT_SELECTOR, selector.getSelectorType()); + assertNotNull(selector.getAncestorSelector()); + assertNotNull(selector.getSimpleSelector()); assertEquals("p a", selector.toString()); } @@ -72,6 +91,16 @@ public void elementDescendant() { final ElementSelector parent = new ElementSelector("p", null); final ElementSelector descendant = new ElementSelector("a", null); final DescendantSelector selector = new DescendantSelector(parent, descendant); + + assertNotNull(selector.getAncestorSelector()); + assertEquals("p", ((ElementSelector) selector.getAncestorSelector()).getLocalName()); + assertEquals("p", ((ElementSelector) selector.getAncestorSelector()).getLocalNameLowerCase()); + + assertNotNull(selector.getSimpleSelector()); + assertEquals("a", ((ElementSelector) selector.getSimpleSelector()).getLocalName()); + assertEquals("a", ((ElementSelector) selector.getSimpleSelector()).getLocalNameLowerCase()); + + assertEquals(SelectorType.DESCENDANT_SELECTOR, selector.getSelectorType()); assertEquals("p a", selector.toString()); } @@ -84,6 +113,146 @@ public void pseudoElementDescendant() { final PseudoElementSelector descendant = new PseudoElementSelector("after", null, false); final DescendantSelector selector = new DescendantSelector(parent, descendant); + assertNotNull(selector.getAncestorSelector()); + assertEquals(SelectorType.ELEMENT_NODE_SELECTOR, selector.getAncestorSelector().getSelectorType()); + assertEquals("a", ((ElementSelector) selector.getAncestorSelector()).getLocalName()); + + assertNotNull(selector.getSimpleSelector()); + assertEquals(SelectorType.PSEUDO_ELEMENT_SELECTOR, selector.getSimpleSelector().getSelectorType()); + assertEquals("after", ((PseudoElementSelector) selector.getSimpleSelector()).getLocalName()); + + assertEquals(SelectorType.DESCENDANT_SELECTOR, selector.getSelectorType()); assertEquals("a:after", selector.toString()); } + + /** + * @throws Exception on failure + */ + @Test + public void nullAncestorSelector() { + final ElementSelector descendant = new ElementSelector("a", null); + final DescendantSelector selector = new DescendantSelector(null, descendant); + + assertNull(selector.getAncestorSelector()); + + assertNotNull(selector.getSimpleSelector()); + assertEquals(descendant, selector.getSimpleSelector()); + assertEquals(SelectorType.ELEMENT_NODE_SELECTOR, selector.getSimpleSelector().getSelectorType()); + assertEquals("a", ((ElementSelector) selector.getSimpleSelector()).getLocalName()); + + assertEquals(SelectorType.DESCENDANT_SELECTOR, selector.getSelectorType()); + assertEquals(" a", selector.toString()); + } + + /** + * @throws Exception on failure + */ + @Test + public void nullSimpleSelector() { + final ElementSelector parent = new ElementSelector("p", null); + final DescendantSelector selector = new DescendantSelector(parent, null); + + assertNotNull(selector.getAncestorSelector()); + assertEquals(parent, selector.getAncestorSelector()); + assertEquals(SelectorType.ELEMENT_NODE_SELECTOR, selector.getAncestorSelector().getSelectorType()); + assertEquals("p", ((ElementSelector) selector.getAncestorSelector()).getLocalName()); + + assertNull(selector.getSimpleSelector()); + + assertEquals(SelectorType.DESCENDANT_SELECTOR, selector.getSelectorType()); + } + + /** + * @throws Exception on failure + */ + @Test + public void complexDescendantChain() { + final ElementSelector grandParent = new ElementSelector("div", null); + final ElementSelector parent = new ElementSelector("p", null); + final DescendantSelector level1 = new DescendantSelector(grandParent, parent); + final ElementSelector child = new ElementSelector("a", null); + final DescendantSelector level2 = new DescendantSelector(level1, child); + + assertNotNull(level2.getAncestorSelector()); + assertEquals(level1, level2.getAncestorSelector()); + assertEquals(SelectorType.DESCENDANT_SELECTOR, level2.getAncestorSelector().getSelectorType()); + + assertNotNull(level2.getSimpleSelector()); + assertEquals(child, level2.getSimpleSelector()); + assertEquals(SelectorType.ELEMENT_NODE_SELECTOR, level2.getSimpleSelector().getSelectorType()); + assertEquals("a", ((ElementSelector) level2.getSimpleSelector()).getLocalName()); + + // Verify level1 structure + assertNotNull(level1.getAncestorSelector()); + assertEquals(grandParent, level1.getAncestorSelector()); + assertEquals("div", ((ElementSelector) level1.getAncestorSelector()).getLocalName()); + + assertNotNull(level1.getSimpleSelector()); + assertEquals(parent, level1.getSimpleSelector()); + assertEquals("p", ((ElementSelector) level1.getSimpleSelector()).getLocalName()); + + assertEquals(SelectorType.DESCENDANT_SELECTOR, level2.getSelectorType()); + assertEquals("div p a", level2.toString()); + } + + /** + * @throws Exception on failure + */ + @Test + public void complexDescendantWithPseudoElement() { + final ElementSelector grandParent = new ElementSelector("div", null); + final ElementSelector parent = new ElementSelector("p", null); + final DescendantSelector level1 = new DescendantSelector(grandParent, parent); + final PseudoElementSelector pseudo = new PseudoElementSelector("first-line", null, false); + final DescendantSelector level2 = new DescendantSelector(level1, pseudo); + + assertNotNull(level2.getAncestorSelector()); + assertEquals(level1, level2.getAncestorSelector()); + assertEquals(SelectorType.DESCENDANT_SELECTOR, level2.getAncestorSelector().getSelectorType()); + + assertNotNull(level2.getSimpleSelector()); + assertEquals(pseudo, level2.getSimpleSelector()); + assertEquals(SelectorType.PSEUDO_ELEMENT_SELECTOR, level2.getSimpleSelector().getSelectorType()); + assertEquals("first-line", ((PseudoElementSelector) level2.getSimpleSelector()).getLocalName()); + + assertEquals(SelectorType.DESCENDANT_SELECTOR, level2.getSelectorType()); + assertEquals("div p:first-line", level2.toString()); + } + + /** + * @throws Exception on failure + */ + @Test + public void bothSelectorsNull() { + final DescendantSelector selector = new DescendantSelector(null, null); + + assertNull(selector.getAncestorSelector()); + assertNull(selector.getSimpleSelector()); + assertEquals(SelectorType.DESCENDANT_SELECTOR, selector.getSelectorType()); + } + + /** + * @throws Exception on failure + */ + @Test + public void tripleNestedDescendant() { + final ElementSelector level0 = new ElementSelector("html", null); + final ElementSelector level1 = new ElementSelector("body", null); + final ElementSelector level2 = new ElementSelector("div", null); + final ElementSelector level3 = new ElementSelector("span", null); + + final DescendantSelector desc1 = new DescendantSelector(level0, level1); + final DescendantSelector desc2 = new DescendantSelector(desc1, level2); + final DescendantSelector desc3 = new DescendantSelector(desc2, level3); + + assertNotNull(desc3.getAncestorSelector()); + assertEquals(desc2, desc3.getAncestorSelector()); + assertEquals(SelectorType.DESCENDANT_SELECTOR, desc3.getAncestorSelector().getSelectorType()); + + assertNotNull(desc3.getSimpleSelector()); + assertEquals(level3, desc3.getSimpleSelector()); + assertEquals("span", ((ElementSelector) desc3.getSimpleSelector()).getLocalName()); + + assertEquals("html body div span", desc3.toString()); + } } diff --git a/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java b/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java index de24606..e95b2ec 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/selector/SelectorSpecificityTest.java @@ -262,4 +262,80 @@ public void hasTest() throws Exception { selectorSpecifity(":has([data-theme='dark'], .night)", "0,0,1,0"); selectorSpecifity(":has([data-theme='dark'], #night)", "0,1,0,0"); } + + /** + * @throws Exception if the test fails + */ + @Test + public void notPseudoClass() throws Exception { + selectorSpecifity(":not(p)", "0,0,0,1"); + selectorSpecifity(":not(.class)", "0,0,1,0"); + selectorSpecifity(":not(#id)", "0,1,0,0"); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void isPseudoClass() throws Exception { + selectorSpecifity(":is(p)", "0,0,0,1"); + selectorSpecifity(":is(.class)", "0,0,1,0"); + selectorSpecifity(":is(#id)", "0,1,0,0"); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void wherePseudoClass() throws Exception { + selectorSpecifity(":where(p)", "0,0,0,0"); + selectorSpecifity(":where(.class)", "0,0,0,0"); + selectorSpecifity(":where(#id)", "0,0,0,0"); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void multipleIds() throws Exception { + selectorSpecifity("#id1#id2", "0,2,0,0"); + selectorSpecifity("div#id1#id2", "0,2,0,1"); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void complexCombinations() throws Exception { + selectorSpecifity("div.class1.class2#id", "0,1,2,1"); + selectorSpecifity("ul li:first-child a", "0,0,1,3"); + selectorSpecifity("#nav ul li a:hover", "0,1,1,3"); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void attributeSelectors() throws Exception { + selectorSpecifity("[type]", "0,0,1,0"); + selectorSpecifity("input[type=\"text\"]", "0,0,1,1"); + selectorSpecifity("a[href^=\"https\"]", "0,0,1,1"); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void compareToVariousCombinations() throws Exception { + final SelectorSpecificity s1 = selectorSpecifity("*", "0,0,0,0"); + final SelectorSpecificity s2 = selectorSpecifity("#id", "0,1,0,0"); + final SelectorSpecificity s3 = selectorSpecifity(".class", "0,0,1,0"); + final SelectorSpecificity s4 = selectorSpecifity("p", "0,0,0,1"); + + assertTrue(s1.compareTo(s2) < 0); + assertTrue(s1.compareTo(s3) < 0); + assertTrue(s1.compareTo(s4) < 0); + assertTrue(s4.compareTo(s3) < 0); + assertTrue(s3.compareTo(s2) < 0); + } } From b1bc77fd2fc97391296c1992894160b6f8bed7e4 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 23 Dec 2025 13:23:20 +0100 Subject: [PATCH 129/137] more tests --- .../parser/CSS3ParserRealWorldTest.java | 57 + .../realworld/bootstrap-grid_5_3_8.css | 4085 ++++++ .../realworld/bootstrap-grid_5_3_8.min.css | 6 + .../realworld/bootstrap-utilities_5_3_8.css | 5406 +++++++ .../bootstrap-utilities_5_3_8.min.css | 6 + .../resources/realworld/bootstrap_5_3_8.css | 12048 ++++++++++++++++ .../realworld/bootstrap_5_3_8.min.css | 6 + 7 files changed, 21614 insertions(+) create mode 100644 src/test/resources/realworld/bootstrap-grid_5_3_8.css create mode 100644 src/test/resources/realworld/bootstrap-grid_5_3_8.min.css create mode 100644 src/test/resources/realworld/bootstrap-utilities_5_3_8.css create mode 100644 src/test/resources/realworld/bootstrap-utilities_5_3_8.min.css create mode 100644 src/test/resources/realworld/bootstrap_5_3_8.css create mode 100644 src/test/resources/realworld/bootstrap_5_3_8.min.css diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java index 8b61580..3bf81ee 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserRealWorldTest.java @@ -303,6 +303,63 @@ public void bootstrap_5_2_0() throws Exception { realWorld("realworld/bootstrap_5_2_0.min.css", 1198, 3041, media, 32, 0); } + /** + * @throws Exception if any error occurs + */ + @Test + public void bootstrap_5_3_8() throws Exception { + final String media = "(max-width: 1199.98px);" + + "(max-width: 1199.98px) and (prefers-reduced-motion: reduce);" + + "(max-width: 1399.98px);(max-width: 1399.98px) and (prefers-reduced-motion: reduce);" + + "(max-width: 575.98px);" + + "(max-width: 575.98px) and (prefers-reduced-motion: reduce);" + + "(max-width: 767.98px);" + + "(max-width: 767.98px) and (prefers-reduced-motion: reduce);" + + "(max-width: 991.98px);" + + "(max-width: 991.98px) and (prefers-reduced-motion: reduce);" + + "(min-width: 1200px);" + + "(min-width: 1400px);" + + "(min-width: 576px);" + + "(min-width: 768px);" + + "(min-width: 992px);" + + "(prefers-reduced-motion: no-preference);" + + "(prefers-reduced-motion: reduce);" + + "print;"; + realWorld("realworld/bootstrap_5_3_8.css", 1307, 3414, media, 122, 0); + realWorld("realworld/bootstrap_5_3_8.min.css", 1307, 3414, media, 122, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void bootstrapUtilities_5_3_8() throws Exception { + final String media = "(min-width: 1200px);" + + "(min-width: 1400px);" + + "(min-width: 576px);" + + "(min-width: 768px);" + + "(min-width: 992px);" + + "(prefers-reduced-motion: reduce);" + + "print;"; + realWorld("realworld/bootstrap-utilities_5_3_8.css", 529, 830, media, 100, 0); + realWorld("realworld/bootstrap-utilities_5_3_8.min.css", 529, 830, media, 100, 0); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void bootstrapGrid_5_3_8() throws Exception { + final String media = "(min-width: 1200px);" + + "(min-width: 1400px);" + + "(min-width: 576px);" + + "(min-width: 768px);" + + "(min-width: 992px);" + + "print;"; + realWorld("realworld/bootstrap-grid_5_3_8.css", 209, 262, media, 0, 0); + realWorld("realworld/bootstrap-grid_5_3_8.min.css", 209, 262, media, 0, 0); + } + /** * @throws Exception if any error occurs */ diff --git a/src/test/resources/realworld/bootstrap-grid_5_3_8.css b/src/test/resources/realworld/bootstrap-grid_5_3_8.css new file mode 100644 index 0000000..448e442 --- /dev/null +++ b/src/test/resources/realworld/bootstrap-grid_5_3_8.css @@ -0,0 +1,4085 @@ +/*! + * Bootstrap Grid v5.3.8 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} + +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + box-sizing: border-box; + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.33333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 1rem !important; +} + +.me-4 { + margin-right: 1.5rem !important; +} + +.me-5 { + margin-right: 3rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 1rem !important; +} + +.ms-4 { + margin-left: 1.5rem !important; +} + +.ms-5 { + margin-left: 3rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 3rem !important; +} + +@media (min-width: 576px) { + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 768px) { + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 992px) { + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 1200px) { + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } +} +@media (min-width: 1400px) { + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} + +/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/src/test/resources/realworld/bootstrap-grid_5_3_8.min.css b/src/test/resources/realworld/bootstrap-grid_5_3_8.min.css new file mode 100644 index 0000000..82bb1bc --- /dev/null +++ b/src/test/resources/realworld/bootstrap-grid_5_3_8.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap Grid v5.3.8 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/src/test/resources/realworld/bootstrap-utilities_5_3_8.css b/src/test/resources/realworld/bootstrap-utilities_5_3_8.css new file mode 100644 index 0000000..5c4a95f --- /dev/null +++ b/src/test/resources/realworld/bootstrap-utilities_5_3_8.css @@ -0,0 +1,5406 @@ +/*! + * Bootstrap Utilities v5.3.8 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root, +[data-bs-theme=light] { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-black: #000; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #0d6efd; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-primary-text-emphasis: #052c65; + --bs-secondary-text-emphasis: #2b2f32; + --bs-success-text-emphasis: #0a3622; + --bs-info-text-emphasis: #055160; + --bs-warning-text-emphasis: #664d03; + --bs-danger-text-emphasis: #58151c; + --bs-light-text-emphasis: #495057; + --bs-dark-text-emphasis: #495057; + --bs-primary-bg-subtle: #cfe2ff; + --bs-secondary-bg-subtle: #e2e3e5; + --bs-success-bg-subtle: #d1e7dd; + --bs-info-bg-subtle: #cff4fc; + --bs-warning-bg-subtle: #fff3cd; + --bs-danger-bg-subtle: #f8d7da; + --bs-light-bg-subtle: #fcfcfd; + --bs-dark-bg-subtle: #ced4da; + --bs-primary-border-subtle: #9ec5fe; + --bs-secondary-border-subtle: #c4c8cb; + --bs-success-border-subtle: #a3cfbb; + --bs-info-border-subtle: #9eeaf9; + --bs-warning-border-subtle: #ffe69c; + --bs-danger-border-subtle: #f1aeb5; + --bs-light-border-subtle: #e9ecef; + --bs-dark-border-subtle: #adb5bd; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #212529; + --bs-body-color-rgb: 33, 37, 41; + --bs-body-bg: #fff; + --bs-body-bg-rgb: 255, 255, 255; + --bs-emphasis-color: #000; + --bs-emphasis-color-rgb: 0, 0, 0; + --bs-secondary-color: rgba(33, 37, 41, 0.75); + --bs-secondary-color-rgb: 33, 37, 41; + --bs-secondary-bg: #e9ecef; + --bs-secondary-bg-rgb: 233, 236, 239; + --bs-tertiary-color: rgba(33, 37, 41, 0.5); + --bs-tertiary-color-rgb: 33, 37, 41; + --bs-tertiary-bg: #f8f9fa; + --bs-tertiary-bg-rgb: 248, 249, 250; + --bs-heading-color: inherit; + --bs-link-color: #0d6efd; + --bs-link-color-rgb: 13, 110, 253; + --bs-link-decoration: underline; + --bs-link-hover-color: #0a58ca; + --bs-link-hover-color-rgb: 10, 88, 202; + --bs-code-color: #d63384; + --bs-highlight-color: #212529; + --bs-highlight-bg: #fff3cd; + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #dee2e6; + --bs-border-color-translucent: rgba(0, 0, 0, 0.175); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-xxl: 2rem; + --bs-border-radius-2xl: var(--bs-border-radius-xxl); + --bs-border-radius-pill: 50rem; + --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); + --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-focus-ring-width: 0.25rem; + --bs-focus-ring-opacity: 0.25; + --bs-focus-ring-color: rgba(13, 110, 253, 0.25); + --bs-form-valid-color: #198754; + --bs-form-valid-border-color: #198754; + --bs-form-invalid-color: #dc3545; + --bs-form-invalid-border-color: #dc3545; +} + +[data-bs-theme=dark] { + color-scheme: dark; + --bs-body-color: #dee2e6; + --bs-body-color-rgb: 222, 226, 230; + --bs-body-bg: #212529; + --bs-body-bg-rgb: 33, 37, 41; + --bs-emphasis-color: #fff; + --bs-emphasis-color-rgb: 255, 255, 255; + --bs-secondary-color: rgba(222, 226, 230, 0.75); + --bs-secondary-color-rgb: 222, 226, 230; + --bs-secondary-bg: #343a40; + --bs-secondary-bg-rgb: 52, 58, 64; + --bs-tertiary-color: rgba(222, 226, 230, 0.5); + --bs-tertiary-color-rgb: 222, 226, 230; + --bs-tertiary-bg: #2b3035; + --bs-tertiary-bg-rgb: 43, 48, 53; + --bs-primary-text-emphasis: #6ea8fe; + --bs-secondary-text-emphasis: #a7acb1; + --bs-success-text-emphasis: #75b798; + --bs-info-text-emphasis: #6edff6; + --bs-warning-text-emphasis: #ffda6a; + --bs-danger-text-emphasis: #ea868f; + --bs-light-text-emphasis: #f8f9fa; + --bs-dark-text-emphasis: #dee2e6; + --bs-primary-bg-subtle: #031633; + --bs-secondary-bg-subtle: #161719; + --bs-success-bg-subtle: #051b11; + --bs-info-bg-subtle: #032830; + --bs-warning-bg-subtle: #332701; + --bs-danger-bg-subtle: #2c0b0e; + --bs-light-bg-subtle: #343a40; + --bs-dark-bg-subtle: #1a1d20; + --bs-primary-border-subtle: #084298; + --bs-secondary-border-subtle: #41464b; + --bs-success-border-subtle: #0f5132; + --bs-info-border-subtle: #087990; + --bs-warning-border-subtle: #997404; + --bs-danger-border-subtle: #842029; + --bs-light-border-subtle: #495057; + --bs-dark-border-subtle: #343a40; + --bs-heading-color: inherit; + --bs-link-color: #6ea8fe; + --bs-link-hover-color: #8bb9fe; + --bs-link-color-rgb: 110, 168, 254; + --bs-link-hover-color-rgb: 139, 185, 254; + --bs-code-color: #e685b5; + --bs-highlight-color: #dee2e6; + --bs-highlight-bg: #664d03; + --bs-border-color: #495057; + --bs-border-color-translucent: rgba(255, 255, 255, 0.15); + --bs-form-valid-color: #75b798; + --bs-form-valid-border-color: #75b798; + --bs-form-invalid-color: #ea868f; + --bs-form-invalid-border-color: #ea868f; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.text-bg-primary { + color: #fff !important; + background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-secondary { + color: #fff !important; + background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-success { + color: #fff !important; + background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-info { + color: #000 !important; + background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-warning { + color: #000 !important; + background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-danger { + color: #fff !important; + background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-light { + color: #000 !important; + background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-dark { + color: #fff !important; + background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.link-primary { + color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-primary:hover, .link-primary:focus { + color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-secondary { + color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-secondary:hover, .link-secondary:focus { + color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-success { + color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-success:hover, .link-success:focus { + color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-info { + color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-info:hover, .link-info:focus { + color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-warning { + color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-warning:hover, .link-warning:focus { + color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-danger { + color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-danger:hover, .link-danger:focus { + color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-light { + color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-light:hover, .link-light:focus { + color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-dark { + color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-dark:hover, .link-dark:focus { + color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-body-emphasis { + color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-body-emphasis:hover, .link-body-emphasis:focus { + color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important; + text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important; +} + +.focus-ring:focus { + outline: 0; + box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color); +} + +.icon-link { + display: inline-flex; + gap: 0.375rem; + align-items: center; + -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5)); + text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5)); + text-underline-offset: 0.25em; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.icon-link > .bi { + flex-shrink: 0; + width: 1em; + height: 1em; + fill: currentcolor; + transition: 0.2s ease-in-out transform; +} +@media (prefers-reduced-motion: reduce) { + .icon-link > .bi { + transition: none; + } +} + +.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi { + transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0)); +} + +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; +} +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} + +.ratio-4x3 { + --bs-aspect-ratio: 75%; +} + +.ratio-16x9 { + --bs-aspect-ratio: 56.25%; +} + +.ratio-21x9 { + --bs-aspect-ratio: 42.8571428571%; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} + +.sticky-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-sm-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-md-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-lg-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xxl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} +.visually-hidden:not(caption), +.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) { + position: absolute !important; +} +.visually-hidden *, +.visually-hidden-focusable:not(:focus):not(:focus-within) * { + overflow: hidden !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ""; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.vr { + display: inline-block; + align-self: stretch; + width: var(--bs-border-width); + min-height: 1em; + background-color: currentcolor; + opacity: 0.25; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.float-start { + float: left !important; +} + +.float-end { + float: right !important; +} + +.float-none { + float: none !important; +} + +.object-fit-contain { + -o-object-fit: contain !important; + object-fit: contain !important; +} + +.object-fit-cover { + -o-object-fit: cover !important; + object-fit: cover !important; +} + +.object-fit-fill { + -o-object-fit: fill !important; + object-fit: fill !important; +} + +.object-fit-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; +} + +.object-fit-none { + -o-object-fit: none !important; + object-fit: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.overflow-x-auto { + overflow-x: auto !important; +} + +.overflow-x-hidden { + overflow-x: hidden !important; +} + +.overflow-x-visible { + overflow-x: visible !important; +} + +.overflow-x-scroll { + overflow-x: scroll !important; +} + +.overflow-y-auto { + overflow-y: auto !important; +} + +.overflow-y-hidden { + overflow-y: hidden !important; +} + +.overflow-y-visible { + overflow-y: visible !important; +} + +.overflow-y-scroll { + overflow-y: scroll !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: var(--bs-box-shadow) !important; +} + +.shadow-sm { + box-shadow: var(--bs-box-shadow-sm) !important; +} + +.shadow-lg { + box-shadow: var(--bs-box-shadow-lg) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.focus-ring-primary { + --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-secondary { + --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-success { + --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-info { + --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-warning { + --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-danger { + --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-light { + --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-dark { + --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity)); +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + left: 0 !important; +} + +.start-50 { + left: 50% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-50 { + right: 50% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.border { + border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-end-0 { + border-right: 0 !important; +} + +.border-bottom { + border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-start-0 { + border-left: 0 !important; +} + +.border-primary { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important; +} + +.border-secondary { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important; +} + +.border-success { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important; +} + +.border-info { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important; +} + +.border-warning { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important; +} + +.border-danger { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important; +} + +.border-light { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important; +} + +.border-dark { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; +} + +.border-black { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important; +} + +.border-white { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; +} + +.border-primary-subtle { + border-color: var(--bs-primary-border-subtle) !important; +} + +.border-secondary-subtle { + border-color: var(--bs-secondary-border-subtle) !important; +} + +.border-success-subtle { + border-color: var(--bs-success-border-subtle) !important; +} + +.border-info-subtle { + border-color: var(--bs-info-border-subtle) !important; +} + +.border-warning-subtle { + border-color: var(--bs-warning-border-subtle) !important; +} + +.border-danger-subtle { + border-color: var(--bs-danger-border-subtle) !important; +} + +.border-light-subtle { + border-color: var(--bs-light-border-subtle) !important; +} + +.border-dark-subtle { + border-color: var(--bs-dark-border-subtle) !important; +} + +.border-1 { + border-width: 1px !important; +} + +.border-2 { + border-width: 2px !important; +} + +.border-3 { + border-width: 3px !important; +} + +.border-4 { + border-width: 4px !important; +} + +.border-5 { + border-width: 5px !important; +} + +.border-opacity-10 { + --bs-border-opacity: 0.1; +} + +.border-opacity-25 { + --bs-border-opacity: 0.25; +} + +.border-opacity-50 { + --bs-border-opacity: 0.5; +} + +.border-opacity-75 { + --bs-border-opacity: 0.75; +} + +.border-opacity-100 { + --bs-border-opacity: 1; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.vh-100 { + height: 100vh !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 1rem !important; +} + +.me-4 { + margin-right: 1.5rem !important; +} + +.me-5 { + margin-right: 3rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 1rem !important; +} + +.ms-4 { + margin-left: 1.5rem !important; +} + +.ms-5 { + margin-left: 3rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 3rem !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +.row-gap-0 { + row-gap: 0 !important; +} + +.row-gap-1 { + row-gap: 0.25rem !important; +} + +.row-gap-2 { + row-gap: 0.5rem !important; +} + +.row-gap-3 { + row-gap: 1rem !important; +} + +.row-gap-4 { + row-gap: 1.5rem !important; +} + +.row-gap-5 { + row-gap: 3rem !important; +} + +.column-gap-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; +} + +.column-gap-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; +} + +.column-gap-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; +} + +.column-gap-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; +} + +.column-gap-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; +} + +.column-gap-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; +} + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc(1.375rem + 1.5vw) !important; +} + +.fs-2 { + font-size: calc(1.325rem + 0.9vw) !important; +} + +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} + +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} + +.fs-5 { + font-size: 1.25rem !important; +} + +.fs-6 { + font-size: 1rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-medium { + font-weight: 500 !important; +} + +.fw-semibold { + font-weight: 600 !important; +} + +.fw-bold { + font-weight: 700 !important; +} + +.fw-bolder { + font-weight: bolder !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: 1.25 !important; +} + +.lh-base { + line-height: 1.5 !important; +} + +.lh-lg { + line-height: 2 !important; +} + +.text-start { + text-align: left !important; +} + +.text-end { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} + +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} + +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} + +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} + +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} + +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} + +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} + +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} + +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} + +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} + +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-body-secondary { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} + +.text-body-tertiary { + --bs-text-opacity: 1; + color: var(--bs-tertiary-color) !important; +} + +.text-body-emphasis { + --bs-text-opacity: 1; + color: var(--bs-emphasis-color) !important; +} + +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --bs-text-opacity: 0.25; +} + +.text-opacity-50 { + --bs-text-opacity: 0.5; +} + +.text-opacity-75 { + --bs-text-opacity: 0.75; +} + +.text-opacity-100 { + --bs-text-opacity: 1; +} + +.text-primary-emphasis { + color: var(--bs-primary-text-emphasis) !important; +} + +.text-secondary-emphasis { + color: var(--bs-secondary-text-emphasis) !important; +} + +.text-success-emphasis { + color: var(--bs-success-text-emphasis) !important; +} + +.text-info-emphasis { + color: var(--bs-info-text-emphasis) !important; +} + +.text-warning-emphasis { + color: var(--bs-warning-text-emphasis) !important; +} + +.text-danger-emphasis { + color: var(--bs-danger-text-emphasis) !important; +} + +.text-light-emphasis { + color: var(--bs-light-text-emphasis) !important; +} + +.text-dark-emphasis { + color: var(--bs-dark-text-emphasis) !important; +} + +.link-opacity-10 { + --bs-link-opacity: 0.1; +} + +.link-opacity-10-hover:hover { + --bs-link-opacity: 0.1; +} + +.link-opacity-25 { + --bs-link-opacity: 0.25; +} + +.link-opacity-25-hover:hover { + --bs-link-opacity: 0.25; +} + +.link-opacity-50 { + --bs-link-opacity: 0.5; +} + +.link-opacity-50-hover:hover { + --bs-link-opacity: 0.5; +} + +.link-opacity-75 { + --bs-link-opacity: 0.75; +} + +.link-opacity-75-hover:hover { + --bs-link-opacity: 0.75; +} + +.link-opacity-100 { + --bs-link-opacity: 1; +} + +.link-opacity-100-hover:hover { + --bs-link-opacity: 1; +} + +.link-offset-1 { + text-underline-offset: 0.125em !important; +} + +.link-offset-1-hover:hover { + text-underline-offset: 0.125em !important; +} + +.link-offset-2 { + text-underline-offset: 0.25em !important; +} + +.link-offset-2-hover:hover { + text-underline-offset: 0.25em !important; +} + +.link-offset-3 { + text-underline-offset: 0.375em !important; +} + +.link-offset-3-hover:hover { + text-underline-offset: 0.375em !important; +} + +.link-underline-primary { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-secondary { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-success { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-info { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-warning { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-danger { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-light { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-dark { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-underline-opacity-0 { + --bs-link-underline-opacity: 0; +} + +.link-underline-opacity-0-hover:hover { + --bs-link-underline-opacity: 0; +} + +.link-underline-opacity-10 { + --bs-link-underline-opacity: 0.1; +} + +.link-underline-opacity-10-hover:hover { + --bs-link-underline-opacity: 0.1; +} + +.link-underline-opacity-25 { + --bs-link-underline-opacity: 0.25; +} + +.link-underline-opacity-25-hover:hover { + --bs-link-underline-opacity: 0.25; +} + +.link-underline-opacity-50 { + --bs-link-underline-opacity: 0.5; +} + +.link-underline-opacity-50-hover:hover { + --bs-link-underline-opacity: 0.5; +} + +.link-underline-opacity-75 { + --bs-link-underline-opacity: 0.75; +} + +.link-underline-opacity-75-hover:hover { + --bs-link-underline-opacity: 0.75; +} + +.link-underline-opacity-100 { + --bs-link-underline-opacity: 1; +} + +.link-underline-opacity-100-hover:hover { + --bs-link-underline-opacity: 1; +} + +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-success { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-warning { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-danger { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-body-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body-tertiary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --bs-bg-opacity: 1; +} + +.bg-primary-subtle { + background-color: var(--bs-primary-bg-subtle) !important; +} + +.bg-secondary-subtle { + background-color: var(--bs-secondary-bg-subtle) !important; +} + +.bg-success-subtle { + background-color: var(--bs-success-bg-subtle) !important; +} + +.bg-info-subtle { + background-color: var(--bs-info-bg-subtle) !important; +} + +.bg-warning-subtle { + background-color: var(--bs-warning-bg-subtle) !important; +} + +.bg-danger-subtle { + background-color: var(--bs-danger-bg-subtle) !important; +} + +.bg-light-subtle { + background-color: var(--bs-light-bg-subtle) !important; +} + +.bg-dark-subtle { + background-color: var(--bs-dark-bg-subtle) !important; +} + +.bg-gradient { + background-image: var(--bs-gradient) !important; +} + +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} + +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +.rounded { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-2 { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-3 { + border-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-4 { + border-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-5 { + border-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-top { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-top-0 { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} + +.rounded-top-1 { + border-top-left-radius: var(--bs-border-radius-sm) !important; + border-top-right-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-top-2 { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-top-3 { + border-top-left-radius: var(--bs-border-radius-lg) !important; + border-top-right-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-top-4 { + border-top-left-radius: var(--bs-border-radius-xl) !important; + border-top-right-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-top-5 { + border-top-left-radius: var(--bs-border-radius-xxl) !important; + border-top-right-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-top-circle { + border-top-left-radius: 50% !important; + border-top-right-radius: 50% !important; +} + +.rounded-top-pill { + border-top-left-radius: var(--bs-border-radius-pill) !important; + border-top-right-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-end { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-end-0 { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.rounded-end-1 { + border-top-right-radius: var(--bs-border-radius-sm) !important; + border-bottom-right-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-end-2 { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-end-3 { + border-top-right-radius: var(--bs-border-radius-lg) !important; + border-bottom-right-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-end-4 { + border-top-right-radius: var(--bs-border-radius-xl) !important; + border-bottom-right-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-end-5 { + border-top-right-radius: var(--bs-border-radius-xxl) !important; + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-end-circle { + border-top-right-radius: 50% !important; + border-bottom-right-radius: 50% !important; +} + +.rounded-end-pill { + border-top-right-radius: var(--bs-border-radius-pill) !important; + border-bottom-right-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-bottom { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom-0 { + border-bottom-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} + +.rounded-bottom-1 { + border-bottom-right-radius: var(--bs-border-radius-sm) !important; + border-bottom-left-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-bottom-2 { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom-3 { + border-bottom-right-radius: var(--bs-border-radius-lg) !important; + border-bottom-left-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-bottom-4 { + border-bottom-right-radius: var(--bs-border-radius-xl) !important; + border-bottom-left-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-bottom-5 { + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-bottom-circle { + border-bottom-right-radius: 50% !important; + border-bottom-left-radius: 50% !important; +} + +.rounded-bottom-pill { + border-bottom-right-radius: var(--bs-border-radius-pill) !important; + border-bottom-left-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-start { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start-0 { + border-bottom-left-radius: 0 !important; + border-top-left-radius: 0 !important; +} + +.rounded-start-1 { + border-bottom-left-radius: var(--bs-border-radius-sm) !important; + border-top-left-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-start-2 { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start-3 { + border-bottom-left-radius: var(--bs-border-radius-lg) !important; + border-top-left-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-start-4 { + border-bottom-left-radius: var(--bs-border-radius-xl) !important; + border-top-left-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-start-5 { + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; + border-top-left-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-start-circle { + border-bottom-left-radius: 50% !important; + border-top-left-radius: 50% !important; +} + +.rounded-start-pill { + border-bottom-left-radius: var(--bs-border-radius-pill) !important; + border-top-left-radius: var(--bs-border-radius-pill) !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +.z-n1 { + z-index: -1 !important; +} + +.z-0 { + z-index: 0 !important; +} + +.z-1 { + z-index: 1 !important; +} + +.z-2 { + z-index: 2 !important; +} + +.z-3 { + z-index: 3 !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .object-fit-sm-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-sm-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-sm-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-sm-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-sm-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 3rem !important; + } + .row-gap-sm-0 { + row-gap: 0 !important; + } + .row-gap-sm-1 { + row-gap: 0.25rem !important; + } + .row-gap-sm-2 { + row-gap: 0.5rem !important; + } + .row-gap-sm-3 { + row-gap: 1rem !important; + } + .row-gap-sm-4 { + row-gap: 1.5rem !important; + } + .row-gap-sm-5 { + row-gap: 3rem !important; + } + .column-gap-sm-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-sm-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-sm-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-sm-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-sm-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-sm-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .object-fit-md-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-md-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-md-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-md-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-md-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 3rem !important; + } + .row-gap-md-0 { + row-gap: 0 !important; + } + .row-gap-md-1 { + row-gap: 0.25rem !important; + } + .row-gap-md-2 { + row-gap: 0.5rem !important; + } + .row-gap-md-3 { + row-gap: 1rem !important; + } + .row-gap-md-4 { + row-gap: 1.5rem !important; + } + .row-gap-md-5 { + row-gap: 3rem !important; + } + .column-gap-md-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-md-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-md-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-md-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-md-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-md-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .object-fit-lg-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-lg-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-lg-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-lg-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-lg-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 3rem !important; + } + .row-gap-lg-0 { + row-gap: 0 !important; + } + .row-gap-lg-1 { + row-gap: 0.25rem !important; + } + .row-gap-lg-2 { + row-gap: 0.5rem !important; + } + .row-gap-lg-3 { + row-gap: 1rem !important; + } + .row-gap-lg-4 { + row-gap: 1.5rem !important; + } + .row-gap-lg-5 { + row-gap: 3rem !important; + } + .column-gap-lg-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-lg-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-lg-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-lg-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-lg-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-lg-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .object-fit-xl-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-xl-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-xl-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-xl-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-xl-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 3rem !important; + } + .row-gap-xl-0 { + row-gap: 0 !important; + } + .row-gap-xl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xl-3 { + row-gap: 1rem !important; + } + .row-gap-xl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xl-5 { + row-gap: 3rem !important; + } + .column-gap-xl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-xl-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-xl-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-xl-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-xl-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-xl-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .object-fit-xxl-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-xxl-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-xxl-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-xxl-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-xxl-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 3rem !important; + } + .row-gap-xxl-0 { + row-gap: 0 !important; + } + .row-gap-xxl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xxl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xxl-3 { + row-gap: 1rem !important; + } + .row-gap-xxl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xxl-5 { + row-gap: 3rem !important; + } + .column-gap-xxl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-xxl-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-xxl-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-xxl-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-xxl-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-xxl-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-xxl-start { + text-align: left !important; + } + .text-xxl-end { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 2.5rem !important; + } + .fs-2 { + font-size: 2rem !important; + } + .fs-3 { + font-size: 1.75rem !important; + } + .fs-4 { + font-size: 1.5rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} + +/*# sourceMappingURL=bootstrap-utilities.css.map */ \ No newline at end of file diff --git a/src/test/resources/realworld/bootstrap-utilities_5_3_8.min.css b/src/test/resources/realworld/bootstrap-utilities_5_3_8.min.css new file mode 100644 index 0000000..e8b9810 --- /dev/null +++ b/src/test/resources/realworld/bootstrap-utilities_5_3_8.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap Utilities v5.3.8 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap-utilities.min.css.map */ \ No newline at end of file diff --git a/src/test/resources/realworld/bootstrap_5_3_8.css b/src/test/resources/realworld/bootstrap_5_3_8.css new file mode 100644 index 0000000..b83f507 --- /dev/null +++ b/src/test/resources/realworld/bootstrap_5_3_8.css @@ -0,0 +1,12048 @@ +@charset "UTF-8"; +/*! + * Bootstrap v5.3.8 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root, +[data-bs-theme=light] { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-black: #000; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #0d6efd; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-primary-text-emphasis: #052c65; + --bs-secondary-text-emphasis: #2b2f32; + --bs-success-text-emphasis: #0a3622; + --bs-info-text-emphasis: #055160; + --bs-warning-text-emphasis: #664d03; + --bs-danger-text-emphasis: #58151c; + --bs-light-text-emphasis: #495057; + --bs-dark-text-emphasis: #495057; + --bs-primary-bg-subtle: #cfe2ff; + --bs-secondary-bg-subtle: #e2e3e5; + --bs-success-bg-subtle: #d1e7dd; + --bs-info-bg-subtle: #cff4fc; + --bs-warning-bg-subtle: #fff3cd; + --bs-danger-bg-subtle: #f8d7da; + --bs-light-bg-subtle: #fcfcfd; + --bs-dark-bg-subtle: #ced4da; + --bs-primary-border-subtle: #9ec5fe; + --bs-secondary-border-subtle: #c4c8cb; + --bs-success-border-subtle: #a3cfbb; + --bs-info-border-subtle: #9eeaf9; + --bs-warning-border-subtle: #ffe69c; + --bs-danger-border-subtle: #f1aeb5; + --bs-light-border-subtle: #e9ecef; + --bs-dark-border-subtle: #adb5bd; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #212529; + --bs-body-color-rgb: 33, 37, 41; + --bs-body-bg: #fff; + --bs-body-bg-rgb: 255, 255, 255; + --bs-emphasis-color: #000; + --bs-emphasis-color-rgb: 0, 0, 0; + --bs-secondary-color: rgba(33, 37, 41, 0.75); + --bs-secondary-color-rgb: 33, 37, 41; + --bs-secondary-bg: #e9ecef; + --bs-secondary-bg-rgb: 233, 236, 239; + --bs-tertiary-color: rgba(33, 37, 41, 0.5); + --bs-tertiary-color-rgb: 33, 37, 41; + --bs-tertiary-bg: #f8f9fa; + --bs-tertiary-bg-rgb: 248, 249, 250; + --bs-heading-color: inherit; + --bs-link-color: #0d6efd; + --bs-link-color-rgb: 13, 110, 253; + --bs-link-decoration: underline; + --bs-link-hover-color: #0a58ca; + --bs-link-hover-color-rgb: 10, 88, 202; + --bs-code-color: #d63384; + --bs-highlight-color: #212529; + --bs-highlight-bg: #fff3cd; + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #dee2e6; + --bs-border-color-translucent: rgba(0, 0, 0, 0.175); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-xxl: 2rem; + --bs-border-radius-2xl: var(--bs-border-radius-xxl); + --bs-border-radius-pill: 50rem; + --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); + --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-focus-ring-width: 0.25rem; + --bs-focus-ring-opacity: 0.25; + --bs-focus-ring-color: rgba(13, 110, 253, 0.25); + --bs-form-valid-color: #198754; + --bs-form-valid-border-color: #198754; + --bs-form-invalid-color: #dc3545; + --bs-form-invalid-border-color: #dc3545; +} + +[data-bs-theme=dark] { + color-scheme: dark; + --bs-body-color: #dee2e6; + --bs-body-color-rgb: 222, 226, 230; + --bs-body-bg: #212529; + --bs-body-bg-rgb: 33, 37, 41; + --bs-emphasis-color: #fff; + --bs-emphasis-color-rgb: 255, 255, 255; + --bs-secondary-color: rgba(222, 226, 230, 0.75); + --bs-secondary-color-rgb: 222, 226, 230; + --bs-secondary-bg: #343a40; + --bs-secondary-bg-rgb: 52, 58, 64; + --bs-tertiary-color: rgba(222, 226, 230, 0.5); + --bs-tertiary-color-rgb: 222, 226, 230; + --bs-tertiary-bg: #2b3035; + --bs-tertiary-bg-rgb: 43, 48, 53; + --bs-primary-text-emphasis: #6ea8fe; + --bs-secondary-text-emphasis: #a7acb1; + --bs-success-text-emphasis: #75b798; + --bs-info-text-emphasis: #6edff6; + --bs-warning-text-emphasis: #ffda6a; + --bs-danger-text-emphasis: #ea868f; + --bs-light-text-emphasis: #f8f9fa; + --bs-dark-text-emphasis: #dee2e6; + --bs-primary-bg-subtle: #031633; + --bs-secondary-bg-subtle: #161719; + --bs-success-bg-subtle: #051b11; + --bs-info-bg-subtle: #032830; + --bs-warning-bg-subtle: #332701; + --bs-danger-bg-subtle: #2c0b0e; + --bs-light-bg-subtle: #343a40; + --bs-dark-bg-subtle: #1a1d20; + --bs-primary-border-subtle: #084298; + --bs-secondary-border-subtle: #41464b; + --bs-success-border-subtle: #0f5132; + --bs-info-border-subtle: #087990; + --bs-warning-border-subtle: #997404; + --bs-danger-border-subtle: #842029; + --bs-light-border-subtle: #495057; + --bs-dark-border-subtle: #343a40; + --bs-heading-color: inherit; + --bs-link-color: #6ea8fe; + --bs-link-hover-color: #8bb9fe; + --bs-link-color-rgb: 110, 168, 254; + --bs-link-hover-color-rgb: 139, 185, 254; + --bs-code-color: #e685b5; + --bs-highlight-color: #dee2e6; + --bs-highlight-bg: #664d03; + --bs-border-color: #495057; + --bs-border-color-translucent: rgba(255, 255, 255, 0.15); + --bs-form-valid-color: #75b798; + --bs-form-valid-border-color: #75b798; + --bs-form-invalid-color: #ea868f; + --bs-form-invalid-border-color: #ea868f; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: var(--bs-border-width) solid; + opacity: 0.25; +} + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; + color: var(--bs-heading-color); +} + +h1, .h1 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + h1, .h1 { + font-size: 2.5rem; + } +} + +h2, .h2 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + h2, .h2 { + font-size: 2rem; + } +} + +h3, .h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h3, .h3 { + font-size: 1.75rem; + } +} + +h4, .h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + h4, .h4 { + font-size: 1.5rem; + } +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small, .small { + font-size: 0.875em; +} + +mark, .mark { + padding: 0.1875em; + color: var(--bs-highlight-color); + background-color: var(--bs-highlight-bg); +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); + text-decoration: underline; +} +a:hover { + --bs-link-color-rgb: var(--bs-link-hover-color-rgb); +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: var(--bs-code-color); + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.1875rem 0.375rem; + font-size: 0.875em; + color: var(--bs-body-bg); + background-color: var(--bs-body-color); + border-radius: 0.25rem; +} +kbd kbd { + padding: 0; + font-size: 1em; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-secondary-color); + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + line-height: inherit; + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + -webkit-appearance: textfield; + outline-offset: -2px; +} +[type=search]::-webkit-search-cancel-button { + cursor: pointer; + filter: grayscale(1); +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.625rem + 4.5vw); +} +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} + +.display-2 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.575rem + 3.9vw); +} +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} + +.display-3 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.525rem + 3.3vw); +} +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} + +.display-4 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.475rem + 2.7vw); +} +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} + +.display-5 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.425rem + 2.1vw); +} +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} + +.display-6 { + font-weight: 300; + line-height: 1.2; + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #6c757d; +} +.blockquote-footer::before { + content: "— "; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: var(--bs-body-bg); + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 0.875em; + color: var(--bs-secondary-color); +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} + +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.33333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.table { + --bs-table-color-type: initial; + --bs-table-bg-type: initial; + --bs-table-color-state: initial; + --bs-table-bg-state: initial; + --bs-table-color: var(--bs-emphasis-color); + --bs-table-bg: var(--bs-body-bg); + --bs-table-border-color: var(--bs-border-color); + --bs-table-accent-bg: transparent; + --bs-table-striped-color: var(--bs-emphasis-color); + --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05); + --bs-table-active-color: var(--bs-emphasis-color); + --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1); + --bs-table-hover-color: var(--bs-emphasis-color); + --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075); + width: 100%; + margin-bottom: 1rem; + vertical-align: top; + border-color: var(--bs-table-border-color); +} +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color))); + background-color: var(--bs-table-bg); + border-bottom-width: var(--bs-border-width); + box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg))); +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} + +.table-group-divider { + border-top: calc(var(--bs-border-width) * 2) solid currentcolor; +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} + +.table-bordered > :not(caption) > * { + border-width: var(--bs-border-width) 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 var(--bs-border-width); +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(odd) > * { + --bs-table-color-type: var(--bs-table-striped-color); + --bs-table-bg-type: var(--bs-table-striped-bg); +} + +.table-striped-columns > :not(caption) > tr > :nth-child(even) { + --bs-table-color-type: var(--bs-table-striped-color); + --bs-table-bg-type: var(--bs-table-striped-bg); +} + +.table-active { + --bs-table-color-state: var(--bs-table-active-color); + --bs-table-bg-state: var(--bs-table-active-bg); +} + +.table-hover > tbody > tr:hover > * { + --bs-table-color-state: var(--bs-table-hover-color); + --bs-table-bg-state: var(--bs-table-hover-bg); +} + +.table-primary { + --bs-table-color: #000; + --bs-table-bg: #cfe2ff; + --bs-table-border-color: #a6b5cc; + --bs-table-striped-bg: #c5d7f2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bacbe6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfd1ec; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-secondary { + --bs-table-color: #000; + --bs-table-bg: #e2e3e5; + --bs-table-border-color: #b5b6b7; + --bs-table-striped-bg: #d7d8da; + --bs-table-striped-color: #000; + --bs-table-active-bg: #cbccce; + --bs-table-active-color: #000; + --bs-table-hover-bg: #d1d2d4; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-success { + --bs-table-color: #000; + --bs-table-bg: #d1e7dd; + --bs-table-border-color: #a7b9b1; + --bs-table-striped-bg: #c7dbd2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bcd0c7; + --bs-table-active-color: #000; + --bs-table-hover-bg: #c1d6cc; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-info { + --bs-table-color: #000; + --bs-table-bg: #cff4fc; + --bs-table-border-color: #a6c3ca; + --bs-table-striped-bg: #c5e8ef; + --bs-table-striped-color: #000; + --bs-table-active-bg: #badce3; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfe2e9; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-warning { + --bs-table-color: #000; + --bs-table-bg: #fff3cd; + --bs-table-border-color: #ccc2a4; + --bs-table-striped-bg: #f2e7c3; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e6dbb9; + --bs-table-active-color: #000; + --bs-table-hover-bg: #ece1be; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-danger { + --bs-table-color: #000; + --bs-table-bg: #f8d7da; + --bs-table-border-color: #c6acae; + --bs-table-striped-bg: #eccccf; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfc2c4; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5c7ca; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-light { + --bs-table-color: #000; + --bs-table-bg: #f8f9fa; + --bs-table-border-color: #c6c7c8; + --bs-table-striped-bg: #ecedee; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfe0e1; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5e6e7; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-dark { + --bs-table-color: #fff; + --bs-table-bg: #212529; + --bs-table-border-color: #4d5154; + --bs-table-striped-bg: #2c3034; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #373b3e; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #323539; + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; +} + +.col-form-label { + padding-top: calc(0.375rem + var(--bs-border-width)); + padding-bottom: calc(0.375rem + var(--bs-border-width)); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + var(--bs-border-width)); + padding-bottom: calc(0.5rem + var(--bs-border-width)); + font-size: 1.25rem; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + var(--bs-border-width)); + padding-bottom: calc(0.25rem + var(--bs-border-width)); + font-size: 0.875rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--bs-secondary-color); +} + +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--bs-body-color); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: var(--bs-body-bg); + background-clip: padding-box; + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type=file] { + overflow: hidden; +} +.form-control[type=file]:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + color: var(--bs-body-color); + background-color: var(--bs-body-bg); + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-control::-webkit-date-and-time-value { + min-width: 85px; + height: 1.5em; + margin: 0; +} +.form-control::-webkit-datetime-edit { + display: block; + padding: 0; +} +.form-control::placeholder { + color: var(--bs-secondary-color); + opacity: 1; +} +.form-control:disabled { + background-color: var(--bs-secondary-bg); + opacity: 1; +} +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: var(--bs-body-color); + background-color: var(--bs-tertiary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--bs-border-width); + border-radius: 0; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +.form-control::file-selector-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: var(--bs-body-color); + background-color: var(--bs-tertiary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--bs-border-width); + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: var(--bs-secondary-bg); +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: var(--bs-secondary-bg); +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + line-height: 1.5; + color: var(--bs-body-color); + background-color: transparent; + border: solid transparent; + border-width: var(--bs-border-width) 0; +} +.form-control-plaintext:focus { + outline: 0; +} +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: var(--bs-border-radius-sm); +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-sm::file-selector-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} + +.form-control-lg { + min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: var(--bs-border-radius-lg); +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +.form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} + +textarea.form-control { + min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2)); +} +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); +} +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); +} + +.form-control-color { + width: 3rem; + height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2)); + padding: 0.375rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + border: 0 !important; + border-radius: var(--bs-border-radius); +} +.form-control-color::-webkit-color-swatch { + border: 0 !important; + border-radius: var(--bs-border-radius); +} +.form-control-color.form-control-sm { + height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); +} +.form-control-color.form-control-lg { + height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); +} + +.form-select { + --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + display: block; + width: 100%; + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--bs-body-color); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: var(--bs-body-bg); + background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 0.75rem; + background-image: none; +} +.form-select:disabled { + background-color: var(--bs-secondary-bg); +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 var(--bs-body-color); +} + +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; + border-radius: var(--bs-border-radius-sm); +} + +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; + border-radius: var(--bs-border-radius-lg); +} + +[data-bs-theme=dark] .form-select { + --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); +} + +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} + +.form-check-reverse { + padding-right: 1.5em; + padding-left: 0; + text-align: right; +} +.form-check-reverse .form-check-input { + float: right; + margin-right: -1.5em; + margin-left: 0; +} + +.form-check-input { + --bs-form-check-bg: var(--bs-body-bg); + flex-shrink: 0; + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: var(--bs-form-check-bg); + background-image: var(--bs-form-check-bg-image); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: var(--bs-border-width) solid var(--bs-border-color); + -webkit-print-color-adjust: exact; + color-adjust: exact; + print-color-adjust: exact; +} +.form-check-input[type=checkbox] { + border-radius: 0.25em; +} +.form-check-input[type=radio] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-check-input:checked { + background-color: #0d6efd; + border-color: #0d6efd; +} +.form-check-input:checked[type=checkbox] { + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type=radio] { + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-check-input[type=checkbox]:indeterminate { + background-color: #0d6efd; + border-color: #0d6efd; + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + cursor: default; + opacity: 0.5; +} + +.form-switch { + padding-left: 2.5em; +} +.form-switch .form-check-input { + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + width: 2em; + margin-left: -2.5em; + background-image: var(--bs-form-switch-bg); + background-position: left center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-switch.form-check-reverse { + padding-right: 2.5em; + padding-left: 0; +} +.form-switch.form-check-reverse .form-check-input { + margin-right: -2.5em; + margin-left: 0; +} + +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check[disabled] + .btn, .btn-check:disabled + .btn { + pointer-events: none; + filter: none; + opacity: 0.65; +} + +[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) { + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e"); +} + +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: transparent; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + -webkit-appearance: none; + appearance: none; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: #b6d4fe; +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: var(--bs-secondary-bg); + border-color: transparent; + border-radius: 1rem; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + -moz-appearance: none; + appearance: none; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: #b6d4fe; +} +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: var(--bs-secondary-bg); + border-color: transparent; + border-radius: 1rem; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: var(--bs-secondary-color); +} +.form-range:disabled::-moz-range-thumb { + background-color: var(--bs-secondary-color); +} + +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: calc(3.5rem + calc(var(--bs-border-width) * 2)); + min-height: calc(3.5rem + calc(var(--bs-border-width) * 2)); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + z-index: 2; + max-width: 100%; + height: 100%; + padding: 1rem 0.75rem; + overflow: hidden; + color: rgba(var(--bs-body-color-rgb), 0.65); + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + border: var(--bs-border-width) solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 0.75rem; +} +.form-floating > .form-control::placeholder, +.form-floating > .form-control-plaintext::placeholder { + color: transparent; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill, +.form-floating > .form-control-plaintext:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; + padding-left: 0.75rem; +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-select ~ label { + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > textarea:focus ~ label::after, +.form-floating > textarea:not(:placeholder-shown) ~ label::after { + position: absolute; + inset: 1rem 0.375rem; + z-index: -1; + height: 1.5em; + content: ""; + background-color: var(--bs-body-bg); + border-radius: var(--bs-border-radius); +} +.form-floating > textarea:disabled ~ label::after { + background-color: var(--bs-secondary-bg); +} +.form-floating > .form-control-plaintext ~ label { + border-width: var(--bs-border-width) 0; +} +.form-floating > :disabled ~ label, +.form-floating > .form-control:disabled ~ label { + color: #6c757d; +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select, +.input-group > .form-floating { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus, +.input-group > .form-floating:focus-within { + z-index: 5; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 5; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: var(--bs-body-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-tertiary-bg); + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: var(--bs-border-radius-lg); +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: var(--bs-border-radius-sm); +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4), +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control, +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: calc(-1 * var(--bs-border-width)); + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group > .form-floating:not(:first-child) > .form-control, +.input-group > .form-floating:not(:first-child) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--bs-form-valid-color); +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: var(--bs-success); + border-radius: var(--bs-border-radius); +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: var(--bs-form-valid-border-color); + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: var(--bs-form-valid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: var(--bs-form-valid-border-color); +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e"); + padding-right: 4.125rem; + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: var(--bs-form-valid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} + +.was-validated .form-control-color:valid, .form-control-color.is-valid { + width: calc(3rem + calc(1.5em + 0.75rem)); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: var(--bs-form-valid-border-color); +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: var(--bs-form-valid-color); +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: var(--bs-form-valid-color); +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, +.was-validated .input-group > .form-select:not(:focus):valid, +.input-group > .form-select:not(:focus).is-valid, +.was-validated .input-group > .form-floating:not(:focus-within):valid, +.input-group > .form-floating:not(:focus-within).is-valid { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--bs-form-invalid-color); +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: var(--bs-danger); + border-radius: var(--bs-border-radius); +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: var(--bs-form-invalid-border-color); + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: var(--bs-form-invalid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: var(--bs-form-invalid-border-color); +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + padding-right: 4.125rem; + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: var(--bs-form-invalid-border-color); + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} + +.was-validated .form-control-color:invalid, .form-control-color.is-invalid { + width: calc(3rem + calc(1.5em + 0.75rem)); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: var(--bs-form-invalid-border-color); +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: var(--bs-form-invalid-color); +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: var(--bs-form-invalid-color); +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, +.was-validated .input-group > .form-select:not(:focus):invalid, +.input-group > .form-select:not(:focus).is-invalid, +.was-validated .input-group > .form-floating:not(:focus-within):invalid, +.input-group > .form-floating:not(:focus-within).is-invalid { + z-index: 4; +} + +.btn { + --bs-btn-padding-x: 0.75rem; + --bs-btn-padding-y: 0.375rem; + --bs-btn-font-family: ; + --bs-btn-font-size: 1rem; + --bs-btn-font-weight: 400; + --bs-btn-line-height: 1.5; + --bs-btn-color: var(--bs-body-color); + --bs-btn-bg: transparent; + --bs-btn-border-width: var(--bs-border-width); + --bs-btn-border-color: transparent; + --bs-btn-border-radius: var(--bs-border-radius); + --bs-btn-hover-border-color: transparent; + --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --bs-btn-disabled-opacity: 0.65; + --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); + font-family: var(--bs-btn-font-family); + font-size: var(--bs-btn-font-size); + font-weight: var(--bs-btn-font-weight); + line-height: var(--bs-btn-line-height); + color: var(--bs-btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); + border-radius: var(--bs-btn-border-radius); + background-color: var(--bs-btn-bg); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); +} +.btn-check + .btn:hover { + color: var(--bs-btn-color); + background-color: var(--bs-btn-bg); + border-color: var(--bs-btn-border-color); +} +.btn:focus-visible { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:focus-visible + .btn { + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show { + color: var(--bs-btn-active-color); + background-color: var(--bs-btn-active-bg); + border-color: var(--bs-btn-active-border-color); +} +.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:checked:focus-visible + .btn { + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + color: var(--bs-btn-disabled-color); + pointer-events: none; + background-color: var(--bs-btn-disabled-bg); + border-color: var(--bs-btn-disabled-border-color); + opacity: var(--bs-btn-disabled-opacity); +} + +.btn-primary { + --bs-btn-color: #fff; + --bs-btn-bg: #0d6efd; + --bs-btn-border-color: #0d6efd; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #0b5ed7; + --bs-btn-hover-border-color: #0a58ca; + --bs-btn-focus-shadow-rgb: 49, 132, 253; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #0a58ca; + --bs-btn-active-border-color: #0a53be; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #0d6efd; + --bs-btn-disabled-border-color: #0d6efd; +} + +.btn-secondary { + --bs-btn-color: #fff; + --bs-btn-bg: #6c757d; + --bs-btn-border-color: #6c757d; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #5c636a; + --bs-btn-hover-border-color: #565e64; + --bs-btn-focus-shadow-rgb: 130, 138, 145; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #565e64; + --bs-btn-active-border-color: #51585e; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #6c757d; + --bs-btn-disabled-border-color: #6c757d; +} + +.btn-success { + --bs-btn-color: #fff; + --bs-btn-bg: #198754; + --bs-btn-border-color: #198754; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #157347; + --bs-btn-hover-border-color: #146c43; + --bs-btn-focus-shadow-rgb: 60, 153, 110; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #146c43; + --bs-btn-active-border-color: #13653f; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #198754; + --bs-btn-disabled-border-color: #198754; +} + +.btn-info { + --bs-btn-color: #000; + --bs-btn-bg: #0dcaf0; + --bs-btn-border-color: #0dcaf0; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #31d2f2; + --bs-btn-hover-border-color: #25cff2; + --bs-btn-focus-shadow-rgb: 11, 172, 204; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #3dd5f3; + --bs-btn-active-border-color: #25cff2; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #0dcaf0; + --bs-btn-disabled-border-color: #0dcaf0; +} + +.btn-warning { + --bs-btn-color: #000; + --bs-btn-bg: #ffc107; + --bs-btn-border-color: #ffc107; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ffca2c; + --bs-btn-hover-border-color: #ffc720; + --bs-btn-focus-shadow-rgb: 217, 164, 6; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ffcd39; + --bs-btn-active-border-color: #ffc720; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #ffc107; + --bs-btn-disabled-border-color: #ffc107; +} + +.btn-danger { + --bs-btn-color: #fff; + --bs-btn-bg: #dc3545; + --bs-btn-border-color: #dc3545; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #bb2d3b; + --bs-btn-hover-border-color: #b02a37; + --bs-btn-focus-shadow-rgb: 225, 83, 97; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #b02a37; + --bs-btn-active-border-color: #a52834; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #dc3545; + --bs-btn-disabled-border-color: #dc3545; +} + +.btn-light { + --bs-btn-color: #000; + --bs-btn-bg: #f8f9fa; + --bs-btn-border-color: #f8f9fa; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #d3d4d5; + --bs-btn-hover-border-color: #c6c7c8; + --bs-btn-focus-shadow-rgb: 211, 212, 213; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #c6c7c8; + --bs-btn-active-border-color: #babbbc; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #f8f9fa; + --bs-btn-disabled-border-color: #f8f9fa; +} + +.btn-dark { + --bs-btn-color: #fff; + --bs-btn-bg: #212529; + --bs-btn-border-color: #212529; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #424649; + --bs-btn-hover-border-color: #373b3e; + --bs-btn-focus-shadow-rgb: 66, 70, 73; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #4d5154; + --bs-btn-active-border-color: #373b3e; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #212529; + --bs-btn-disabled-border-color: #212529; +} + +.btn-outline-primary { + --bs-btn-color: #0d6efd; + --bs-btn-border-color: #0d6efd; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #0d6efd; + --bs-btn-hover-border-color: #0d6efd; + --bs-btn-focus-shadow-rgb: 13, 110, 253; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #0d6efd; + --bs-btn-active-border-color: #0d6efd; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #0d6efd; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #0d6efd; + --bs-gradient: none; +} + +.btn-outline-secondary { + --bs-btn-color: #6c757d; + --bs-btn-border-color: #6c757d; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #6c757d; + --bs-btn-hover-border-color: #6c757d; + --bs-btn-focus-shadow-rgb: 108, 117, 125; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #6c757d; + --bs-btn-active-border-color: #6c757d; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #6c757d; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #6c757d; + --bs-gradient: none; +} + +.btn-outline-success { + --bs-btn-color: #198754; + --bs-btn-border-color: #198754; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #198754; + --bs-btn-hover-border-color: #198754; + --bs-btn-focus-shadow-rgb: 25, 135, 84; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #198754; + --bs-btn-active-border-color: #198754; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #198754; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #198754; + --bs-gradient: none; +} + +.btn-outline-info { + --bs-btn-color: #0dcaf0; + --bs-btn-border-color: #0dcaf0; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #0dcaf0; + --bs-btn-hover-border-color: #0dcaf0; + --bs-btn-focus-shadow-rgb: 13, 202, 240; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #0dcaf0; + --bs-btn-active-border-color: #0dcaf0; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #0dcaf0; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #0dcaf0; + --bs-gradient: none; +} + +.btn-outline-warning { + --bs-btn-color: #ffc107; + --bs-btn-border-color: #ffc107; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ffc107; + --bs-btn-hover-border-color: #ffc107; + --bs-btn-focus-shadow-rgb: 255, 193, 7; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ffc107; + --bs-btn-active-border-color: #ffc107; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #ffc107; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #ffc107; + --bs-gradient: none; +} + +.btn-outline-danger { + --bs-btn-color: #dc3545; + --bs-btn-border-color: #dc3545; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #dc3545; + --bs-btn-hover-border-color: #dc3545; + --bs-btn-focus-shadow-rgb: 220, 53, 69; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #dc3545; + --bs-btn-active-border-color: #dc3545; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #dc3545; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #dc3545; + --bs-gradient: none; +} + +.btn-outline-light { + --bs-btn-color: #f8f9fa; + --bs-btn-border-color: #f8f9fa; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f8f9fa; + --bs-btn-hover-border-color: #f8f9fa; + --bs-btn-focus-shadow-rgb: 248, 249, 250; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f8f9fa; + --bs-btn-active-border-color: #f8f9fa; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #f8f9fa; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #f8f9fa; + --bs-gradient: none; +} + +.btn-outline-dark { + --bs-btn-color: #212529; + --bs-btn-border-color: #212529; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #212529; + --bs-btn-hover-border-color: #212529; + --bs-btn-focus-shadow-rgb: 33, 37, 41; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #212529; + --bs-btn-active-border-color: #212529; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #212529; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #212529; + --bs-gradient: none; +} + +.btn-link { + --bs-btn-font-weight: 400; + --bs-btn-color: var(--bs-link-color); + --bs-btn-bg: transparent; + --bs-btn-border-color: transparent; + --bs-btn-hover-color: var(--bs-link-hover-color); + --bs-btn-hover-border-color: transparent; + --bs-btn-active-color: var(--bs-link-hover-color); + --bs-btn-active-border-color: transparent; + --bs-btn-disabled-color: #6c757d; + --bs-btn-disabled-border-color: transparent; + --bs-btn-box-shadow: 0 0 0 #000; + --bs-btn-focus-shadow-rgb: 49, 132, 253; + text-decoration: underline; +} +.btn-link:focus-visible { + color: var(--bs-btn-color); +} +.btn-link:hover { + color: var(--bs-btn-hover-color); +} + +.btn-lg, .btn-group-lg > .btn { + --bs-btn-padding-y: 0.5rem; + --bs-btn-padding-x: 1rem; + --bs-btn-font-size: 1.25rem; + --bs-btn-border-radius: var(--bs-border-radius-lg); +} + +.btn-sm, .btn-group-sm > .btn { + --bs-btn-padding-y: 0.25rem; + --bs-btn-padding-x: 0.5rem; + --bs-btn-font-size: 0.875rem; + --bs-btn-border-radius: var(--bs-border-radius-sm); +} + +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + --bs-dropdown-zindex: 1000; + --bs-dropdown-min-width: 10rem; + --bs-dropdown-padding-x: 0; + --bs-dropdown-padding-y: 0.5rem; + --bs-dropdown-spacer: 0.125rem; + --bs-dropdown-font-size: 1rem; + --bs-dropdown-color: var(--bs-body-color); + --bs-dropdown-bg: var(--bs-body-bg); + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-border-radius: var(--bs-border-radius); + --bs-dropdown-border-width: var(--bs-border-width); + --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width)); + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-divider-margin-y: 0.5rem; + --bs-dropdown-box-shadow: var(--bs-box-shadow); + --bs-dropdown-link-color: var(--bs-body-color); + --bs-dropdown-link-hover-color: var(--bs-body-color); + --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg); + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #0d6efd; + --bs-dropdown-link-disabled-color: var(--bs-tertiary-color); + --bs-dropdown-item-padding-x: 1rem; + --bs-dropdown-item-padding-y: 0.25rem; + --bs-dropdown-header-color: #6c757d; + --bs-dropdown-header-padding-x: 1rem; + --bs-dropdown-header-padding-y: 0.5rem; + position: absolute; + z-index: var(--bs-dropdown-zindex); + display: none; + min-width: var(--bs-dropdown-min-width); + padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x); + margin: 0; + font-size: var(--bs-dropdown-font-size); + color: var(--bs-dropdown-color); + text-align: left; + list-style: none; + background-color: var(--bs-dropdown-bg); + background-clip: padding-box; + border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); + border-radius: var(--bs-dropdown-border-radius); +} +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: var(--bs-dropdown-spacer); +} + +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} + +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--bs-dropdown-spacer); +} +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: var(--bs-dropdown-spacer); +} +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: var(--bs-dropdown-spacer); +} +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} +.dropstart .dropdown-toggle::after { + display: none; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: var(--bs-dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--bs-dropdown-divider-bg); + opacity: 1; +} + +.dropdown-item { + display: block; + width: 100%; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + clear: both; + font-weight: 400; + color: var(--bs-dropdown-link-color); + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; + border-radius: var(--bs-dropdown-item-border-radius, 0); +} +.dropdown-item:hover, .dropdown-item:focus { + color: var(--bs-dropdown-link-hover-color); + background-color: var(--bs-dropdown-link-hover-bg); +} +.dropdown-item.active, .dropdown-item:active { + color: var(--bs-dropdown-link-active-color); + text-decoration: none; + background-color: var(--bs-dropdown-link-active-bg); +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: var(--bs-dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x); + margin-bottom: 0; + font-size: 0.875rem; + color: var(--bs-dropdown-header-color); + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + color: var(--bs-dropdown-link-color); +} + +.dropdown-menu-dark { + --bs-dropdown-color: #dee2e6; + --bs-dropdown-bg: #343a40; + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-box-shadow: ; + --bs-dropdown-link-color: #dee2e6; + --bs-dropdown-link-hover-color: #fff; + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #0d6efd; + --bs-dropdown-link-disabled-color: #adb5bd; + --bs-dropdown-header-color: #adb5bd; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} + +.btn-group { + border-radius: var(--bs-border-radius); +} +.btn-group > :not(.btn-check:first-child) + .btn, +.btn-group > .btn-group:not(:first-child) { + margin-left: calc(-1 * var(--bs-border-width)); +} +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn.dropdown-toggle-split:first-child, +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:nth-child(n+3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} +.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: calc(-1 * var(--bs-border-width)); +} +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:nth-child(n+3), +.btn-group-vertical > :not(.btn-check) + .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav { + --bs-nav-link-padding-x: 1rem; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-link-color); + --bs-nav-link-hover-color: var(--bs-link-hover-color); + --bs-nav-link-disabled-color: var(--bs-secondary-color); + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); + font-size: var(--bs-nav-link-font-size); + font-weight: var(--bs-nav-link-font-weight); + color: var(--bs-nav-link-color); + text-decoration: none; + background: none; + border: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:hover, .nav-link:focus { + color: var(--bs-nav-link-hover-color); +} +.nav-link:focus-visible { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.nav-link.disabled, .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + pointer-events: none; + cursor: default; +} + +.nav-tabs { + --bs-nav-tabs-border-width: var(--bs-border-width); + --bs-nav-tabs-border-color: var(--bs-border-color); + --bs-nav-tabs-border-radius: var(--bs-border-radius); + --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color); + --bs-nav-tabs-link-active-color: var(--bs-emphasis-color); + --bs-nav-tabs-link-active-bg: var(--bs-body-bg); + --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg); + border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); +} +.nav-tabs .nav-link { + margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); + border: var(--bs-nav-tabs-border-width) solid transparent; + border-top-left-radius: var(--bs-nav-tabs-border-radius); + border-top-right-radius: var(--bs-nav-tabs-border-radius); +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + isolation: isolate; + border-color: var(--bs-nav-tabs-link-hover-border-color); +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: var(--bs-nav-tabs-link-active-color); + background-color: var(--bs-nav-tabs-link-active-bg); + border-color: var(--bs-nav-tabs-link-active-border-color); +} +.nav-tabs .dropdown-menu { + margin-top: calc(-1 * var(--bs-nav-tabs-border-width)); + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills { + --bs-nav-pills-border-radius: var(--bs-border-radius); + --bs-nav-pills-link-active-color: #fff; + --bs-nav-pills-link-active-bg: #0d6efd; +} +.nav-pills .nav-link { + border-radius: var(--bs-nav-pills-border-radius); +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: var(--bs-nav-pills-link-active-color); + background-color: var(--bs-nav-pills-link-active-bg); +} + +.nav-underline { + --bs-nav-underline-gap: 1rem; + --bs-nav-underline-border-width: 0.125rem; + --bs-nav-underline-link-active-color: var(--bs-emphasis-color); + gap: var(--bs-nav-underline-gap); +} +.nav-underline .nav-link { + padding-right: 0; + padding-left: 0; + border-bottom: var(--bs-nav-underline-border-width) solid transparent; +} +.nav-underline .nav-link:hover, .nav-underline .nav-link:focus { + border-bottom-color: currentcolor; +} +.nav-underline .nav-link.active, +.nav-underline .show > .nav-link { + font-weight: 700; + color: var(--bs-nav-underline-link-active-color); + border-bottom-color: currentcolor; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-grow: 1; + flex-basis: 0; + text-align: center; +} + +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} + +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} + +.navbar { + --bs-navbar-padding-x: 0; + --bs-navbar-padding-y: 0.5rem; + --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65); + --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8); + --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3); + --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1); + --bs-navbar-brand-padding-y: 0.3125rem; + --bs-navbar-brand-margin-end: 1rem; + --bs-navbar-brand-font-size: 1.25rem; + --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1); + --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1); + --bs-navbar-nav-link-padding-x: 0.5rem; + --bs-navbar-toggler-padding-y: 0.25rem; + --bs-navbar-toggler-padding-x: 0.75rem; + --bs-navbar-toggler-font-size: 1.25rem; + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15); + --bs-navbar-toggler-border-radius: var(--bs-border-radius); + --bs-navbar-toggler-focus-width: 0.25rem; + --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: var(--bs-navbar-brand-padding-y); + padding-bottom: var(--bs-navbar-brand-padding-y); + margin-right: var(--bs-navbar-brand-margin-end); + font-size: var(--bs-navbar-brand-font-size); + color: var(--bs-navbar-brand-color); + text-decoration: none; + white-space: nowrap; +} +.navbar-brand:hover, .navbar-brand:focus { + color: var(--bs-navbar-brand-hover-color); +} + +.navbar-nav { + --bs-nav-link-padding-x: 0; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-navbar-color); + --bs-nav-link-hover-color: var(--bs-navbar-hover-color); + --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color); + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link.active, .navbar-nav .nav-link.show { + color: var(--bs-navbar-active-color); +} +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-navbar-color); +} +.navbar-text a, +.navbar-text a:hover, +.navbar-text a:focus { + color: var(--bs-navbar-active-color); +} + +.navbar-collapse { + flex-grow: 1; + flex-basis: 100%; + align-items: center; +} + +.navbar-toggler { + padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x); + font-size: var(--bs-navbar-toggler-font-size); + line-height: 1; + color: var(--bs-navbar-color); + background-color: transparent; + border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); + border-radius: var(--bs-navbar-toggler-border-radius); + transition: var(--bs-navbar-toggler-transition); +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width); +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--bs-navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-sm .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-md .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-lg .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; +} +.navbar-expand .offcanvas .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +.navbar-dark, +.navbar[data-bs-theme=dark] { + --bs-navbar-color: rgba(255, 255, 255, 0.55); + --bs-navbar-hover-color: rgba(255, 255, 255, 0.75); + --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); + --bs-navbar-active-color: #fff; + --bs-navbar-brand-color: #fff; + --bs-navbar-brand-hover-color: #fff; + --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +[data-bs-theme=dark] .navbar-toggler-icon { + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.card { + --bs-card-spacer-y: 1rem; + --bs-card-spacer-x: 1rem; + --bs-card-title-spacer-y: 0.5rem; + --bs-card-title-color: ; + --bs-card-subtitle-color: ; + --bs-card-border-width: var(--bs-border-width); + --bs-card-border-color: var(--bs-border-color-translucent); + --bs-card-border-radius: var(--bs-border-radius); + --bs-card-box-shadow: ; + --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width))); + --bs-card-cap-padding-y: 0.5rem; + --bs-card-cap-padding-x: 1rem; + --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03); + --bs-card-cap-color: ; + --bs-card-height: ; + --bs-card-color: ; + --bs-card-bg: var(--bs-body-bg); + --bs-card-img-overlay-padding: 1rem; + --bs-card-group-margin: 0.75rem; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + height: var(--bs-card-height); + color: var(--bs-body-color); + word-wrap: break-word; + background-color: var(--bs-card-bg); + background-clip: border-box; + border: var(--bs-card-border-width) solid var(--bs-card-border-color); + border-radius: var(--bs-card-border-radius); +} +.card > hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x); + color: var(--bs-card-color); +} + +.card-title { + margin-bottom: var(--bs-card-title-spacer-y); + color: var(--bs-card-title-color); +} + +.card-subtitle { + margin-top: calc(-0.5 * var(--bs-card-title-spacer-y)); + margin-bottom: 0; + color: var(--bs-card-subtitle-color); +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link + .card-link { + margin-left: var(--bs-card-spacer-x); +} + +.card-header { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + margin-bottom: 0; + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card-header:first-child { + border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; +} + +.card-footer { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card-footer:last-child { + border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); +} + +.card-header-tabs { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); + border-bottom: 0; +} +.card-header-tabs .nav-link.active { + background-color: var(--bs-card-bg); + border-bottom-color: var(--bs-card-bg); +} + +.card-header-pills { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--bs-card-img-overlay-padding); + border-radius: var(--bs-card-inner-border-radius); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} + +.card-group > .card { + margin-bottom: var(--bs-card-group-margin); +} +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) > .card-img-top, + .card-group > .card:not(:last-child) > .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) > .card-img-bottom, + .card-group > .card:not(:last-child) > .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) > .card-img-top, + .card-group > .card:not(:first-child) > .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) > .card-img-bottom, + .card-group > .card:not(:first-child) > .card-footer { + border-bottom-left-radius: 0; + } +} + +.accordion { + --bs-accordion-color: var(--bs-body-color); + --bs-accordion-bg: var(--bs-body-bg); + --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; + --bs-accordion-border-color: var(--bs-border-color); + --bs-accordion-border-width: var(--bs-border-width); + --bs-accordion-border-radius: var(--bs-border-radius); + --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width))); + --bs-accordion-btn-padding-x: 1.25rem; + --bs-accordion-btn-padding-y: 1rem; + --bs-accordion-btn-color: var(--bs-body-color); + --bs-accordion-btn-bg: var(--bs-accordion-bg); + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + --bs-accordion-btn-icon-width: 1.25rem; + --bs-accordion-btn-icon-transform: rotate(-180deg); + --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-accordion-body-padding-x: 1.25rem; + --bs-accordion-body-padding-y: 1rem; + --bs-accordion-active-color: var(--bs-primary-text-emphasis); + --bs-accordion-active-bg: var(--bs-primary-bg-subtle); +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); + font-size: 1rem; + color: var(--bs-accordion-btn-color); + text-align: left; + background-color: var(--bs-accordion-btn-bg); + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: var(--bs-accordion-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: var(--bs-accordion-active-color); + background-color: var(--bs-accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); +} +.accordion-button:not(.collapsed)::after { + background-image: var(--bs-accordion-btn-active-icon); + transform: var(--bs-accordion-btn-icon-transform); +} +.accordion-button::after { + flex-shrink: 0; + width: var(--bs-accordion-btn-icon-width); + height: var(--bs-accordion-btn-icon-width); + margin-left: auto; + content: ""; + background-image: var(--bs-accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--bs-accordion-btn-icon-width); + transition: var(--bs-accordion-btn-icon-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + outline: 0; + box-shadow: var(--bs-accordion-btn-focus-box-shadow); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + color: var(--bs-accordion-color); + background-color: var(--bs-accordion-bg); + border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); +} +.accordion-item:first-of-type { + border-top-left-radius: var(--bs-accordion-border-radius); + border-top-right-radius: var(--bs-accordion-border-radius); +} +.accordion-item:first-of-type > .accordion-header .accordion-button { + border-top-left-radius: var(--bs-accordion-inner-border-radius); + border-top-right-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} +.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed { + border-bottom-right-radius: var(--bs-accordion-inner-border-radius); + border-bottom-left-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:last-of-type > .accordion-collapse { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} + +.accordion-body { + padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); +} + +.accordion-flush > .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.accordion-flush > .accordion-item:first-child { + border-top: 0; +} +.accordion-flush > .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush > .accordion-item > .accordion-collapse, +.accordion-flush > .accordion-item > .accordion-header .accordion-button, +.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed { + border-radius: 0; +} + +[data-bs-theme=dark] .accordion-button::after { + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e"); + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e"); +} + +.breadcrumb { + --bs-breadcrumb-padding-x: 0; + --bs-breadcrumb-padding-y: 0; + --bs-breadcrumb-margin-bottom: 1rem; + --bs-breadcrumb-bg: ; + --bs-breadcrumb-border-radius: ; + --bs-breadcrumb-divider-color: var(--bs-secondary-color); + --bs-breadcrumb-item-padding-x: 0.5rem; + --bs-breadcrumb-item-active-color: var(--bs-secondary-color); + display: flex; + flex-wrap: wrap; + padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); + margin-bottom: var(--bs-breadcrumb-margin-bottom); + font-size: var(--bs-breadcrumb-font-size); + list-style: none; + background-color: var(--bs-breadcrumb-bg); + border-radius: var(--bs-breadcrumb-border-radius); +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: var(--bs-breadcrumb-item-padding-x); +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: var(--bs-breadcrumb-item-padding-x); + color: var(--bs-breadcrumb-divider-color); + content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; +} +.breadcrumb-item.active { + color: var(--bs-breadcrumb-item-active-color); +} + +.pagination { + --bs-pagination-padding-x: 0.75rem; + --bs-pagination-padding-y: 0.375rem; + --bs-pagination-font-size: 1rem; + --bs-pagination-color: var(--bs-link-color); + --bs-pagination-bg: var(--bs-body-bg); + --bs-pagination-border-width: var(--bs-border-width); + --bs-pagination-border-color: var(--bs-border-color); + --bs-pagination-border-radius: var(--bs-border-radius); + --bs-pagination-hover-color: var(--bs-link-hover-color); + --bs-pagination-hover-bg: var(--bs-tertiary-bg); + --bs-pagination-hover-border-color: var(--bs-border-color); + --bs-pagination-focus-color: var(--bs-link-hover-color); + --bs-pagination-focus-bg: var(--bs-secondary-bg); + --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-pagination-active-color: #fff; + --bs-pagination-active-bg: #0d6efd; + --bs-pagination-active-border-color: #0d6efd; + --bs-pagination-disabled-color: var(--bs-secondary-color); + --bs-pagination-disabled-bg: var(--bs-secondary-bg); + --bs-pagination-disabled-border-color: var(--bs-border-color); + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x); + font-size: var(--bs-pagination-font-size); + color: var(--bs-pagination-color); + text-decoration: none; + background-color: var(--bs-pagination-bg); + border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: var(--bs-pagination-hover-color); + background-color: var(--bs-pagination-hover-bg); + border-color: var(--bs-pagination-hover-border-color); +} +.page-link:focus { + z-index: 3; + color: var(--bs-pagination-focus-color); + background-color: var(--bs-pagination-focus-bg); + outline: 0; + box-shadow: var(--bs-pagination-focus-box-shadow); +} +.page-link.active, .active > .page-link { + z-index: 3; + color: var(--bs-pagination-active-color); + background-color: var(--bs-pagination-active-bg); + border-color: var(--bs-pagination-active-border-color); +} +.page-link.disabled, .disabled > .page-link { + color: var(--bs-pagination-disabled-color); + pointer-events: none; + background-color: var(--bs-pagination-disabled-bg); + border-color: var(--bs-pagination-disabled-border-color); +} + +.page-item:not(:first-child) .page-link { + margin-left: calc(-1 * var(--bs-border-width)); +} +.page-item:first-child .page-link { + border-top-left-radius: var(--bs-pagination-border-radius); + border-bottom-left-radius: var(--bs-pagination-border-radius); +} +.page-item:last-child .page-link { + border-top-right-radius: var(--bs-pagination-border-radius); + border-bottom-right-radius: var(--bs-pagination-border-radius); +} + +.pagination-lg { + --bs-pagination-padding-x: 1.5rem; + --bs-pagination-padding-y: 0.75rem; + --bs-pagination-font-size: 1.25rem; + --bs-pagination-border-radius: var(--bs-border-radius-lg); +} + +.pagination-sm { + --bs-pagination-padding-x: 0.5rem; + --bs-pagination-padding-y: 0.25rem; + --bs-pagination-font-size: 0.875rem; + --bs-pagination-border-radius: var(--bs-border-radius-sm); +} + +.badge { + --bs-badge-padding-x: 0.65em; + --bs-badge-padding-y: 0.35em; + --bs-badge-font-size: 0.75em; + --bs-badge-font-weight: 700; + --bs-badge-color: #fff; + --bs-badge-border-radius: var(--bs-border-radius); + display: inline-block; + padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); + font-size: var(--bs-badge-font-size); + font-weight: var(--bs-badge-font-weight); + line-height: 1; + color: var(--bs-badge-color); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: var(--bs-badge-border-radius); +} +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.alert { + --bs-alert-bg: transparent; + --bs-alert-padding-x: 1rem; + --bs-alert-padding-y: 1rem; + --bs-alert-margin-bottom: 1rem; + --bs-alert-color: inherit; + --bs-alert-border-color: transparent; + --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color); + --bs-alert-border-radius: var(--bs-border-radius); + --bs-alert-link-color: inherit; + position: relative; + padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); + margin-bottom: var(--bs-alert-margin-bottom); + color: var(--bs-alert-color); + background-color: var(--bs-alert-bg); + border: var(--bs-alert-border); + border-radius: var(--bs-alert-border-radius); +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; + color: var(--bs-alert-link-color); +} + +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} + +.alert-primary { + --bs-alert-color: var(--bs-primary-text-emphasis); + --bs-alert-bg: var(--bs-primary-bg-subtle); + --bs-alert-border-color: var(--bs-primary-border-subtle); + --bs-alert-link-color: var(--bs-primary-text-emphasis); +} + +.alert-secondary { + --bs-alert-color: var(--bs-secondary-text-emphasis); + --bs-alert-bg: var(--bs-secondary-bg-subtle); + --bs-alert-border-color: var(--bs-secondary-border-subtle); + --bs-alert-link-color: var(--bs-secondary-text-emphasis); +} + +.alert-success { + --bs-alert-color: var(--bs-success-text-emphasis); + --bs-alert-bg: var(--bs-success-bg-subtle); + --bs-alert-border-color: var(--bs-success-border-subtle); + --bs-alert-link-color: var(--bs-success-text-emphasis); +} + +.alert-info { + --bs-alert-color: var(--bs-info-text-emphasis); + --bs-alert-bg: var(--bs-info-bg-subtle); + --bs-alert-border-color: var(--bs-info-border-subtle); + --bs-alert-link-color: var(--bs-info-text-emphasis); +} + +.alert-warning { + --bs-alert-color: var(--bs-warning-text-emphasis); + --bs-alert-bg: var(--bs-warning-bg-subtle); + --bs-alert-border-color: var(--bs-warning-border-subtle); + --bs-alert-link-color: var(--bs-warning-text-emphasis); +} + +.alert-danger { + --bs-alert-color: var(--bs-danger-text-emphasis); + --bs-alert-bg: var(--bs-danger-bg-subtle); + --bs-alert-border-color: var(--bs-danger-border-subtle); + --bs-alert-link-color: var(--bs-danger-text-emphasis); +} + +.alert-light { + --bs-alert-color: var(--bs-light-text-emphasis); + --bs-alert-bg: var(--bs-light-bg-subtle); + --bs-alert-border-color: var(--bs-light-border-subtle); + --bs-alert-link-color: var(--bs-light-text-emphasis); +} + +.alert-dark { + --bs-alert-color: var(--bs-dark-text-emphasis); + --bs-alert-bg: var(--bs-dark-bg-subtle); + --bs-alert-border-color: var(--bs-dark-border-subtle); + --bs-alert-link-color: var(--bs-dark-text-emphasis); +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: var(--bs-progress-height); + } +} +.progress, +.progress-stacked { + --bs-progress-height: 1rem; + --bs-progress-font-size: 0.75rem; + --bs-progress-bg: var(--bs-secondary-bg); + --bs-progress-border-radius: var(--bs-border-radius); + --bs-progress-box-shadow: var(--bs-box-shadow-inset); + --bs-progress-bar-color: #fff; + --bs-progress-bar-bg: #0d6efd; + --bs-progress-bar-transition: width 0.6s ease; + display: flex; + height: var(--bs-progress-height); + overflow: hidden; + font-size: var(--bs-progress-font-size); + background-color: var(--bs-progress-bg); + border-radius: var(--bs-progress-border-radius); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--bs-progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-progress-bar-bg); + transition: var(--bs-progress-bar-transition); +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: var(--bs-progress-height) var(--bs-progress-height); +} + +.progress-stacked > .progress { + overflow: visible; +} + +.progress-stacked > .progress > .progress-bar { + width: 100%; +} + +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +.list-group { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: var(--bs-body-bg); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-border-width: var(--bs-border-width); + --bs-list-group-border-radius: var(--bs-border-radius); + --bs-list-group-item-padding-x: 1rem; + --bs-list-group-item-padding-y: 0.5rem; + --bs-list-group-action-color: var(--bs-secondary-color); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-tertiary-bg); + --bs-list-group-action-active-color: var(--bs-body-color); + --bs-list-group-action-active-bg: var(--bs-secondary-bg); + --bs-list-group-disabled-color: var(--bs-secondary-color); + --bs-list-group-disabled-bg: var(--bs-body-bg); + --bs-list-group-active-color: #fff; + --bs-list-group-active-bg: #0d6efd; + --bs-list-group-active-border-color: #0d6efd; + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: var(--bs-list-group-border-radius); +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > .list-group-item::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item { + position: relative; + display: block; + padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x); + color: var(--bs-list-group-color); + text-decoration: none; + background-color: var(--bs-list-group-bg); + border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); +} +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} +.list-group-item.disabled, .list-group-item:disabled { + color: var(--bs-list-group-disabled-color); + pointer-events: none; + background-color: var(--bs-list-group-disabled-bg); +} +.list-group-item.active { + z-index: 2; + color: var(--bs-list-group-active-color); + background-color: var(--bs-list-group-active-bg); + border-color: var(--bs-list-group-active-border-color); +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: calc(-1 * var(--bs-list-group-border-width)); + border-top-width: var(--bs-list-group-border-width); +} + +.list-group-item-action { + width: 100%; + color: var(--bs-list-group-action-color); + text-align: inherit; +} +.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus { + z-index: 1; + color: var(--bs-list-group-action-hover-color); + text-decoration: none; + background-color: var(--bs-list-group-action-hover-bg); +} +.list-group-item-action:not(.active):active { + color: var(--bs-list-group-action-active-color); + background-color: var(--bs-list-group-action-active-bg); +} + +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 var(--bs-list-group-border-width); +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + --bs-list-group-color: var(--bs-primary-text-emphasis); + --bs-list-group-bg: var(--bs-primary-bg-subtle); + --bs-list-group-border-color: var(--bs-primary-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-primary-border-subtle); + --bs-list-group-active-color: var(--bs-primary-bg-subtle); + --bs-list-group-active-bg: var(--bs-primary-text-emphasis); + --bs-list-group-active-border-color: var(--bs-primary-text-emphasis); +} + +.list-group-item-secondary { + --bs-list-group-color: var(--bs-secondary-text-emphasis); + --bs-list-group-bg: var(--bs-secondary-bg-subtle); + --bs-list-group-border-color: var(--bs-secondary-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle); + --bs-list-group-active-color: var(--bs-secondary-bg-subtle); + --bs-list-group-active-bg: var(--bs-secondary-text-emphasis); + --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis); +} + +.list-group-item-success { + --bs-list-group-color: var(--bs-success-text-emphasis); + --bs-list-group-bg: var(--bs-success-bg-subtle); + --bs-list-group-border-color: var(--bs-success-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-success-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-success-border-subtle); + --bs-list-group-active-color: var(--bs-success-bg-subtle); + --bs-list-group-active-bg: var(--bs-success-text-emphasis); + --bs-list-group-active-border-color: var(--bs-success-text-emphasis); +} + +.list-group-item-info { + --bs-list-group-color: var(--bs-info-text-emphasis); + --bs-list-group-bg: var(--bs-info-bg-subtle); + --bs-list-group-border-color: var(--bs-info-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-info-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-info-border-subtle); + --bs-list-group-active-color: var(--bs-info-bg-subtle); + --bs-list-group-active-bg: var(--bs-info-text-emphasis); + --bs-list-group-active-border-color: var(--bs-info-text-emphasis); +} + +.list-group-item-warning { + --bs-list-group-color: var(--bs-warning-text-emphasis); + --bs-list-group-bg: var(--bs-warning-bg-subtle); + --bs-list-group-border-color: var(--bs-warning-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-warning-border-subtle); + --bs-list-group-active-color: var(--bs-warning-bg-subtle); + --bs-list-group-active-bg: var(--bs-warning-text-emphasis); + --bs-list-group-active-border-color: var(--bs-warning-text-emphasis); +} + +.list-group-item-danger { + --bs-list-group-color: var(--bs-danger-text-emphasis); + --bs-list-group-bg: var(--bs-danger-bg-subtle); + --bs-list-group-border-color: var(--bs-danger-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-danger-border-subtle); + --bs-list-group-active-color: var(--bs-danger-bg-subtle); + --bs-list-group-active-bg: var(--bs-danger-text-emphasis); + --bs-list-group-active-border-color: var(--bs-danger-text-emphasis); +} + +.list-group-item-light { + --bs-list-group-color: var(--bs-light-text-emphasis); + --bs-list-group-bg: var(--bs-light-bg-subtle); + --bs-list-group-border-color: var(--bs-light-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-light-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-light-border-subtle); + --bs-list-group-active-color: var(--bs-light-bg-subtle); + --bs-list-group-active-bg: var(--bs-light-text-emphasis); + --bs-list-group-active-border-color: var(--bs-light-text-emphasis); +} + +.list-group-item-dark { + --bs-list-group-color: var(--bs-dark-text-emphasis); + --bs-list-group-bg: var(--bs-dark-bg-subtle); + --bs-list-group-border-color: var(--bs-dark-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-dark-border-subtle); + --bs-list-group-active-color: var(--bs-dark-bg-subtle); + --bs-list-group-active-bg: var(--bs-dark-text-emphasis); + --bs-list-group-active-border-color: var(--bs-dark-text-emphasis); +} + +.btn-close { + --bs-btn-close-color: #000; + --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e"); + --bs-btn-close-opacity: 0.5; + --bs-btn-close-hover-opacity: 0.75; + --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-btn-close-focus-opacity: 1; + --bs-btn-close-disabled-opacity: 0.25; + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: var(--bs-btn-close-color); + background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat; + filter: var(--bs-btn-close-filter); + border: 0; + border-radius: 0.375rem; + opacity: var(--bs-btn-close-opacity); +} +.btn-close:hover { + color: var(--bs-btn-close-color); + text-decoration: none; + opacity: var(--bs-btn-close-hover-opacity); +} +.btn-close:focus { + outline: 0; + box-shadow: var(--bs-btn-close-focus-shadow); + opacity: var(--bs-btn-close-focus-opacity); +} +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + opacity: var(--bs-btn-close-disabled-opacity); +} + +.btn-close-white { + --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%); +} + +:root, +[data-bs-theme=light] { + --bs-btn-close-filter: ; +} + +[data-bs-theme=dark] { + --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%); +} + +.toast { + --bs-toast-zindex: 1090; + --bs-toast-padding-x: 0.75rem; + --bs-toast-padding-y: 0.5rem; + --bs-toast-spacing: 1.5rem; + --bs-toast-max-width: 350px; + --bs-toast-font-size: 0.875rem; + --bs-toast-color: ; + --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85); + --bs-toast-border-width: var(--bs-border-width); + --bs-toast-border-color: var(--bs-border-color-translucent); + --bs-toast-border-radius: var(--bs-border-radius); + --bs-toast-box-shadow: var(--bs-box-shadow); + --bs-toast-header-color: var(--bs-secondary-color); + --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85); + --bs-toast-header-border-color: var(--bs-border-color-translucent); + width: var(--bs-toast-max-width); + max-width: 100%; + font-size: var(--bs-toast-font-size); + color: var(--bs-toast-color); + pointer-events: auto; + background-color: var(--bs-toast-bg); + background-clip: padding-box; + border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); + box-shadow: var(--bs-toast-box-shadow); + border-radius: var(--bs-toast-border-radius); +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} + +.toast-container { + --bs-toast-zindex: 1090; + position: absolute; + z-index: var(--bs-toast-zindex); + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: var(--bs-toast-spacing); +} + +.toast-header { + display: flex; + align-items: center; + padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); + color: var(--bs-toast-header-color); + background-color: var(--bs-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color); + border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); + border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); +} +.toast-header .btn-close { + margin-right: calc(-0.5 * var(--bs-toast-padding-x)); + margin-left: var(--bs-toast-padding-x); +} + +.toast-body { + padding: var(--bs-toast-padding-x); + word-wrap: break-word; +} + +.modal { + --bs-modal-zindex: 1055; + --bs-modal-width: 500px; + --bs-modal-padding: 1rem; + --bs-modal-margin: 0.5rem; + --bs-modal-color: var(--bs-body-color); + --bs-modal-bg: var(--bs-body-bg); + --bs-modal-border-color: var(--bs-border-color-translucent); + --bs-modal-border-width: var(--bs-border-width); + --bs-modal-border-radius: var(--bs-border-radius-lg); + --bs-modal-box-shadow: var(--bs-box-shadow-sm); + --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width))); + --bs-modal-header-padding-x: 1rem; + --bs-modal-header-padding-y: 1rem; + --bs-modal-header-padding: 1rem 1rem; + --bs-modal-header-border-color: var(--bs-border-color); + --bs-modal-header-border-width: var(--bs-border-width); + --bs-modal-title-line-height: 1.5; + --bs-modal-footer-gap: 0.5rem; + --bs-modal-footer-bg: ; + --bs-modal-footer-border-color: var(--bs-border-color); + --bs-modal-footer-border-width: var(--bs-border-width); + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: var(--bs-modal-margin); + pointer-events: none; +} +.modal.fade .modal-dialog { + transform: translate(0, -50px); + transition: transform 0.3s ease-out; +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - var(--bs-modal-margin) * 2); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - var(--bs-modal-margin) * 2); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + color: var(--bs-modal-color); + pointer-events: auto; + background-color: var(--bs-modal-bg); + background-clip: padding-box; + border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); + border-radius: var(--bs-modal-border-radius); + outline: 0; +} + +.modal-backdrop { + --bs-backdrop-zindex: 1050; + --bs-backdrop-bg: #000; + --bs-backdrop-opacity: 0.5; + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--bs-backdrop-bg); +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: var(--bs-backdrop-opacity); +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + padding: var(--bs-modal-header-padding); + border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); + border-top-left-radius: var(--bs-modal-inner-border-radius); + border-top-right-radius: var(--bs-modal-inner-border-radius); +} +.modal-header .btn-close { + padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--bs-modal-header-padding-y)); + margin-right: calc(-0.5 * var(--bs-modal-header-padding-x)); + margin-bottom: calc(-0.5 * var(--bs-modal-header-padding-y)); + margin-left: auto; +} + +.modal-title { + margin-bottom: 0; + line-height: var(--bs-modal-title-line-height); +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: var(--bs-modal-padding); +} + +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5); + background-color: var(--bs-modal-footer-bg); + border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color); + border-bottom-right-radius: var(--bs-modal-inner-border-radius); + border-bottom-left-radius: var(--bs-modal-inner-border-radius); +} +.modal-footer > * { + margin: calc(var(--bs-modal-footer-gap) * 0.5); +} + +@media (min-width: 576px) { + .modal { + --bs-modal-margin: 1.75rem; + --bs-modal-box-shadow: var(--bs-box-shadow); + } + .modal-dialog { + max-width: var(--bs-modal-width); + margin-right: auto; + margin-left: auto; + } + .modal-sm { + --bs-modal-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + --bs-modal-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + --bs-modal-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-header, +.modal-fullscreen .modal-footer { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} + +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header, + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header, + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header, + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header, + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header, + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } +} +.tooltip { + --bs-tooltip-zindex: 1080; + --bs-tooltip-max-width: 200px; + --bs-tooltip-padding-x: 0.5rem; + --bs-tooltip-padding-y: 0.25rem; + --bs-tooltip-margin: ; + --bs-tooltip-font-size: 0.875rem; + --bs-tooltip-color: var(--bs-body-bg); + --bs-tooltip-bg: var(--bs-emphasis-color); + --bs-tooltip-border-radius: var(--bs-border-radius); + --bs-tooltip-opacity: 0.9; + --bs-tooltip-arrow-width: 0.8rem; + --bs-tooltip-arrow-height: 0.4rem; + z-index: var(--bs-tooltip-zindex); + display: block; + margin: var(--bs-tooltip-margin); + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-tooltip-font-size); + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: var(--bs-tooltip-opacity); +} +.tooltip .tooltip-arrow { + display: block; + width: var(--bs-tooltip-arrow-width); + height: var(--bs-tooltip-arrow-height); +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: calc(-1 * var(--bs-tooltip-arrow-height)); +} +.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-top-color: var(--bs-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: calc(-1 * var(--bs-tooltip-arrow-height)); + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} +.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-right-color: var(--bs-tooltip-bg); +} + +/* rtl:end:ignore */ +.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: calc(-1 * var(--bs-tooltip-arrow-height)); +} +.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-bottom-color: var(--bs-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: calc(-1 * var(--bs-tooltip-arrow-height)); + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} +.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-left-color: var(--bs-tooltip-bg); +} + +/* rtl:end:ignore */ +.tooltip-inner { + max-width: var(--bs-tooltip-max-width); + padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x); + color: var(--bs-tooltip-color); + text-align: center; + background-color: var(--bs-tooltip-bg); + border-radius: var(--bs-tooltip-border-radius); +} + +.popover { + --bs-popover-zindex: 1070; + --bs-popover-max-width: 276px; + --bs-popover-font-size: 0.875rem; + --bs-popover-bg: var(--bs-body-bg); + --bs-popover-border-width: var(--bs-border-width); + --bs-popover-border-color: var(--bs-border-color-translucent); + --bs-popover-border-radius: var(--bs-border-radius-lg); + --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width)); + --bs-popover-box-shadow: var(--bs-box-shadow); + --bs-popover-header-padding-x: 1rem; + --bs-popover-header-padding-y: 0.5rem; + --bs-popover-header-font-size: 1rem; + --bs-popover-header-color: inherit; + --bs-popover-header-bg: var(--bs-secondary-bg); + --bs-popover-body-padding-x: 1rem; + --bs-popover-body-padding-y: 1rem; + --bs-popover-body-color: var(--bs-body-color); + --bs-popover-arrow-width: 1rem; + --bs-popover-arrow-height: 0.5rem; + --bs-popover-arrow-border: var(--bs-popover-border-color); + z-index: var(--bs-popover-zindex); + display: block; + max-width: var(--bs-popover-max-width); + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-popover-font-size); + word-wrap: break-word; + background-color: var(--bs-popover-bg); + background-clip: padding-box; + border: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-radius: var(--bs-popover-border-radius); +} +.popover .popover-arrow { + display: block; + width: var(--bs-popover-arrow-width); + height: var(--bs-popover-arrow-height); +} +.popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + border-width: 0; +} + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-top-color: var(--bs-popover-arrow-border); +} +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: var(--bs-popover-border-width); + border-top-color: var(--bs-popover-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-right-color: var(--bs-popover-arrow-border); +} +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: var(--bs-popover-border-width); + border-right-color: var(--bs-popover-bg); +} + +/* rtl:end:ignore */ +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-bottom-color: var(--bs-popover-arrow-border); +} +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: var(--bs-popover-border-width); + border-bottom-color: var(--bs-popover-bg); +} +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: var(--bs-popover-arrow-width); + margin-left: calc(-0.5 * var(--bs-popover-arrow-width)); + content: ""; + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-left-color: var(--bs-popover-arrow-border); +} +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: var(--bs-popover-border-width); + border-left-color: var(--bs-popover-bg); +} + +/* rtl:end:ignore */ +.popover-header { + padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x); + margin-bottom: 0; + font-size: var(--bs-popover-header-font-size); + color: var(--bs-popover-header-color); + background-color: var(--bs-popover-header-bg); + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-top-left-radius: var(--bs-popover-inner-border-radius); + border-top-right-radius: var(--bs-popover-inner-border-radius); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x); + color: var(--bs-popover-body-color); +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, + .carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: none; + filter: var(--bs-carousel-control-icon-filter); + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")*/; +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")*/; +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; +} +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: var(--bs-carousel-indicator-active-bg); + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: var(--bs-carousel-caption-color); + text-align: center; +} + +.carousel-dark { + --bs-carousel-indicator-active-bg: #000; + --bs-carousel-caption-color: #000; + --bs-carousel-control-icon-filter: invert(1) grayscale(100); +} + +:root, +[data-bs-theme=light] { + --bs-carousel-indicator-active-bg: #fff; + --bs-carousel-caption-color: #fff; + --bs-carousel-control-icon-filter: ; +} + +[data-bs-theme=dark] { + --bs-carousel-indicator-active-bg: #000; + --bs-carousel-caption-color: #000; + --bs-carousel-control-icon-filter: invert(1) grayscale(100); +} + +.spinner-grow, +.spinner-border { + display: inline-block; + flex-shrink: 0; + width: var(--bs-spinner-width); + height: var(--bs-spinner-height); + vertical-align: var(--bs-spinner-vertical-align); + border-radius: 50%; + animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name); +} + +@keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} +.spinner-border { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-border-width: 0.25em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-border; + border: var(--bs-spinner-border-width) solid currentcolor; + border-right-color: transparent; +} + +.spinner-border-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; + --bs-spinner-border-width: 0.2em; +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-grow; + background-color: currentcolor; + opacity: 0; +} + +.spinner-grow-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + --bs-spinner-animation-speed: 1.5s; + } +} +.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { + --bs-offcanvas-zindex: 1045; + --bs-offcanvas-width: 400px; + --bs-offcanvas-height: 30vh; + --bs-offcanvas-padding-x: 1rem; + --bs-offcanvas-padding-y: 1rem; + --bs-offcanvas-color: var(--bs-body-color); + --bs-offcanvas-bg: var(--bs-body-bg); + --bs-offcanvas-border-width: var(--bs-border-width); + --bs-offcanvas-border-color: var(--bs-border-color-translucent); + --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm); + --bs-offcanvas-transition: transform 0.3s ease-in-out; + --bs-offcanvas-title-line-height: 1.5; +} + +@media (max-width: 575.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-sm.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-sm.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-sm.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { + transform: none; + } + .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { + visibility: visible; + } +} +@media (min-width: 576px) { + .offcanvas-sm { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-sm .offcanvas-header { + display: none; + } + .offcanvas-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 767.98px) { + .offcanvas-md { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-md.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-md.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-md.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { + transform: none; + } + .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { + visibility: visible; + } +} +@media (min-width: 768px) { + .offcanvas-md { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-md .offcanvas-header { + display: none; + } + .offcanvas-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 991.98px) { + .offcanvas-lg { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-lg.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-lg.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-lg.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { + transform: none; + } + .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { + visibility: visible; + } +} +@media (min-width: 992px) { + .offcanvas-lg { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-lg .offcanvas-header { + display: none; + } + .offcanvas-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-xl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-xl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-xl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-xl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { + transform: none; + } + .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { + visibility: visible; + } +} +@media (min-width: 1200px) { + .offcanvas-xl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xl .offcanvas-header { + display: none; + } + .offcanvas-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1399.98px) { + .offcanvas-xxl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-xxl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-xxl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-xxl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { + transform: none; + } + .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { + visibility: visible; + } +} +@media (min-width: 1400px) { + .offcanvas-xxl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xxl .offcanvas-header { + display: none; + } + .offcanvas-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +.offcanvas { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} +.offcanvas.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); +} +.offcanvas.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); +} +.offcanvas.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); +} +.offcanvas.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); +} +.offcanvas.showing, .offcanvas.show:not(.hiding) { + transform: none; +} +.offcanvas.showing, .offcanvas.hiding, .offcanvas.show { + visibility: visible; +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} + +.offcanvas-header { + display: flex; + align-items: center; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); +} +.offcanvas-header .btn-close { + padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y)); + margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x)); + margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y)); + margin-left: auto; +} + +.offcanvas-title { + margin-bottom: 0; + line-height: var(--bs-offcanvas-title-line-height); +} + +.offcanvas-body { + flex-grow: 1; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); + overflow-y: auto; +} + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: 0.5; +} +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: 0.6em; +} + +.placeholder-sm { + min-height: 0.8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +.placeholder-wave { + -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + -webkit-mask-size: 200% 100%; + mask-size: 200% 100%; + animation: placeholder-wave 2s linear infinite; +} + +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.text-bg-primary { + color: #fff !important; + background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-secondary { + color: #fff !important; + background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-success { + color: #fff !important; + background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-info { + color: #000 !important; + background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-warning { + color: #000 !important; + background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-danger { + color: #fff !important; + background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-light { + color: #000 !important; + background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-dark { + color: #fff !important; + background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.link-primary { + color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-primary:hover, .link-primary:focus { + color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-secondary { + color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-secondary:hover, .link-secondary:focus { + color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-success { + color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-success:hover, .link-success:focus { + color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-info { + color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-info:hover, .link-info:focus { + color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-warning { + color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-warning:hover, .link-warning:focus { + color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-danger { + color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-danger:hover, .link-danger:focus { + color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-light { + color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-light:hover, .link-light:focus { + color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-dark { + color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-dark:hover, .link-dark:focus { + color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-body-emphasis { + color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-body-emphasis:hover, .link-body-emphasis:focus { + color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important; + -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important; + text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important; +} + +.focus-ring:focus { + outline: 0; + box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color); +} + +.icon-link { + display: inline-flex; + gap: 0.375rem; + align-items: center; + -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5)); + text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5)); + text-underline-offset: 0.25em; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.icon-link > .bi { + flex-shrink: 0; + width: 1em; + height: 1em; + fill: currentcolor; + transition: 0.2s ease-in-out transform; +} +@media (prefers-reduced-motion: reduce) { + .icon-link > .bi { + transition: none; + } +} + +.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi { + transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0)); +} + +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; +} +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} + +.ratio-4x3 { + --bs-aspect-ratio: 75%; +} + +.ratio-16x9 { + --bs-aspect-ratio: 56.25%; +} + +.ratio-21x9 { + --bs-aspect-ratio: 42.8571428571%; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} + +.sticky-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-sm-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-md-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-lg-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xxl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} +.visually-hidden:not(caption), +.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) { + position: absolute !important; +} +.visually-hidden *, +.visually-hidden-focusable:not(:focus):not(:focus-within) * { + overflow: hidden !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ""; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.vr { + display: inline-block; + align-self: stretch; + width: var(--bs-border-width); + min-height: 1em; + background-color: currentcolor; + opacity: 0.25; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.float-start { + float: left !important; +} + +.float-end { + float: right !important; +} + +.float-none { + float: none !important; +} + +.object-fit-contain { + -o-object-fit: contain !important; + object-fit: contain !important; +} + +.object-fit-cover { + -o-object-fit: cover !important; + object-fit: cover !important; +} + +.object-fit-fill { + -o-object-fit: fill !important; + object-fit: fill !important; +} + +.object-fit-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; +} + +.object-fit-none { + -o-object-fit: none !important; + object-fit: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.overflow-x-auto { + overflow-x: auto !important; +} + +.overflow-x-hidden { + overflow-x: hidden !important; +} + +.overflow-x-visible { + overflow-x: visible !important; +} + +.overflow-x-scroll { + overflow-x: scroll !important; +} + +.overflow-y-auto { + overflow-y: auto !important; +} + +.overflow-y-hidden { + overflow-y: hidden !important; +} + +.overflow-y-visible { + overflow-y: visible !important; +} + +.overflow-y-scroll { + overflow-y: scroll !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: var(--bs-box-shadow) !important; +} + +.shadow-sm { + box-shadow: var(--bs-box-shadow-sm) !important; +} + +.shadow-lg { + box-shadow: var(--bs-box-shadow-lg) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.focus-ring-primary { + --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-secondary { + --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-success { + --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-info { + --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-warning { + --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-danger { + --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-light { + --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity)); +} + +.focus-ring-dark { + --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity)); +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + left: 0 !important; +} + +.start-50 { + left: 50% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-50 { + right: 50% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.border { + border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-end-0 { + border-right: 0 !important; +} + +.border-bottom { + border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-start-0 { + border-left: 0 !important; +} + +.border-primary { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important; +} + +.border-secondary { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important; +} + +.border-success { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important; +} + +.border-info { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important; +} + +.border-warning { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important; +} + +.border-danger { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important; +} + +.border-light { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important; +} + +.border-dark { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; +} + +.border-black { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important; +} + +.border-white { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; +} + +.border-primary-subtle { + border-color: var(--bs-primary-border-subtle) !important; +} + +.border-secondary-subtle { + border-color: var(--bs-secondary-border-subtle) !important; +} + +.border-success-subtle { + border-color: var(--bs-success-border-subtle) !important; +} + +.border-info-subtle { + border-color: var(--bs-info-border-subtle) !important; +} + +.border-warning-subtle { + border-color: var(--bs-warning-border-subtle) !important; +} + +.border-danger-subtle { + border-color: var(--bs-danger-border-subtle) !important; +} + +.border-light-subtle { + border-color: var(--bs-light-border-subtle) !important; +} + +.border-dark-subtle { + border-color: var(--bs-dark-border-subtle) !important; +} + +.border-1 { + border-width: 1px !important; +} + +.border-2 { + border-width: 2px !important; +} + +.border-3 { + border-width: 3px !important; +} + +.border-4 { + border-width: 4px !important; +} + +.border-5 { + border-width: 5px !important; +} + +.border-opacity-10 { + --bs-border-opacity: 0.1; +} + +.border-opacity-25 { + --bs-border-opacity: 0.25; +} + +.border-opacity-50 { + --bs-border-opacity: 0.5; +} + +.border-opacity-75 { + --bs-border-opacity: 0.75; +} + +.border-opacity-100 { + --bs-border-opacity: 1; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.vh-100 { + height: 100vh !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 1rem !important; +} + +.me-4 { + margin-right: 1.5rem !important; +} + +.me-5 { + margin-right: 3rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 1rem !important; +} + +.ms-4 { + margin-left: 1.5rem !important; +} + +.ms-5 { + margin-left: 3rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 3rem !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +.row-gap-0 { + row-gap: 0 !important; +} + +.row-gap-1 { + row-gap: 0.25rem !important; +} + +.row-gap-2 { + row-gap: 0.5rem !important; +} + +.row-gap-3 { + row-gap: 1rem !important; +} + +.row-gap-4 { + row-gap: 1.5rem !important; +} + +.row-gap-5 { + row-gap: 3rem !important; +} + +.column-gap-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; +} + +.column-gap-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; +} + +.column-gap-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; +} + +.column-gap-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; +} + +.column-gap-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; +} + +.column-gap-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; +} + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc(1.375rem + 1.5vw) !important; +} + +.fs-2 { + font-size: calc(1.325rem + 0.9vw) !important; +} + +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} + +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} + +.fs-5 { + font-size: 1.25rem !important; +} + +.fs-6 { + font-size: 1rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-medium { + font-weight: 500 !important; +} + +.fw-semibold { + font-weight: 600 !important; +} + +.fw-bold { + font-weight: 700 !important; +} + +.fw-bolder { + font-weight: bolder !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: 1.25 !important; +} + +.lh-base { + line-height: 1.5 !important; +} + +.lh-lg { + line-height: 2 !important; +} + +.text-start { + text-align: left !important; +} + +.text-end { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} + +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} + +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} + +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} + +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} + +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} + +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} + +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} + +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} + +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} + +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-body-secondary { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} + +.text-body-tertiary { + --bs-text-opacity: 1; + color: var(--bs-tertiary-color) !important; +} + +.text-body-emphasis { + --bs-text-opacity: 1; + color: var(--bs-emphasis-color) !important; +} + +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --bs-text-opacity: 0.25; +} + +.text-opacity-50 { + --bs-text-opacity: 0.5; +} + +.text-opacity-75 { + --bs-text-opacity: 0.75; +} + +.text-opacity-100 { + --bs-text-opacity: 1; +} + +.text-primary-emphasis { + color: var(--bs-primary-text-emphasis) !important; +} + +.text-secondary-emphasis { + color: var(--bs-secondary-text-emphasis) !important; +} + +.text-success-emphasis { + color: var(--bs-success-text-emphasis) !important; +} + +.text-info-emphasis { + color: var(--bs-info-text-emphasis) !important; +} + +.text-warning-emphasis { + color: var(--bs-warning-text-emphasis) !important; +} + +.text-danger-emphasis { + color: var(--bs-danger-text-emphasis) !important; +} + +.text-light-emphasis { + color: var(--bs-light-text-emphasis) !important; +} + +.text-dark-emphasis { + color: var(--bs-dark-text-emphasis) !important; +} + +.link-opacity-10 { + --bs-link-opacity: 0.1; +} + +.link-opacity-10-hover:hover { + --bs-link-opacity: 0.1; +} + +.link-opacity-25 { + --bs-link-opacity: 0.25; +} + +.link-opacity-25-hover:hover { + --bs-link-opacity: 0.25; +} + +.link-opacity-50 { + --bs-link-opacity: 0.5; +} + +.link-opacity-50-hover:hover { + --bs-link-opacity: 0.5; +} + +.link-opacity-75 { + --bs-link-opacity: 0.75; +} + +.link-opacity-75-hover:hover { + --bs-link-opacity: 0.75; +} + +.link-opacity-100 { + --bs-link-opacity: 1; +} + +.link-opacity-100-hover:hover { + --bs-link-opacity: 1; +} + +.link-offset-1 { + text-underline-offset: 0.125em !important; +} + +.link-offset-1-hover:hover { + text-underline-offset: 0.125em !important; +} + +.link-offset-2 { + text-underline-offset: 0.25em !important; +} + +.link-offset-2-hover:hover { + text-underline-offset: 0.25em !important; +} + +.link-offset-3 { + text-underline-offset: 0.375em !important; +} + +.link-offset-3-hover:hover { + text-underline-offset: 0.375em !important; +} + +.link-underline-primary { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-secondary { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-success { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-info { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-warning { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-danger { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-light { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-dark { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important; + text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-underline-opacity-0 { + --bs-link-underline-opacity: 0; +} + +.link-underline-opacity-0-hover:hover { + --bs-link-underline-opacity: 0; +} + +.link-underline-opacity-10 { + --bs-link-underline-opacity: 0.1; +} + +.link-underline-opacity-10-hover:hover { + --bs-link-underline-opacity: 0.1; +} + +.link-underline-opacity-25 { + --bs-link-underline-opacity: 0.25; +} + +.link-underline-opacity-25-hover:hover { + --bs-link-underline-opacity: 0.25; +} + +.link-underline-opacity-50 { + --bs-link-underline-opacity: 0.5; +} + +.link-underline-opacity-50-hover:hover { + --bs-link-underline-opacity: 0.5; +} + +.link-underline-opacity-75 { + --bs-link-underline-opacity: 0.75; +} + +.link-underline-opacity-75-hover:hover { + --bs-link-underline-opacity: 0.75; +} + +.link-underline-opacity-100 { + --bs-link-underline-opacity: 1; +} + +.link-underline-opacity-100-hover:hover { + --bs-link-underline-opacity: 1; +} + +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-success { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-warning { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-danger { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-body-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body-tertiary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --bs-bg-opacity: 1; +} + +.bg-primary-subtle { + background-color: var(--bs-primary-bg-subtle) !important; +} + +.bg-secondary-subtle { + background-color: var(--bs-secondary-bg-subtle) !important; +} + +.bg-success-subtle { + background-color: var(--bs-success-bg-subtle) !important; +} + +.bg-info-subtle { + background-color: var(--bs-info-bg-subtle) !important; +} + +.bg-warning-subtle { + background-color: var(--bs-warning-bg-subtle) !important; +} + +.bg-danger-subtle { + background-color: var(--bs-danger-bg-subtle) !important; +} + +.bg-light-subtle { + background-color: var(--bs-light-bg-subtle) !important; +} + +.bg-dark-subtle { + background-color: var(--bs-dark-bg-subtle) !important; +} + +.bg-gradient { + background-image: var(--bs-gradient) !important; +} + +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} + +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +.rounded { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-2 { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-3 { + border-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-4 { + border-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-5 { + border-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-top { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-top-0 { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} + +.rounded-top-1 { + border-top-left-radius: var(--bs-border-radius-sm) !important; + border-top-right-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-top-2 { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-top-3 { + border-top-left-radius: var(--bs-border-radius-lg) !important; + border-top-right-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-top-4 { + border-top-left-radius: var(--bs-border-radius-xl) !important; + border-top-right-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-top-5 { + border-top-left-radius: var(--bs-border-radius-xxl) !important; + border-top-right-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-top-circle { + border-top-left-radius: 50% !important; + border-top-right-radius: 50% !important; +} + +.rounded-top-pill { + border-top-left-radius: var(--bs-border-radius-pill) !important; + border-top-right-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-end { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-end-0 { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.rounded-end-1 { + border-top-right-radius: var(--bs-border-radius-sm) !important; + border-bottom-right-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-end-2 { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-end-3 { + border-top-right-radius: var(--bs-border-radius-lg) !important; + border-bottom-right-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-end-4 { + border-top-right-radius: var(--bs-border-radius-xl) !important; + border-bottom-right-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-end-5 { + border-top-right-radius: var(--bs-border-radius-xxl) !important; + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-end-circle { + border-top-right-radius: 50% !important; + border-bottom-right-radius: 50% !important; +} + +.rounded-end-pill { + border-top-right-radius: var(--bs-border-radius-pill) !important; + border-bottom-right-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-bottom { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom-0 { + border-bottom-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} + +.rounded-bottom-1 { + border-bottom-right-radius: var(--bs-border-radius-sm) !important; + border-bottom-left-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-bottom-2 { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom-3 { + border-bottom-right-radius: var(--bs-border-radius-lg) !important; + border-bottom-left-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-bottom-4 { + border-bottom-right-radius: var(--bs-border-radius-xl) !important; + border-bottom-left-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-bottom-5 { + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-bottom-circle { + border-bottom-right-radius: 50% !important; + border-bottom-left-radius: 50% !important; +} + +.rounded-bottom-pill { + border-bottom-right-radius: var(--bs-border-radius-pill) !important; + border-bottom-left-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-start { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start-0 { + border-bottom-left-radius: 0 !important; + border-top-left-radius: 0 !important; +} + +.rounded-start-1 { + border-bottom-left-radius: var(--bs-border-radius-sm) !important; + border-top-left-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-start-2 { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start-3 { + border-bottom-left-radius: var(--bs-border-radius-lg) !important; + border-top-left-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-start-4 { + border-bottom-left-radius: var(--bs-border-radius-xl) !important; + border-top-left-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-start-5 { + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; + border-top-left-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-start-circle { + border-bottom-left-radius: 50% !important; + border-top-left-radius: 50% !important; +} + +.rounded-start-pill { + border-bottom-left-radius: var(--bs-border-radius-pill) !important; + border-top-left-radius: var(--bs-border-radius-pill) !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +.z-n1 { + z-index: -1 !important; +} + +.z-0 { + z-index: 0 !important; +} + +.z-1 { + z-index: 1 !important; +} + +.z-2 { + z-index: 2 !important; +} + +.z-3 { + z-index: 3 !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .object-fit-sm-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-sm-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-sm-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-sm-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-sm-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 3rem !important; + } + .row-gap-sm-0 { + row-gap: 0 !important; + } + .row-gap-sm-1 { + row-gap: 0.25rem !important; + } + .row-gap-sm-2 { + row-gap: 0.5rem !important; + } + .row-gap-sm-3 { + row-gap: 1rem !important; + } + .row-gap-sm-4 { + row-gap: 1.5rem !important; + } + .row-gap-sm-5 { + row-gap: 3rem !important; + } + .column-gap-sm-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-sm-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-sm-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-sm-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-sm-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-sm-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .object-fit-md-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-md-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-md-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-md-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-md-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 3rem !important; + } + .row-gap-md-0 { + row-gap: 0 !important; + } + .row-gap-md-1 { + row-gap: 0.25rem !important; + } + .row-gap-md-2 { + row-gap: 0.5rem !important; + } + .row-gap-md-3 { + row-gap: 1rem !important; + } + .row-gap-md-4 { + row-gap: 1.5rem !important; + } + .row-gap-md-5 { + row-gap: 3rem !important; + } + .column-gap-md-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-md-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-md-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-md-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-md-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-md-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .object-fit-lg-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-lg-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-lg-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-lg-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-lg-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 3rem !important; + } + .row-gap-lg-0 { + row-gap: 0 !important; + } + .row-gap-lg-1 { + row-gap: 0.25rem !important; + } + .row-gap-lg-2 { + row-gap: 0.5rem !important; + } + .row-gap-lg-3 { + row-gap: 1rem !important; + } + .row-gap-lg-4 { + row-gap: 1.5rem !important; + } + .row-gap-lg-5 { + row-gap: 3rem !important; + } + .column-gap-lg-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-lg-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-lg-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-lg-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-lg-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-lg-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .object-fit-xl-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-xl-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-xl-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-xl-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-xl-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 3rem !important; + } + .row-gap-xl-0 { + row-gap: 0 !important; + } + .row-gap-xl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xl-3 { + row-gap: 1rem !important; + } + .row-gap-xl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xl-5 { + row-gap: 3rem !important; + } + .column-gap-xl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-xl-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-xl-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-xl-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-xl-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-xl-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .object-fit-xxl-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-xxl-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-xxl-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-xxl-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-xxl-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 3rem !important; + } + .row-gap-xxl-0 { + row-gap: 0 !important; + } + .row-gap-xxl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xxl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xxl-3 { + row-gap: 1rem !important; + } + .row-gap-xxl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xxl-5 { + row-gap: 3rem !important; + } + .column-gap-xxl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-xxl-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-xxl-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-xxl-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-xxl-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-xxl-5 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .text-xxl-start { + text-align: left !important; + } + .text-xxl-end { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 2.5rem !important; + } + .fs-2 { + font-size: 2rem !important; + } + .fs-3 { + font-size: 1.75rem !important; + } + .fs-4 { + font-size: 1.5rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} + +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/src/test/resources/realworld/bootstrap_5_3_8.min.css b/src/test/resources/realworld/bootstrap_5_3_8.min.css new file mode 100644 index 0000000..1d8bac4 --- /dev/null +++ b/src/test/resources/realworld/bootstrap_5_3_8.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! + * Bootstrap v5.3.8 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-header,.card-group>.card:not(:first-child)>.card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0,-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file From 241ac67a46b2f831ed69af3eadaadbe156121cb3 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Tue, 23 Dec 2025 19:36:54 +0100 Subject: [PATCH 130/137] small fixes --- src/main/javacc/CSS3Parser.jj | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 4fb69c9..8ddcf6c 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -229,8 +229,8 @@ TOKEN_MGR_DECLS : // N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n | < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > -// O o|\\0{0,4}(51|71)(\r\n|[ \t\r\n\f])?|\\o -| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "51" | "71" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > +// O o|\\0{0,4}(4f|6f)(\r\n|[ \t\r\n\f])?|\\o +| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4f" | "6f" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > // P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p | < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > @@ -244,7 +244,7 @@ TOKEN_MGR_DECLS : // T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t | < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > -// U v|\\0{0,4}(55|76)(\r\n|[ \t\r\n\f])?|\\v +// U u|\\0{0,4}(55|75)(\r\n|[ \t\r\n\f])?|\\v | < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > // X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x @@ -345,7 +345,7 @@ TOKEN_MGR_DECLS : // {num}{V}{M}{I}{N} {return VMIN;} | < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } -// {num}{V}{M}{I}{N} {return VMAX;} +// {num}{V}{M}{A}{X} {return VMAX;} | < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } // {num}{P}{X} {return LENGTH;} @@ -3165,7 +3165,7 @@ String skipUnit() { Token oldToken = null; while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { oldToken = t; - sb.append(oldToken.image); + sb.append(t.image); appendUnit(t, sb); t = getNextToken(); From ac5272f914a0fa60ea2b17d2f5ff32b232712125 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 24 Dec 2025 10:54:18 +0100 Subject: [PATCH 131/137] dvw, dvh, dvmin, dvmax, lvw, lvh, lvmin, lvmax, svw, svh, svmin, svmax --- .../htmlunit/cssparser/dom/CSSValueImpl.java | 62 + .../cssparser/parser/LexicalUnit.java | 24 + .../cssparser/parser/LexicalUnitImpl.java | 216 + src/main/javacc/CSS3Parser.jj | 6739 +++++++++-------- .../cssparser/parser/CSS3ParserTest.java | 138 +- .../cssparser/parser/LexicalUnitImplTest.java | 300 + 6 files changed, 4122 insertions(+), 3357 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java index f53ea22..b479068 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java @@ -85,6 +85,42 @@ public enum CSSPrimitiveValueType { /** CSS_VMAX. */ CSS_VMAX, + /** CSS_DVW. */ + CSS_DVW, + + /** CSS_DVH. */ + CSS_DVH, + + /** CSS_DVMIN. */ + CSS_DVMIN, + + /** CSS_DVMAX. */ + CSS_DVMAX, + + /** CSS_LVW. */ + CSS_LVW, + + /** CSS_LVH. */ + CSS_LVH, + + /** CSS_LVMIN. */ + CSS_LVMIN, + + /** CSS_LVMAX. */ + CSS_LVMAX, + + /** CSS_SVW. */ + CSS_SVW, + + /** CSS_SVH. */ + CSS_SVH, + + /** CSS_SVMIN. */ + CSS_SVMIN, + + /** CSS_SVMAX. */ + CSS_SVMAX, + /** CSS_PX. */ CSS_PX, @@ -355,6 +391,32 @@ public CSSPrimitiveValueType getPrimitiveType() { return CSSPrimitiveValueType.CSS_VMIN; case VMAX: return CSSPrimitiveValueType.CSS_VMAX; + + case DVW: + return CSSPrimitiveValueType.CSS_DVW; + case DVH: + return CSSPrimitiveValueType.CSS_DVH; + case DVMIN: + return CSSPrimitiveValueType.CSS_DVMIN; + case DVMAX: + return CSSPrimitiveValueType.CSS_DVMAX; + case LVW: + return CSSPrimitiveValueType.CSS_LVW; + case LVH: + return CSSPrimitiveValueType.CSS_LVH; + case LVMIN: + return CSSPrimitiveValueType.CSS_LVMIN; + case LVMAX: + return CSSPrimitiveValueType.CSS_LVMAX; + case SVW: + return CSSPrimitiveValueType.CSS_SVW; + case SVH: + return CSSPrimitiveValueType.CSS_SVH; + case SVMIN: + return CSSPrimitiveValueType.CSS_SVMIN; + case SVMAX: + return CSSPrimitiveValueType.CSS_SVMAX; + case PIXEL: return CSSPrimitiveValueType.CSS_PX; case INCH: diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java index 08474e6..1d183f6 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnit.java @@ -71,6 +71,30 @@ enum LexicalUnitType { VMIN, /** VMAX. */ VMAX, + /** DVW. */ + DVW, + /** DVH. */ + DVH, + /** DVMIN. */ + DVMIN, + /** DVMAX. */ + DVMAX, + /** LVW. */ + LVW, + /** LVH. */ + LVH, + /** LVMIN. */ + LVMIN, + /** LVMAX. */ + LVMAX, + /** SVW. */ + SVW, + /** SVH. */ + SVH, + /** SVMIN. */ + SVMIN, + /** SVMAX. */ + SVMAX, /** PIXEL. */ PIXEL, /** INCH. */ diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java index 737ff3b..bfd0848 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java @@ -241,6 +241,30 @@ public String getDimensionUnitText() { return "vmin"; case VMAX: return "vmax"; + case DVW: + return "dvw"; + case DVH: + return "dvh"; + case DVMIN: + return "dvmin"; + case DVMAX: + return "dvmax"; + case LVW: + return "lvw"; + case LVH: + return "lvh"; + case LVMIN: + return "lvmin"; + case LVMAX: + return "lvmax"; + case SVW: + return "svw"; + case SVH: + return "svh"; + case SVMIN: + return "svmin"; + case SVMAX: + return "svmax"; case PIXEL: return "px"; case INCH: @@ -363,6 +387,18 @@ public String getCssText() { case VH: case VMIN: case VMAX: + case DVW: + case DVH: + case DVMIN: + case DVMAX: + case LVW: + case LVH: + case LVMIN: + case LVMAX: + case SVW: + case SVH: + case SVMIN: + case SVMAX: case PIXEL: case INCH: case CENTIMETER: @@ -584,6 +620,78 @@ public String toDebugString() { .append(getDimensionUnitText()) .append(")"); break; + case DVW: + sb.append("DVW(") + .append(getTrimedDoubleValue()) + .append(getDimensionUnitText()) + .append(")"); + break; + case DVH: + sb.append("DVH(") + .append(getTrimedDoubleValue()) + .append(getDimensionUnitText()) + .append(")"); + break; + case DVMIN: + sb.append("DVMIN(") + .append(getTrimedDoubleValue()) + .append(getDimensionUnitText()) + .append(")"); + break; + case DVMAX: + sb.append("DVMAX(") + .append(getTrimedDoubleValue()) + .append(getDimensionUnitText()) + .append(")"); + break; + case LVW: + sb.append("LVW(") + .append(getTrimedDoubleValue()) + .append(getDimensionUnitText()) + .append(")"); + break; + case LVH: + sb.append("LVH(") + .append(getTrimedDoubleValue()) + .append(getDimensionUnitText()) + .append(")"); + break; + case LVMIN: + sb.append("LVMIN(") + .append(getTrimedDoubleValue()) + .append(getDimensionUnitText()) + .append(")"); + break; + case LVMAX: + sb.append("LVMAX(") + .append(getTrimedDoubleValue()) + .append(getDimensionUnitText()) + .append(")"); + break; + case SVW: + sb.append("SVW(") + .append(getTrimedDoubleValue()) + .append(getDimensionUnitText()) + .append(")"); + break; + case SVH: + sb.append("SVH(") + .append(getTrimedDoubleValue()) + .append(getDimensionUnitText()) + .append(")"); + break; + case SVMIN: + sb.append("SVMIN(") + .append(getTrimedDoubleValue()) + .append(getDimensionUnitText()) + .append(")"); + break; + case SVMAX: + sb.append("SVMAX(") + .append(getTrimedDoubleValue()) + .append(getDimensionUnitText()) + .append(")"); + break; case PIXEL: sb.append("PIXEL(") .append(getTrimedDoubleValue()) @@ -973,6 +1081,114 @@ public static LexicalUnit createVMax(final LexicalUnit prev, final double d) { return new LexicalUnitImpl(prev, LexicalUnitType.VMAX, d); } + /** + * @param prev the previous LexicalUnit + * @param d the double value + * @return lexical unit with type dvw + */ + public static LexicalUnit createDvw(final LexicalUnit prev, final double d) { + return new LexicalUnitImpl(prev, LexicalUnitType.DVW, d); + } + + /** + * @param prev the previous LexicalUnit + * @param d the double value + * @return lexical unit with type dvh + */ + public static LexicalUnit createDvh(final LexicalUnit prev, final double d) { + return new LexicalUnitImpl(prev, LexicalUnitType.DVH, d); + } + + /** + * @param prev the previous LexicalUnit + * @param d the double value + * @return lexical unit with type dvmin + */ + public static LexicalUnit createDvMin(final LexicalUnit prev, final double d) { + return new LexicalUnitImpl(prev, LexicalUnitType.DVMIN, d); + } + + /** + * @param prev the previous LexicalUnit + * @param d the double value + * @return lexical unit with type dvmax + */ + public static LexicalUnit createDvMax(final LexicalUnit prev, final double d) { + return new LexicalUnitImpl(prev, LexicalUnitType.DVMAX, d); + } + + /** + * @param prev the previous LexicalUnit + * @param d the double value + * @return lexical unit with type lvw + */ + public static LexicalUnit createLvw(final LexicalUnit prev, final double d) { + return new LexicalUnitImpl(prev, LexicalUnitType.LVW, d); + } + + /** + * @param prev the previous LexicalUnit + * @param d the double value + * @return lexical unit with type lvh + */ + public static LexicalUnit createLvh(final LexicalUnit prev, final double d) { + return new LexicalUnitImpl(prev, LexicalUnitType.LVH, d); + } + + /** + * @param prev the previous LexicalUnit + * @param d the double value + * @return lexical unit with type lvmin + */ + public static LexicalUnit createLvMin(final LexicalUnit prev, final double d) { + return new LexicalUnitImpl(prev, LexicalUnitType.LVMIN, d); + } + + /** + * @param prev the previous LexicalUnit + * @param d the double value + * @return lexical unit with type lvmax + */ + public static LexicalUnit createLvMax(final LexicalUnit prev, final double d) { + return new LexicalUnitImpl(prev, LexicalUnitType.LVMAX, d); + } + + /** + * @param prev the previous LexicalUnit + * @param d the double value + * @return lexical unit with type svw + */ + public static LexicalUnit createSvw(final LexicalUnit prev, final double d) { + return new LexicalUnitImpl(prev, LexicalUnitType.SVW, d); + } + + /** + * @param prev the previous LexicalUnit + * @param d the double value + * @return lexical unit with type svh + */ + public static LexicalUnit createSvh(final LexicalUnit prev, final double d) { + return new LexicalUnitImpl(prev, LexicalUnitType.SVH, d); + } + + /** + * @param prev the previous LexicalUnit + * @param d the double value + * @return lexical unit with type svmin + */ + public static LexicalUnit createSvMin(final LexicalUnit prev, final double d) { + return new LexicalUnitImpl(prev, LexicalUnitType.SVMIN, d); + } + + /** + * @param prev the previous LexicalUnit + * @param d the double value + * @return lexical unit with type svmax + */ + public static LexicalUnit createSvMax(final LexicalUnit prev, final double d) { + return new LexicalUnitImpl(prev, LexicalUnitType.SVMAX, d); + } + /** * @param prev the previous LexicalUnit * @param d the double value diff --git a/src/main/javacc/CSS3Parser.jj b/src/main/javacc/CSS3Parser.jj index 8ddcf6c..5e9b5e3 100644 --- a/src/main/javacc/CSS3Parser.jj +++ b/src/main/javacc/CSS3Parser.jj @@ -1,3354 +1,3385 @@ -/* - * Copyright (c) 2019-2024 Ronald Brill. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -options { - IGNORE_CASE = true; - - UNICODE_INPUT = true; - USER_CHAR_STREAM = true; - -// DEBUG_TOKEN_MANAGER = true; -// DEBUG_PARSER = true; - - JDK_VERSION = "1.8"; -// JAVA_TEMPLATE_TYPE = "modern" -} - -PARSER_BEGIN(CSS3Parser) - -package org.htmlunit.cssparser.parser.javacc; - -import java.util.LinkedList; -import java.util.Locale; - -import org.htmlunit.cssparser.dom.CSSValueImpl; -import org.htmlunit.cssparser.dom.Property; -import org.htmlunit.cssparser.parser.AbstractCSSParser; -import org.htmlunit.cssparser.parser.CSSParseException; -import org.htmlunit.cssparser.parser.LexicalUnit; -import org.htmlunit.cssparser.parser.LexicalUnitImpl; -import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; -import org.htmlunit.cssparser.parser.Locatable; -import org.htmlunit.cssparser.parser.Locator; -import org.htmlunit.cssparser.parser.condition.AttributeCondition; -import org.htmlunit.cssparser.parser.condition.BeginHyphenAttributeCondition; -import org.htmlunit.cssparser.parser.condition.ClassCondition; -import org.htmlunit.cssparser.parser.condition.Condition; -import org.htmlunit.cssparser.parser.condition.IdCondition; -import org.htmlunit.cssparser.parser.condition.LangCondition; -import org.htmlunit.cssparser.parser.condition.HasPseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.IsPseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; -import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; -import org.htmlunit.cssparser.parser.condition.PseudoClassCondition; -import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; -import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; -import org.htmlunit.cssparser.parser.condition.WherePseudoClassCondition; -import org.htmlunit.cssparser.parser.media.MediaQuery; -import org.htmlunit.cssparser.parser.media.MediaQueryList; -import org.htmlunit.cssparser.parser.selector.ChildSelector; -import org.htmlunit.cssparser.parser.selector.Combinator; -import org.htmlunit.cssparser.parser.selector.DescendantSelector; -import org.htmlunit.cssparser.parser.selector.DirectAdjacentSelector; -import org.htmlunit.cssparser.parser.selector.ElementSelector; -import org.htmlunit.cssparser.parser.selector.GeneralAdjacentSelector; -import org.htmlunit.cssparser.parser.selector.PseudoElementSelector; -import org.htmlunit.cssparser.parser.selector.RelativeSelector; -import org.htmlunit.cssparser.parser.selector.Selector; -import org.htmlunit.cssparser.parser.selector.SelectorList; -import org.htmlunit.cssparser.parser.selector.SelectorListImpl; -import org.htmlunit.cssparser.parser.selector.SimpleSelector; -import org.htmlunit.cssparser.util.ParserUtils; - -/** - * @author David Schweinsberg - * @author waldbaer - * @author Ahmed Ashour - * @author Ronald Brill - */ -public class CSS3Parser extends AbstractCSSParser { - - public CSS3Parser() { - this((CharStream) null); - } - - @Override - public String getParserVersion() { - return "http://www.w3.org/Style/CSS/"; - } - - protected String getGrammarUri() - { - return "http://www.w3.org/TR/WD-css3-syntax-20030813"; - } -} - -PARSER_END(CSS3Parser) - -TOKEN_MGR_DECLS : -{ -} - - TOKEN : -{ -// s [ \t\r\n\f]+ -// {s} {return S;} - < S: ( " "|"\t"|"\r"|"\n"|"\f" )+ > -// w {s}? -// | < W: ( )? > -} - - MORE : -{ - < "/*" > : COMMENT -} - - SKIP : -{ - < "*/" > : DEFAULT -} - - MORE : -{ - < ~[] > : COMMENT -} - - TOKEN : -{ -// h [0-9a-f] - < #H: ["0"-"9","a"-"f"] > -| < #HNUM: | | | | | > - -// nonascii [\200-\377] -// The two occurrences of "\377" represent the highest character number that -// current versions of Flex can deal with (decimal 255). They should be read as -// "\4177777" (decimal 1114111), which is the highest possible code point in -// Unicode/ISO-10646. -// Limitation: This parser can only handle Unicode characters up to \uFFFF -// (decimal 65535). -| < #NONASCII: ["\u0080"-"\uFFFF"] > - -// unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? -| < #UNICODE: "\\" ( "\r\n" | [" ","\t","\r","\n","\f"] )? > - -// escape {unicode}|\\[^\r\n\f0-9a-f] -| < #ESCAPE: | ( "\\" ~["\r","\n","\f","0"-"9","a"-"f"] ) > - -// nmstart [_a-z]|{nonascii}|{escape} -| < #NMSTART: ["_","a"-"z"] | | > - -// nmchar [_a-z0-9-]|{nonascii}|{escape} -| < #NMCHAR: ["_","a"-"z","0"-"9","-"] | | > - -// nl \n|\r\n|\r|\f -| < #NL: "\n" | "\r\n" | "\r" | "\f" > - -// string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\" -| < #STRING1: ( ~["\n","\r","\f","\\","\""] | "\\" | )* > - -// string2 \'([^\n\r\f\\']|\\{nl}|{escape})*\' -| < #STRING2: ( ~["\n","\r","\f","\\","\'"] | "\\" | )* > - -// comment \/\*[^*]*\*+([^/*][^*]*\*+)*\/ -| < #COMMENT_: "/" "*" ( ~["*"] )* ("*")+ ( ~["/","*"] ( ~["*"] )* ( "*" )+ )* "/"> - -| < AND: "and" > -| < NOT: "not" > -| < ONLY: "only" > - -// {num} {return NUMBER;} -| < NUMBER: > - -| < INHERIT: "inherit" > -| < NONE: "none" > -| < FROM: "from" > - -// ident -?{nmstart}{nmchar}* -// {ident} {return IDENT;} -| < IDENT: (< MINUS >)? ( )* > - -// name {nmchar}+ -| < #NAME: ( )+ > - -// num [0-9]+|[0-9]*"."[0-9]+ -| < NUM: ( ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ ) (["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+)? > - -// string {string1}|{string2} -// {string} {return STRING;} -| < STRING: ( "\"" "\"" ) | ( "\'" "\'" ) > { matchedToken.image = ParserUtils.trimBy(image, 1, 1); } - -// url ([!#$%&*-~]|{nonascii}|{escape})* -| < #URL: ( ["!","#","$","%","&","*"-"[","]"-"~"] | | )* > - -// A a|\\0{0,4}(41|61)(\r\n|[ \t\r\n\f])? -| < #A_LETTER: "a" | "\\" ("0")? ("0")? ("0")? ("0")? ( "41" | "61" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// C c|\\0{0,4}(43|63)(\r\n|[ \t\r\n\f])? -| < #C_LETTER: "c" | "\\" ("0")? ("0")? ("0")? ("0")? ( "43" | "63" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// D d|\\0{0,4}(44|64)(\r\n|[ \t\r\n\f])? -| < #D_LETTER: "d" | "\\" ("0")? ("0")? ("0")? ("0")? ( "44" | "64" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// E e|\\0{0,4}(45|65)(\r\n|[ \t\r\n\f])? -| < #E_LETTER: "e" | "\\" ("0")? ("0")? ("0")? ("0")? ( "45" | "65" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// F f|\\0{0,4}(46|66)(\r\n|[ \t\r\n\f])? -| < #F_LETTER: "f" | "\\" ("0")? ("0")? ("0")? ("0")? ( "46" | "66" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > - -// G g|\\0{0,4}(47|67)(\r\n|[ \t\r\n\f])?|\\g -| < #G_LETTER: "g" | "\\" ("0")? ("0")? ("0")? ("0")? ( "47" | "67" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "g" > - -// H h|\\0{0,4}(48|68)(\r\n|[ \t\r\n\f])?|\\h -| < #H_LETTER: "h" | "\\" ("0")? ("0")? ("0")? ("0")? ( "48" | "68" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "h" > - -// I i|\\0{0,4}(49|69)(\r\n|[ \t\r\n\f])?|\\i -| < #I_LETTER: "i" | "\\" ("0")? ("0")? ("0")? ("0")? ( "49" | "69" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "i" > - -// K k|\\0{0,4}(4b|6b)(\r\n|[ \t\r\n\f])?|\\k -| < #K_LETTER: "k" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4b" | "6b" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "k" > - -// L l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l -| < #L_LETTER: "l" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4c" | "6c" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "l" > - -// M m|\\0{0,4}(4d|6d)(\r\n|[ \t\r\n\f])?|\\m -| < #M_LETTER: "m" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4d" | "6d" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "m" > - -// N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n -| < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > - -// O o|\\0{0,4}(4f|6f)(\r\n|[ \t\r\n\f])?|\\o -| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4f" | "6f" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > - -// P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p -| < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > - -// R r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r -| < #R_LETTER: "r" | "\\" ("0")? ("0")? ("0")? ("0")? ( "52" | "72" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "r" > - -// S s|\\0{0,4}(53|73)(\r\n|[ \t\r\n\f])?|\\s -| < #S_LETTER: "s" | "\\" ("0")? ("0")? ("0")? ("0")? ( "53" | "73" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "s" > - -// T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t -| < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > - -// U u|\\0{0,4}(55|75)(\r\n|[ \t\r\n\f])?|\\v -| < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > - -// X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x -| < #X_LETTER: "x" | "\\" ("0")? ("0")? ("0")? ("0")? ( "58" | "78" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "x" > - -// Z z|\\0{0,4}(5a|7a)(\r\n|[ \t\r\n\f])?|\\z -| < #Z_LETTER: "z" | "\\" ("0")? ("0")? ("0")? ("0")? ( "5a" | "7a" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "z" > - -// "" {return CDC;} -| < CDC: "-->" > - -// "~=" {return INCLUDES;} -| < INCLUDES: "~=" > - -// "|=" {return DASHMATCH;} -| < DASHMATCH: "|=" > - -// "^=" {return PREFIXMATCH;} -| < PREFIXMATCH: "^=" > - -// "$=" {return SUFFIXMATCH;} -| < SUFFIXMATCH: "$=" > - -// "*=" {return SUBSTRINGMATCH;} -| < SUBSTRINGMATCH: "*=" > - -// {w}"{" {return LBRACE;} -| < LBRACE: "{" > -| < RBRACE: "}" > - -| < LROUND: "(" > -| < RROUND: ")" > - -| < DOT: "." > -| < SEMICOLON: ";" > -| < COLON: ":" > -| < ASTERISK: "*" > -| < SLASH: "/" > -| < MINUS: "-" > -| < EQUALS: "=" > -| < LSQUARE: "[" > -| < RSQUARE: "]" > - -// {w}"+" {return PLUS;} -| < PLUS: "+" > - -// {w}">" {return GREATER;} -| < GREATER: ">" > - -// {w}"~" {return TILDE;} -| < TILDE: "~" > - -// {w}"," {return COMMA;} -| < COMMA: "," > - -// "#"{name} {return HASH;} -| < HASH: "#" > - -// @{I}{M}{P}{O}{R}{T} {return IMPORT_SYM;} -| < IMPORT_SYM: "@" > - -// @{P}{A}{G}{E} {return PAGE_SYM;} -| < PAGE_SYM: "@" > - -// @{M}{E}{D}{I}{A} {return MEDIA_SYM;} -| < MEDIA_SYM: "@" > - -// "@{F}{O}{N}{T}-{F}{A}{C}{E}" {return FONT_FACE_SYM;} -| < FONT_FACE_SYM: "@" < MINUS > > - -// @{C}{H}{A}{R}{S}{E}{T} {return CHARSET_SYM;} -| < CHARSET_SYM: "@" > - -// "!"({w}|{comment})*{I}{M}{P}{O}{R}{T}{A}{N}{T} {return IMPORTANT_SYM;} -| < IMPORTANT_SYM: "!" ( | )* > - -// {num}{E}{M} {return EMS;} -| < EMS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{R}{E}{M} {return REM;} -| < REM: "rem" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{E}{X} {return EXS;} -| < EXS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{C}{H} {return CH;} -| < CH: "ch" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{W} {return VW;} -| < VW: "vw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{H} {return VH;} -| < VH: "vh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{V}{M}{I}{N} {return VMIN;} -| < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{V}{M}{A}{X} {return VMAX;} -| < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{P}{X} {return LENGTH;} -| < LENGTH_PX: "px" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{C}{M} {return LENGTH;} -| < LENGTH_CM: "cm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{M}{M} {return LENGTH;} -| < LENGTH_MM: "mm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{I}{N} {return LENGTH;} -| < LENGTH_IN: "in" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{P}{T} {return LENGTH;} -| < LENGTH_PT: "pt" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{P}{C} {return LENGTH;} -| < LENGTH_PC: "pc" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{Q} {return LENGTH;} -| < LENGTH_Q: "Q" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{D}{E}{G} {return ANGLE;} -| < ANGLE_DEG: "deg" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{R}{A}{D} {return ANGLE;} -| < ANGLE_RAD: "rad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{G}{R}{A}{D} {return ANGLE;} -| < ANGLE_GRAD: "grad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{T}{U}{R}{N} {return ANGLE;} -| < ANGLE_TURN: "turn" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}{M}{S} {return TIME;} -| < TIME_MS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{S} {return TIME;} -| < TIME_S: > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{H}{Z} {return FREQ;} -| < FREQ_HZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } - -// {num}{K}{H}{Z} {return FREQ;} -| < FREQ_KHZ: > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{D}{P}{I} {return RESOLUTION;} -| < RESOLUTION_DPI: "dpi" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } - -// {num}{D}{P}{C}{M} {return RESOLUTION;} -| < RESOLUTION_DPCM: "dpcm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } - -// {num}% {return PERCENTAGE;} -| < PERCENTAGE: "%" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } - -// {num}{ident} {return DIMENSION;} -| < DIMENSION: ( ["a"-"z","0"-"9"] | | )* > - -| < #H_PLACEHOLDER: ( | "?"){1,6} > -| < UNICODE_RANGE: "u+" (< MINUS > < H_PLACEHOLDER >)? > - -// "url("{w}{string}{w}")" {return URI;} -// "url("{w}{url}{w}")" {return URI;} -| < URI: "url" ( )* ( | ) ( )* > { matchedToken.image = ParserUtils.trimUrl(image); } - -// {N}{O}{T} "(" {return FUNCTION_NOT;} -| < FUNCTION_NOT: "not" > - -// {L}{A}{N}{G} "(" {return FUNCTION_LANG;} -| < FUNCTION_LANG: "lang" > - -// {C}{A}{L}{C} "(" {return FUNCTION_CALC;} -| < FUNCTION_CALC: "calc" > - -// {V}{A}{R} "(" {return FUNCTION_VAR;} -| < FUNCTION_VAR: "var" > - -| < FUNCTION_RGB: "rgb" ("a")? > -| < FUNCTION_HSL: "hsl" ("a")? > -| < FUNCTION_HWB: "hwb" > -| < FUNCTION_LAB: ("ok")? "lab" > -| < FUNCTION_LCH: ("ok")? "lch" > - -| < FUNCTION_IS: "is" > -| < FUNCTION_WHERE: "where" > -| < FUNCTION_HAS: "has" > - -| < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > - -// {ident} "(" {return FUNCTION;} -| < FUNCTION: > - -| < ATKEYWORD: "@" > -} - -<*> TOKEN: -{ - < UNKNOWN: ~[] > - { - // System.err.println("Illegal character : " + image.toString()); - } -} - -// -// stylesheet -// : [ CHARSET_SYM STRING ';' ]? -// [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* -// [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* -// ; -// -void styleSheet() : -{ -} -{ - try - { - { handleStartDocument(); } - styleSheetRuleList() - - } - finally - { - handleEndDocument(); - } -} - -void styleSheetRuleList() : -{ - boolean ruleFound = false; -} -{ - ( | | )* - ( - charsetRule() - ( | | )* - )? - ( - ( - ( - importRule(ruleFound) - | - ( - styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() - ) - { - ruleFound = true; - } - ) - | - ( - // skip until the next RBRACE - { ParseException e = generateParseException(); } - invalidRule() - { - Token t = getNextToken(); - - boolean charsetProcessed = false; - if (t.kind == CHARSET_SYM) { - t = getNextToken(); - if (t.kind == S) { - t = getNextToken(); - if (t.kind == STRING) { - t = getNextToken(); - if (t.kind == SEMICOLON) { - getNextToken(); - charsetProcessed = true; - } - } - } - CSSParseException cpe = toCSSParseException("misplacedCharsetRule", e); - getErrorHandler().error(cpe); - getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - } - - if (!charsetProcessed) { - if (t.kind == EOF) { - return; - } - - CSSParseException cpe = toCSSParseException("invalidRule", e); - getErrorHandler().error(cpe); - getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); - if (t.kind != RBRACE) { - error_skipblock(null, null); - } - if (t.kind == EOF) { - return; - } - } - } - ) - ) - ( | | )* - )* -} - -JAVACODE -void invalidRule() -{ -} - -// -// This is used by ASTStyleSheet.insertRule to parse a single rule -// -void styleSheetRuleSingle() : -{ -} -{ - ( )* - ( charsetRule() | importRule(false) | styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() ) - ( )* -} - -void charsetRule() : -{ - Token t; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - - t = - - { - handleCharset(t.toString(), locator); - } - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidCharsetRule", e)); - } -} - -void unknownAtRule() : -{ - String s; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - s = skip(); - handleIgnorableAtRule(s, locator); - } - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidUnknownRule", generateParseException())); - } -} - -// -// import -// : IMPORT_SYM S* -// [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S* -// ; -// -void importRule(final boolean nonImportRuleFoundBefore) : -{ - Token t; - MediaQueryList ml = new MediaQueryList(); - Locator locator; -} -{ - try - { - { - ParseException e = null; - if (nonImportRuleFoundBefore) - { - e = generateParseException(); - } - } - - { - locator = createLocator(token); - } - ( )* - ( t = | t = ) ( )* - ( mediaList(ml) )? - - { - if (nonImportRuleFoundBefore) - { - getErrorHandler().error(toCSSParseException("invalidImportRuleIgnored2", e)); - } - else - { - handleImportStyle(unescape(t.image, false), ml, null, locator); - } - } - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipAtRule(); - } - catch (ParseException e) - { - getErrorHandler().error(toCSSParseException("invalidImportRule", e)); - error_skipAtRule(); - } -} - -// -// media -// : MEDIA_SYM S* medium [ COMMA S* medium ]* '{' S* ruleset* '}' S* -// ; -// -void mediaRule() : -{ - boolean start = false; - MediaQueryList ml = new MediaQueryList(); - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - ( )* - mediaList(ml) - { - start = true; - handleStartMedia(ml, locator); - } - ( )* - ( mediaRuleList() )? - - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidMediaRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringRule", cpe); - } - finally - { - if (start) { - handleEndMedia(ml); - } - } -} - -void mediaList(MediaQueryList ml) : -{ - MediaQuery mq; -} -{ - try - { - mq = mediaQuery() - { - ml.setLocator(createLocator(token)); - } - ( ( )* { ml.add(mq); } mq = mediaQuery() )* - { ml.add(mq); } - } - catch(ParseException e) - { - throw toCSSParseException("invalidMediaList", e); - } -} - -// -// media_query -// : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* -// | expression [ AND S* expression ]* -// ; -// -MediaQuery mediaQuery() : -{ - String s; - MediaQuery mq; - Property p; - boolean only = false; - boolean not = false; -} -{ - ( - ( - ( - ( - { only = true; } - | - { not = true; } - ) ( )* - )? - s = medium() - { mq = new MediaQuery(s, only, not); mq.setLocator(createLocator(token)); } - ( - ( )* - p = mediaExpression() - { - mq.addMediaProperty(p); - } - )* - ) - | - ( - p = mediaExpression() - { - mq = new MediaQuery(null, only, not); - mq.setLocator(createLocator(token)); - mq.addMediaProperty(p); - } - ( - ( )* - p = mediaExpression() - { - mq.addMediaProperty(p); - } - )* - ) - ) - { return mq; } -} - -// -// expression -// : '(' S* media_feature S* [ ':' S* expr ]? ')' S* -// ; -// -Property mediaExpression() : -{ - String p; - LexicalUnit e = null; - Property prop; - Token t; -} -{ - - ( )* - ( - t = identExcludingOnly() ( )* { p = unescape(t.image, false); } - | t = ( )* { p = unescape(t.image, false); } - ) - ( - ( )* - e = expr() - )? - - ( )* - { - if(e==null) - { - prop = new Property(p, null, false); - } - else - { - prop = new Property(p, new CSSValueImpl(e), false); - } - return prop; - } -} - -void mediaRuleList() : -{ -} -{ - ( ( styleRule() | mediaRule() | pageRule() | importRule(true) | unknownAtRule() ) ( )* )+ -} - -// -// medium -// : IDENT S* -// ; -// -String medium() : -{ - Token t; -} -{ - t = identExcludingOnly() ( )* - { - return unescape(t.image, false); - } -} - -// -// page -// : PAGE_SYM S* pseudo_page? S* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void pageRule() : -{ - String sel = null; - boolean start = false; - Locator locator; -} -{ - try { - - { - locator = createLocator(token); - } - ( )* - - ( sel = pageSelectorList() )? - - ( )* - { - start = true; - handleStartPage(null, sel, locator); - } - - styleDeclaration() - - } - catch (CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidPageRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringRule", cpe); - } - finally { - if (start) { - handleEndPage(null, sel); - } - } -} - -// -// pageSelectorList -// : [ pageSelector S* [ ',' pageSelector S* ]* ]? -// ; -// -String pageSelectorList() : -{ - String sel; - LinkedList selectors = new LinkedList<>(); -} -{ - sel = pageSelector() { selectors.add(sel); } - ( - ( )* sel = pageSelector() { selectors.add(sel); } - )* - - { return String.join(", ", selectors); } -} - -// -// pageSelector -// : pseudoPage+ | IDENT pseudoPage* -// ; -// -String pageSelector() : -{ - StringBuilder pseudos = new StringBuilder(); - String pseudo; - Token ident; -} -{ - ( - pseudo = pseudoPage() { pseudos.append(pseudo); } - | - ident = ident() { pseudos.append(unescape(ident.image, false)); } - ) - ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* - ( )* - - { return pseudos.toString(); } -} - -// -// pseudoPage -// : ':' IDENT -// ; -// -String pseudoPage() : -{ - Token t; -} -{ - t = ident() { return ":" + normalizeAndValidatePagePseudoClass(t); } -} - -// -// font_face -// : FONT_FACE_SYM S* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void fontFaceRule() : -{ - boolean start = false; - Locator locator; -} -{ - try { - - { - locator = createLocator(token); - } - ( )* - ( )* { start = true; handleStartFontFace(locator); } - styleDeclaration() - - } - catch(ParseException e) - { - throw toCSSParseException("invalidFontFaceRule", e); - } - finally { - if (start) { - handleEndFontFace(); - } - } -} - -// -// operator -// : '/' S* | COMMA S* | /* empty */ -// ; -// -LexicalUnit operator(LexicalUnit prev) : -{ -} -{ - ( )* { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_SLASH); } - | ( )* { return LexicalUnitImpl.createComma(prev); } -} - -// -// combinator -// : PLUS S* -// | GREATER S* -// | TILDE S* -// | S -// ; -// -Combinator combinator() : -{ - Combinator c = Combinator.DESCENDANT_COMBINATOR; -} -{ - ( - { c = Combinator.NEXT_SIBLING_COMBINATOR; } ( )* - | { c = Combinator.CHILD_COMBINATOR; } ( )* - | { c = Combinator.SUBSEQUENT_SIBLING_COMBINATOR; } ( )* - | - ( ( { c = Combinator.NEXT_SIBLING_COMBINATOR; } - | { c = Combinator.CHILD_COMBINATOR; } - | { c = Combinator.SUBSEQUENT_SIBLING_COMBINATOR; } - ) ( )* - )? - ) - { return c; } -} - -Combinator relativeCombinator() : -{ - Combinator c = Combinator.DESCENDANT_COMBINATOR; -} -{ - ( - { c = Combinator.NEXT_SIBLING_COMBINATOR; } ( )* - | { c = Combinator.CHILD_COMBINATOR; } ( )* - | { c = Combinator.SUBSEQUENT_SIBLING_COMBINATOR; } ( )* - )? - { return c; } -} - -// -// unary_operator -// : '-' | PLUS -// ; -// -char unaryOperator() : -{ -} -{ - ( { return '-'; } | { return '+'; } ) -} - - -// -// ruleset -// : selector [ COMMA S* selector ]* -// '{' S* declaration [ ';' S* declaration ]* '}' S* -// ; -// -void styleRule() : -{ - SelectorList selList = null; - boolean start = false; - Token t; -} -{ - try { - { - t = token; - } - selList = selectorList() - ( )* - { - start = true; - handleStartSelector(selList, createLocator(t.next)); - } - styleDeclaration() - ( | ) - } - catch(CSSParseException e) - { - getErrorHandler().error(e); - error_skipblock("ignoringRule", e); - } - catch(ParseException e) - { - CSSParseException cpe = toCSSParseException("invalidStyleRule", e); - getErrorHandler().error(cpe); - error_skipblock("ignoringFollowingDeclarations", cpe); - } - finally { - if (start) { - handleEndSelector(selList); - } - } -} - -SelectorList parseSelectorsInternal() : -{ - SelectorList selectors; -} -{ - ( )* - selectors = selectorList() - - { - return selectors; - } -} - -SelectorList selectorList() : -{ - SelectorListImpl selList = new SelectorListImpl(); - Selector sel; -} -{ - sel = selector() { selList.setLocator(sel.getLocator()); } - ( ( )* - { selList.add(sel); } - sel = selector() { selList.setLocator(sel.getLocator()); } - )* - { - selList.add(sel); - return selList; - } -} - -SelectorList relativeSelectorList() : -{ - SelectorListImpl selList = new SelectorListImpl(); - Selector sel; - Combinator comb; -} -{ - comb = relativeCombinator() - sel = selector() { selList.setLocator(sel.getLocator()); } - ( ( )* - { selList.add(new RelativeSelector(comb, sel)); } - - comb = relativeCombinator() - sel = selector() { selList.setLocator(sel.getLocator()); } - )* - { - selList.add(new RelativeSelector(comb, sel)); - return selList; - } -} - -// -// selector -// : simple_selector_sequence [ combinator simple_selector_sequence ]* -// ; -// -Selector selector() : -{ - Selector sel; - Combinator comb; -} -{ - try { - sel = simpleSelector(null, Combinator.DESCENDANT_COMBINATOR) - ( LOOKAHEAD(2) comb = combinator() sel = simpleSelector(sel, comb) )* ( )* - { - return sel; - } - } catch (ParseException e) { - throw toCSSParseException("invalidSelector", e); - } -} - -// -// simple_selector -// : element_name [ HASH | class | attrib | pseudo ]* -// | [ HASH | class | attrib | pseudo ]+ -// ; -// -Selector simpleSelector(Selector sel, Combinator comb) : -{ - ElementSelector elemSel = null; - SimpleSelector simpleSel = null; - Condition c = null; - SimpleSelector pseudoElementSel = null; - Object o = null; -} -{ - try - { - ( - ( elemSel = elementName() - ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } - | ( - o = pseudo(null != pseudoElementSel) - { if (o instanceof Condition) - { elemSel.addCondition((Condition) o); - } else { - pseudoElementSel = (SimpleSelector) o; - } - } - ) - )* - ) - | - ( { elemSel = new ElementSelector(null, createLocator(token)); } - ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } - | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } - | ( - o = pseudo(null != pseudoElementSel) - { if (o instanceof Condition) - { elemSel.addCondition((Condition) o); - } else { - pseudoElementSel = (SimpleSelector) o; - } - } - ) - )+ - ) - ) - - { - simpleSel = elemSel; - if (sel == null) { - sel = simpleSel; - } else { - switch (comb) { - case DESCENDANT_COMBINATOR: - sel = new DescendantSelector(sel, simpleSel); - break; - case NEXT_SIBLING_COMBINATOR: - sel = new DirectAdjacentSelector(sel, simpleSel); - break; - case CHILD_COMBINATOR: - sel = new ChildSelector(sel, simpleSel); - break; - case SUBSEQUENT_SIBLING_COMBINATOR: - sel = new GeneralAdjacentSelector(sel, simpleSel); - break; - } - } - if (pseudoElementSel != null) - { - sel = new DescendantSelector(sel, pseudoElementSel); - } - - return sel; - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidSimpleSelector", e); - } -} - -// -// class -// : '.' IDENT -// ; -// -Condition _class(boolean pseudoElementFound) : -{ - Token t; - Locator locator; - ParseException pe = null; -} -{ - try - { - { if (pseudoElementFound) { pe = generateParseException(); } } - - { - locator = createLocator(token); - } - - t = ident() - { - if (pseudoElementFound) { throw pe; } - return new ClassCondition(unescape(t.image, false), locator); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidClassSelector", e); - } -} - -// -// element_name -// : IDENT | '*' -// ; -// -ElementSelector elementName() : -{ - Token t; -} -{ - try - { - t = ident() - { - return new ElementSelector(unescape(t.image, false), createLocator(t)); - } - | - { - return new ElementSelector(null, createLocator(token)); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidElementName", e); - } -} - -// -// attrib -// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH | PREFIXMATCH | SUFFIXMATCH | SUBSTRINGMATCH ] S* -// [ IDENT | STRING ] S* ]? ']' -// ; -// -Condition attrib(boolean pseudoElementFound) : -{ - Token t; - String name = null; - String value = null; - Boolean insensitive = null; - int type = 0; - Locator locator; -} -{ - try - { - - { - locator = createLocator(token); - } - ( )* - { if (pseudoElementFound) { throw generateParseException(); } } - - t = ident() { name = unescape(t.image, false); } - ( )* - ( - ( - { type = 4; } - | - { type = 5; } - | - { type = 6; } - | - "=" { type = 1; } // don't use because of the leading whitespace - | - { type = 2; } - | - { type = 3; } - ) - ( )* - ( - ( - t = ident() { value = unescape(t.image, false); } - | - t = { value = unescape(t.image, false); } - ) - - ( )* - ) - ( - t = ident() { insensitive = handleCaseInSensitive(t); } - ( )* - )? - )? - - { - Condition c = null; - switch (type) { - case 0: - c = new AttributeCondition(name, null, insensitive); - break; - case 1: - c = new AttributeCondition(name, value, insensitive); - break; - case 2: - c = new OneOfAttributeCondition(name, value, insensitive); - break; - case 3: - c = new BeginHyphenAttributeCondition(name, value, insensitive); - break; - case 4: - c = new PrefixAttributeCondition(name, value, insensitive); - break; - case 5: - c = new SuffixAttributeCondition(name, value, insensitive); - break; - case 6: - c = new SubstringAttributeCondition(name, value, insensitive); - break; - } - c.setLocator(locator); - return c; - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidAttrib", e); - } -} - -// -// pseudo -// : ':' (':')? -// [ IDENT -// | FUNCTION_NOT S* selector() S* ')' -// | FUNCTION_LANG S* IDENT S* ')' -// | FUNCTION S* ((PLUS | MINUS | DIMENSION | NUMBER | STRING | IDENT)? S*)+ ')' -// ] -// ; -// -Object pseudo(boolean pseudoElementFound) : -{ - Token t; - String function; - boolean doubleColon = false; - SelectorList selectorList; - SelectorList relativeSelectorList; - Locator locator; -} -{ - try - { - { locator = createLocator(token); } - ( { doubleColon = true; } )? - - ( - t = ident() - { - String s = unescape(t.image, false); - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } - if ("first-line".equals(s) - || "first-letter".equals(s) - || "before".equals(s) - || "after".equals(s)) - { - return new PseudoElementSelector(s, locator, doubleColon); - } - return new PseudoClassCondition(s, locator, doubleColon); - } - | - ( - t = { function = unescape(t.image, false); } - ( )* - selectorList = selectorList() - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } - if (doubleColon) { throw toCSSParseException("invalidPseudoColon", new String[] { ":" + function + selectorList + ")" }, locator); } - return new NotPseudoClassCondition(selectorList, locator); - } - ) - | - ( - t = { function = unescape(t.image, false); } - ( )* - selectorList = selectorList() - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } - if (doubleColon) { throw toCSSParseException("invalidPseudoColon", new String[] { ":" + function + selectorList + ")" }, locator); } - return new IsPseudoClassCondition(selectorList, locator); - } - ) - | - ( - t = { function = unescape(t.image, false); } - ( )* - selectorList = selectorList() - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } - if (doubleColon) { throw toCSSParseException("invalidPseudoColon", new String[] { ":" + function + selectorList + ")" }, locator); } - return new WherePseudoClassCondition(selectorList, locator); - } - ) - | - ( - t = { function = unescape(t.image, false); } - ( )* - relativeSelectorList = relativeSelectorList() - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + relativeSelectorList + ")" }, locator); } - if (doubleColon) { throw toCSSParseException("invalidPseudoColon", new String[] { ":" + function + relativeSelectorList + ")" }, locator); } - return new HasPseudoClassCondition(relativeSelectorList, locator); - } - ) - | - ( - t = { function = unescape(t.image, false); } - ( )* - t = ident() { String lang = unescape(t.image, false); } - ( )* - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { "lang(" + lang + ")" }, locator); } - return new LangCondition(lang, locator); - } - ) - | - ( - t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } - ( )* - ( - (t = | t = | t = | t = | t = | t = ident()) - { args.append(unescape(t.image, false)); } - ( t = - { args.append(unescape(t.image, false)); } - )* - )+ - - { - if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + args.toString().trim() + ")" }, locator); } - return new PseudoClassCondition(function + args.toString().trim() + ")", locator, doubleColon); - } - ) - ) - } - catch (ParseException e) - { - throw toCSSParseException("invalidPseudo", e); - } -} - -Condition hash(boolean pseudoElementFound) : -{ - Token t; - ParseException pe = null; -} -{ - try - { - { if (pseudoElementFound) { pe = generateParseException(); } } - t = - { - if (pseudoElementFound) { throw pe; } - return new IdCondition(unescape(t.image.substring(1), false), createLocator(t)); - } - } - catch (ParseException e) - { - throw toCSSParseException("invalidHash", e); - } -} - -void styleDeclaration() : -{ -} -{ - ( declaration() )? - ( ( )* ( declaration() )? )* -} - -// -// declaration -// : property ':' S* expr prio? -// | -// ; -// -void declaration() : -{ - String p; - LexicalUnit e = null; - Token t; - boolean priority = false; - Locator starHack = null; - Locator locator = null; -} -{ - try - { - // at the moment i have no better idea how to handle the - // infamous css-star-hack (http://en.wikipedia.org/wiki/CSS_filter#Star_hack) - // smart (means: ignoring only one decl) - ( { starHack = createLocator(token); } )? - ( - ( - t = ident() { p = unescape(t.image, false); locator = createLocator(t); } - ( )* - ( )* - e = expr() - ) - | - ( - t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } - ( )* - ( e = expr() )? - ) - ) - - ( priority = prio() )? - - // maybe there are strange characters at the end - create error and skip - ( t = - { - locator = createLocator(t); - CSSParseException cpe = toCSSParseException("invalidDeclarationInvalidChar", new String[] {t.image}, locator); - getErrorHandler().error(cpe); - error_skipdecl(); - } - )? - - { - if (starHack != null) - { - CSSParseException cpe = toCSSParseException("invalidDeclarationStarHack", new Object[0], starHack); - getErrorHandler().error(cpe); - return; - } - handleProperty(p, e, priority, locator); - } - } - catch (CSSParseException ex) - { - getErrorHandler().error(ex); - error_skipdecl(); - } - catch (ParseException ex) - { - CSSParseException cpe = toCSSParseException("invalidDeclaration", ex); - getErrorHandler().error(cpe); - error_skipdecl(); - } -} - -// -// prio -// : IMPORTANT_SYM S* -// ; -boolean prio() : -{ -} -{ - ( )* - { return true; } -} - -// -// expr -// : term [ operator term ]* -// ; -LexicalUnit expr() : -{ - LexicalUnit head; - LexicalUnit body; -} -{ - try - { - head = term(null) { body = head; } - ( - ( body = operator(body) )? - body = term(body) - )* - { return head; } - } - catch (ParseException ex) - { - throw toCSSParseException("invalidExpr", ex); - } -} - -// -// term -// : unary_operator? -// [ NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | function ] -// | STRING | IDENT | URI | hexcolor | DIMENSION -// S* -// ; -// -LexicalUnit term(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit value = null; - Locator locator = null; -} -{ - ( op = unaryOperator() )? { if (op != ' ') { locator = createLocator(token); } } - ( - ( value = number(prev, op) - | value = dimension(prev, op) - | value = percentage(prev, op) - | value = function(prev) - | value = rgbColor(prev) - | value = hslColor(prev) - | value = hwbColor(prev) - | value = labColor(prev) - | value = lchColor(prev) - | value = calc(prev) - | value = var(prev) - ) - | t = { value = LexicalUnitImpl.createString(prev, unescape(t.image, false)); } - | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } - | - ( - t = identExcludingInherit() - ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? - ) - { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - | t = { value = LexicalUnitImpl.createURI(prev, unescape(t.image, true)); } - | value = unicodeRange(prev) - | value = hexcolor(prev) - | t = - { - int n = getLastNumPos(t.image); - value = LexicalUnitImpl.createDimension( - prev, - doubleValue(op, t.image.substring(0, n+1)), - t.image.substring(n+1)); - } - | t = { value = LexicalUnitImpl.createInherit(prev); } - ) - { - if (locator == null) - { - locator = createLocator(token); - } - } - ( )* - { - if(value != null) - { - value.setLocator(locator); - } - return value; - } -} - -// -// function -// : FUNCTION S* ((EQUALS | COMMA | (unaryOperator? NUMBER) | STRING | IDENT | URI)? S*)+ ')' S* -// ; -// -LexicalUnit function(LexicalUnit prev) : -{ - Token t; - LexicalUnit param = null; - LexicalUnit body = null; - String funct = ""; -} -{ - t = { funct = funct + unescape(t.image, false); } - ( )* - ( - param = term(null) { body = param; } - ( - ( - ( - t = { body = LexicalUnitImpl.createComma(body); } - | t = { body = LexicalUnitImpl.createIdent(body, t.image); } - ) - ( )* - )? - body = term(body) - )* - )? - - { - return functionInternal(prev, funct, param); - } -} - -// -// calc() -// https://www.w3.org/TR/css3-values/#calc-syntax -// = calc( ) -// -LexicalUnit calc(LexicalUnit prev) : -{ - Token t; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); - String funct = ""; -} -{ - t = { funct = unescape(t.image, false); } - ( )* - calcSum(head) - - { - return functionInternal(prev, funct, head.getNextLexicalUnit()); - } -} - -// -// calcSum() -// = [ [ '+' | '-' ] ]* -// -LexicalUnit calcSum(LexicalUnit prev) : -{ -} -{ - ( - prev = calcProduct(prev) - ( - ( - { prev = LexicalUnitImpl.createPlus(prev); } - | { prev = LexicalUnitImpl.createMinus(prev); } - ) - ( )* - prev = calcProduct(prev) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcProduct() -// = [ '*' | '/' ]* -// -LexicalUnit calcProduct(LexicalUnit prev) : -{ -} -{ - ( - prev = calcValue(prev) - ( - ( - { prev = LexicalUnitImpl.createMultiply(prev); } - ( )* - prev = calcValue(prev) - ) - | - ( - { prev = LexicalUnitImpl.createDivide(prev); } - ( )* - prev = calcNumberValue(prev) - ) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcValue() -// = | | | ( ) -// -LexicalUnit calcValue(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); -} -{ - ( - ( - ( - (op = unaryOperator() )? - ( - prev = number(prev, op) - | prev = dimension(prev, op) - | prev = percentage(prev, op) - | t = ident() { prev = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - ) - ) - | prev = var(prev) - | - ( - ( | ) - calcSum(head) - - ) - { - // use an empty function as block scope - prev = functionInternal(prev, "(", head.getNextLexicalUnit()); - } - ) - ( )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberSum() -// = [ [ '+' | '-' ] ]* -// -LexicalUnit calcNumberSum(LexicalUnit prev) : -{ -} -{ - ( - prev = calcNumberProduct(prev) - ( - ( - { prev = LexicalUnitImpl.createPlus(prev); } - | { prev = LexicalUnitImpl.createMinus(prev); } - ) - ( )* - prev = calcNumberProduct(prev) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberProduct() -// = [ '*' | '/' ]* -// -LexicalUnit calcNumberProduct(LexicalUnit prev) : -{ -} -{ - ( - prev = calcNumberValue(prev) - ( - ( - { prev = LexicalUnitImpl.createMultiply(prev); } - ( )* - prev = calcNumberValue(prev) - ) - | - ( - { prev = LexicalUnitImpl.createDivide(prev); } - ( )* - prev = calcNumberValue(prev) - ) - )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// -// calcNumberValue() -// = | ( ) -// -LexicalUnit calcNumberValue(LexicalUnit prev) : -{ - Token t; - char op = ' '; - String funct = "("; - LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); -} -{ - ( - ( - ( - (op = unaryOperator() )? - prev = number(prev, op) - | t = ident() { prev = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } - ) - | prev = var(prev) - | - ( - ( - t = { funct = unescape(t.image, false); } - | t = { funct = unescape(t.image, false); } - ) - calcNumberSum(head) - - ) - { - // use an empty function as block scope - prev = functionInternal(prev, funct, head.getNextLexicalUnit()); - } - ) - ( )* - ) - { - if (prev != null) - { - prev.setLocator(createLocator(token)); - } - return prev; - } -} - -// var() -// https://developer.mozilla.org/en-US/docs/Web/CSS/var -// var( , ? ) -// -LexicalUnit var(LexicalUnit prev) : -{ - Token t; - LexicalUnit current, propertyName; - String funct = ""; -} -{ - t = { funct = unescape(t.image, false); } - ( )* - t = { current = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); propertyName = current; } - ( )* - ( - { current = LexicalUnitImpl.createComma(current); } - ( )* - ( - // inline expr here because we need a differnt prev handling - current = term(current) - ( LOOKAHEAD(2) - ( current = operator(current) )? - current = term(current) - )* - )? - )* - - { - return functionInternal(prev, funct, propertyName); - } -} - - -// rgb() / rgba() -// -LexicalUnit rgbColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - ( - { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( - t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } - ) - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - ) - - { - return rgbColorInternal(prev, funct, param); - } -} - - -// hsl() / hsla() -// -LexicalUnit hslColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - ( - { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( - t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = angle(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = angle(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - { next = LexicalUnitImpl.createComma(next); } - ( )* - )? - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - ( - { next = LexicalUnitImpl.createComma(next); } - | { next = LexicalUnitImpl.createSlash(next); } - ) - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - ) - - { - return hslColorInternal(prev, funct, param); - } -} - - -// hwb() -// -LexicalUnit hwbColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - ( - { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( - t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = angle(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = angle(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - ) - - { - return hwbColorInternal(prev, funct, param); - } -} - - -// lab() -// -LexicalUnit labColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - ( - { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( - t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - ) - - { - return labColorInternal(prev, funct, param); - } -} - - -// lch() -// -LexicalUnit lchColor(LexicalUnit prev) : -{ - Token t; - char op = ' '; - LexicalUnit param = null; - LexicalUnit next = null; - String funct; -} -{ - t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } - ( )* - - ( - ( - { param = LexicalUnitImpl.createFrom(null); } - { next = param; } - - ( )* - - ( - t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = rgbColor(next) - | next = hslColor(next) - | next = hwbColor(next) - | next = labColor(next) - | next = lchColor(next) - | next = var(next) - ) - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - next = angle(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - next = number(next, op) - | next = percentage(next, op) - - | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - - | - - ( - ( - (op = unaryOperator() )? - ( - { param = LexicalUnitImpl.createNone(null); } - | param = number(null, op) - | param = percentage(null, op) - - | param = calc(null) - | param = var(null) - ) - ) - { op = ' '; next = param; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - - ( - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = angle(next, op) - - | next = calc(next) - | next = var(next) - ) - ) - { op = ' '; } - - ( )* - ( - ( - { next = LexicalUnitImpl.createSlash(next); } - ( )* - )? - - (op = unaryOperator() )? - ( - { next = LexicalUnitImpl.createNone(next); } - | next = number(next, op) - | next = percentage(next, op) - - | next = calc(next) - | next = var(next) - ) - - ( )* - )? - ) - ) - - { - return lchColorInternal(prev, funct, param); - } -} - - -// -// Helper to process various keywords as IDENT -// -Token ident() : -{ - Token t; -} -{ - t = { return t; } - | - ( - t = - | t = - | t = - | t = - | t = - ) - { - Token ident = new Token(IDENT, unescape(t.image, false)); - ident.beginLine = t.beginLine; - ident.beginColumn = t.endColumn; - ident.endLine = t.beginLine; - ident.endColumn = t.endColumn; - ident.next = t.next; - ident.specialToken = t.specialToken; - return ident; - - } -} - -Token identExcludingInherit() : -{ - Token t; -} -{ - t = { return t; } - | - ( - t = - | t = - | t = - ) - { - Token ident = new Token(IDENT, unescape(t.image, false)); - ident.beginLine = t.beginLine; - ident.beginColumn = t.endColumn; - ident.endLine = t.beginLine; - ident.endColumn = t.endColumn; - ident.next = t.next; - ident.specialToken = t.specialToken; - return ident; - - } -} - -Token identExcludingOnly() : -{ - Token t; -} -{ - t = { return t; } - | - ( - t = - | t = - | t = - ) - { - Token ident = new Token(IDENT, unescape(t.image, false)); - ident.beginLine = t.beginLine; - ident.beginColumn = t.endColumn; - ident.endLine = t.beginLine; - ident.endColumn = t.endColumn; - ident.next = t.next; - ident.specialToken = t.specialToken; - return ident; - - } -} - - -// -// number() -// -LexicalUnit number(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = - ) - { - try - { - value = LexicalUnitImpl.createNumber(prev, intValue(op, t.image)); - } - catch (NumberFormatException e) - { - value = LexicalUnitImpl.createNumber(prev, doubleValue(op, t.image)); - } - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// percentage() -// -LexicalUnit percentage(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createPercentage(prev, doubleValue(op, t.image)); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - -// -// dimension() -// -LexicalUnit dimension(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createPixel(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createCentimeter(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createMillimeter(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createInch(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createPoint(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createPica(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createQuater(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createEm(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRem(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createEx(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createCh(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVw(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVh(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVMin(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createVMax(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createMillisecond(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createSecond(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createHertz(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createKiloHertz(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpi"); } - | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpcm"); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - - -// -// angle() -// -LexicalUnit angle(LexicalUnit prev, char op) : -{ - Token t; - LexicalUnit value = null; -} -{ - ( - t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } - | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } - ) - { - if (value != null) - { - value.setLocator(createLocator(token)); - } - return value; - } -} - - -// -// unicodeRange -// -LexicalUnit unicodeRange(LexicalUnit prev) : -{ - Token t; - StringBuilder range = new StringBuilder(); -} -{ - t = { range.append(unescape(t.image, false)); } - { - return LexicalUnitImpl.createIdent(prev, range.toString().toUpperCase(Locale.ROOT)); - } -} - -// -// hexcolor -// : HASH S* -// ; -// -LexicalUnit hexcolor(LexicalUnit prev) : -{ - Token t; -} -{ - t = - { - return hexColorInternal(prev, t); - } -} - -JAVACODE -String skip() { - StringBuilder sb = new StringBuilder(); - int nesting = 0; - Token t = getToken(0); - if (t.image != null) { - sb.append(t.image); - } - - do { - t = getNextToken(); - if (t.kind == EOF) { - break; - } - sb.append(t.image); - appendUnit(t, sb); - - if (t.kind == LBRACE) { - nesting++; - } - else if (t.kind == RBRACE) { - nesting--; - } - } - while ((t.kind != RBRACE && t.kind != SEMICOLON) || nesting > 0); - - return sb.toString(); -} - -JAVACODE -String skipUnit() { - StringBuilder sb = new StringBuilder(); - - Token t = token; - Token oldToken = null; - while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { - oldToken = t; - sb.append(t.image); - appendUnit(t, sb); - - t = getNextToken(); - } - if (t.kind != EOF) { - token = oldToken; - } - - return sb.toString(); -} - -JAVACODE -void appendUnit(Token t, StringBuilder sb) { - if (t.kind == EMS) { - sb.append("em"); - return; - } - if (t.kind == REM) { - sb.append("rem"); - return; - } - if (t.kind == EXS) { - sb.append("ex"); - return; - } - if (t.kind == CH) { - sb.append("ch"); - return; - } - if (t.kind == VW) { - sb.append("vw"); - return; - } - if (t.kind == VH) { - sb.append("vh"); - return; - } - if (t.kind == VMIN) { - sb.append("vmin"); - return; - } - if (t.kind == VMAX) { - sb.append("vmax"); - return; - } - if (t.kind == LENGTH_PX) { - sb.append("px"); - return; - } - if (t.kind == LENGTH_CM) { - sb.append("cm"); - return; - } - if (t.kind == LENGTH_MM) { - sb.append("mm"); - return; - } - if (t.kind == LENGTH_IN) { - sb.append("in"); - return; - } - if (t.kind == LENGTH_PT) { - sb.append("pt"); - return; - } - if (t.kind == LENGTH_PC) { - sb.append("pc"); - return; - } - if (t.kind == LENGTH_Q) { - sb.append("Q"); - return; - } - if (t.kind == ANGLE_DEG) { - sb.append("deg"); - return; - } - if (t.kind == ANGLE_RAD) { - sb.append("rad"); - return; - } - if (t.kind == ANGLE_GRAD) { - sb.append("grad"); - return; - } - if (t.kind == ANGLE_TURN) { - sb.append("turn"); - return; - } - if (t.kind == TIME_MS) { - sb.append("ms"); - return; - } - if (t.kind == TIME_S) { - sb.append('s'); - return; - } - if (t.kind == FREQ_HZ) { - sb.append("hz"); - return; - } - if (t.kind == FREQ_KHZ) { - sb.append("khz"); - return; - } - if (t.kind == RESOLUTION_DPI) { - sb.append("dpi"); - return; - } - if (t.kind == RESOLUTION_DPCM) { - sb.append("dpcm"); - return; - } - if (t.kind == PERCENTAGE) { - sb.append('%'); - return; - } -} - -JAVACODE -void error_skipblock(String msgKey, CSSParseException e) -{ - if (msgKey != null) { - getErrorHandler().warning(createSkipWarning(msgKey, e)); - } - - Token t; - int nesting = 0; - do { - t = getNextToken(); - if (t.kind == LBRACE) { - nesting++; - } - else if (t.kind == RBRACE) { - nesting--; - } - } - while (t.kind != EOF && (t.kind != RBRACE || nesting > 0)); -} - -JAVACODE -void error_skipdecl() -{ - Token t = getToken(1); - if (t.kind == LBRACE) { - error_skipblock(null, null); - return; - } - if (t.kind == RBRACE) { - // next will be RBRACE so we are finished - return; - } - - Token oldToken = token; - while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF) { - oldToken = t; - t = getNextToken(); - } - if (t.kind != EOF) { - token = oldToken; - } -} - -JAVACODE -void error_skipAtRule() -{ - Token t = null; - do { - t = getNextToken(); - } - while (t.kind != SEMICOLON && t.kind != EOF); -} - -JAVACODE -Boolean handleCaseInSensitive(Token t) -{ - String s = unescape(t.image, false); - if ("i".equalsIgnoreCase(s)) { - return Boolean.TRUE; - } - if ("s".equalsIgnoreCase(s)) { - return Boolean.FALSE; - } - - throw toCSSParseException("invalidCaseInSensitivelyIdentifier", new String[] { s }, createLocator(t)); -} +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +options { + IGNORE_CASE = true; + + UNICODE_INPUT = true; + USER_CHAR_STREAM = true; + +// DEBUG_TOKEN_MANAGER = true; +// DEBUG_PARSER = true; + + JDK_VERSION = "1.8"; +// JAVA_TEMPLATE_TYPE = "modern" +} + +PARSER_BEGIN(CSS3Parser) + +package org.htmlunit.cssparser.parser.javacc; + +import java.util.LinkedList; +import java.util.Locale; + +import org.htmlunit.cssparser.dom.CSSValueImpl; +import org.htmlunit.cssparser.dom.Property; +import org.htmlunit.cssparser.parser.AbstractCSSParser; +import org.htmlunit.cssparser.parser.CSSParseException; +import org.htmlunit.cssparser.parser.LexicalUnit; +import org.htmlunit.cssparser.parser.LexicalUnitImpl; +import org.htmlunit.cssparser.parser.LexicalUnit.LexicalUnitType; +import org.htmlunit.cssparser.parser.Locatable; +import org.htmlunit.cssparser.parser.Locator; +import org.htmlunit.cssparser.parser.condition.AttributeCondition; +import org.htmlunit.cssparser.parser.condition.BeginHyphenAttributeCondition; +import org.htmlunit.cssparser.parser.condition.ClassCondition; +import org.htmlunit.cssparser.parser.condition.Condition; +import org.htmlunit.cssparser.parser.condition.IdCondition; +import org.htmlunit.cssparser.parser.condition.LangCondition; +import org.htmlunit.cssparser.parser.condition.HasPseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.IsPseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.NotPseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.OneOfAttributeCondition; +import org.htmlunit.cssparser.parser.condition.PrefixAttributeCondition; +import org.htmlunit.cssparser.parser.condition.PseudoClassCondition; +import org.htmlunit.cssparser.parser.condition.SubstringAttributeCondition; +import org.htmlunit.cssparser.parser.condition.SuffixAttributeCondition; +import org.htmlunit.cssparser.parser.condition.WherePseudoClassCondition; +import org.htmlunit.cssparser.parser.media.MediaQuery; +import org.htmlunit.cssparser.parser.media.MediaQueryList; +import org.htmlunit.cssparser.parser.selector.ChildSelector; +import org.htmlunit.cssparser.parser.selector.Combinator; +import org.htmlunit.cssparser.parser.selector.DescendantSelector; +import org.htmlunit.cssparser.parser.selector.DirectAdjacentSelector; +import org.htmlunit.cssparser.parser.selector.ElementSelector; +import org.htmlunit.cssparser.parser.selector.GeneralAdjacentSelector; +import org.htmlunit.cssparser.parser.selector.PseudoElementSelector; +import org.htmlunit.cssparser.parser.selector.RelativeSelector; +import org.htmlunit.cssparser.parser.selector.Selector; +import org.htmlunit.cssparser.parser.selector.SelectorList; +import org.htmlunit.cssparser.parser.selector.SelectorListImpl; +import org.htmlunit.cssparser.parser.selector.SimpleSelector; +import org.htmlunit.cssparser.util.ParserUtils; + +/** + * @author David Schweinsberg + * @author waldbaer + * @author Ahmed Ashour + * @author Ronald Brill + */ +public class CSS3Parser extends AbstractCSSParser { + + public CSS3Parser() { + this((CharStream) null); + } + + @Override + public String getParserVersion() { + return "http://www.w3.org/Style/CSS/"; + } + + protected String getGrammarUri() + { + return "http://www.w3.org/TR/WD-css3-syntax-20030813"; + } +} + +PARSER_END(CSS3Parser) + +TOKEN_MGR_DECLS : +{ +} + + TOKEN : +{ +// s [ \t\r\n\f]+ +// {s} {return S;} + < S: ( " "|"\t"|"\r"|"\n"|"\f" )+ > +// w {s}? +// | < W: ( )? > +} + + MORE : +{ + < "/*" > : COMMENT +} + + SKIP : +{ + < "*/" > : DEFAULT +} + + MORE : +{ + < ~[] > : COMMENT +} + + TOKEN : +{ +// h [0-9a-f] + < #H: ["0"-"9","a"-"f"] > +| < #HNUM: | | | | | > + +// nonascii [\200-\377] +// The two occurrences of "\377" represent the highest character number that +// current versions of Flex can deal with (decimal 255). They should be read as +// "\4177777" (decimal 1114111), which is the highest possible code point in +// Unicode/ISO-10646. +// Limitation: This parser can only handle Unicode characters up to \uFFFF +// (decimal 65535). +| < #NONASCII: ["\u0080"-"\uFFFF"] > + +// unicode \\{h}{1,6}(\r\n|[ \t\r\n\f])? +| < #UNICODE: "\\" ( "\r\n" | [" ","\t","\r","\n","\f"] )? > + +// escape {unicode}|\\[^\r\n\f0-9a-f] +| < #ESCAPE: | ( "\\" ~["\r","\n","\f","0"-"9","a"-"f"] ) > + +// nmstart [_a-z]|{nonascii}|{escape} +| < #NMSTART: ["_","a"-"z"] | | > + +// nmchar [_a-z0-9-]|{nonascii}|{escape} +| < #NMCHAR: ["_","a"-"z","0"-"9","-"] | | > + +// nl \n|\r\n|\r|\f +| < #NL: "\n" | "\r\n" | "\r" | "\f" > + +// string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\" +| < #STRING1: ( ~["\n","\r","\f","\\","\""] | "\\" | )* > + +// string2 \'([^\n\r\f\\']|\\{nl}|{escape})*\' +| < #STRING2: ( ~["\n","\r","\f","\\","\'"] | "\\" | )* > + +// comment \/\*[^*]*\*+([^/*][^*]*\*+)*\/ +| < #COMMENT_: "/" "*" ( ~["*"] )* ("*")+ ( ~["/","*"] ( ~["*"] )* ( "*" )+ )* "/"> + +| < AND: "and" > +| < NOT: "not" > +| < ONLY: "only" > + +// {num} {return NUMBER;} +| < NUMBER: > + +| < INHERIT: "inherit" > +| < NONE: "none" > +| < FROM: "from" > + +// ident -?{nmstart}{nmchar}* +// {ident} {return IDENT;} +| < IDENT: (< MINUS >)? ( )* > + +// name {nmchar}+ +| < #NAME: ( )+ > + +// num [0-9]+|[0-9]*"."[0-9]+ +| < NUM: ( ( ["0"-"9"] )+ | ( ["0"-"9"] )* "." ( ["0"-"9"] )+ ) (["e", "E"] ( ["+", "-"] )? ( ["0"-"9"] )+)? > + +// string {string1}|{string2} +// {string} {return STRING;} +| < STRING: ( "\"" "\"" ) | ( "\'" "\'" ) > { matchedToken.image = ParserUtils.trimBy(image, 1, 1); } + +// url ([!#$%&*-~]|{nonascii}|{escape})* +| < #URL: ( ["!","#","$","%","&","*"-"[","]"-"~"] | | )* > + +// A a|\\0{0,4}(41|61)(\r\n|[ \t\r\n\f])? +| < #A_LETTER: "a" | "\\" ("0")? ("0")? ("0")? ("0")? ( "41" | "61" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// C c|\\0{0,4}(43|63)(\r\n|[ \t\r\n\f])? +| < #C_LETTER: "c" | "\\" ("0")? ("0")? ("0")? ("0")? ( "43" | "63" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// D d|\\0{0,4}(44|64)(\r\n|[ \t\r\n\f])? +| < #D_LETTER: "d" | "\\" ("0")? ("0")? ("0")? ("0")? ( "44" | "64" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// E e|\\0{0,4}(45|65)(\r\n|[ \t\r\n\f])? +| < #E_LETTER: "e" | "\\" ("0")? ("0")? ("0")? ("0")? ( "45" | "65" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// F f|\\0{0,4}(46|66)(\r\n|[ \t\r\n\f])? +| < #F_LETTER: "f" | "\\" ("0")? ("0")? ("0")? ("0")? ( "46" | "66" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? > + +// G g|\\0{0,4}(47|67)(\r\n|[ \t\r\n\f])?|\\g +| < #G_LETTER: "g" | "\\" ("0")? ("0")? ("0")? ("0")? ( "47" | "67" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "g" > + +// H h|\\0{0,4}(48|68)(\r\n|[ \t\r\n\f])?|\\h +| < #H_LETTER: "h" | "\\" ("0")? ("0")? ("0")? ("0")? ( "48" | "68" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "h" > + +// I i|\\0{0,4}(49|69)(\r\n|[ \t\r\n\f])?|\\i +| < #I_LETTER: "i" | "\\" ("0")? ("0")? ("0")? ("0")? ( "49" | "69" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "i" > + +// K k|\\0{0,4}(4b|6b)(\r\n|[ \t\r\n\f])?|\\k +| < #K_LETTER: "k" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4b" | "6b" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "k" > + +// L l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l +| < #L_LETTER: "l" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4c" | "6c" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "l" > + +// M m|\\0{0,4}(4d|6d)(\r\n|[ \t\r\n\f])?|\\m +| < #M_LETTER: "m" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4d" | "6d" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "m" > + +// N n|\\0{0,4}(4e|6e)(\r\n|[ \t\r\n\f])?|\\n +| < #N_LETTER: "n" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4e" | "6e" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "n" > + +// O o|\\0{0,4}(4f|6f)(\r\n|[ \t\r\n\f])?|\\o +| < #O_LETTER: "o" | "\\" ("0")? ("0")? ("0")? ("0")? ( "4f" | "6f" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "o" > + +// P p|\\0{0,4}(50|70)(\r\n|[ \t\r\n\f])?|\\p +| < #P_LETTER: "p" | "\\" ("0")? ("0")? ("0")? ("0")? ( "50" | "70" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "p" > + +// R r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r +| < #R_LETTER: "r" | "\\" ("0")? ("0")? ("0")? ("0")? ( "52" | "72" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "r" > + +// S s|\\0{0,4}(53|73)(\r\n|[ \t\r\n\f])?|\\s +| < #S_LETTER: "s" | "\\" ("0")? ("0")? ("0")? ("0")? ( "53" | "73" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "s" > + +// T t|\\0{0,4}(54|74)(\r\n|[ \t\r\n\f])?|\\t +| < #T_LETTER: "t" | "\\" ("0")? ("0")? ("0")? ("0")? ( "54" | "74" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "t" > + +// U u|\\0{0,4}(55|75)(\r\n|[ \t\r\n\f])?|\\v +| < #U_LETTER: "u" | "\\" ("0")? ("0")? ("0")? ("0")? ( "55" | "75" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "u" > + +// X x|\\0{0,4}(58|78)(\r\n|[ \t\r\n\f])?|\\x +| < #X_LETTER: "x" | "\\" ("0")? ("0")? ("0")? ("0")? ( "58" | "78" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "x" > + +// Z z|\\0{0,4}(5a|7a)(\r\n|[ \t\r\n\f])?|\\z +| < #Z_LETTER: "z" | "\\" ("0")? ("0")? ("0")? ("0")? ( "5a" | "7a" ) ( "\r\n" | [ " ", "\t", "\r", "\n", "\f"])? | "\\" "z" > + +// "" {return CDC;} +| < CDC: "-->" > + +// "~=" {return INCLUDES;} +| < INCLUDES: "~=" > + +// "|=" {return DASHMATCH;} +| < DASHMATCH: "|=" > + +// "^=" {return PREFIXMATCH;} +| < PREFIXMATCH: "^=" > + +// "$=" {return SUFFIXMATCH;} +| < SUFFIXMATCH: "$=" > + +// "*=" {return SUBSTRINGMATCH;} +| < SUBSTRINGMATCH: "*=" > + +// {w}"{" {return LBRACE;} +| < LBRACE: "{" > +| < RBRACE: "}" > + +| < LROUND: "(" > +| < RROUND: ")" > + +| < DOT: "." > +| < SEMICOLON: ";" > +| < COLON: ":" > +| < ASTERISK: "*" > +| < SLASH: "/" > +| < MINUS: "-" > +| < EQUALS: "=" > +| < LSQUARE: "[" > +| < RSQUARE: "]" > + +// {w}"+" {return PLUS;} +| < PLUS: "+" > + +// {w}">" {return GREATER;} +| < GREATER: ">" > + +// {w}"~" {return TILDE;} +| < TILDE: "~" > + +// {w}"," {return COMMA;} +| < COMMA: "," > + +// "#"{name} {return HASH;} +| < HASH: "#" > + +// @{I}{M}{P}{O}{R}{T} {return IMPORT_SYM;} +| < IMPORT_SYM: "@" > + +// @{P}{A}{G}{E} {return PAGE_SYM;} +| < PAGE_SYM: "@" > + +// @{M}{E}{D}{I}{A} {return MEDIA_SYM;} +| < MEDIA_SYM: "@" > + +// "@{F}{O}{N}{T}-{F}{A}{C}{E}" {return FONT_FACE_SYM;} +| < FONT_FACE_SYM: "@" < MINUS > > + +// @{C}{H}{A}{R}{S}{E}{T} {return CHARSET_SYM;} +| < CHARSET_SYM: "@" > + +// "!"({w}|{comment})*{I}{M}{P}{O}{R}{T}{A}{N}{T} {return IMPORTANT_SYM;} +| < IMPORTANT_SYM: "!" ( | )* > + +// {num}{E}{M} {return EMS;} +| < EMS: > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{R}{E}{M} {return REM;} +| < REM: "rem" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{E}{X} {return EXS;} +| < EXS: "ex" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{C}{H} {return CH;} +| < CH: "ch" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{W} {return VW;} +| < VW: "vw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{H} {return VH;} +| < VH: "vh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{V}{M}{I}{N} {return VMIN;} +| < VMIN: "vmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{V}{M}{A}{X} {return VMAX;} +| < VMAX: "vmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// Dynamic viewport units +| < DVW: "dvw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } +| < DVH: "dvh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } +| < DVMIN: "dvmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 5); } +| < DVMAX: "dvmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 5); } + +// Large viewport units +| < LVW: "lvw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } +| < LVH: "lvh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } +| < LVMIN: "lvmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 5); } +| < LVMAX: "lvmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 5); } + +// Small viewport units +| < SVW: "svw" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } +| < SVH: "svh" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } +| < SVMIN: "svmin" > { matchedToken.image = ParserUtils.trimBy(image, 0, 5); } +| < SVMAX: "svmax" > { matchedToken.image = ParserUtils.trimBy(image, 0, 5); } + +// {num}{P}{X} {return LENGTH;} +| < LENGTH_PX: "px" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{C}{M} {return LENGTH;} +| < LENGTH_CM: "cm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{M}{M} {return LENGTH;} +| < LENGTH_MM: "mm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{I}{N} {return LENGTH;} +| < LENGTH_IN: "in" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{P}{T} {return LENGTH;} +| < LENGTH_PT: "pt" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{P}{C} {return LENGTH;} +| < LENGTH_PC: "pc" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{Q} {return LENGTH;} +| < LENGTH_Q: "Q" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{D}{E}{G} {return ANGLE;} +| < ANGLE_DEG: "deg" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{R}{A}{D} {return ANGLE;} +| < ANGLE_RAD: "rad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{G}{R}{A}{D} {return ANGLE;} +| < ANGLE_GRAD: "grad" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{T}{U}{R}{N} {return ANGLE;} +| < ANGLE_TURN: "turn" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}{M}{S} {return TIME;} +| < TIME_MS: "ms" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{S} {return TIME;} +| < TIME_S: "s" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{H}{Z} {return FREQ;} +| < FREQ_HZ: "hz" > { matchedToken.image = ParserUtils.trimBy(image, 0, 2); } + +// {num}{K}{H}{Z} {return FREQ;} +| < FREQ_KHZ: "khz" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{D}{P}{I} {return RESOLUTION;} +| < RESOLUTION_DPI: "dpi" > { matchedToken.image = ParserUtils.trimBy(image, 0, 3); } + +// {num}{D}{P}{C}{M} {return RESOLUTION;} +| < RESOLUTION_DPCM: "dpcm" > { matchedToken.image = ParserUtils.trimBy(image, 0, 4); } + +// {num}% {return PERCENTAGE;} +| < PERCENTAGE: "%" > { matchedToken.image = ParserUtils.trimBy(image, 0, 1); } + +// {num}{ident} {return DIMENSION;} +| < DIMENSION: ( ["a"-"z","0"-"9"] | | )* > + +| < #H_PLACEHOLDER: ( | "?"){1,6} > +| < UNICODE_RANGE: "u+" (< MINUS > < H_PLACEHOLDER >)? > + +// "url("{w}{string}{w}")" {return URI;} +// "url("{w}{url}{w}")" {return URI;} +| < URI: "url" ( )* ( | ) ( )* > { matchedToken.image = ParserUtils.trimUrl(image); } + +// {N}{O}{T} "(" {return FUNCTION_NOT;} +| < FUNCTION_NOT: "not" > + +// {L}{A}{N}{G} "(" {return FUNCTION_LANG;} +| < FUNCTION_LANG: "lang" > + +// {C}{A}{L}{C} "(" {return FUNCTION_CALC;} +| < FUNCTION_CALC: "calc" > + +// {V}{A}{R} "(" {return FUNCTION_VAR;} +| < FUNCTION_VAR: "var" > + +| < FUNCTION_RGB: "rgb" ("a")? > +| < FUNCTION_HSL: "hsl" ("a")? > +| < FUNCTION_HWB: "hwb" > +| < FUNCTION_LAB: ("ok")? "lab" > +| < FUNCTION_LCH: ("ok")? "lch" > + +| < FUNCTION_IS: "is" > +| < FUNCTION_WHERE: "where" > +| < FUNCTION_HAS: "has" > + +| < CUSTOM_PROPERTY_NAME: < MINUS > ( )* > + +// {ident} "(" {return FUNCTION;} +| < FUNCTION: > + +| < ATKEYWORD: "@" > +} + +<*> TOKEN: +{ + < UNKNOWN: ~[] > + { + // System.err.println("Illegal character : " + image.toString()); + } +} + +// +// stylesheet +// : [ CHARSET_SYM STRING ';' ]? +// [S|CDO|CDC]* [ import [S|CDO|CDC]* ]* +// [ [ ruleset | media | page | font_face ] [S|CDO|CDC]* ]* +// ; +// +void styleSheet() : +{ +} +{ + try + { + { handleStartDocument(); } + styleSheetRuleList() + + } + finally + { + handleEndDocument(); + } +} + +void styleSheetRuleList() : +{ + boolean ruleFound = false; +} +{ + ( | | )* + ( + charsetRule() + ( | | )* + )? + ( + ( + ( + importRule(ruleFound) + | + ( + styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() + ) + { + ruleFound = true; + } + ) + | + ( + // skip until the next RBRACE + { ParseException e = generateParseException(); } + invalidRule() + { + Token t = getNextToken(); + + boolean charsetProcessed = false; + if (t.kind == CHARSET_SYM) { + t = getNextToken(); + if (t.kind == S) { + t = getNextToken(); + if (t.kind == STRING) { + t = getNextToken(); + if (t.kind == SEMICOLON) { + getNextToken(); + charsetProcessed = true; + } + } + } + CSSParseException cpe = toCSSParseException("misplacedCharsetRule", e); + getErrorHandler().error(cpe); + getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); + } + + if (!charsetProcessed) { + if (t.kind == EOF) { + return; + } + + CSSParseException cpe = toCSSParseException("invalidRule", e); + getErrorHandler().error(cpe); + getErrorHandler().warning(createSkipWarning("ignoringRule", cpe)); + if (t.kind != RBRACE) { + error_skipblock(null, null); + } + if (t.kind == EOF) { + return; + } + } + } + ) + ) + ( | | )* + )* +} + +JAVACODE +void invalidRule() +{ +} + +// +// This is used by ASTStyleSheet.insertRule to parse a single rule +// +void styleSheetRuleSingle() : +{ +} +{ + ( )* + ( charsetRule() | importRule(false) | styleRule() | mediaRule() | pageRule() | fontFaceRule() | unknownAtRule() ) + ( )* +} + +void charsetRule() : +{ + Token t; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + + t = + + { + handleCharset(t.toString(), locator); + } + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidCharsetRule", e)); + } +} + +void unknownAtRule() : +{ + String s; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + s = skip(); + handleIgnorableAtRule(s, locator); + } + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidUnknownRule", generateParseException())); + } +} + +// +// import +// : IMPORT_SYM S* +// [STRING|URI] S* [ medium [ COMMA S* medium]* ]? ';' S* +// ; +// +void importRule(final boolean nonImportRuleFoundBefore) : +{ + Token t; + MediaQueryList ml = new MediaQueryList(); + Locator locator; +} +{ + try + { + { + ParseException e = null; + if (nonImportRuleFoundBefore) + { + e = generateParseException(); + } + } + + { + locator = createLocator(token); + } + ( )* + ( t = | t = ) ( )* + ( mediaList(ml) )? + + { + if (nonImportRuleFoundBefore) + { + getErrorHandler().error(toCSSParseException("invalidImportRuleIgnored2", e)); + } + else + { + handleImportStyle(unescape(t.image, false), ml, null, locator); + } + } + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipAtRule(); + } + catch (ParseException e) + { + getErrorHandler().error(toCSSParseException("invalidImportRule", e)); + error_skipAtRule(); + } +} + +// +// media +// : MEDIA_SYM S* medium [ COMMA S* medium ]* '{' S* ruleset* '}' S* +// ; +// +void mediaRule() : +{ + boolean start = false; + MediaQueryList ml = new MediaQueryList(); + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + ( )* + mediaList(ml) + { + start = true; + handleStartMedia(ml, locator); + } + ( )* + ( mediaRuleList() )? + + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidMediaRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringRule", cpe); + } + finally + { + if (start) { + handleEndMedia(ml); + } + } +} + +void mediaList(MediaQueryList ml) : +{ + MediaQuery mq; +} +{ + try + { + mq = mediaQuery() + { + ml.setLocator(createLocator(token)); + } + ( ( )* { ml.add(mq); } mq = mediaQuery() )* + { ml.add(mq); } + } + catch(ParseException e) + { + throw toCSSParseException("invalidMediaList", e); + } +} + +// +// media_query +// : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* +// | expression [ AND S* expression ]* +// ; +// +MediaQuery mediaQuery() : +{ + String s; + MediaQuery mq; + Property p; + boolean only = false; + boolean not = false; +} +{ + ( + ( + ( + ( + { only = true; } + | + { not = true; } + ) ( )* + )? + s = medium() + { mq = new MediaQuery(s, only, not); mq.setLocator(createLocator(token)); } + ( + ( )* + p = mediaExpression() + { + mq.addMediaProperty(p); + } + )* + ) + | + ( + p = mediaExpression() + { + mq = new MediaQuery(null, only, not); + mq.setLocator(createLocator(token)); + mq.addMediaProperty(p); + } + ( + ( )* + p = mediaExpression() + { + mq.addMediaProperty(p); + } + )* + ) + ) + { return mq; } +} + +// +// expression +// : '(' S* media_feature S* [ ':' S* expr ]? ')' S* +// ; +// +Property mediaExpression() : +{ + String p; + LexicalUnit e = null; + Property prop; + Token t; +} +{ + + ( )* + ( + t = identExcludingOnly() ( )* { p = unescape(t.image, false); } + | t = ( )* { p = unescape(t.image, false); } + ) + ( + ( )* + e = expr() + )? + + ( )* + { + if(e==null) + { + prop = new Property(p, null, false); + } + else + { + prop = new Property(p, new CSSValueImpl(e), false); + } + return prop; + } +} + +void mediaRuleList() : +{ +} +{ + ( ( styleRule() | mediaRule() | pageRule() | importRule(true) | unknownAtRule() ) ( )* )+ +} + +// +// medium +// : IDENT S* +// ; +// +String medium() : +{ + Token t; +} +{ + t = identExcludingOnly() ( )* + { + return unescape(t.image, false); + } +} + +// +// page +// : PAGE_SYM S* pseudo_page? S* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void pageRule() : +{ + String sel = null; + boolean start = false; + Locator locator; +} +{ + try { + + { + locator = createLocator(token); + } + ( )* + + ( sel = pageSelectorList() )? + + ( )* + { + start = true; + handleStartPage(null, sel, locator); + } + + styleDeclaration() + + } + catch (CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidPageRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringRule", cpe); + } + finally { + if (start) { + handleEndPage(null, sel); + } + } +} + +// +// pageSelectorList +// : [ pageSelector S* [ ',' pageSelector S* ]* ]? +// ; +// +String pageSelectorList() : +{ + String sel; + LinkedList selectors = new LinkedList<>(); +} +{ + sel = pageSelector() { selectors.add(sel); } + ( + ( )* sel = pageSelector() { selectors.add(sel); } + )* + + { return String.join(", ", selectors); } +} + +// +// pageSelector +// : pseudoPage+ | IDENT pseudoPage* +// ; +// +String pageSelector() : +{ + StringBuilder pseudos = new StringBuilder(); + String pseudo; + Token ident; +} +{ + ( + pseudo = pseudoPage() { pseudos.append(pseudo); } + | + ident = ident() { pseudos.append(unescape(ident.image, false)); } + ) + ( pseudo = pseudoPage() { pseudos.append(pseudo); } )* + ( )* + + { return pseudos.toString(); } +} + +// +// pseudoPage +// : ':' IDENT +// ; +// +String pseudoPage() : +{ + Token t; +} +{ + t = ident() { return ":" + normalizeAndValidatePagePseudoClass(t); } +} + +// +// font_face +// : FONT_FACE_SYM S* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void fontFaceRule() : +{ + boolean start = false; + Locator locator; +} +{ + try { + + { + locator = createLocator(token); + } + ( )* + ( )* { start = true; handleStartFontFace(locator); } + styleDeclaration() + + } + catch(ParseException e) + { + throw toCSSParseException("invalidFontFaceRule", e); + } + finally { + if (start) { + handleEndFontFace(); + } + } +} + +// +// operator +// : '/' S* | COMMA S* | /* empty */ +// ; +// +LexicalUnit operator(LexicalUnit prev) : +{ +} +{ + ( )* { return new LexicalUnitImpl(prev, LexicalUnitType.OPERATOR_SLASH); } + | ( )* { return LexicalUnitImpl.createComma(prev); } +} + +// +// combinator +// : PLUS S* +// | GREATER S* +// | TILDE S* +// | S +// ; +// +Combinator combinator() : +{ + Combinator c = Combinator.DESCENDANT_COMBINATOR; +} +{ + ( + { c = Combinator.NEXT_SIBLING_COMBINATOR; } ( )* + | { c = Combinator.CHILD_COMBINATOR; } ( )* + | { c = Combinator.SUBSEQUENT_SIBLING_COMBINATOR; } ( )* + | + ( + ( { c = Combinator.NEXT_SIBLING_COMBINATOR; } + | { c = Combinator.CHILD_COMBINATOR; } + | { c = Combinator.SUBSEQUENT_SIBLING_COMBINATOR; } + ) ( )* + )? + ) + { return c; } +} + +Combinator relativeCombinator() : +{ + Combinator c = Combinator.DESCENDANT_COMBINATOR; +} +{ + ( + { c = Combinator.NEXT_SIBLING_COMBINATOR; } ( )* + | { c = Combinator.CHILD_COMBINATOR; } ( )* + | { c = Combinator.SUBSEQUENT_SIBLING_COMBINATOR; } ( )* + )? + { return c; } +} + +// +// unary_operator +// : '-' | PLUS +// ; +// +char unaryOperator() : +{ +} +{ + ( { return '-'; } | { return '+'; } ) +} + + +// +// ruleset +// : selector [ COMMA S* selector ]* +// '{' S* declaration [ ';' S* declaration ]* '}' S* +// ; +// +void styleRule() : +{ + SelectorList selList = null; + boolean start = false; + Token t; +} +{ + try { + { + t = token; + } + selList = selectorList() + ( )* + { + start = true; + handleStartSelector(selList, createLocator(t.next)); + } + styleDeclaration() + ( | ) + } + catch(CSSParseException e) + { + getErrorHandler().error(e); + error_skipblock("ignoringRule", e); + } + catch(ParseException e) + { + CSSParseException cpe = toCSSParseException("invalidStyleRule", e); + getErrorHandler().error(cpe); + error_skipblock("ignoringFollowingDeclarations", cpe); + } + finally { + if (start) { + handleEndSelector(selList); + } + } +} + +SelectorList parseSelectorsInternal() : +{ + SelectorList selectors; +} +{ + ( )* + selectors = selectorList() + + { + return selectors; + } +} + +SelectorList selectorList() : +{ + SelectorListImpl selList = new SelectorListImpl(); + Selector sel; +} +{ + sel = selector() { selList.setLocator(sel.getLocator()); } + ( ( )* + { selList.add(sel); } + sel = selector() { selList.setLocator(sel.getLocator()); } + )* + { + selList.add(sel); + return selList; + } +} + +SelectorList relativeSelectorList() : +{ + SelectorListImpl selList = new SelectorListImpl(); + Selector sel; + Combinator comb; +} +{ + comb = relativeCombinator() + sel = selector() { selList.setLocator(sel.getLocator()); } + ( ( )* + { selList.add(new RelativeSelector(comb, sel)); } + + comb = relativeCombinator() + sel = selector() { selList.setLocator(sel.getLocator()); } + )* + { + selList.add(new RelativeSelector(comb, sel)); + return selList; + } +} + +// +// selector +// : simple_selector_sequence [ combinator simple_selector_sequence ]* +// ; +// +Selector selector() : +{ + Selector sel; + Combinator comb; +} +{ + try { + sel = simpleSelector(null, Combinator.DESCENDANT_COMBINATOR) + ( LOOKAHEAD(2) comb = combinator() sel = simpleSelector(sel, comb) )* ( )* + { + return sel; + } + } catch (ParseException e) { + throw toCSSParseException("invalidSelector", e); + } +} + +// +// simple_selector +// : element_name [ HASH | class | attrib | pseudo ]* +// | [ HASH | class | attrib | pseudo ]+ +// ; +// +Selector simpleSelector(Selector sel, Combinator comb) : +{ + ElementSelector elemSel = null; + SimpleSelector simpleSel = null; + Condition c = null; + SimpleSelector pseudoElementSel = null; + Object o = null; +} +{ + try + { + ( + ( elemSel = elementName() + ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } + | ( + o = pseudo(null != pseudoElementSel) + { if (o instanceof Condition) + { elemSel.addCondition((Condition) o); + } else { + pseudoElementSel = (SimpleSelector) o; + } + } + ) + )* + ) + | + ( { elemSel = new ElementSelector(null, createLocator(token)); } + ( c = hash(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = _class(null != pseudoElementSel) { elemSel.addCondition(c); } + | c = attrib(null != pseudoElementSel) { elemSel.addCondition(c); } + | ( + o = pseudo(null != pseudoElementSel) + { if (o instanceof Condition) + { elemSel.addCondition((Condition) o); + } else { + pseudoElementSel = (SimpleSelector) o; + } + } + ) + )+ + ) + ) + + { + simpleSel = elemSel; + if (sel == null) { + sel = simpleSel; + } else { + switch (comb) { + case DESCENDANT_COMBINATOR: + sel = new DescendantSelector(sel, simpleSel); + break; + case NEXT_SIBLING_COMBINATOR: + sel = new DirectAdjacentSelector(sel, simpleSel); + break; + case CHILD_COMBINATOR: + sel = new ChildSelector(sel, simpleSel); + break; + case SUBSEQUENT_SIBLING_COMBINATOR: + sel = new GeneralAdjacentSelector(sel, simpleSel); + break; + } + } + if (pseudoElementSel != null) + { + sel = new DescendantSelector(sel, pseudoElementSel); + } + + return sel; + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidSimpleSelector", e); + } +} + +// +// class +// : '.' IDENT +// ; +// +Condition _class(boolean pseudoElementFound) : +{ + Token t; + Locator locator; + ParseException pe = null; +} +{ + try + { + { if (pseudoElementFound) { pe = generateParseException(); } } + + { + locator = createLocator(token); + } + + t = ident() + { + if (pseudoElementFound) { throw pe; } + return new ClassCondition(unescape(t.image, false), locator); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidClassSelector", e); + } +} + +// +// element_name +// : IDENT | '*' +// ; +// +ElementSelector elementName() : +{ + Token t; +} +{ + try + { + t = ident() + { + return new ElementSelector(unescape(t.image, false), createLocator(t)); + } + | + { + return new ElementSelector(null, createLocator(token)); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidElementName", e); + } +} + +// +// attrib +// : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH | PREFIXMATCH | SUFFIXMATCH | SUBSTRINGMATCH ] S* +// [ IDENT | STRING ] S* ]? ']' +// ; +// +Condition attrib(boolean pseudoElementFound) : +{ + Token t; + String name = null; + String value = null; + Boolean insensitive = null; + int type = 0; + Locator locator; +} +{ + try + { + + { + locator = createLocator(token); + } + ( )* + { if (pseudoElementFound) { throw generateParseException(); } } + + t = ident() { name = unescape(t.image, false); } + ( )* + ( + ( + { type = 4; } + | + { type = 5; } + | + { type = 6; } + | + "=" { type = 1; } // don't use because of the leading whitespace + | + { type = 2; } + | + { type = 3; } + ) + ( )* + ( + ( + t = ident() { value = unescape(t.image, false); } + | + t = { value = unescape(t.image, false); } + ) + + ( )* + ) + ( + t = ident() { insensitive = handleCaseInSensitive(t); } + ( )* + )? + )? + + { + Condition c = null; + switch (type) { + case 0: + c = new AttributeCondition(name, null, insensitive); + break; + case 1: + c = new AttributeCondition(name, value, insensitive); + break; + case 2: + c = new OneOfAttributeCondition(name, value, insensitive); + break; + case 3: + c = new BeginHyphenAttributeCondition(name, value, insensitive); + break; + case 4: + c = new PrefixAttributeCondition(name, value, insensitive); + break; + case 5: + c = new SuffixAttributeCondition(name, value, insensitive); + break; + case 6: + c = new SubstringAttributeCondition(name, value, insensitive); + break; + } + c.setLocator(locator); + return c; + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidAttrib", e); + } +} + +// +// pseudo +// : ':' (':')? +// [ IDENT +// | FUNCTION_NOT S* selector() S* ')' +// | FUNCTION_LANG S* IDENT S* ')' +// | FUNCTION S* ((PLUS | MINUS | DIMENSION | NUMBER | STRING | IDENT)? S*)+ ')' +// ] +// ; +// +Object pseudo(boolean pseudoElementFound) : +{ + Token t; + String function; + boolean doubleColon = false; + SelectorList selectorList; + SelectorList relativeSelectorList; + Locator locator; +} +{ + try + { + { locator = createLocator(token); } + ( { doubleColon = true; } )? + + ( + t = ident() + { + String s = unescape(t.image, false); + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { s }, locator); } + if ("first-line".equals(s) + || "first-letter".equals(s) + || "before".equals(s) + || "after".equals(s)) + { + return new PseudoElementSelector(s, locator, doubleColon); + } + return new PseudoClassCondition(s, locator, doubleColon); + } + | + ( + t = { function = unescape(t.image, false); } + ( )* + selectorList = selectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } + if (doubleColon) { throw toCSSParseException("invalidPseudoColon", new String[] { ":" + function + selectorList + ")" }, locator); } + return new NotPseudoClassCondition(selectorList, locator); + } + ) + | + ( + t = { function = unescape(t.image, false); } + ( )* + selectorList = selectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } + if (doubleColon) { throw toCSSParseException("invalidPseudoColon", new String[] { ":" + function + selectorList + ")" }, locator); } + return new IsPseudoClassCondition(selectorList, locator); + } + ) + | + ( + t = { function = unescape(t.image, false); } + ( )* + selectorList = selectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + selectorList + ")" }, locator); } + if (doubleColon) { throw toCSSParseException("invalidPseudoColon", new String[] { ":" + function + selectorList + ")" }, locator); } + return new WherePseudoClassCondition(selectorList, locator); + } + ) + | + ( + t = { function = unescape(t.image, false); } + ( )* + relativeSelectorList = relativeSelectorList() + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + relativeSelectorList + ")" }, locator); } + if (doubleColon) { throw toCSSParseException("invalidPseudoColon", new String[] { ":" + function + relativeSelectorList + ")" }, locator); } + return new HasPseudoClassCondition(relativeSelectorList, locator); + } + ) + | + ( + t = { function = unescape(t.image, false); } + ( )* + t = ident() { String lang = unescape(t.image, false); } + ( )* + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { "lang(" + lang + ")" }, locator); } + return new LangCondition(lang, locator); + } + ) + | + ( + t = { function = unescape(t.image, false); StringBuilder args = new StringBuilder(); } + ( )* + ( + (t = | t = | t = | t = | t = | t = ident()) + { args.append(unescape(t.image, false)); } + ( t = + { args.append(unescape(t.image, false)); } + )* + )+ + + { + if (pseudoElementFound) { throw toCSSParseException("duplicatePseudo", new String[] { function + args.toString().trim() + ")" }, locator); } + return new PseudoClassCondition(function + args.toString().trim() + ")", locator, doubleColon); + } + ) + ) + } + catch (ParseException e) + { + throw toCSSParseException("invalidPseudo", e); + } +} + +Condition hash(boolean pseudoElementFound) : +{ + Token t; + ParseException pe = null; +} +{ + try + { + { if (pseudoElementFound) { pe = generateParseException(); } } + t = + { + if (pseudoElementFound) { throw pe; } + return new IdCondition(unescape(t.image.substring(1), false), createLocator(t)); + } + } + catch (ParseException e) + { + throw toCSSParseException("invalidHash", e); + } +} + +void styleDeclaration() : +{ +} +{ + ( declaration() )? + ( ( )* ( declaration() )? )* +} + +// +// declaration +// : property ':' S* expr prio? +// | +// ; +// +void declaration() : +{ + String p; + LexicalUnit e = null; + Token t; + boolean priority = false; + Locator starHack = null; + Locator locator = null; +} +{ + try + { + // at the moment i have no better idea how to handle the + // infamous css-star-hack (http://en.wikipedia.org/wiki/CSS_filter#Star_hack) + // smart (means: ignoring only one decl) + ( { starHack = createLocator(token); } )? + ( + ( + t = ident() { p = unescape(t.image, false); locator = createLocator(t); } + ( )* + ( )* + e = expr() + ) + | + ( + t = ( )* { p = unescape(t.image, false); locator = createLocator(t); } + ( )* + ( e = expr() )? + ) + ) + + ( priority = prio() )? + + // maybe there are strange characters at the end - create error and skip + ( t = + { + locator = createLocator(t); + CSSParseException cpe = toCSSParseException("invalidDeclarationInvalidChar", new String[] {t.image}, locator); + getErrorHandler().error(cpe); + error_skipdecl(); + } + )? + + { + if (starHack != null) + { + CSSParseException cpe = toCSSParseException("invalidDeclarationStarHack", new Object[0], starHack); + getErrorHandler().error(cpe); + return; + } + handleProperty(p, e, priority, locator); + } + } + catch (CSSParseException ex) + { + getErrorHandler().error(ex); + error_skipdecl(); + } + catch (ParseException ex) + { + CSSParseException cpe = toCSSParseException("invalidDeclaration", ex); + getErrorHandler().error(cpe); + error_skipdecl(); + } +} + +// +// prio +// : IMPORTANT_SYM S* +// ; +boolean prio() : +{ +} +{ + ( )* + { return true; } +} + +// +// expr +// : term [ operator term ]* +// ; +LexicalUnit expr() : +{ + LexicalUnit head; + LexicalUnit body; +} +{ + try + { + head = term(null) { body = head; } + ( + ( body = operator(body) )? + body = term(body) + )* + { return head; } + } + catch (ParseException ex) + { + throw toCSSParseException("invalidExpr", ex); + } +} + +// +// term +// : unary_operator? +// [ NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | function ] +// | STRING | IDENT | URI | hexcolor | DIMENSION +// S* +// ; +// +LexicalUnit term(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit value = null; + Locator locator = null; +} +{ + ( op = unaryOperator() )? { if (op != ' ') { locator = createLocator(token); } } + ( + ( value = number(prev, op) + | value = dimension(prev, op) + | value = percentage(prev, op) + | value = function(prev) + | value = rgbColor(prev) + | value = hslColor(prev) + | value = hwbColor(prev) + | value = labColor(prev) + | value = lchColor(prev) + | value = calc(prev) + | value = var(prev) + ) + | t = { value = LexicalUnitImpl.createString(prev, unescape(t.image, false)); } + | t = "progid:" { value = LexicalUnitImpl.createIdent(prev, skipUnit().trim()); } + | + ( + t = identExcludingInherit() + ( { throw toCSSParseException("invalidExprColon", new String[]{ unescape(t.image, false) }, createLocator(t)); } )? + ) + { value = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + | t = { value = LexicalUnitImpl.createURI(prev, unescape(t.image, true)); } + | value = unicodeRange(prev) + | value = hexcolor(prev) + | t = + { + int n = getLastNumPos(t.image); + value = LexicalUnitImpl.createDimension( + prev, + doubleValue(op, t.image.substring(0, n+1)), + t.image.substring(n+1)); + } + | t = { value = LexicalUnitImpl.createInherit(prev); } + ) + { + if (locator == null) + { + locator = createLocator(token); + } + } + ( )* + { + if(value != null) + { + value.setLocator(locator); + } + return value; + } +} + +// +// function +// : FUNCTION S* ((EQUALS | COMMA | (unaryOperator? NUMBER) | STRING | IDENT | URI)? S*)+ ')' S* +// ; +// +LexicalUnit function(LexicalUnit prev) : +{ + Token t; + LexicalUnit param = null; + LexicalUnit body = null; + String funct = ""; +} +{ + t = { funct = funct + unescape(t.image, false); } + ( )* + ( + param = term(null) { body = param; } + ( + ( + ( + t = { body = LexicalUnitImpl.createComma(body); } + | t = { body = LexicalUnitImpl.createIdent(body, t.image); } + ) + ( )* + )? + body = term(body) + )* + )? + + { + return functionInternal(prev, funct, param); + } +} + +// +// calc() +// https://www.w3.org/TR/css3-values/#calc-syntax +// = calc( ) +// +LexicalUnit calc(LexicalUnit prev) : +{ + Token t; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); + String funct = ""; +} +{ + t = { funct = unescape(t.image, false); } + ( )* + calcSum(head) + + { + return functionInternal(prev, funct, head.getNextLexicalUnit()); + } +} + +// +// calcSum() +// = [ [ '+' | '-' ] ]* +// +LexicalUnit calcSum(LexicalUnit prev) : +{ +} +{ + ( + prev = calcProduct(prev) + ( + ( + { prev = LexicalUnitImpl.createPlus(prev); } + | { prev = LexicalUnitImpl.createMinus(prev); } + ) + ( )* + prev = calcProduct(prev) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcProduct() +// = [ '*' | '/' ]* +// +LexicalUnit calcProduct(LexicalUnit prev) : +{ +} +{ + ( + prev = calcValue(prev) + ( + ( + { prev = LexicalUnitImpl.createMultiply(prev); } + ( )* + prev = calcValue(prev) + ) + | + ( + { prev = LexicalUnitImpl.createDivide(prev); } + ( )* + prev = calcNumberValue(prev) + ) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcValue() +// = | | | ( ) +// +LexicalUnit calcValue(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); +} +{ + ( + ( + ( + (op = unaryOperator() )? + ( + prev = number(prev, op) + | prev = dimension(prev, op) + | prev = percentage(prev, op) + | t = ident() { prev = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + ) + ) + | prev = var(prev) + | + ( + ( | ) + calcSum(head) + + ) + { + // use an empty function as block scope + prev = functionInternal(prev, "(", head.getNextLexicalUnit()); + } + ) + ( )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberSum() +// = [ [ '+' | '-' ] ]* +// +LexicalUnit calcNumberSum(LexicalUnit prev) : +{ +} +{ + ( + prev = calcNumberProduct(prev) + ( + ( + { prev = LexicalUnitImpl.createPlus(prev); } + | { prev = LexicalUnitImpl.createMinus(prev); } + ) + ( )* + prev = calcNumberProduct(prev) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberProduct() +// = [ '*' | '/' ]* +// +LexicalUnit calcNumberProduct(LexicalUnit prev) : +{ +} +{ + ( + prev = calcNumberValue(prev) + ( + ( + { prev = LexicalUnitImpl.createMultiply(prev); } + ( )* + prev = calcNumberValue(prev) + ) + | + ( + { prev = LexicalUnitImpl.createDivide(prev); } + ( )* + prev = calcNumberValue(prev) + ) + )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// +// calcNumberValue() +// = | ( ) +// +LexicalUnit calcNumberValue(LexicalUnit prev) : +{ + Token t; + char op = ' '; + String funct = "("; + LexicalUnit head = LexicalUnitImpl.createIdent(null, ""); +} +{ + ( + ( + ( + (op = unaryOperator() )? + prev = number(prev, op) + | t = ident() { prev = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); } + ) + | prev = var(prev) + | + ( + ( + t = { funct = unescape(t.image, false); } + | t = { funct = unescape(t.image, false); } + ) + calcNumberSum(head) + + ) + { + // use an empty function as block scope + prev = functionInternal(prev, funct, head.getNextLexicalUnit()); + } + ) + ( )* + ) + { + if (prev != null) + { + prev.setLocator(createLocator(token)); + } + return prev; + } +} + +// var() +// https://developer.mozilla.org/en-US/docs/Web/CSS/var +// var( , ? ) +// +LexicalUnit var(LexicalUnit prev) : +{ + Token t; + LexicalUnit current, propertyName; + String funct = ""; +} +{ + t = { funct = unescape(t.image, false); } + ( )* + t = { current = LexicalUnitImpl.createIdent(prev, unescape(t.image, false)); propertyName = current; } + ( )* + ( + { current = LexicalUnitImpl.createComma(current); } + ( )* + ( + // inline expr here because we need a differnt prev handling + current = term(current) + ( LOOKAHEAD(2) + ( current = operator(current) )? + current = term(current) + )* + )? + )* + + { + return functionInternal(prev, funct, propertyName); + } +} + + +// rgb() / rgba() +// +LexicalUnit rgbColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return rgbColorInternal(prev, funct, param); + } +} + + +// hsl() / hsla() +// +LexicalUnit hslColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = angle(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = angle(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + { next = LexicalUnitImpl.createComma(next); } + ( )* + )? + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + ( + { next = LexicalUnitImpl.createComma(next); } + | { next = LexicalUnitImpl.createSlash(next); } + ) + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return hslColorInternal(prev, funct, param); + } +} + + +// hwb() +// +LexicalUnit hwbColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = angle(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = angle(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return hwbColorInternal(prev, funct, param); + } +} + + +// lab() +// +LexicalUnit labColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return labColorInternal(prev, funct, param); + } +} + + +// lch() +// +LexicalUnit lchColor(LexicalUnit prev) : +{ + Token t; + char op = ' '; + LexicalUnit param = null; + LexicalUnit next = null; + String funct; +} +{ + t = { funct = unescape(t.image.substring(0, t.image.length() - 1), false); } + ( )* + + ( + ( + { param = LexicalUnitImpl.createFrom(null); } + { next = param; } + + ( )* + + ( + t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = rgbColor(next) + | next = hslColor(next) + | next = hwbColor(next) + | next = labColor(next) + | next = lchColor(next) + | next = var(next) + ) + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + next = angle(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + next = number(next, op) + | next = percentage(next, op) + + | t = ident() { next = LexicalUnitImpl.createIdent(next, unescape(t.image, false)); } + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + + | + + ( + ( + (op = unaryOperator() )? + ( + { param = LexicalUnitImpl.createNone(null); } + | param = number(null, op) + | param = percentage(null, op) + + | param = calc(null) + | param = var(null) + ) + ) + { op = ' '; next = param; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + + ( + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = angle(next, op) + + | next = calc(next) + | next = var(next) + ) + ) + { op = ' '; } + + ( )* + ( + ( + { next = LexicalUnitImpl.createSlash(next); } + ( )* + )? + + (op = unaryOperator() )? + ( + { next = LexicalUnitImpl.createNone(next); } + | next = number(next, op) + | next = percentage(next, op) + + | next = calc(next) + | next = var(next) + ) + + ( )* + )? + ) + ) + + { + return lchColorInternal(prev, funct, param); + } +} + + +// +// Helper to process various keywords as IDENT +// +Token ident() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + +Token identExcludingInherit() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + +Token identExcludingOnly() : +{ + Token t; +} +{ + t = { return t; } + | + ( + t = + | t = + | t = + ) + { + Token ident = new Token(IDENT, unescape(t.image, false)); + ident.beginLine = t.beginLine; + ident.beginColumn = t.endColumn; + ident.endLine = t.beginLine; + ident.endColumn = t.endColumn; + ident.next = t.next; + ident.specialToken = t.specialToken; + return ident; + + } +} + + +// +// number() +// +LexicalUnit number(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = + ) + { + try + { + value = LexicalUnitImpl.createNumber(prev, intValue(op, t.image)); + } + catch (NumberFormatException e) + { + value = LexicalUnitImpl.createNumber(prev, doubleValue(op, t.image)); + } + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// percentage() +// +LexicalUnit percentage(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createPercentage(prev, doubleValue(op, t.image)); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + +// +// dimension() +// +LexicalUnit dimension(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createPixel(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createCentimeter(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createMillimeter(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createInch(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createPoint(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createPica(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createQuater(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createEm(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRem(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createEx(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createCh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVw(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVMin(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createVMax(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDvw(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDvh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDvMin(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDvMax(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createLvw(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createLvh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createLvMin(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createLvMax(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createSvw(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createSvh(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createSvMin(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createSvMax(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createMillisecond(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createSecond(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createHertz(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createKiloHertz(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpi"); } + | t = { value = LexicalUnitImpl.createDimension(prev, doubleValue(op, t.image), "dpcm"); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + + +// +// angle() +// +LexicalUnit angle(LexicalUnit prev, char op) : +{ + Token t; + LexicalUnit value = null; +} +{ + ( + t = { value = LexicalUnitImpl.createDegree(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createRadian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createGradian(prev, doubleValue(op, t.image)); } + | t = { value = LexicalUnitImpl.createTurn(prev, doubleValue(op, t.image)); } + ) + { + if (value != null) + { + value.setLocator(createLocator(token)); + } + return value; + } +} + + +// +// unicodeRange +// +LexicalUnit unicodeRange(LexicalUnit prev) : +{ + Token t; + StringBuilder range = new StringBuilder(); +} +{ + t = { range.append(unescape(t.image, false)); } + { + return LexicalUnitImpl.createIdent(prev, range.toString().toUpperCase(Locale.ROOT)); + } +} + +// +// hexcolor +// : HASH S* +// ; +// +LexicalUnit hexcolor(LexicalUnit prev) : +{ + Token t; +} +{ + t = + { + return hexColorInternal(prev, t); + } +} + +JAVACODE +String skip() { + StringBuilder sb = new StringBuilder(); + int nesting = 0; + Token t = getToken(0); + if (t.image != null) { + sb.append(t.image); + } + + do { + t = getNextToken(); + if (t.kind == EOF) { + break; + } + sb.append(t.image); + appendUnit(t, sb); + + if (t.kind == LBRACE) { + nesting++; + } + else if (t.kind == RBRACE) { + nesting--; + } + } + while ((t.kind != RBRACE && t.kind != SEMICOLON) || nesting > 0); + + return sb.toString(); +} + +JAVACODE +String skipUnit() { + StringBuilder sb = new StringBuilder(); + + Token t = token; + Token oldToken = null; + while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF ) { + oldToken = t; + sb.append(t.image); + appendUnit(t, sb); + + t = getNextToken(); + } + if (t.kind != EOF) { + token = oldToken; + } + + return sb.toString(); +} + +JAVACODE +void appendUnit(Token t, StringBuilder sb) { + if (t.kind == EMS) { + sb.append("em"); + return; + } + if (t.kind == REM) { + sb.append("rem"); + return; + } + if (t.kind == EXS) { + sb.append("ex"); + return; + } + if (t.kind == CH) { + sb.append("ch"); + return; + } + if (t.kind == VW) { + sb.append("vw"); + return; + } + if (t.kind == VH) { + sb.append("vh"); + return; + } + if (t.kind == VMIN) { + sb.append("vmin"); + return; + } + if (t.kind == VMAX) { + sb.append("vmax"); + return; + } + if (t.kind == LENGTH_PX) { + sb.append("px"); + return; + } + if (t.kind == LENGTH_CM) { + sb.append("cm"); + return; + } + if (t.kind == LENGTH_MM) { + sb.append("mm"); + return; + } + if (t.kind == LENGTH_IN) { + sb.append("in"); + return; + } + if (t.kind == LENGTH_PT) { + sb.append("pt"); + return; + } + if (t.kind == LENGTH_PC) { + sb.append("pc"); + return; + } + if (t.kind == LENGTH_Q) { + sb.append("Q"); + return; + } + if (t.kind == ANGLE_DEG) { + sb.append("deg"); + return; + } + if (t.kind == ANGLE_RAD) { + sb.append("rad"); + return; + } + if (t.kind == ANGLE_GRAD) { + sb.append("grad"); + return; + } + if (t.kind == ANGLE_TURN) { + sb.append("turn"); + return; + } + if (t.kind == TIME_MS) { + sb.append("ms"); + return; + } + if (t.kind == TIME_S) { + sb.append('s'); + return; + } + if (t.kind == FREQ_HZ) { + sb.append("hz"); + return; + } + if (t.kind == FREQ_KHZ) { + sb.append("khz"); + return; + } + if (t.kind == RESOLUTION_DPI) { + sb.append("dpi"); + return; + } + if (t.kind == RESOLUTION_DPCM) { + sb.append("dpcm"); + return; + } + if (t.kind == PERCENTAGE) { + sb.append('%'); + return; + } +} + +JAVACODE +void error_skipblock(String msgKey, CSSParseException e) +{ + if (msgKey != null) { + getErrorHandler().warning(createSkipWarning(msgKey, e)); + } + + Token t; + int nesting = 0; + do { + t = getNextToken(); + if (t.kind == LBRACE) { + nesting++; + } + else if (t.kind == RBRACE) { + nesting--; + } + } + while (t.kind != EOF && (t.kind != RBRACE || nesting > 0)); +} + +JAVACODE +void error_skipdecl() +{ + Token t = getToken(1); + if (t.kind == LBRACE) { + error_skipblock(null, null); + return; + } + if (t.kind == RBRACE) { + // next will be RBRACE so we are finished + return; + } + + Token oldToken = token; + while (t.kind != SEMICOLON && t.kind != RBRACE && t.kind != EOF) { + oldToken = t; + t = getNextToken(); + } + if (t.kind != EOF) { + token = oldToken; + } +} + +JAVACODE +void error_skipAtRule() +{ + Token t = null; + do { + t = getNextToken(); + } + while (t.kind != SEMICOLON && t.kind != EOF); +} + +JAVACODE +Boolean handleCaseInSensitive(Token t) +{ + String s = unescape(t.image, false); + if ("i".equalsIgnoreCase(s)) { + return Boolean.TRUE; + } + if ("s".equalsIgnoreCase(s)) { + return Boolean.FALSE; + } + + throw toCSSParseException("invalidCaseInSensitivelyIdentifier", new String[] { s }, createLocator(t)); +} diff --git a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java index be4d8f4..57dd405 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/CSS3ParserTest.java @@ -1349,6 +1349,30 @@ public void varExpressions() throws Exception { expression("h1 { top: var(--tailwind-empty,, blue,, red); }"); } + /** + * @throws Exception if any error occurs + */ + @Test + public void modernViewportUnits() throws Exception { + // Dynamic viewport units + expression("h1 { width: 100dvw; }", 0, 0, 0); + expression("h1 { height: 50dvh; }", 0, 0, 0); + expression("h1 { width: 10dvmin; }", 0, 0, 0); + expression("h1 { height: 20dvmax; }", 0, 0, 0); + + // Large viewport units + expression("h1 { width: 100lvw; }", 0, 0, 0); + expression("h1 { height: 50lvh; }", 0, 0, 0); + expression("h1 { width: 10lvmin; }", 0, 0, 0); + expression("h1 { height: 20lvmax; }", 0, 0, 0); + + // Small viewport units + expression("h1 { width: 100svw; }", 0, 0, 0); + expression("h1 { height: 50svh; }", 0, 0, 0); + expression("h1 { width: 10svmin; }", 0, 0, 0); + expression("h1 { height: 20svmax; }", 0, 0, 0); + } + private void expression(final String cssText) throws Exception { expression(cssText, 0, 0, 0, cssText); } @@ -1600,7 +1624,7 @@ public void malformedDeclaration() throws Exception { + " Error in declaration. (Invalid token \";\". Was expecting one of: , \":\".)" + " Error in expression. (Invalid token \"}\". Was expecting one of: , \"only\", , \"inherit\", \"none\", \"from\", " + ", , \"-\", \"+\", , , , , , " - + ", , , , " + + ", , , , , , , , , , , , , , , , " + ", , , , , , , " + ", , , , " + ", , , , , , , " @@ -1608,7 +1632,7 @@ public void malformedDeclaration() throws Exception { + ", , , , , , \"progid:\".)" + " Error in expression. (Invalid token \";\". Was expecting one of: , \"only\", , \"inherit\", \"none\", \"from\", " + ", , \"-\", \"+\", , , , , , " - + ", , , , " + + ", , , , , , , , , , , , , , , , " + ", , , , , , , " + ", , , , " + ", , , , , , , " @@ -1906,7 +1930,7 @@ public void unexpectedEndOfString() throws Exception { final String expected = "Error in expression. " + "(Invalid token \"\\'\". Was expecting one of: , \"only\", , \"inherit\", \"none\", \"from\", " + ", , \"-\", \"+\", , , , , , " - + ", , , , " + + ", , , , , , , , , , , , , , , , " + ", , , , , , , " + ", , , , " + ", , , , , , , " @@ -2393,6 +2417,114 @@ public void dimensionVMax() throws Exception { assertEquals(CSSPrimitiveValueType.CSS_VMAX, value.getPrimitiveType()); } + /** + * @throws Exception if any error occurs + */ + @Test + public void dimensionDvw() throws Exception { + final CSSValueImpl value = dimension("17dvw"); + assertEquals(CSSPrimitiveValueType.CSS_DVW, value.getPrimitiveType()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void dimensionDvh() throws Exception { + final CSSValueImpl value = dimension("17dvh"); + assertEquals(CSSPrimitiveValueType.CSS_DVH, value.getPrimitiveType()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void dimensionDvmin() throws Exception { + final CSSValueImpl value = dimension("17dvmin"); + assertEquals(CSSPrimitiveValueType.CSS_DVMIN, value.getPrimitiveType()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void dimensionDvmax() throws Exception { + final CSSValueImpl value = dimension("17dvmax"); + assertEquals(CSSPrimitiveValueType.CSS_DVMAX, value.getPrimitiveType()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void dimensionLvw() throws Exception { + final CSSValueImpl value = dimension("17lvw"); + assertEquals(CSSPrimitiveValueType.CSS_LVW, value.getPrimitiveType()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void dimensionLvh() throws Exception { + final CSSValueImpl value = dimension("17lvh"); + assertEquals(CSSPrimitiveValueType.CSS_LVH, value.getPrimitiveType()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void dimensionLvmin() throws Exception { + final CSSValueImpl value = dimension("17lvmin"); + assertEquals(CSSPrimitiveValueType.CSS_LVMIN, value.getPrimitiveType()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void dimensionLvmax() throws Exception { + final CSSValueImpl value = dimension("17lvmax"); + assertEquals(CSSPrimitiveValueType.CSS_LVMAX, value.getPrimitiveType()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void dimensionSvw() throws Exception { + final CSSValueImpl value = dimension("17svw"); + assertEquals(CSSPrimitiveValueType.CSS_SVW, value.getPrimitiveType()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void dimensionSvh() throws Exception { + final CSSValueImpl value = dimension("17svh"); + assertEquals(CSSPrimitiveValueType.CSS_SVH, value.getPrimitiveType()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void dimensionSvmin() throws Exception { + final CSSValueImpl value = dimension("17svmin"); + assertEquals(CSSPrimitiveValueType.CSS_SVMIN, value.getPrimitiveType()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void dimensionSvmax() throws Exception { + final CSSValueImpl value = dimension("17svmax"); + assertEquals(CSSPrimitiveValueType.CSS_SVMAX, value.getPrimitiveType()); + } + /** * @throws Exception if any error occurs */ diff --git a/src/test/java/org/htmlunit/cssparser/parser/LexicalUnitImplTest.java b/src/test/java/org/htmlunit/cssparser/parser/LexicalUnitImplTest.java index f34ae7e..b1a9763 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LexicalUnitImplTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LexicalUnitImplTest.java @@ -286,6 +286,42 @@ public void getDimensionUnitText() throws Exception { unit = new LexicalUnitImpl(null, LexicalUnitType.VMAX); assertEquals("vmax", unit.getDimensionUnitText()); + unit = new LexicalUnitImpl(null, LexicalUnitType.DVW); + assertEquals("dvw", unit.getDimensionUnitText()); + + unit = new LexicalUnitImpl(null, LexicalUnitType.DVH); + assertEquals("dvh", unit.getDimensionUnitText()); + + unit = new LexicalUnitImpl(null, LexicalUnitType.DVMIN); + assertEquals("dvmin", unit.getDimensionUnitText()); + + unit = new LexicalUnitImpl(null, LexicalUnitType.DVMAX); + assertEquals("dvmax", unit.getDimensionUnitText()); + + unit = new LexicalUnitImpl(null, LexicalUnitType.LVW); + assertEquals("lvw", unit.getDimensionUnitText()); + + unit = new LexicalUnitImpl(null, LexicalUnitType.LVH); + assertEquals("lvh", unit.getDimensionUnitText()); + + unit = new LexicalUnitImpl(null, LexicalUnitType.LVMIN); + assertEquals("lvmin", unit.getDimensionUnitText()); + + unit = new LexicalUnitImpl(null, LexicalUnitType.LVMAX); + assertEquals("lvmax", unit.getDimensionUnitText()); + + unit = new LexicalUnitImpl(null, LexicalUnitType.SVW); + assertEquals("svw", unit.getDimensionUnitText()); + + unit = new LexicalUnitImpl(null, LexicalUnitType.SVH); + assertEquals("svh", unit.getDimensionUnitText()); + + unit = new LexicalUnitImpl(null, LexicalUnitType.SVMIN); + assertEquals("svmin", unit.getDimensionUnitText()); + + unit = new LexicalUnitImpl(null, LexicalUnitType.SVMAX); + assertEquals("svmax", unit.getDimensionUnitText()); + unit = new LexicalUnitImpl(null, LexicalUnitType.PIXEL); assertEquals("px", unit.getDimensionUnitText()); @@ -757,6 +793,270 @@ public void createVMax() throws Exception { assertEquals("VMAX(1.7vmax)", ((LexicalUnitImpl) unit).toDebugString()); } + /** + * @throws Exception if any error occurs + */ + @Test + public void createDvw() throws Exception { + final LexicalUnit unit = LexicalUnitImpl.createDvw(null, 1.7); + + assertEquals(LexicalUnitType.DVW, unit.getLexicalUnitType()); + assertEquals(1.7, unit.getDoubleValue(), 0.0001); + assertEquals(1, unit.getIntegerValue()); + assertEquals("dvw", unit.getDimensionUnitText()); + assertNull(unit.getFunctionName()); + assertNull(unit.getParameters()); + assertNull(unit.getStringValue()); + + assertNull(unit.getNextLexicalUnit()); + assertNull(unit.getPreviousLexicalUnit()); + + assertEquals("1.7dvw", unit.toString()); + assertEquals("DVW(1.7dvw)", ((LexicalUnitImpl) unit).toDebugString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void createDvh() throws Exception { + final LexicalUnit unit = LexicalUnitImpl.createDvh(null, 1.7); + + assertEquals(LexicalUnitType.DVH, unit.getLexicalUnitType()); + assertEquals(1.7, unit.getDoubleValue(), 0.0001); + assertEquals(1, unit.getIntegerValue()); + assertEquals("dvh", unit.getDimensionUnitText()); + assertNull(unit.getFunctionName()); + assertNull(unit.getParameters()); + assertNull(unit.getStringValue()); + + assertNull(unit.getNextLexicalUnit()); + assertNull(unit.getPreviousLexicalUnit()); + + assertEquals("1.7dvh", unit.toString()); + assertEquals("DVH(1.7dvh)", ((LexicalUnitImpl) unit).toDebugString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void createDvMin() throws Exception { + final LexicalUnit unit = LexicalUnitImpl.createDvMin(null, 1.7); + + assertEquals(LexicalUnitType.DVMIN, unit.getLexicalUnitType()); + assertEquals(1.7, unit.getDoubleValue(), 0.0001); + assertEquals(1, unit.getIntegerValue()); + assertEquals("dvmin", unit.getDimensionUnitText()); + assertNull(unit.getFunctionName()); + assertNull(unit.getParameters()); + assertNull(unit.getStringValue()); + + assertNull(unit.getNextLexicalUnit()); + assertNull(unit.getPreviousLexicalUnit()); + + assertEquals("1.7dvmin", unit.toString()); + assertEquals("DVMIN(1.7dvmin)", ((LexicalUnitImpl) unit).toDebugString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void createDvMax() throws Exception { + final LexicalUnit unit = LexicalUnitImpl.createDvMax(null, 1.7); + + assertEquals(LexicalUnitType.DVMAX, unit.getLexicalUnitType()); + assertEquals(1.7, unit.getDoubleValue(), 0.0001); + assertEquals(1, unit.getIntegerValue()); + assertEquals("dvmax", unit.getDimensionUnitText()); + assertNull(unit.getFunctionName()); + assertNull(unit.getParameters()); + assertNull(unit.getStringValue()); + + assertNull(unit.getNextLexicalUnit()); + assertNull(unit.getPreviousLexicalUnit()); + + assertEquals("1.7dvmax", unit.toString()); + assertEquals("DVMAX(1.7dvmax)", ((LexicalUnitImpl) unit).toDebugString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void createLvw() throws Exception { + final LexicalUnit unit = LexicalUnitImpl.createLvw(null, 1.7); + + assertEquals(LexicalUnitType.LVW, unit.getLexicalUnitType()); + assertEquals(1.7, unit.getDoubleValue(), 0.0001); + assertEquals(1, unit.getIntegerValue()); + assertEquals("lvw", unit.getDimensionUnitText()); + assertNull(unit.getFunctionName()); + assertNull(unit.getParameters()); + assertNull(unit.getStringValue()); + + assertNull(unit.getNextLexicalUnit()); + assertNull(unit.getPreviousLexicalUnit()); + + assertEquals("1.7lvw", unit.toString()); + assertEquals("LVW(1.7lvw)", ((LexicalUnitImpl) unit).toDebugString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void createLvh() throws Exception { + final LexicalUnit unit = LexicalUnitImpl.createLvh(null, 1.7); + + assertEquals(LexicalUnitType.LVH, unit.getLexicalUnitType()); + assertEquals(1.7, unit.getDoubleValue(), 0.0001); + assertEquals(1, unit.getIntegerValue()); + assertEquals("lvh", unit.getDimensionUnitText()); + assertNull(unit.getFunctionName()); + assertNull(unit.getParameters()); + assertNull(unit.getStringValue()); + + assertNull(unit.getNextLexicalUnit()); + assertNull(unit.getPreviousLexicalUnit()); + + assertEquals("1.7lvh", unit.toString()); + assertEquals("LVH(1.7lvh)", ((LexicalUnitImpl) unit).toDebugString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void createLvMin() throws Exception { + final LexicalUnit unit = LexicalUnitImpl.createLvMin(null, 1.7); + + assertEquals(LexicalUnitType.LVMIN, unit.getLexicalUnitType()); + assertEquals(1.7, unit.getDoubleValue(), 0.0001); + assertEquals(1, unit.getIntegerValue()); + assertEquals("lvmin", unit.getDimensionUnitText()); + assertNull(unit.getFunctionName()); + assertNull(unit.getParameters()); + assertNull(unit.getStringValue()); + + assertNull(unit.getNextLexicalUnit()); + assertNull(unit.getPreviousLexicalUnit()); + + assertEquals("1.7lvmin", unit.toString()); + assertEquals("LVMIN(1.7lvmin)", ((LexicalUnitImpl) unit).toDebugString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void createLvMax() throws Exception { + final LexicalUnit unit = LexicalUnitImpl.createLvMax(null, 1.7); + + assertEquals(LexicalUnitType.LVMAX, unit.getLexicalUnitType()); + assertEquals(1.7, unit.getDoubleValue(), 0.0001); + assertEquals(1, unit.getIntegerValue()); + assertEquals("lvmax", unit.getDimensionUnitText()); + assertNull(unit.getFunctionName()); + assertNull(unit.getParameters()); + assertNull(unit.getStringValue()); + + assertNull(unit.getNextLexicalUnit()); + assertNull(unit.getPreviousLexicalUnit()); + + assertEquals("1.7lvmax", unit.toString()); + assertEquals("LVMAX(1.7lvmax)", ((LexicalUnitImpl) unit).toDebugString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void createSvw() throws Exception { + final LexicalUnit unit = LexicalUnitImpl.createSvw(null, 1.7); + + assertEquals(LexicalUnitType.SVW, unit.getLexicalUnitType()); + assertEquals(1.7, unit.getDoubleValue(), 0.0001); + assertEquals(1, unit.getIntegerValue()); + assertEquals("svw", unit.getDimensionUnitText()); + assertNull(unit.getFunctionName()); + assertNull(unit.getParameters()); + assertNull(unit.getStringValue()); + + assertNull(unit.getNextLexicalUnit()); + assertNull(unit.getPreviousLexicalUnit()); + + assertEquals("1.7svw", unit.toString()); + assertEquals("SVW(1.7svw)", ((LexicalUnitImpl) unit).toDebugString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void createSvh() throws Exception { + final LexicalUnit unit = LexicalUnitImpl.createSvh(null, 1.7); + + assertEquals(LexicalUnitType.SVH, unit.getLexicalUnitType()); + assertEquals(1.7, unit.getDoubleValue(), 0.0001); + assertEquals(1, unit.getIntegerValue()); + assertEquals("svh", unit.getDimensionUnitText()); + assertNull(unit.getFunctionName()); + assertNull(unit.getParameters()); + assertNull(unit.getStringValue()); + + assertNull(unit.getNextLexicalUnit()); + assertNull(unit.getPreviousLexicalUnit()); + + assertEquals("1.7svh", unit.toString()); + assertEquals("SVH(1.7svh)", ((LexicalUnitImpl) unit).toDebugString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void createSvMin() throws Exception { + final LexicalUnit unit = LexicalUnitImpl.createSvMin(null, 1.7); + + assertEquals(LexicalUnitType.SVMIN, unit.getLexicalUnitType()); + assertEquals(1.7, unit.getDoubleValue(), 0.0001); + assertEquals(1, unit.getIntegerValue()); + assertEquals("svmin", unit.getDimensionUnitText()); + assertNull(unit.getFunctionName()); + assertNull(unit.getParameters()); + assertNull(unit.getStringValue()); + + assertNull(unit.getNextLexicalUnit()); + assertNull(unit.getPreviousLexicalUnit()); + + assertEquals("1.7svmin", unit.toString()); + assertEquals("SVMIN(1.7svmin)", ((LexicalUnitImpl) unit).toDebugString()); + } + + /** + * @throws Exception if any error occurs + */ + @Test + public void createSvMax() throws Exception { + final LexicalUnit unit = LexicalUnitImpl.createSvMax(null, 1.7); + + assertEquals(LexicalUnitType.SVMAX, unit.getLexicalUnitType()); + assertEquals(1.7, unit.getDoubleValue(), 0.0001); + assertEquals(1, unit.getIntegerValue()); + assertEquals("svmax", unit.getDimensionUnitText()); + assertNull(unit.getFunctionName()); + assertNull(unit.getParameters()); + assertNull(unit.getStringValue()); + + assertNull(unit.getNextLexicalUnit()); + assertNull(unit.getPreviousLexicalUnit()); + + assertEquals("1.7svmax", unit.toString()); + assertEquals("SVMAX(1.7svmax)", ((LexicalUnitImpl) unit).toDebugString()); + } + /** * @throws Exception if any error occurs */ From d69fe25e279816f374ac89045803c0fbc0b7ead1 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Sun, 28 Dec 2025 14:02:43 +0100 Subject: [PATCH 132/137] 4.21.0 --- README.md | 8 ++++---- pom.xml | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index b1b0ff4..01e58a6 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) -### Latest release Version 4.20.0 / December 07, 2025 +### Latest release Version 4.21.0 / December 28, 2025 ## Get it! @@ -30,7 +30,7 @@ Add to your `pom.xml`: org.htmlunit htmlunit-cssparser - 4.20.0 + 4.21.0 ``` @@ -39,7 +39,7 @@ Add to your `pom.xml`: Add to your `build.gradle`: ```groovy -implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.20.0' +implementation group: 'org.htmlunit', name: 'htmlunit-cssparser', version: '4.21.0' ``` @@ -55,7 +55,7 @@ If you use maven please add: org.htmlunit htmlunit-cssparser - 4.21.0-SNAPSHOT + 4.22.0-SNAPSHOT You have to add the sonatype-central snapshot repository to your pom `repositories` section also: diff --git a/pom.xml b/pom.xml index 7947f04..5e0639d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.21.0-SNAPSHOT + 4.21.0 HtmlUnit CSS Parser HtmlUnit @@ -26,7 +26,7 @@ 2.21.0 - 12.2.0 + 12.3.0 10.0.4 @@ -36,7 +36,7 @@ 3.6.2 3.14.1 3.5.0 - 3.3.0 + 3.3.1 3.4.0 3.12.0 3.5.4 From a8caaa123a8ce0eebd2c0de502eebcc6778f8ee9 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 7 Jan 2026 18:09:40 +0100 Subject: [PATCH 133/137] build with jdk17 --- README.md | 34 ++++++++++++++++++++++++++++++++++ pom.xml | 17 +++++++++-------- 2 files changed, 43 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 01e58a6..f6b5e3e 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,26 @@ We will try to stay in sync with CSSParser regarding the features in the future. [HtmlUnit@mastodon](https://fosstodon.org/@HtmlUnit) | [HtmlUnit@bsky](https://bsky.app/profile/htmlunit.bsky.social) | [HtmlUnit@Twitter](https://twitter.com/HtmlUnit) +#### Version 5 + +Work on HtmlUnit-CSSParser 5.0 has started. This new major version will require **JDK 17 or higher**. + + +#### Legacy Support (JDK 8) + +If you need to continue using **JDK 8**, please note that versions 4.x will remain available as-is. However, +**ongoing maintenance and fixes for JDK 8 compatibility are only available through sponsorship**. + +Maintaining separate fix versions for JDK 8 requires significant additional effort for __backporting__, testing, and release management. + +**To enable continued JDK 8 support**, please contact me via email to discuss sponsorship options. Sponsorship provides: + +- __Backporting__ security and bug fixes to the 4.x branch +- Maintaining compatibility with older Java versions +- Timely releases for critical issues + +Without sponsorship, the 4.x branch will not receive updates. Your support ensures the long-term __sustainability__ of this project across multiple Java versions. + ### Latest release Version 4.21.0 / December 28, 2025 ## Get it! @@ -161,3 +181,17 @@ This project is licensed under the Apache 2.0 License ## Acknowledgments Many thanks to all of you contributing to HtmlUnit/CSSParser/Rhino in the past. + +## Development Tools + +Special thanks to: + +JetBrains +IntelliJ IDEA +**[JetBrains](https://www.jetbrains.com/)** for providing IntelliJ IDEA under their [open source development license](https://www.jetbrains.com/community/opensource/) and + +Eclipse Foundation +Eclipse Foundation for their Eclipse IDE + +SmartGit +to **[Syntevo](https://www.syntevo.com/)** for their excellent [SmartGit](https://www.smartgit.dev/)! diff --git a/pom.xml b/pom.xml index 5e0639d..bbf4108 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.htmlunit htmlunit-cssparser - 4.21.0 + 5.0.0-SNAPSHOT HtmlUnit CSS Parser HtmlUnit @@ -17,16 +17,17 @@ UTF-8 yyyy-MM-dd HH:mm - 8 - 8 + 17 + 17 + + (?i).*-(alpha|beta|m|rc)([\.-]?\d+)? - 5.14.1 - 1.14.1 + 6.0.2 2.21.0 - 12.3.0 + 13.0.0 10.0.4 @@ -60,7 +61,7 @@ 3.6.3 - 1.8.0 + 17 @@ -365,7 +366,7 @@ org.junit.platform junit-platform-launcher - ${junit-launcher.version} + ${junit.version} test From b23e559252545ee51d98ed025713cd8eabdbe043 Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 7 Jan 2026 18:23:30 +0100 Subject: [PATCH 134/137] adjust code for jdk17 --- .../htmlunit/cssparser/dom/AbstractColor.java | 4 +- .../cssparser/dom/CSSCharsetRuleImpl.java | 11 +- .../cssparser/dom/CSSFontFaceRuleImpl.java | 11 +- .../cssparser/dom/CSSImportRuleImpl.java | 11 +- .../cssparser/dom/CSSMediaRuleImpl.java | 19 +- .../cssparser/dom/CSSPageRuleImpl.java | 19 +- .../cssparser/dom/CSSRuleListImpl.java | 3 +- .../dom/CSSStyleDeclarationImpl.java | 3 +- .../cssparser/dom/CSSStyleRuleImpl.java | 19 +- .../cssparser/dom/CSSStyleSheetImpl.java | 11 +- .../cssparser/dom/CSSStyleSheetListImpl.java | 7 +- .../cssparser/dom/CSSUnknownRuleImpl.java | 11 +- .../htmlunit/cssparser/dom/CSSValueImpl.java | 176 ++++++------------ .../htmlunit/cssparser/dom/MediaListImpl.java | 3 +- .../org/htmlunit/cssparser/dom/Property.java | 3 +- .../cssparser/parser/AbstractCSSParser.java | 70 +++---- .../cssparser/parser/DocumentHandler.java | 10 +- .../cssparser/parser/LexicalUnitImpl.java | 118 ++++-------- .../htmlunit/cssparser/parser/Locator.java | 3 +- .../htmlunit/cssparser/util/ParserUtils.java | 4 +- .../cssparser/parser/LocatorTest.java | 30 ++- 21 files changed, 170 insertions(+), 376 deletions(-) diff --git a/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java b/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java index 082da53..23134e8 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java +++ b/src/main/java/org/htmlunit/cssparser/dom/AbstractColor.java @@ -27,8 +27,8 @@ */ public class AbstractColor implements Serializable { - private String function_; - private CSSValueImpl cssValue_; + private final String function_; + private final CSSValueImpl cssValue_; /** * Constructor that reads the values from the given diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java index 8954cf1..aa77a78 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSCharsetRuleImpl.java @@ -63,13 +63,7 @@ public void setCssText(final String cssText) throws DOMException { DOMExceptionImpl.EXPECTING_CHARSET_RULE); } } - catch (final CSSException e) { - throw new DOMExceptionImpl( - DOMException.SYNTAX_ERR, - DOMExceptionImpl.SYNTAX_ERROR, - e.getMessage()); - } - catch (final IOException e) { + catch (final CSSException | IOException e) { throw new DOMExceptionImpl( DOMException.SYNTAX_ERR, DOMExceptionImpl.SYNTAX_ERROR, @@ -92,10 +86,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof CSSCharsetRuleImpl)) { + if (!(obj instanceof CSSCharsetRuleImpl ccr)) { return false; } - final CSSCharsetRuleImpl ccr = (CSSCharsetRuleImpl) obj; return super.equals(obj) && ParserUtils.equals(getEncoding(), ccr.getEncoding()); } diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java index f326793..d6ec60d 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSFontFaceRuleImpl.java @@ -75,13 +75,7 @@ public void setCssText(final String cssText) throws DOMException { DOMExceptionImpl.EXPECTING_FONT_FACE_RULE); } } - catch (final CSSException e) { - throw new DOMExceptionImpl( - DOMException.SYNTAX_ERR, - DOMExceptionImpl.SYNTAX_ERROR, - e.getMessage()); - } - catch (final IOException e) { + catch (final CSSException | IOException e) { throw new DOMExceptionImpl( DOMException.SYNTAX_ERR, DOMExceptionImpl.SYNTAX_ERROR, @@ -113,10 +107,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof CSSFontFaceRuleImpl)) { + if (!(obj instanceof CSSFontFaceRuleImpl cffr)) { return false; } - final CSSFontFaceRuleImpl cffr = (CSSFontFaceRuleImpl) obj; return super.equals(obj) && ParserUtils.equals(getStyle(), cffr.getStyle()); } diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java index bc8b04b..2fe35a6 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSImportRuleImpl.java @@ -87,13 +87,7 @@ public void setCssText(final String cssText) throws DOMException { DOMExceptionImpl.EXPECTING_IMPORT_RULE); } } - catch (final CSSException e) { - throw new DOMExceptionImpl( - DOMException.SYNTAX_ERR, - DOMExceptionImpl.SYNTAX_ERROR, - e.getMessage()); - } - catch (final IOException e) { + catch (final CSSException | IOException e) { throw new DOMExceptionImpl( DOMException.SYNTAX_ERR, DOMExceptionImpl.SYNTAX_ERROR, @@ -140,10 +134,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof CSSImportRuleImpl)) { + if (!(obj instanceof CSSImportRuleImpl cir)) { return false; } - final CSSImportRuleImpl cir = (CSSImportRuleImpl) obj; return super.equals(obj) && ParserUtils.equals(getHref(), cir.getHref()) && ParserUtils.equals(getMedia(), cir.getMedia()); diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java index 0a1ef2b..6a13a84 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSMediaRuleImpl.java @@ -83,13 +83,7 @@ public void setCssText(final String cssText) throws DOMException { DOMExceptionImpl.EXPECTING_MEDIA_RULE); } } - catch (final CSSException e) { - throw new DOMExceptionImpl( - DOMException.SYNTAX_ERR, - DOMExceptionImpl.SYNTAX_ERROR, - e.getMessage()); - } - catch (final IOException e) { + catch (final CSSException | IOException e) { throw new DOMExceptionImpl( DOMException.SYNTAX_ERR, DOMExceptionImpl.SYNTAX_ERROR, @@ -145,13 +139,7 @@ public void insertRule(final String rule, final int index) throws DOMException { DOMExceptionImpl.INDEX_OUT_OF_BOUNDS, e.getMessage()); } - catch (final CSSException e) { - throw new DOMExceptionImpl( - DOMException.SYNTAX_ERR, - DOMExceptionImpl.SYNTAX_ERROR, - e.getMessage()); - } - catch (final IOException e) { + catch (final CSSException | IOException e) { throw new DOMExceptionImpl( DOMException.SYNTAX_ERR, DOMExceptionImpl.SYNTAX_ERROR, @@ -196,10 +184,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof CSSMediaRuleImpl)) { + if (!(obj instanceof CSSMediaRuleImpl cmr)) { return false; } - final CSSMediaRuleImpl cmr = (CSSMediaRuleImpl) obj; return super.equals(obj) && ParserUtils.equals(getMediaList(), cmr.getMediaList()) && ParserUtils.equals(getCssRules(), cmr.getCssRules()); diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java index 0c0d0a4..19a91af 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSPageRuleImpl.java @@ -94,13 +94,7 @@ public void setCssText(final String cssText) throws DOMException { DOMExceptionImpl.EXPECTING_PAGE_RULE); } } - catch (final CSSException e) { - throw new DOMExceptionImpl( - DOMException.SYNTAX_ERR, - DOMExceptionImpl.SYNTAX_ERROR, - e.getMessage()); - } - catch (final IOException e) { + catch (final CSSException | IOException e) { throw new DOMExceptionImpl( DOMException.SYNTAX_ERR, DOMExceptionImpl.SYNTAX_ERROR, @@ -140,13 +134,7 @@ public void setSelectorText(final String selectorText) throws DOMException { DOMExceptionImpl.EXPECTING_PAGE_RULE); } } - catch (final CSSException e) { - throw new DOMExceptionImpl( - DOMException.SYNTAX_ERR, - DOMExceptionImpl.SYNTAX_ERROR, - e.getMessage()); - } - catch (final IOException e) { + catch (final CSSException | IOException e) { throw new DOMExceptionImpl( DOMException.SYNTAX_ERR, DOMExceptionImpl.SYNTAX_ERROR, @@ -174,10 +162,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof CSSPageRuleImpl)) { + if (!(obj instanceof CSSPageRuleImpl cpr)) { return false; } - final CSSPageRuleImpl cpr = (CSSPageRuleImpl) obj; return super.equals(obj) && ParserUtils.equals(getSelectorText(), cpr.getSelectorText()) && ParserUtils.equals(getStyle(), cpr.getStyle()); diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java index 4dec9ff..4e4101c 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSRuleListImpl.java @@ -98,10 +98,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof CSSRuleListImpl)) { + if (!(obj instanceof CSSRuleListImpl crl)) { return false; } - final CSSRuleListImpl crl = (CSSRuleListImpl) obj; return equalsRules(crl); } diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java index e253d3f..1252363 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleDeclarationImpl.java @@ -257,10 +257,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof CSSStyleDeclarationImpl)) { + if (!(obj instanceof CSSStyleDeclarationImpl csd)) { return false; } - final CSSStyleDeclarationImpl csd = (CSSStyleDeclarationImpl) obj; // don't use parentRule in equals() // recursive loop -> stack overflow! diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleRuleImpl.java index 8feaea0..c144e66 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleRuleImpl.java @@ -99,13 +99,7 @@ public void setCssText(final String cssText) throws DOMException { DOMExceptionImpl.EXPECTING_STYLE_RULE); } } - catch (final CSSException e) { - throw new DOMExceptionImpl( - DOMException.SYNTAX_ERR, - DOMExceptionImpl.SYNTAX_ERROR, - e.getMessage()); - } - catch (final IOException e) { + catch (final CSSException | IOException e) { throw new DOMExceptionImpl( DOMException.SYNTAX_ERR, DOMExceptionImpl.SYNTAX_ERROR, @@ -130,13 +124,7 @@ public void setSelectorText(final String selectorText) throws DOMException { final CSSOMParser parser = new CSSOMParser(); selectors_ = parser.parseSelectors(selectorText); } - catch (final CSSException e) { - throw new DOMExceptionImpl( - DOMException.SYNTAX_ERR, - DOMExceptionImpl.SYNTAX_ERROR, - e.getMessage()); - } - catch (final IOException e) { + catch (final CSSException | IOException e) { throw new DOMExceptionImpl( DOMException.SYNTAX_ERR, DOMExceptionImpl.SYNTAX_ERROR, @@ -169,10 +157,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof CSSStyleRuleImpl)) { + if (!(obj instanceof CSSStyleRuleImpl csr)) { return false; } - final CSSStyleRuleImpl csr = (CSSStyleRuleImpl) obj; return super.equals(obj) && ParserUtils.equals(getSelectorText(), csr.getSelectorText()) && ParserUtils.equals(getStyle(), csr.getStyle()); diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java index 310dbe8..1235d36 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetImpl.java @@ -210,13 +210,7 @@ else if (r instanceof CSSImportRuleImpl) { DOMExceptionImpl.INDEX_OUT_OF_BOUNDS, e.getMessage()); } - catch (final CSSException e) { - throw new DOMExceptionImpl( - DOMException.SYNTAX_ERR, - DOMExceptionImpl.SYNTAX_ERROR, - e.getMessage()); - } - catch (final IOException e) { + catch (final CSSException | IOException e) { throw new DOMExceptionImpl( DOMException.SYNTAX_ERR, DOMExceptionImpl.SYNTAX_ERROR, @@ -322,10 +316,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof CSSStyleSheetImpl)) { + if (!(obj instanceof CSSStyleSheetImpl css)) { return false; } - final CSSStyleSheetImpl css = (CSSStyleSheetImpl) obj; boolean eq = ParserUtils.equals(getCssRules(), css.getCssRules()); eq = eq && (getDisabled() == css.getDisabled()); eq = eq && ParserUtils.equals(getHref(), css.getHref()); diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java index b38fb14..5778e96 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java @@ -67,9 +67,7 @@ public void add(final CSSStyleSheetImpl cssStyleSheet) { public CSSStyleSheetImpl merge() { final CSSStyleSheetImpl merged = new CSSStyleSheetImpl(); final CSSRuleListImpl cssRuleList = new CSSRuleListImpl(); - final Iterator it = getCSSStyleSheets().iterator(); - while (it.hasNext()) { - final CSSStyleSheetImpl cssStyleSheet = it.next(); + for (CSSStyleSheetImpl cssStyleSheet : getCSSStyleSheets()) { final CSSMediaRuleImpl cssMediaRule = new CSSMediaRuleImpl(merged, null, cssStyleSheet.getMedia()); cssMediaRule.setRuleList(cssStyleSheet.getCssRules()); cssRuleList.add(cssMediaRule); @@ -85,10 +83,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof CSSStyleSheetListImpl)) { + if (!(obj instanceof CSSStyleSheetListImpl ssl)) { return false; } - final CSSStyleSheetListImpl ssl = (CSSStyleSheetListImpl) obj; return equalsStyleSheets(ssl); } diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java index 5b72017..be965dc 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSUnknownRuleImpl.java @@ -70,13 +70,7 @@ public void setCssText(final String cssText) throws DOMException { DOMExceptionImpl.EXPECTING_FONT_FACE_RULE); } } - catch (final CSSException e) { - throw new DOMExceptionImpl( - DOMException.SYNTAX_ERR, - DOMExceptionImpl.SYNTAX_ERROR, - e.getMessage()); - } - catch (final IOException e) { + catch (final CSSException | IOException e) { throw new DOMExceptionImpl( DOMException.SYNTAX_ERR, DOMExceptionImpl.SYNTAX_ERROR, @@ -96,10 +90,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof CSSUnknownRuleImpl)) { + if (!(obj instanceof CSSUnknownRuleImpl cur)) { return false; } - final CSSUnknownRuleImpl cur = (CSSUnknownRuleImpl) obj; return super.equals(obj) && ParserUtils.equals(getCssText(), cur.getCssText()); } diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java index b479068..64b8ee8 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java @@ -307,8 +307,7 @@ public String getCssText() { final CSSValueImpl cssValue = (CSSValueImpl) o; if (separate) { - if (cssValue.value_ instanceof LexicalUnit) { - final LexicalUnit lu = (LexicalUnit) cssValue.value_; + if (cssValue.value_ instanceof LexicalUnit lu) { if (lu.getLexicalUnitType() != LexicalUnitType.OPERATOR_COMMA) { sb.append(" "); } @@ -367,114 +366,62 @@ public CSSValueType getCssValueType() { * @return the primitive type */ public CSSPrimitiveValueType getPrimitiveType() { - if (value_ instanceof LexicalUnit) { - final LexicalUnit lu = (LexicalUnit) value_; - switch (lu.getLexicalUnitType()) { - case INHERIT: - return CSSPrimitiveValueType.CSS_IDENT; - case INTEGER: - case REAL: - return CSSPrimitiveValueType.CSS_NUMBER; - case EM: - return CSSPrimitiveValueType.CSS_EMS; - case REM: - return CSSPrimitiveValueType.CSS_REM; - case EX: - return CSSPrimitiveValueType.CSS_EXS; - case CH: - return CSSPrimitiveValueType.CSS_CH; - case VW: - return CSSPrimitiveValueType.CSS_VW; - case VH: - return CSSPrimitiveValueType.CSS_VH; - case VMIN: - return CSSPrimitiveValueType.CSS_VMIN; - case VMAX: - return CSSPrimitiveValueType.CSS_VMAX; - - case DVW: - return CSSPrimitiveValueType.CSS_DVW; - case DVH: - return CSSPrimitiveValueType.CSS_DVH; - case DVMIN: - return CSSPrimitiveValueType.CSS_DVMIN; - case DVMAX: - return CSSPrimitiveValueType.CSS_DVMAX; - case LVW: - return CSSPrimitiveValueType.CSS_LVW; - case LVH: - return CSSPrimitiveValueType.CSS_LVH; - case LVMIN: - return CSSPrimitiveValueType.CSS_LVMIN; - case LVMAX: - return CSSPrimitiveValueType.CSS_LVMAX; - case SVW: - return CSSPrimitiveValueType.CSS_SVW; - case SVH: - return CSSPrimitiveValueType.CSS_SVH; - case SVMIN: - return CSSPrimitiveValueType.CSS_SVMIN; - case SVMAX: - return CSSPrimitiveValueType.CSS_SVMAX; - - case PIXEL: - return CSSPrimitiveValueType.CSS_PX; - case INCH: - return CSSPrimitiveValueType.CSS_IN; - case CENTIMETER: - return CSSPrimitiveValueType.CSS_CM; - case MILLIMETER: - return CSSPrimitiveValueType.CSS_MM; - case POINT: - return CSSPrimitiveValueType.CSS_PT; - case PICA: - return CSSPrimitiveValueType.CSS_PC; - case QUATER: - return CSSPrimitiveValueType.CSS_Q; - case PERCENTAGE: - return CSSPrimitiveValueType.CSS_PERCENTAGE; - case URI: - return CSSPrimitiveValueType.CSS_URI; - case COUNTER_FUNCTION: - // case COUNTERS_FUNCTION: - return CSSPrimitiveValueType.CSS_COUNTER; - // case RGBCOLOR: - // return CSS_RGBCOLOR; - case DEGREE: - return CSSPrimitiveValueType.CSS_DEG; - case GRADIAN: - return CSSPrimitiveValueType.CSS_GRAD; - case RADIAN: - return CSSPrimitiveValueType.CSS_RAD; - case TURN: - return CSSPrimitiveValueType.CSS_TURN; - case MILLISECOND: - return CSSPrimitiveValueType.CSS_MS; - case SECOND: - return CSSPrimitiveValueType.CSS_S; - case HERTZ: - return CSSPrimitiveValueType.CSS_HZ; - case KILOHERTZ: - return CSSPrimitiveValueType.CSS_KHZ; - case IDENT: - return CSSPrimitiveValueType.CSS_IDENT; - case NONE: - return CSSPrimitiveValueType.CSS_IDENT; - case STRING_VALUE: - return CSSPrimitiveValueType.CSS_STRING; - case ATTR: - return CSSPrimitiveValueType.CSS_ATTR; - // case RECT_FUNCTION: - // return CSSPrimitiveValueType.CSS_RECT; - case UNICODERANGE: - case FUNCTION: - case FUNCTION_CALC: - return CSSPrimitiveValueType.CSS_STRING; - case DIMENSION: - return CSSPrimitiveValueType.CSS_DIMENSION; - default: - return CSSPrimitiveValueType.CSS_UNKNOWN; - } + if (value_ instanceof LexicalUnit lu) { + return switch (lu.getLexicalUnitType()) { + case INHERIT -> CSSPrimitiveValueType.CSS_IDENT; + case INTEGER, REAL -> CSSPrimitiveValueType.CSS_NUMBER; + case EM -> CSSPrimitiveValueType.CSS_EMS; + case REM -> CSSPrimitiveValueType.CSS_REM; + case EX -> CSSPrimitiveValueType.CSS_EXS; + case CH -> CSSPrimitiveValueType.CSS_CH; + case VW -> CSSPrimitiveValueType.CSS_VW; + case VH -> CSSPrimitiveValueType.CSS_VH; + case VMIN -> CSSPrimitiveValueType.CSS_VMIN; + case VMAX -> CSSPrimitiveValueType.CSS_VMAX; + case DVW -> CSSPrimitiveValueType.CSS_DVW; + case DVH -> CSSPrimitiveValueType.CSS_DVH; + case DVMIN -> CSSPrimitiveValueType.CSS_DVMIN; + case DVMAX -> CSSPrimitiveValueType.CSS_DVMAX; + case LVW -> CSSPrimitiveValueType.CSS_LVW; + case LVH -> CSSPrimitiveValueType.CSS_LVH; + case LVMIN -> CSSPrimitiveValueType.CSS_LVMIN; + case LVMAX -> CSSPrimitiveValueType.CSS_LVMAX; + case SVW -> CSSPrimitiveValueType.CSS_SVW; + case SVH -> CSSPrimitiveValueType.CSS_SVH; + case SVMIN -> CSSPrimitiveValueType.CSS_SVMIN; + case SVMAX -> CSSPrimitiveValueType.CSS_SVMAX; + case PIXEL -> CSSPrimitiveValueType.CSS_PX; + case INCH -> CSSPrimitiveValueType.CSS_IN; + case CENTIMETER -> CSSPrimitiveValueType.CSS_CM; + case MILLIMETER -> CSSPrimitiveValueType.CSS_MM; + case POINT -> CSSPrimitiveValueType.CSS_PT; + case PICA -> CSSPrimitiveValueType.CSS_PC; + case QUATER -> CSSPrimitiveValueType.CSS_Q; + case PERCENTAGE -> CSSPrimitiveValueType.CSS_PERCENTAGE; + case URI -> CSSPrimitiveValueType.CSS_URI; + case COUNTER_FUNCTION -> + // case COUNTERS_FUNCTION: + CSSPrimitiveValueType.CSS_COUNTER; + // case RGBCOLOR: + // return CSS_RGBCOLOR; + case DEGREE -> CSSPrimitiveValueType.CSS_DEG; + case GRADIAN -> CSSPrimitiveValueType.CSS_GRAD; + case RADIAN -> CSSPrimitiveValueType.CSS_RAD; + case TURN -> CSSPrimitiveValueType.CSS_TURN; + case MILLISECOND -> CSSPrimitiveValueType.CSS_MS; + case SECOND -> CSSPrimitiveValueType.CSS_S; + case HERTZ -> CSSPrimitiveValueType.CSS_HZ; + case KILOHERTZ -> CSSPrimitiveValueType.CSS_KHZ; + case IDENT -> CSSPrimitiveValueType.CSS_IDENT; + case NONE -> CSSPrimitiveValueType.CSS_IDENT; + case STRING_VALUE -> CSSPrimitiveValueType.CSS_STRING; + case ATTR -> CSSPrimitiveValueType.CSS_ATTR; + // case RECT_FUNCTION: + // return CSSPrimitiveValueType.CSS_RECT; + case UNICODERANGE, FUNCTION, FUNCTION_CALC -> CSSPrimitiveValueType.CSS_STRING; + case DIMENSION -> CSSPrimitiveValueType.CSS_DIMENSION; + default -> CSSPrimitiveValueType.CSS_UNKNOWN; + }; } else if (value_ instanceof RectImpl) { return CSSPrimitiveValueType.CSS_RECT; @@ -517,8 +464,7 @@ public void setDoubleValue(final double doubleValue) throws DOMException { * @throws DOMException in case of error */ public double getDoubleValue() throws DOMException { - if (value_ instanceof LexicalUnit) { - final LexicalUnit lu = (LexicalUnit) value_; + if (value_ instanceof LexicalUnit lu) { return lu.getDoubleValue(); } throw new DOMExceptionImpl( @@ -536,8 +482,7 @@ public double getDoubleValue() throws DOMException { * @throws DOMException case of error */ public String getStringValue() throws DOMException { - if (value_ instanceof LexicalUnit) { - final LexicalUnit lu = (LexicalUnit) value_; + if (value_ instanceof LexicalUnit lu) { if ((lu.getLexicalUnitType() == LexicalUnitType.IDENT) || (lu.getLexicalUnitType() == LexicalUnitType.STRING_VALUE) || (lu.getLexicalUnitType() == LexicalUnitType.URI) @@ -607,10 +552,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof CSSValueImpl)) { + if (!(obj instanceof CSSValueImpl cv)) { return false; } - final CSSValueImpl cv = (CSSValueImpl) obj; // TODO to be improved! return super.equals(obj) && (getCssValueType() == cv.getCssValueType()) diff --git a/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java b/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java index 8da6c54..b6986ac 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/MediaListImpl.java @@ -158,10 +158,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof MediaListImpl)) { + if (!(obj instanceof MediaListImpl ml)) { return false; } - final MediaListImpl ml = (MediaListImpl) obj; return super.equals(obj) && equalsMedia(ml); } diff --git a/src/main/java/org/htmlunit/cssparser/dom/Property.java b/src/main/java/org/htmlunit/cssparser/dom/Property.java index c24bb14..7d82f95 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/Property.java +++ b/src/main/java/org/htmlunit/cssparser/dom/Property.java @@ -111,10 +111,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof Property)) { + if (!(obj instanceof Property p)) { return false; } - final Property p = (Property) obj; return super.equals(obj) && (important_ == p.important_) && ParserUtils.equals(name_, p.name_) diff --git a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java index b152df0..4950dda 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java +++ b/src/main/java/org/htmlunit/cssparser/parser/AbstractCSSParser.java @@ -110,7 +110,7 @@ protected DocumentHandler getDocumentHandler() { * *

If the application does not register a document handler, all * document events reported by the CSS parser will be silently - * ignored (this is the default behaviour implemented by + * ignored (this is the default behavior implemented by * HandlerBase).

* *

Applications may register a new or different handler in the @@ -142,7 +142,7 @@ protected CSSErrorHandler getErrorHandler() { *

If the application does not register an error event handler, * all error events reported by the CSS parser will be silently * ignored, except for fatalError, which will throw a CSSException - * (this is the default behaviour implemented by HandlerBase).

+ * (this is the default behavior implemented by HandlerBase).

* *

Applications may register a new or different handler in the * middle of a parse, and the CSS parser must begin using the new @@ -911,7 +911,7 @@ protected int intValue(final char op, final String s) { } /** - * Parses the sting into an double. + * Parses the sting into a double. * * @param op the sign char * @param s the string to parse @@ -944,7 +944,7 @@ protected int getLastNumPos(final String s) { /** * Unescapes escaped characters in the specified string, according to the * CSS specification. - * + *

* This could be done directly in the parser, but portions of the lexer would have to be moved * to the parser, meaning that the grammar would no longer match the standard grammar specified * by the W3C. This would make the parser and lexer much less maintainable. @@ -1075,49 +1075,25 @@ public String unescape(final String s, final boolean unescapeDoubleQuotes) { } private static int hexval(final char c) { - switch (c) { - case '0' : - return 0; - case '1' : - return 1; - case '2' : - return 2; - case '3' : - return 3; - case '4' : - return 4; - case '5' : - return 5; - case '6' : - return 6; - case '7' : - return 7; - case '8' : - return 8; - case '9' : - return 9; - - case 'a' : - case 'A' : - return 10; - case 'b' : - case 'B' : - return 11; - case 'c' : - case 'C' : - return 12; - case 'd' : - case 'D' : - return 13; - case 'e' : - case 'E' : - return 14; - case 'f' : - case 'F' : - return 15; - default : - return -1; - } + return switch (c) { + case '0' -> 0; + case '1' -> 1; + case '2' -> 2; + case '3' -> 3; + case '4' -> 4; + case '5' -> 5; + case '6' -> 6; + case '7' -> 7; + case '8' -> 8; + case '9' -> 9; + case 'a', 'A' -> 10; + case 'b', 'B' -> 11; + case 'c', 'C' -> 12; + case 'd', 'D' -> 13; + case 'e', 'E' -> 14; + case 'f', 'F' -> 15; + default -> -1; + }; } protected String normalizeAndValidatePagePseudoClass(final Token t) { diff --git a/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java b/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java index 136689c..df77f6a 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java +++ b/src/main/java/org/htmlunit/cssparser/parser/DocumentHandler.java @@ -29,7 +29,7 @@ public interface DocumentHandler { /** * Receive notification of the beginning of a style sheet. - * + *

* The CSS parser will invoke this method only once, before any other * methods in this interface. * @@ -41,7 +41,7 @@ public interface DocumentHandler { /** * Receive notification of the end of a document. - * + *

* The CSS parser will invoke this method only once, and it will be the * last method invoked during the parse. The parser shall not invoke this * method until it has either abandoned parsing (because of an @@ -126,7 +126,7 @@ void importStyle(String uri, MediaQueryList media, /** * Receive notification of the beginning of a font face statement. - * + *

* The Parser will invoke this method at the beginning of every font face * statement in the style sheet. there will be a corresponding endFontFace() * event for every startFontFace() event. @@ -139,7 +139,7 @@ void importStyle(String uri, MediaQueryList media, /** * Receive notification of the beginning of a page statement. - * + *

* The Parser will invoke this method at the beginning of every page * statement in the style sheet. there will be a corresponding endPage() * event for every startPage() event. @@ -154,7 +154,7 @@ void importStyle(String uri, MediaQueryList media, /** * Receive notification of the beginning of a media statement. - * + *

* The Parser will invoke this method at the beginning of every media * statement in the style sheet. there will be a corresponding endMedia() * event for every startElement() event. diff --git a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java index bfd0848..f3faa04 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java +++ b/src/main/java/org/htmlunit/cssparser/parser/LexicalUnitImpl.java @@ -224,84 +224,46 @@ public double getDoubleValue() { @Override public String getDimensionUnitText() { - switch (lexicalUnitType_) { - case EM: - return "em"; - case REM: - return "rem"; - case EX: - return "ex"; - case CH: - return "ch"; - case VW: - return "vw"; - case VH: - return "vh"; - case VMIN: - return "vmin"; - case VMAX: - return "vmax"; - case DVW: - return "dvw"; - case DVH: - return "dvh"; - case DVMIN: - return "dvmin"; - case DVMAX: - return "dvmax"; - case LVW: - return "lvw"; - case LVH: - return "lvh"; - case LVMIN: - return "lvmin"; - case LVMAX: - return "lvmax"; - case SVW: - return "svw"; - case SVH: - return "svh"; - case SVMIN: - return "svmin"; - case SVMAX: - return "svmax"; - case PIXEL: - return "px"; - case INCH: - return "in"; - case CENTIMETER: - return "cm"; - case MILLIMETER: - return "mm"; - case POINT: - return "pt"; - case PICA: - return "pc"; - case QUATER: - return "Q"; - case PERCENTAGE: - return "%"; - case DEGREE: - return "deg"; - case GRADIAN: - return "grad"; - case RADIAN: - return "rad"; - case TURN: - return "turn"; - case MILLISECOND: - return "ms"; - case SECOND: - return "s"; - case HERTZ: - return "Hz"; - case KILOHERTZ: - return "kHz"; - case DIMENSION: - return dimension_; - default: - return ""; - } + return switch (lexicalUnitType_) { + case EM -> "em"; + case REM -> "rem"; + case EX -> "ex"; + case CH -> "ch"; + case VW -> "vw"; + case VH -> "vh"; + case VMIN -> "vmin"; + case VMAX -> "vmax"; + case DVW -> "dvw"; + case DVH -> "dvh"; + case DVMIN -> "dvmin"; + case DVMAX -> "dvmax"; + case LVW -> "lvw"; + case LVH -> "lvh"; + case LVMIN -> "lvmin"; + case LVMAX -> "lvmax"; + case SVW -> "svw"; + case SVH -> "svh"; + case SVMIN -> "svmin"; + case SVMAX -> "svmax"; + case PIXEL -> "px"; + case INCH -> "in"; + case CENTIMETER -> "cm"; + case MILLIMETER -> "mm"; + case POINT -> "pt"; + case PICA -> "pc"; + case QUATER -> "Q"; + case PERCENTAGE -> "%"; + case DEGREE -> "deg"; + case GRADIAN -> "grad"; + case RADIAN -> "rad"; + case TURN -> "turn"; + case MILLISECOND -> "ms"; + case SECOND -> "s"; + case HERTZ -> "Hz"; + case KILOHERTZ -> "kHz"; + case DIMENSION -> dimension_; + default -> ""; + }; } @Override diff --git a/src/main/java/org/htmlunit/cssparser/parser/Locator.java b/src/main/java/org/htmlunit/cssparser/parser/Locator.java index e795e96..b469da4 100644 --- a/src/main/java/org/htmlunit/cssparser/parser/Locator.java +++ b/src/main/java/org/htmlunit/cssparser/parser/Locator.java @@ -103,10 +103,9 @@ public boolean equals(final Object obj) { if (this == obj) { return true; } - if (!(obj instanceof Locator)) { + if (!(obj instanceof Locator l)) { return false; } - final Locator l = (Locator) obj; return (getColumnNumber() == l.getColumnNumber()) && (getLineNumber() == l.getLineNumber()) && ParserUtils.equals(getUri(), l.getUri()); diff --git a/src/main/java/org/htmlunit/cssparser/util/ParserUtils.java b/src/main/java/org/htmlunit/cssparser/util/ParserUtils.java index ab14a24..a33e7d8 100644 --- a/src/main/java/org/htmlunit/cssparser/util/ParserUtils.java +++ b/src/main/java/org/htmlunit/cssparser/util/ParserUtils.java @@ -14,6 +14,8 @@ */ package org.htmlunit.cssparser.util; +import java.util.Objects; + /** * Util methods. * @@ -63,7 +65,7 @@ public static int hashCode(final int seed, final Object obj) { * @return true if the both objects are equals */ public static boolean equals(final Object obj1, final Object obj2) { - return obj1 == null ? obj2 == null : obj1.equals(obj2); + return Objects.equals(obj1, obj2); } /** diff --git a/src/test/java/org/htmlunit/cssparser/parser/LocatorTest.java b/src/test/java/org/htmlunit/cssparser/parser/LocatorTest.java index 0191de4..d7b3928 100644 --- a/src/test/java/org/htmlunit/cssparser/parser/LocatorTest.java +++ b/src/test/java/org/htmlunit/cssparser/parser/LocatorTest.java @@ -149,7 +149,7 @@ private void cssRules(final CSSRuleListImpl cssRules, final Map> positions, final Map counts) { - final Locator locator = ((Locatable) cssRule).getLocator(); + final Locator locator = cssRule.getLocator(); final Integer[] expected = positions.get('R').get(counts.get('R')); final int expectedLine = expected[0]; final int expectedColumn = expected[1]; @@ -158,33 +158,26 @@ private void cssRule(final AbstractCSSRuleImpl cssRule, final Map> positions, final Map counts) { - final Iterator it = style.getProperties().iterator(); - while (it.hasNext()) { - property(it.next(), positions, counts); + for (Property property : style.getProperties()) { + property(property, positions, counts); } } @@ -205,7 +197,7 @@ private void mediaList(final MediaListImpl mediaList, final Map> positions, final Map counts) { if (mediaList.getLength() > 0) { - final Locator locator = ((Locatable) mediaList).getLocator(); + final Locator locator = mediaList.getLocator(); final Integer[] expected = positions.get('M').get(counts.get('M')); final int expectedLine = expected[0]; final int expectedColumn = expected[1]; From 91c546fb9edacdfa0785c65025252bbd5adb500d Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 7 Jan 2026 18:23:40 +0100 Subject: [PATCH 135/137] add module-info.java --- src/main/java/module-info.java | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/main/java/module-info.java diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java new file mode 100644 index 0000000..1d7b55f --- /dev/null +++ b/src/main/java/module-info.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2019-2024 Ronald Brill. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @author Ronald Brill + * @since 5.0 + */ +module org.htmlunit.cssparser { + requires java.xml; + + exports org.htmlunit.cssparser.dom; + exports org.htmlunit.cssparser.parser; + exports org.htmlunit.cssparser.parser.condition; + exports org.htmlunit.cssparser.parser.media; + exports org.htmlunit.cssparser.parser.selector; + exports org.htmlunit.cssparser.util; +} \ No newline at end of file From 2d8c6aa7faa9268feeb7e5409737cbc8e5e2c1be Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 7 Jan 2026 18:32:11 +0100 Subject: [PATCH 136/137] checkstyle --- checkstyle.xml | 4 ++++ .../htmlunit/cssparser/dom/CSSStyleSheetListImpl.java | 3 +-- .../java/org/htmlunit/cssparser/dom/CSSValueImpl.java | 11 ++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/checkstyle.xml b/checkstyle.xml index a85e3b7..6abc581 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -106,6 +106,10 @@ + + + + diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java index 5778e96..6a612a1 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSStyleSheetListImpl.java @@ -15,7 +15,6 @@ package org.htmlunit.cssparser.dom; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import org.htmlunit.cssparser.util.ParserUtils; @@ -67,7 +66,7 @@ public void add(final CSSStyleSheetImpl cssStyleSheet) { public CSSStyleSheetImpl merge() { final CSSStyleSheetImpl merged = new CSSStyleSheetImpl(); final CSSRuleListImpl cssRuleList = new CSSRuleListImpl(); - for (CSSStyleSheetImpl cssStyleSheet : getCSSStyleSheets()) { + for (final CSSStyleSheetImpl cssStyleSheet : getCSSStyleSheets()) { final CSSMediaRuleImpl cssMediaRule = new CSSMediaRuleImpl(merged, null, cssStyleSheet.getMedia()); cssMediaRule.setRuleList(cssStyleSheet.getCssRules()); cssRuleList.add(cssMediaRule); diff --git a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java index 64b8ee8..8e35074 100644 --- a/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java +++ b/src/main/java/org/htmlunit/cssparser/dom/CSSValueImpl.java @@ -399,11 +399,9 @@ public CSSPrimitiveValueType getPrimitiveType() { case QUATER -> CSSPrimitiveValueType.CSS_Q; case PERCENTAGE -> CSSPrimitiveValueType.CSS_PERCENTAGE; case URI -> CSSPrimitiveValueType.CSS_URI; - case COUNTER_FUNCTION -> - // case COUNTERS_FUNCTION: - CSSPrimitiveValueType.CSS_COUNTER; - // case RGBCOLOR: - // return CSS_RGBCOLOR; + case COUNTER_FUNCTION -> CSSPrimitiveValueType.CSS_COUNTER; + // case COUNTERS_FUNCTION + // case RGBCOLOR -> CSS_RGBCOLOR; case DEGREE -> CSSPrimitiveValueType.CSS_DEG; case GRADIAN -> CSSPrimitiveValueType.CSS_GRAD; case RADIAN -> CSSPrimitiveValueType.CSS_RAD; @@ -416,8 +414,7 @@ public CSSPrimitiveValueType getPrimitiveType() { case NONE -> CSSPrimitiveValueType.CSS_IDENT; case STRING_VALUE -> CSSPrimitiveValueType.CSS_STRING; case ATTR -> CSSPrimitiveValueType.CSS_ATTR; - // case RECT_FUNCTION: - // return CSSPrimitiveValueType.CSS_RECT; + // case RECT_FUNCTION-> CSSPrimitiveValueType.CSS_RECT; case UNICODERANGE, FUNCTION, FUNCTION_CALC -> CSSPrimitiveValueType.CSS_STRING; case DIMENSION -> CSSPrimitiveValueType.CSS_DIMENSION; default -> CSSPrimitiveValueType.CSS_UNKNOWN; From 207a2d793bd060a6359d5aa4c35ff5d0ba1310cc Mon Sep 17 00:00:00 2001 From: Ronald Brill Date: Wed, 7 Jan 2026 18:43:24 +0100 Subject: [PATCH 137/137] fix module info --- src/main/java/module-info.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index 1d7b55f..95d5210 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -23,6 +23,7 @@ exports org.htmlunit.cssparser.dom; exports org.htmlunit.cssparser.parser; exports org.htmlunit.cssparser.parser.condition; + exports org.htmlunit.cssparser.parser.javacc; exports org.htmlunit.cssparser.parser.media; exports org.htmlunit.cssparser.parser.selector; exports org.htmlunit.cssparser.util;